{"info":{"name":"IntelliPortal Partner API","description":"Connect WhatsApp and Instagram clients, manage their message templates, send messages, inspect clients, and read usage. Start with an ik_test_ key for non-delivering validation.","schema":"https://schema.getpostman.com/json/collection/v2.1.0/collection.json"},"auth":{"type":"bearer","bearer":[{"key":"token","value":"{{INTELLI_API_KEY}}","type":"string"}]},"variable":[{"key":"baseUrl","value":"https://api.intelliconcierge.dev/v1"},{"key":"INTELLI_API_KEY","value":"ik_test_your_key_here"},{"key":"clientRef","value":"customer_42"},{"key":"recipient","value":"+254700000000"},{"key":"templateId","value":"order_update"}],"item":[{"name":"Messages","item":[{"name":"Send text message","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"client_ref\": \"{{clientRef}}\",\n  \"to\": \"{{recipient}}\",\n  \"type\": \"text\",\n  \"text\": {\n    \"body\": \"Hello from IntelliPortal!\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{baseUrl}}/messages/send","host":["{{baseUrl}}"],"path":["messages","send"]},"description":"With an ik_test_ key this validates without delivery and returns dry_run: true."}},{"name":"Send image message","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"client_ref\": \"{{clientRef}}\",\n  \"to\": \"{{recipient}}\",\n  \"type\": \"image\",\n  \"image\": {\n    \"link\": \"https://example.com/order.jpg\",\n    \"caption\": \"Order #1842\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{baseUrl}}/messages/send","host":["{{baseUrl}}"],"path":["messages","send"]}}},{"name":"Send WhatsApp template","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"client_ref\": \"{{clientRef}}\",\n  \"to\": \"{{recipient}}\",\n  \"template\": {\n    \"name\": \"order_ready\",\n    \"language\": {\n      \"code\": \"en_US\"\n    },\n    \"components\": [\n      {\n        \"type\": \"body\",\n        \"parameters\": [\n          {\n            \"type\": \"text\",\n            \"text\": \"1842\"\n          }\n        ]\n      }\n    ]\n  }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{baseUrl}}/messages/send-template","host":["{{baseUrl}}"],"path":["messages","send-template"]}}}]},{"name":"Clients","item":[{"name":"Create WhatsApp hosted session","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"client_ref\": \"{{clientRef}}\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{baseUrl}}/embedded-signup/sessions","host":["{{baseUrl}}"],"path":["embedded-signup","sessions"]}}},{"name":"Create Instagram hosted session","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"client_ref\": \"{{clientRef}}_instagram\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{baseUrl}}/instagram-connect/sessions","host":["{{baseUrl}}"],"path":["instagram-connect","sessions"]}}},{"name":"List clients","request":{"method":"GET","url":{"raw":"{{baseUrl}}/clients?limit=20&offset=0","host":["{{baseUrl}}"],"path":["clients"],"query":[{"key":"limit","value":"20"},{"key":"offset","value":"0"}]}}},{"name":"Get client","request":{"method":"GET","url":{"raw":"{{baseUrl}}/clients/{{clientRef}}","host":["{{baseUrl}}"],"path":["clients","{{clientRef}}"]}}}]},{"name":"Templates","item":[{"name":"List templates","request":{"method":"GET","url":{"raw":"{{baseUrl}}/templates?client_ref={{clientRef}}","host":["{{baseUrl}}"],"path":["templates"],"query":[{"key":"client_ref","value":"{{clientRef}}"}]}}},{"name":"Create template","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"client_ref\": \"{{clientRef}}\",\n  \"name\": \"order_update\",\n  \"language\": \"en_US\",\n  \"category\": \"UTILITY\",\n  \"body\": {\n    \"text\": \"Hi {{1}}, your order {{2}} ships on {{3}}.\",\n    \"examples\": [\n      \"Ama\",\n      \"#4821\",\n      \"Friday\"\n    ]\n  },\n  \"footer\": {\n    \"text\": \"Reply STOP to opt out\"\n  },\n  \"buttons\": [\n    {\n      \"type\": \"QUICK_REPLY\",\n      \"text\": \"Track order\"\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{baseUrl}}/templates","host":["{{baseUrl}}"],"path":["templates"]},"description":"Returns status PENDING. Meta reviews asynchronously — wait for the template.status webhook, or poll 'Get template', before sending it.\n\nNote: {{1}}, {{2}} … are WhatsApp's own placeholder syntax, not Postman variables. Postman highlights them as unresolved and sends them through unchanged, which is what you want."}},{"name":"Create template with an image header","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"client_ref\": \"{{clientRef}}\",\n  \"name\": \"weekend_special\",\n  \"language\": \"en_US\",\n  \"category\": \"MARKETING\",\n  \"header\": {\n    \"format\": \"IMAGE\",\n    \"media_url\": \"https://cdn.example.com/specials/week-31.jpg\"\n  },\n  \"body\": {\n    \"text\": \"{{1}}, this weekend only: {{2}} off everything.\",\n    \"examples\": [\n      \"Ama\",\n      \"20%\"\n    ]\n  },\n  \"footer\": {\n    \"text\": \"Reply STOP to opt out\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{baseUrl}}/templates","host":["{{baseUrl}}"],"path":["templates"]},"description":"media_url is downloaded and uploaded to Meta for you. To send the bytes yourself, use 'Upload header media' and pass the returned handle as header.media_handle."}},{"name":"Upload header media","request":{"method":"POST","body":{"mode":"formdata","formdata":[{"key":"client_ref","value":"{{clientRef}}","type":"text"},{"key":"file","src":[],"type":"file"}]},"url":{"raw":"{{baseUrl}}/templates/media","host":["{{baseUrl}}"],"path":["templates","media"]},"description":"JPEG/PNG up to 5MB, MP4 up to 16MB, PDF up to 100MB. Returns a handle for header.media_handle."}},{"name":"Get template","request":{"method":"GET","url":{"raw":"{{baseUrl}}/templates/{{templateId}}?client_ref={{clientRef}}","host":["{{baseUrl}}"],"path":["templates","{{templateId}}"],"query":[{"key":"client_ref","value":"{{clientRef}}"}]},"description":"Poll this to follow a template through review. templateId is Meta's id, or the template name."}},{"name":"Update template","request":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"client_ref\": \"{{clientRef}}\",\n  \"body\": {\n    \"text\": \"Hi {{1}}, your order {{2}} is out for delivery.\",\n    \"examples\": [\n      \"Ama\",\n      \"#4821\"\n    ]\n  }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{baseUrl}}/templates/{{templateId}}","host":["{{baseUrl}}"],"path":["templates","{{templateId}}"]},"description":"Partial — anything you omit is kept. Sends the template back through Meta's review. Name and language cannot change."}},{"name":"Delete template","request":{"method":"DELETE","url":{"raw":"{{baseUrl}}/templates/{{templateId}}?client_ref={{clientRef}}","host":["{{baseUrl}}"],"path":["templates","{{templateId}}"],"query":[{"key":"client_ref","value":"{{clientRef}}"}]}}}]},{"name":"Usage","item":[{"name":"Get monthly usage","request":{"method":"GET","url":{"raw":"{{baseUrl}}/usage","host":["{{baseUrl}}"],"path":["usage"]}}}]},{"name":"Platform","item":[{"name":"Get edge status","request":{"auth":{"type":"noauth"},"method":"GET","url":{"raw":"{{baseUrl}}/status","host":["{{baseUrl}}"],"path":["status"]},"description":"Unauthenticated probe for public edge reachability and API version."}}]}]}