[{"data":1,"prerenderedAt":744},["ShallowReactive",2],{"help-article-integrations-api-overview":3,"help-siblings-integrations":712},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"category":5,"order":10,"difficulty":11,"time_to_complete":12,"related":13,"body":17,"_type":706,"_id":707,"_source":708,"_file":709,"_stem":710,"_extension":711},"\u002Fhelp\u002Fintegrations\u002Fapi-overview","integrations",false,"","REST API overview and authentication","Getting started with the AIsoule REST API — authentication, base URL, request format, and your first API call.",1,"intermediate","5 minutes",[14,15,16],"\u002Fhelp\u002Fintegrations\u002Fsending-messages-api","\u002Fhelp\u002Fintegrations\u002Fwebhooks-receiving","\u002Fhelp\u002Fintegrations\u002Fapi-rate-limits",{"type":18,"children":19,"toc":689},"root",[20,29,35,42,52,57,63,70,111,116,127,133,138,147,153,193,199,204,215,220,229,235,240,249,254,263,269,512,518,576,582,587,630,636],{"type":21,"tag":22,"props":23,"children":25},"element","h1",{"id":24},"rest-api-overview",[26],{"type":27,"value":28},"text","REST API overview",{"type":21,"tag":30,"props":31,"children":32},"p",{},[33],{"type":27,"value":34},"The AIsoule REST API lets you programmatically send messages, manage contacts, and integrate with your existing systems.",{"type":21,"tag":36,"props":37,"children":39},"h2",{"id":38},"base-url",[40],{"type":27,"value":41},"Base URL",{"type":21,"tag":43,"props":44,"children":46},"pre",{"code":45},"https:\u002F\u002Fapp.aisoule.com\u002Fapi\n",[47],{"type":21,"tag":48,"props":49,"children":50},"code",{"__ignoreMap":7},[51],{"type":27,"value":45},{"type":21,"tag":30,"props":53,"children":54},{},[55],{"type":27,"value":56},"All API endpoints are relative to this base URL.",{"type":21,"tag":36,"props":58,"children":60},{"id":59},"authentication",[61],{"type":27,"value":62},"Authentication",{"type":21,"tag":64,"props":65,"children":67},"h3",{"id":66},"api-key-authentication",[68],{"type":27,"value":69},"API Key authentication",{"type":21,"tag":71,"props":72,"children":73},"ol",{},[74,86,96,101,106],{"type":21,"tag":75,"props":76,"children":77},"li",{},[78,80],{"type":27,"value":79},"Go to ",{"type":21,"tag":81,"props":82,"children":83},"strong",{},[84],{"type":27,"value":85},"Settings → API Keys",{"type":21,"tag":75,"props":87,"children":88},{},[89,91],{"type":27,"value":90},"Click ",{"type":21,"tag":81,"props":92,"children":93},{},[94],{"type":27,"value":95},"\"New API Key\"",{"type":21,"tag":75,"props":97,"children":98},{},[99],{"type":27,"value":100},"Enter a name (e.g., \"CRM Integration\")",{"type":21,"tag":75,"props":102,"children":103},{},[104],{"type":27,"value":105},"Set an expiry date (optional)",{"type":21,"tag":75,"props":107,"children":108},{},[109],{"type":27,"value":110},"Copy the generated key — it's only shown once!",{"type":21,"tag":30,"props":112,"children":113},{},[114],{"type":27,"value":115},"Include the API key in every request:",{"type":21,"tag":43,"props":117,"children":122},{"code":118,"language":119,"meta":7,"className":120},"curl -H \"X-API-Key: your_api_key_here\" \\\n  https:\u002F\u002Fapp.aisoule.com\u002Fapi\u002Fcontacts\n","bash",[121],"language-bash",[123],{"type":21,"tag":48,"props":124,"children":125},{"__ignoreMap":7},[126],{"type":27,"value":118},{"type":21,"tag":64,"props":128,"children":130},{"id":129},"cookie-based-authentication",[131],{"type":27,"value":132},"Cookie-based authentication",{"type":21,"tag":30,"props":134,"children":135},{},[136],{"type":27,"value":137},"For browser-based integrations, you can also use session cookies from the login endpoint:",{"type":21,"tag":43,"props":139,"children":142},{"code":140,"language":119,"meta":7,"className":141},"curl -X POST https:\u002F\u002Fapp.aisoule.com\u002Fapi\u002Fauth\u002Flogin \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"email\": \"you@company.com\", \"password\": \"your_password\"}'\n",[121],[143],{"type":21,"tag":48,"props":144,"children":145},{"__ignoreMap":7},[146],{"type":27,"value":140},{"type":21,"tag":36,"props":148,"children":150},{"id":149},"request-format",[151],{"type":27,"value":152},"Request format",{"type":21,"tag":154,"props":155,"children":156},"ul",{},[157,173,183],{"type":21,"tag":75,"props":158,"children":159},{},[160,165,167],{"type":21,"tag":81,"props":161,"children":162},{},[163],{"type":27,"value":164},"Content-Type:",{"type":27,"value":166}," ",{"type":21,"tag":48,"props":168,"children":170},{"className":169},[],[171],{"type":27,"value":172},"application\u002Fjson",{"type":21,"tag":75,"props":174,"children":175},{},[176,181],{"type":21,"tag":81,"props":177,"children":178},{},[179],{"type":27,"value":180},"Method:",{"type":27,"value":182}," GET (read), POST (create), PUT (update), DELETE (remove)",{"type":21,"tag":75,"props":184,"children":185},{},[186,191],{"type":21,"tag":81,"props":187,"children":188},{},[189],{"type":27,"value":190},"Response format:",{"type":27,"value":192}," JSON envelope",{"type":21,"tag":64,"props":194,"children":196},{"id":195},"response-envelope",[197],{"type":27,"value":198},"Response envelope",{"type":21,"tag":30,"props":200,"children":201},{},[202],{"type":27,"value":203},"All responses follow this format:",{"type":21,"tag":43,"props":205,"children":210},{"code":206,"language":207,"meta":7,"className":208},"{\n  \"data\": { ... },\n  \"status\": \"success\"\n}\n","json",[209],"language-json",[211],{"type":21,"tag":48,"props":212,"children":213},{"__ignoreMap":7},[214],{"type":27,"value":206},{"type":21,"tag":30,"props":216,"children":217},{},[218],{"type":27,"value":219},"Error responses:",{"type":21,"tag":43,"props":221,"children":224},{"code":222,"language":207,"meta":7,"className":223},"{\n  \"message\": \"Error description\",\n  \"status\": \"error\"\n}\n",[209],[225],{"type":21,"tag":48,"props":226,"children":227},{"__ignoreMap":7},[228],{"type":27,"value":222},{"type":21,"tag":36,"props":230,"children":232},{"id":231},"your-first-api-call",[233],{"type":27,"value":234},"Your first API call",{"type":21,"tag":30,"props":236,"children":237},{},[238],{"type":27,"value":239},"List your contacts:",{"type":21,"tag":43,"props":241,"children":244},{"code":242,"language":119,"meta":7,"className":243},"curl -H \"X-API-Key: your_key\" \\\n  https:\u002F\u002Fapp.aisoule.com\u002Fapi\u002Fcontacts\n",[121],[245],{"type":21,"tag":48,"props":246,"children":247},{"__ignoreMap":7},[248],{"type":27,"value":242},{"type":21,"tag":30,"props":250,"children":251},{},[252],{"type":27,"value":253},"Response:",{"type":21,"tag":43,"props":255,"children":258},{"code":256,"language":207,"meta":7,"className":257},"{\n  \"data\": {\n    \"contacts\": [\n      {\n        \"id\": \"uuid\",\n        \"phone_number\": \"+919876543210\",\n        \"name\": \"John Doe\",\n        \"tags\": [\"customer\"],\n        \"stage\": \"Customer\"\n      }\n    ],\n    \"total\": 150,\n    \"page\": 1\n  }\n}\n",[209],[259],{"type":21,"tag":48,"props":260,"children":261},{"__ignoreMap":7},[262],{"type":27,"value":256},{"type":21,"tag":36,"props":264,"children":266},{"id":265},"available-endpoints",[267],{"type":27,"value":268},"Available endpoints",{"type":21,"tag":270,"props":271,"children":272},"table",{},[273,297],{"type":21,"tag":274,"props":275,"children":276},"thead",{},[277],{"type":21,"tag":278,"props":279,"children":280},"tr",{},[281,287,292],{"type":21,"tag":282,"props":283,"children":284},"th",{},[285],{"type":27,"value":286},"Method",{"type":21,"tag":282,"props":288,"children":289},{},[290],{"type":27,"value":291},"Endpoint",{"type":21,"tag":282,"props":293,"children":294},{},[295],{"type":27,"value":296},"Description",{"type":21,"tag":298,"props":299,"children":300},"tbody",{},[301,324,345,366,387,408,429,450,471,491],{"type":21,"tag":278,"props":302,"children":303},{},[304,310,319],{"type":21,"tag":305,"props":306,"children":307},"td",{},[308],{"type":27,"value":309},"GET",{"type":21,"tag":305,"props":311,"children":312},{},[313],{"type":21,"tag":48,"props":314,"children":316},{"className":315},[],[317],{"type":27,"value":318},"\u002Fcontacts",{"type":21,"tag":305,"props":320,"children":321},{},[322],{"type":27,"value":323},"List contacts",{"type":21,"tag":278,"props":325,"children":326},{},[327,332,340],{"type":21,"tag":305,"props":328,"children":329},{},[330],{"type":27,"value":331},"POST",{"type":21,"tag":305,"props":333,"children":334},{},[335],{"type":21,"tag":48,"props":336,"children":338},{"className":337},[],[339],{"type":27,"value":318},{"type":21,"tag":305,"props":341,"children":342},{},[343],{"type":27,"value":344},"Create contact",{"type":21,"tag":278,"props":346,"children":347},{},[348,352,361],{"type":21,"tag":305,"props":349,"children":350},{},[351],{"type":27,"value":309},{"type":21,"tag":305,"props":353,"children":354},{},[355],{"type":21,"tag":48,"props":356,"children":358},{"className":357},[],[359],{"type":27,"value":360},"\u002Fcontacts\u002F{id}",{"type":21,"tag":305,"props":362,"children":363},{},[364],{"type":27,"value":365},"Get contact",{"type":21,"tag":278,"props":367,"children":368},{},[369,374,382],{"type":21,"tag":305,"props":370,"children":371},{},[372],{"type":27,"value":373},"PUT",{"type":21,"tag":305,"props":375,"children":376},{},[377],{"type":21,"tag":48,"props":378,"children":380},{"className":379},[],[381],{"type":27,"value":360},{"type":21,"tag":305,"props":383,"children":384},{},[385],{"type":27,"value":386},"Update contact",{"type":21,"tag":278,"props":388,"children":389},{},[390,395,403],{"type":21,"tag":305,"props":391,"children":392},{},[393],{"type":27,"value":394},"DELETE",{"type":21,"tag":305,"props":396,"children":397},{},[398],{"type":21,"tag":48,"props":399,"children":401},{"className":400},[],[402],{"type":27,"value":360},{"type":21,"tag":305,"props":404,"children":405},{},[406],{"type":27,"value":407},"Delete contact",{"type":21,"tag":278,"props":409,"children":410},{},[411,415,424],{"type":21,"tag":305,"props":412,"children":413},{},[414],{"type":27,"value":331},{"type":21,"tag":305,"props":416,"children":417},{},[418],{"type":21,"tag":48,"props":419,"children":421},{"className":420},[],[422],{"type":27,"value":423},"\u002Fmessages\u002Fsend",{"type":21,"tag":305,"props":425,"children":426},{},[427],{"type":27,"value":428},"Send message",{"type":21,"tag":278,"props":430,"children":431},{},[432,436,445],{"type":21,"tag":305,"props":433,"children":434},{},[435],{"type":27,"value":309},{"type":21,"tag":305,"props":437,"children":438},{},[439],{"type":21,"tag":48,"props":440,"children":442},{"className":441},[],[443],{"type":27,"value":444},"\u002Ftemplates",{"type":21,"tag":305,"props":446,"children":447},{},[448],{"type":27,"value":449},"List templates",{"type":21,"tag":278,"props":451,"children":452},{},[453,457,466],{"type":21,"tag":305,"props":454,"children":455},{},[456],{"type":27,"value":309},{"type":21,"tag":305,"props":458,"children":459},{},[460],{"type":21,"tag":48,"props":461,"children":463},{"className":462},[],[464],{"type":27,"value":465},"\u002Fcampaigns",{"type":21,"tag":305,"props":467,"children":468},{},[469],{"type":27,"value":470},"List campaigns",{"type":21,"tag":278,"props":472,"children":473},{},[474,478,486],{"type":21,"tag":305,"props":475,"children":476},{},[477],{"type":27,"value":331},{"type":21,"tag":305,"props":479,"children":480},{},[481],{"type":21,"tag":48,"props":482,"children":484},{"className":483},[],[485],{"type":27,"value":465},{"type":21,"tag":305,"props":487,"children":488},{},[489],{"type":27,"value":490},"Create campaign",{"type":21,"tag":278,"props":492,"children":493},{},[494,498,507],{"type":21,"tag":305,"props":495,"children":496},{},[497],{"type":27,"value":309},{"type":21,"tag":305,"props":499,"children":500},{},[501],{"type":21,"tag":48,"props":502,"children":504},{"className":503},[],[505],{"type":27,"value":506},"\u002Faccounts",{"type":21,"tag":305,"props":508,"children":509},{},[510],{"type":27,"value":511},"List WhatsApp accounts",{"type":21,"tag":36,"props":513,"children":515},{"id":514},"rate-limits",[516],{"type":27,"value":517},"Rate limits",{"type":21,"tag":154,"props":519,"children":520},{},[521,531,541],{"type":21,"tag":75,"props":522,"children":523},{},[524,529],{"type":21,"tag":81,"props":525,"children":526},{},[527],{"type":27,"value":528},"100 requests per minute",{"type":27,"value":530}," per API key",{"type":21,"tag":75,"props":532,"children":533},{},[534,539],{"type":21,"tag":81,"props":535,"children":536},{},[537],{"type":27,"value":538},"10 requests per second",{"type":27,"value":540}," burst limit",{"type":21,"tag":75,"props":542,"children":543},{},[544,546],{"type":27,"value":545},"Rate limit headers included in responses:\n",{"type":21,"tag":154,"props":547,"children":548},{},[549,558,567],{"type":21,"tag":75,"props":550,"children":551},{},[552],{"type":21,"tag":48,"props":553,"children":555},{"className":554},[],[556],{"type":27,"value":557},"X-RateLimit-Limit",{"type":21,"tag":75,"props":559,"children":560},{},[561],{"type":21,"tag":48,"props":562,"children":564},{"className":563},[],[565],{"type":27,"value":566},"X-RateLimit-Remaining",{"type":21,"tag":75,"props":568,"children":569},{},[570],{"type":21,"tag":48,"props":571,"children":573},{"className":572},[],[574],{"type":27,"value":575},"X-RateLimit-Reset",{"type":21,"tag":36,"props":577,"children":579},{"id":578},"sdks-and-libraries",[580],{"type":27,"value":581},"SDKs and libraries",{"type":21,"tag":30,"props":583,"children":584},{},[585],{"type":27,"value":586},"Currently, we provide a REST API. You can use any HTTP client:",{"type":21,"tag":154,"props":588,"children":589},{},[590,600,610,620],{"type":21,"tag":75,"props":591,"children":592},{},[593,598],{"type":21,"tag":81,"props":594,"children":595},{},[596],{"type":27,"value":597},"JavaScript:",{"type":27,"value":599}," fetch, axios",{"type":21,"tag":75,"props":601,"children":602},{},[603,608],{"type":21,"tag":81,"props":604,"children":605},{},[606],{"type":27,"value":607},"Python:",{"type":27,"value":609}," requests, httpx",{"type":21,"tag":75,"props":611,"children":612},{},[613,618],{"type":21,"tag":81,"props":614,"children":615},{},[616],{"type":27,"value":617},"PHP:",{"type":27,"value":619}," Guzzle",{"type":21,"tag":75,"props":621,"children":622},{},[623,628],{"type":21,"tag":81,"props":624,"children":625},{},[626],{"type":27,"value":627},"Go:",{"type":27,"value":629}," net\u002Fhttp",{"type":21,"tag":36,"props":631,"children":633},{"id":632},"security-best-practices",[634],{"type":27,"value":635},"Security best practices",{"type":21,"tag":71,"props":637,"children":638},{},[639,649,659,669,679],{"type":21,"tag":75,"props":640,"children":641},{},[642,647],{"type":21,"tag":81,"props":643,"children":644},{},[645],{"type":27,"value":646},"Never expose API keys in frontend code",{"type":27,"value":648}," — Use server-side only",{"type":21,"tag":75,"props":650,"children":651},{},[652,657],{"type":21,"tag":81,"props":653,"children":654},{},[655],{"type":27,"value":656},"Rotate keys regularly",{"type":27,"value":658}," — Create new keys and revoke old ones",{"type":21,"tag":75,"props":660,"children":661},{},[662,667],{"type":21,"tag":81,"props":663,"children":664},{},[665],{"type":27,"value":666},"Use minimal permissions",{"type":27,"value":668}," — Create keys with only the access needed",{"type":21,"tag":75,"props":670,"children":671},{},[672,677],{"type":21,"tag":81,"props":673,"children":674},{},[675],{"type":27,"value":676},"Monitor usage",{"type":27,"value":678}," — Check API key activity in Settings → API Keys",{"type":21,"tag":75,"props":680,"children":681},{},[682,687],{"type":21,"tag":81,"props":683,"children":684},{},[685],{"type":27,"value":686},"Use HTTPS only",{"type":27,"value":688}," — All API calls must use HTTPS",{"title":7,"searchDepth":690,"depth":690,"links":691},2,[692,693,698,701,702,703,704,705],{"id":38,"depth":690,"text":41},{"id":59,"depth":690,"text":62,"children":694},[695,697],{"id":66,"depth":696,"text":69},3,{"id":129,"depth":696,"text":132},{"id":149,"depth":690,"text":152,"children":699},[700],{"id":195,"depth":696,"text":198},{"id":231,"depth":690,"text":234},{"id":265,"depth":690,"text":268},{"id":514,"depth":690,"text":517},{"id":578,"depth":690,"text":581},{"id":632,"depth":690,"text":635},"markdown","content:help:integrations:api-overview.md","content","help\u002Fintegrations\u002Fapi-overview.md","help\u002Fintegrations\u002Fapi-overview","md",[713,714,716,719,722,725,728,730,733,736,738,741],{"_path":4,"title":8},{"_path":16,"title":715},"API rate limits and best practices",{"_path":717,"title":718},"\u002Fhelp\u002Fintegrations\u002Fcustom-js-actions","Using the JavaScript VM for custom actions",{"_path":720,"title":721},"\u002Fhelp\u002Fintegrations\u002Ferror-codes","Error codes reference",{"_path":723,"title":724},"\u002Fhelp\u002Fintegrations\u002Fpayment-gateway","Payment gateway setup (Razorpay\u002FStripe)",{"_path":726,"title":727},"\u002Fhelp\u002Fintegrations\u002Fproduct-catalog-sync","Product catalog sync from Meta",{"_path":14,"title":729},"Sending messages via API",{"_path":731,"title":732},"\u002Fhelp\u002Fintegrations\u002Fsending-messages-api-templates","Sending messages via API (advanced)",{"_path":734,"title":735},"\u002Fhelp\u002Fintegrations\u002Fwebhook-events","Webhook event types reference",{"_path":15,"title":737},"Receiving messages via webhooks",{"_path":739,"title":740},"\u002Fhelp\u002Fintegrations\u002Fwoocommerce","WooCommerce integration setup",{"_path":742,"title":743},"\u002Fhelp\u002Fintegrations\u002Fzapier-pabbly","Connecting with Zapier and Pabbly Connect",1780423187247]