{"info":{"_postman_id":"c61097ce-cdee-47e7-bfb6-7db1ac64e7e2","name":"wabapi.com — Template Messaging API","description":"<html><head></head><body><p>Send approved WhatsApp template messages from your own systems. Credits are the same as in the app.</p>\n<p><strong>Template messages only.</strong> This product sends approved WhatsApp template\nmessages. There is no free-form / service-message endpoint, by design.</p>\n<p>Set the collection variables <code>baseUrl</code> and <code>apiKey</code> before running.\nCreate a key in the app under Settings → API keys — it is shown once.</p>\n<p>Every successful send is BILLED and delivers a real WhatsApp message.\nUploading a file for a header is free; run 'Upload media' before the\ndocument-header send and that send uses the uploaded file's url.\nUtility and authentication templates cost 1 credit; marketing costs 5.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"1673752","collectionId":"c61097ce-cdee-47e7-bfb6-7db1ac64e7e2","publishedId":"2sBYB4KmEH","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2026-09-28T03:08:19.000Z"},"item":[{"name":"Send a template message","item":[{"name":"Text-only template (no header)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["// Capture the id so 'Message status' works without copy-paste.","if (pm.response.code === 200) {","  const body = pm.response.json();","  if (body.id) pm.collectionVariables.set('messageId', body.id);","  pm.test('send accepted', () => pm.expect(pm.response.code).to.eql(200));","}"],"id":"48a494ce-4677-48f7-b183-92e2756bad31"}}],"id":"af495ca5-d4d0-4554-8895-fa3d040b9a85","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer YOUR_API_KEY","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Idempotency-Key","value":"fcb798f4-9e3d-4c2e-989b-1c26ab3fcf96","description":"<p>Replaying the same key returns the original result — no second send, no second debit.</p>\n","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"to\": \"917021948630\",\n  \"template_name\": \"ticket_confirmation\",\n  \"template_language\": \"en\",\n  \"components\": [\n    {\n      \"type\": \"body\",\n      \"parameters\": [\n        {\n          \"type\": \"text\",\n          \"text\": \"Prajesh\"\n        },\n        {\n          \"type\": \"text\",\n          \"text\": \"Thane\"\n        },\n        {\n          \"type\": \"text\",\n          \"text\": \"04:00 PM\"\n        }\n      ]\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://wabapi.com/api/v1/messages/template","description":"<p>The body parameters only. Use this for a template with no header, or with a fixed text header that has no variable.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"YOUR_API_KEY"}]},"isInherited":true,"source":{"_postman_id":"c61097ce-cdee-47e7-bfb6-7db1ac64e7e2","id":"c61097ce-cdee-47e7-bfb6-7db1ac64e7e2","name":"wabapi.com — Template Messaging API","type":"collection"}},"urlObject":{"path":["messages","template"],"host":["https://wabapi.com/api/v1"],"query":[],"variable":[]}},"response":[{"id":"941affb3-0229-44c0-9bc2-5fe80c18511c","name":"200 — accepted","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer YOUR_API_KEY","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Idempotency-Key","value":"49317f75-a006-4985-8caf-48e8b3b63589","description":"Replaying the same key returns the original result — no second send, no second debit.","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"to\": \"917021948630\",\n  \"template_name\": \"ticket_confirmation\",\n  \"template_language\": \"en\",\n  \"components\": [\n    {\n      \"type\": \"body\",\n      \"parameters\": [\n        {\n          \"type\": \"text\",\n          \"text\": \"Prajesh\"\n        },\n        {\n          \"type\": \"text\",\n          \"text\": \"Thane\"\n        },\n        {\n          \"type\": \"text\",\n          \"text\": \"04:00 PM\"\n        }\n      ]\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://wabapi.com/api/v1/messages/template","description":"The body parameters only. Use this for a template with no header, or with a fixed text header that has no variable."},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"id\": \"msg_3f9c2b1e7a4d4c0e9b2a1f6d\",\n  \"status\": \"SENT\",\n  \"to\": \"917021948630\",\n  \"template_name\": \"ticket_confirmation\",\n  \"credits\": 1,\n  \"sandbox\": false,\n  \"free_sends_remaining\": null\n}"}],"_postman_id":"af495ca5-d4d0-4554-8895-fa3d040b9a85"},{"name":"Text header with a variable","id":"d2aeb55a-0e4b-4a58-904d-9b650c4a96ab","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer YOUR_API_KEY","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Idempotency-Key","value":"6e94279b-3aac-4ee1-97df-a10a0b197d08","description":"<p>Replaying the same key returns the original result — no second send, no second debit.</p>\n","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"to\": \"917021948630\",\n  \"template_name\": \"ticket_confirmation\",\n  \"template_language\": \"en\",\n  \"components\": [\n    {\n      \"type\": \"header\",\n      \"parameters\": [\n        {\n          \"type\": \"text\",\n          \"text\": \"Order 8821\"\n        }\n      ]\n    },\n    {\n      \"type\": \"body\",\n      \"parameters\": [\n        {\n          \"type\": \"text\",\n          \"text\": \"Prajesh\"\n        },\n        {\n          \"type\": \"text\",\n          \"text\": \"Thane\"\n        },\n        {\n          \"type\": \"text\",\n          \"text\": \"04:00 PM\"\n        }\n      ]\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://wabapi.com/api/v1/messages/template","description":"<p>A <code>header</code> component with one <code>text</code> parameter — the header's {{1}} in the approved template.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"YOUR_API_KEY"}]},"isInherited":true,"source":{"_postman_id":"c61097ce-cdee-47e7-bfb6-7db1ac64e7e2","id":"c61097ce-cdee-47e7-bfb6-7db1ac64e7e2","name":"wabapi.com — Template Messaging API","type":"collection"}},"urlObject":{"path":["messages","template"],"host":["https://wabapi.com/api/v1"],"query":[],"variable":[]}},"response":[{"id":"994d7631-7721-4185-b88f-08944157e16f","name":"200 — accepted","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer YOUR_API_KEY","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Idempotency-Key","value":"172be842-da7b-4f60-bb22-44caef98565d","description":"Replaying the same key returns the original result — no second send, no second debit.","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"to\": \"917021948630\",\n  \"template_name\": \"ticket_confirmation\",\n  \"template_language\": \"en\",\n  \"components\": [\n    {\n      \"type\": \"header\",\n      \"parameters\": [\n        {\n          \"type\": \"text\",\n          \"text\": \"Order 8821\"\n        }\n      ]\n    },\n    {\n      \"type\": \"body\",\n      \"parameters\": [\n        {\n          \"type\": \"text\",\n          \"text\": \"Prajesh\"\n        },\n        {\n          \"type\": \"text\",\n          \"text\": \"Thane\"\n        },\n        {\n          \"type\": \"text\",\n          \"text\": \"04:00 PM\"\n        }\n      ]\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://wabapi.com/api/v1/messages/template","description":"A `header` component with one `text` parameter — the header's {{1}} in the approved template."},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"id\": \"msg_3f9c2b1e7a4d4c0e9b2a1f6d\",\n  \"status\": \"SENT\",\n  \"to\": \"917021948630\",\n  \"template_name\": \"ticket_confirmation\",\n  \"credits\": 1,\n  \"sandbox\": false,\n  \"free_sends_remaining\": null\n}"}],"_postman_id":"d2aeb55a-0e4b-4a58-904d-9b650c4a96ab"},{"name":"Image header","id":"36c227d7-ac24-4fba-9316-3365d05002a7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer YOUR_API_KEY","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Idempotency-Key","value":"8c660ca8-ea07-4dcc-90fa-06e8d1b08ac3","description":"<p>Replaying the same key returns the original result — no second send, no second debit.</p>\n","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"to\": \"917021948630\",\n  \"template_name\": \"ticket_confirmation\",\n  \"template_language\": \"en\",\n  \"components\": [\n    {\n      \"type\": \"header\",\n      \"parameters\": [\n        {\n          \"type\": \"image\",\n          \"image\": {\n            \"link\": \"https://your.cdn/offer.jpg\"\n          }\n        }\n      ]\n    },\n    {\n      \"type\": \"body\",\n      \"parameters\": [\n        {\n          \"type\": \"text\",\n          \"text\": \"Prajesh\"\n        },\n        {\n          \"type\": \"text\",\n          \"text\": \"Thane\"\n        },\n        {\n          \"type\": \"text\",\n          \"text\": \"04:00 PM\"\n        }\n      ]\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://wabapi.com/api/v1/messages/template","description":"<p>A <code>header</code> component with one <code>image</code> parameter (<code>link</code> to a public JPG/PNG). The template must have been approved with an image header.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"YOUR_API_KEY"}]},"isInherited":true,"source":{"_postman_id":"c61097ce-cdee-47e7-bfb6-7db1ac64e7e2","id":"c61097ce-cdee-47e7-bfb6-7db1ac64e7e2","name":"wabapi.com — Template Messaging API","type":"collection"}},"urlObject":{"path":["messages","template"],"host":["https://wabapi.com/api/v1"],"query":[],"variable":[]}},"response":[{"id":"d9b0302b-2e09-482e-9a94-d2545b3bcbe6","name":"200 — accepted","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer YOUR_API_KEY","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Idempotency-Key","value":"15518fd0-19b9-4a77-81d7-45984faf48ef","description":"Replaying the same key returns the original result — no second send, no second debit.","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"to\": \"917021948630\",\n  \"template_name\": \"ticket_confirmation\",\n  \"template_language\": \"en\",\n  \"components\": [\n    {\n      \"type\": \"header\",\n      \"parameters\": [\n        {\n          \"type\": \"image\",\n          \"image\": {\n            \"link\": \"https://your.cdn/offer.jpg\"\n          }\n        }\n      ]\n    },\n    {\n      \"type\": \"body\",\n      \"parameters\": [\n        {\n          \"type\": \"text\",\n          \"text\": \"Prajesh\"\n        },\n        {\n          \"type\": \"text\",\n          \"text\": \"Thane\"\n        },\n        {\n          \"type\": \"text\",\n          \"text\": \"04:00 PM\"\n        }\n      ]\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://wabapi.com/api/v1/messages/template","description":"A `header` component with one `image` parameter (`link` to a public JPG/PNG). The template must have been approved with an image header."},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"id\": \"msg_3f9c2b1e7a4d4c0e9b2a1f6d\",\n  \"status\": \"SENT\",\n  \"to\": \"917021948630\",\n  \"template_name\": \"ticket_confirmation\",\n  \"credits\": 1,\n  \"sandbox\": false,\n  \"free_sends_remaining\": null\n}"}],"_postman_id":"36c227d7-ac24-4fba-9316-3365d05002a7"},{"name":"Document header (PDF)","id":"3bef0035-4afa-489d-8a53-9a549fcfdb52","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer YOUR_API_KEY","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Idempotency-Key","value":"387eac48-952b-4285-a049-2f81ce780c5e","description":"<p>Replaying the same key returns the original result — no second send, no second debit.</p>\n","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"to\": \"917021948630\",\n  \"template_name\": \"ticket_confirmation\",\n  \"template_language\": \"en\",\n  \"components\": [\n    {\n      \"type\": \"header\",\n      \"parameters\": [\n        {\n          \"type\": \"document\",\n          \"document\": {\n            \"link\": \"https://sin1.contabostorage.com/0a1b2c3d4e5f:wabapi/api-media/ten_7c2e91a04b3f4d8e9a1b5c6d/Yk3t9QpL2vN8rD5wZa1cXg/invoice-8821.pdf\",\n            \"filename\": \"invoice-8821.pdf\"\n          }\n        }\n      ]\n    },\n    {\n      \"type\": \"body\",\n      \"parameters\": [\n        {\n          \"type\": \"text\",\n          \"text\": \"Prajesh\"\n        },\n        {\n          \"type\": \"text\",\n          \"text\": \"Thane\"\n        },\n        {\n          \"type\": \"text\",\n          \"text\": \"04:00 PM\"\n        }\n      ]\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://wabapi.com/api/v1/messages/template","description":"<p>A <code>header</code> component with one <code>document</code> parameter — <code>link</code> to a public PDF and the <code>filename</code> the recipient sees. <code>link</code> is <code>https://sin1.contabostorage.com/0a1b2c3d4e5f:wabapi/api-media/ten_7c2e91a04b3f4d8e9a1b5c6d/Yk3t9QpL2vN8rD5wZa1cXg/invoice-8821.pdf</code>: run 'Upload media' first and it points at your file, or replace it with a public URL of your own.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"YOUR_API_KEY"}]},"isInherited":true,"source":{"_postman_id":"c61097ce-cdee-47e7-bfb6-7db1ac64e7e2","id":"c61097ce-cdee-47e7-bfb6-7db1ac64e7e2","name":"wabapi.com — Template Messaging API","type":"collection"}},"urlObject":{"path":["messages","template"],"host":["https://wabapi.com/api/v1"],"query":[],"variable":[]}},"response":[{"id":"4eae3fe0-397e-48da-a7f1-15c57747c5f3","name":"200 — accepted","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer YOUR_API_KEY","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Idempotency-Key","value":"11f0f1d6-e427-4599-901e-4e98925bac02","description":"Replaying the same key returns the original result — no second send, no second debit.","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"to\": \"917021948630\",\n  \"template_name\": \"ticket_confirmation\",\n  \"template_language\": \"en\",\n  \"components\": [\n    {\n      \"type\": \"header\",\n      \"parameters\": [\n        {\n          \"type\": \"document\",\n          \"document\": {\n            \"link\": \"https://sin1.contabostorage.com/0a1b2c3d4e5f:wabapi/api-media/ten_7c2e91a04b3f4d8e9a1b5c6d/Yk3t9QpL2vN8rD5wZa1cXg/invoice-8821.pdf\",\n            \"filename\": \"invoice-8821.pdf\"\n          }\n        }\n      ]\n    },\n    {\n      \"type\": \"body\",\n      \"parameters\": [\n        {\n          \"type\": \"text\",\n          \"text\": \"Prajesh\"\n        },\n        {\n          \"type\": \"text\",\n          \"text\": \"Thane\"\n        },\n        {\n          \"type\": \"text\",\n          \"text\": \"04:00 PM\"\n        }\n      ]\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://wabapi.com/api/v1/messages/template","description":"A `header` component with one `document` parameter — `link` to a public PDF and the `filename` the recipient sees. `link` is `https://sin1.contabostorage.com/0a1b2c3d4e5f:wabapi/api-media/ten_7c2e91a04b3f4d8e9a1b5c6d/Yk3t9QpL2vN8rD5wZa1cXg/invoice-8821.pdf`: run 'Upload media' first and it points at your file, or replace it with a public URL of your own."},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"id\": \"msg_3f9c2b1e7a4d4c0e9b2a1f6d\",\n  \"status\": \"SENT\",\n  \"to\": \"917021948630\",\n  \"template_name\": \"ticket_confirmation\",\n  \"credits\": 1,\n  \"sandbox\": false,\n  \"free_sends_remaining\": null\n}"}],"_postman_id":"3bef0035-4afa-489d-8a53-9a549fcfdb52"},{"name":"Video header","id":"36cebe6e-df61-463e-a491-580df61a8d19","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer YOUR_API_KEY","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Idempotency-Key","value":"3963d124-5231-44fa-a933-bbaf446c72a2","description":"<p>Replaying the same key returns the original result — no second send, no second debit.</p>\n","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"to\": \"917021948630\",\n  \"template_name\": \"ticket_confirmation\",\n  \"template_language\": \"en\",\n  \"components\": [\n    {\n      \"type\": \"header\",\n      \"parameters\": [\n        {\n          \"type\": \"video\",\n          \"video\": {\n            \"link\": \"https://your.cdn/demo.mp4\"\n          }\n        }\n      ]\n    },\n    {\n      \"type\": \"body\",\n      \"parameters\": [\n        {\n          \"type\": \"text\",\n          \"text\": \"Prajesh\"\n        },\n        {\n          \"type\": \"text\",\n          \"text\": \"Thane\"\n        },\n        {\n          \"type\": \"text\",\n          \"text\": \"04:00 PM\"\n        }\n      ]\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://wabapi.com/api/v1/messages/template","description":"<p>A <code>header</code> component with one <code>video</code> parameter (<code>link</code> to a public MP4).</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"YOUR_API_KEY"}]},"isInherited":true,"source":{"_postman_id":"c61097ce-cdee-47e7-bfb6-7db1ac64e7e2","id":"c61097ce-cdee-47e7-bfb6-7db1ac64e7e2","name":"wabapi.com — Template Messaging API","type":"collection"}},"urlObject":{"path":["messages","template"],"host":["https://wabapi.com/api/v1"],"query":[],"variable":[]}},"response":[{"id":"8e5de9e7-2f1e-4500-9675-e77f8a2bc94b","name":"200 — accepted","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer YOUR_API_KEY","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Idempotency-Key","value":"1f1cdfc3-f8e5-43d4-879d-c3cc7dc94d8d","description":"Replaying the same key returns the original result — no second send, no second debit.","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"to\": \"917021948630\",\n  \"template_name\": \"ticket_confirmation\",\n  \"template_language\": \"en\",\n  \"components\": [\n    {\n      \"type\": \"header\",\n      \"parameters\": [\n        {\n          \"type\": \"video\",\n          \"video\": {\n            \"link\": \"https://your.cdn/demo.mp4\"\n          }\n        }\n      ]\n    },\n    {\n      \"type\": \"body\",\n      \"parameters\": [\n        {\n          \"type\": \"text\",\n          \"text\": \"Prajesh\"\n        },\n        {\n          \"type\": \"text\",\n          \"text\": \"Thane\"\n        },\n        {\n          \"type\": \"text\",\n          \"text\": \"04:00 PM\"\n        }\n      ]\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://wabapi.com/api/v1/messages/template","description":"A `header` component with one `video` parameter (`link` to a public MP4)."},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"id\": \"msg_3f9c2b1e7a4d4c0e9b2a1f6d\",\n  \"status\": \"SENT\",\n  \"to\": \"917021948630\",\n  \"template_name\": \"ticket_confirmation\",\n  \"credits\": 1,\n  \"sandbox\": false,\n  \"free_sends_remaining\": null\n}"}],"_postman_id":"36cebe6e-df61-463e-a491-580df61a8d19"},{"name":"Body plus a URL button parameter","id":"a7af9ac3-ed12-4b61-bda3-dbc4b947247c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer YOUR_API_KEY","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Idempotency-Key","value":"10502c43-aa8e-40fa-a4b8-8599163459c0","description":"<p>Replaying the same key returns the original result — no second send, no second debit.</p>\n","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"to\": \"917021948630\",\n  \"template_name\": \"ticket_confirmation\",\n  \"template_language\": \"en\",\n  \"components\": [\n    {\n      \"type\": \"body\",\n      \"parameters\": [\n        {\n          \"type\": \"text\",\n          \"text\": \"Prajesh\"\n        },\n        {\n          \"type\": \"text\",\n          \"text\": \"Thane\"\n        },\n        {\n          \"type\": \"text\",\n          \"text\": \"04:00 PM\"\n        }\n      ]\n    },\n    {\n      \"type\": \"button\",\n      \"sub_type\": \"url\",\n      \"index\": 0,\n      \"parameters\": [\n        {\n          \"type\": \"text\",\n          \"text\": \"orders/8821\"\n        }\n      ]\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://wabapi.com/api/v1/messages/template","description":"<p>A <code>button</code> component (<code>sub_type: url</code>, <code>index: 0</code>) supplies the suffix for a URL button approved with a trailing {{1}}.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"YOUR_API_KEY"}]},"isInherited":true,"source":{"_postman_id":"c61097ce-cdee-47e7-bfb6-7db1ac64e7e2","id":"c61097ce-cdee-47e7-bfb6-7db1ac64e7e2","name":"wabapi.com — Template Messaging API","type":"collection"}},"urlObject":{"path":["messages","template"],"host":["https://wabapi.com/api/v1"],"query":[],"variable":[]}},"response":[{"id":"4e470c35-34f7-43b8-94c8-68ab54e14405","name":"200 — accepted","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer YOUR_API_KEY","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Idempotency-Key","value":"0f9e29ab-2d51-4f02-9ecb-df5ca1f7bd50","description":"Replaying the same key returns the original result — no second send, no second debit.","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"to\": \"917021948630\",\n  \"template_name\": \"ticket_confirmation\",\n  \"template_language\": \"en\",\n  \"components\": [\n    {\n      \"type\": \"body\",\n      \"parameters\": [\n        {\n          \"type\": \"text\",\n          \"text\": \"Prajesh\"\n        },\n        {\n          \"type\": \"text\",\n          \"text\": \"Thane\"\n        },\n        {\n          \"type\": \"text\",\n          \"text\": \"04:00 PM\"\n        }\n      ]\n    },\n    {\n      \"type\": \"button\",\n      \"sub_type\": \"url\",\n      \"index\": 0,\n      \"parameters\": [\n        {\n          \"type\": \"text\",\n          \"text\": \"orders/8821\"\n        }\n      ]\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://wabapi.com/api/v1/messages/template","description":"A `button` component (`sub_type: url`, `index: 0`) supplies the suffix for a URL button approved with a trailing {{1}}."},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"id\": \"msg_3f9c2b1e7a4d4c0e9b2a1f6d\",\n  \"status\": \"SENT\",\n  \"to\": \"917021948630\",\n  \"template_name\": \"ticket_confirmation\",\n  \"credits\": 1,\n  \"sandbox\": false,\n  \"free_sends_remaining\": null\n}"}],"_postman_id":"a7af9ac3-ed12-4b61-bda3-dbc4b947247c"},{"name":"Retry safely (same Idempotency-Key)","id":"00a8c63c-c4ff-4cae-9b34-9fca0f6f4ba5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer YOUR_API_KEY","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Idempotency-Key","value":"order-8821-confirmation","description":"<p>A fixed key, so replaying this exact request is safe.</p>\n","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"to\": \"917021948630\",\n  \"template_name\": \"ticket_confirmation\",\n  \"template_language\": \"en\",\n  \"components\": [\n    {\n      \"type\": \"body\",\n      \"parameters\": [\n        {\n          \"type\": \"text\",\n          \"text\": \"Prajesh\"\n        },\n        {\n          \"type\": \"text\",\n          \"text\": \"Thane\"\n        },\n        {\n          \"type\": \"text\",\n          \"text\": \"04:00 PM\"\n        }\n      ]\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://wabapi.com/api/v1/messages/template","description":"<p>Send this twice. The second call carries the same <code>Idempotency-Key</code> and returns the FIRST result — no second message, no second debit.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"YOUR_API_KEY"}]},"isInherited":true,"source":{"_postman_id":"c61097ce-cdee-47e7-bfb6-7db1ac64e7e2","id":"c61097ce-cdee-47e7-bfb6-7db1ac64e7e2","name":"wabapi.com — Template Messaging API","type":"collection"}},"urlObject":{"path":["messages","template"],"host":["https://wabapi.com/api/v1"],"query":[],"variable":[]}},"response":[{"id":"3dfa408c-adb7-4da6-babc-d281b278d32c","name":"200 — accepted","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer YOUR_API_KEY","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Idempotency-Key","value":"order-8821-confirmation","description":"A fixed key, so replaying this exact request is safe.","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"to\": \"917021948630\",\n  \"template_name\": \"ticket_confirmation\",\n  \"template_language\": \"en\",\n  \"components\": [\n    {\n      \"type\": \"body\",\n      \"parameters\": [\n        {\n          \"type\": \"text\",\n          \"text\": \"Prajesh\"\n        },\n        {\n          \"type\": \"text\",\n          \"text\": \"Thane\"\n        },\n        {\n          \"type\": \"text\",\n          \"text\": \"04:00 PM\"\n        }\n      ]\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://wabapi.com/api/v1/messages/template","description":"Send this twice. The second call carries the same `Idempotency-Key` and returns the FIRST result — no second message, no second debit."},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"id\": \"msg_3f9c2b1e7a4d4c0e9b2a1f6d\",\n  \"status\": \"SENT\",\n  \"to\": \"917021948630\",\n  \"template_name\": \"ticket_confirmation\",\n  \"credits\": 1,\n  \"sandbox\": false,\n  \"free_sends_remaining\": null\n}"}],"_postman_id":"00a8c63c-c4ff-4cae-9b34-9fca0f6f4ba5"}],"id":"a457e576-dc67-4813-b51c-16561132f4d8","description":"<p>One request per header shape the API accepts. Every variant is the same endpoint and the same body schema — only <code>components</code> differs. Billed by the template's category; the response <code>id</code> feeds the status request.</p>\n","_postman_id":"a457e576-dc67-4813-b51c-16561132f4d8","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"YOUR_API_KEY"}]},"isInherited":true,"source":{"_postman_id":"c61097ce-cdee-47e7-bfb6-7db1ac64e7e2","id":"c61097ce-cdee-47e7-bfb6-7db1ac64e7e2","name":"wabapi.com — Template Messaging API","type":"collection"}}},{"name":"Errors (these do not send)","item":[{"name":"401 — invalid_api_key","id":"b54fd54a-ed57-4c0f-ab87-fb454832270c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer not_a_real_key","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"to\": \"917021948630\",\n  \"template_name\": \"ticket_confirmation\",\n  \"template_language\": \"en\",\n  \"components\": [\n    {\n      \"type\": \"body\",\n      \"parameters\": [\n        {\n          \"type\": \"text\",\n          \"text\": \"Prajesh\"\n        },\n        {\n          \"type\": \"text\",\n          \"text\": \"Thane\"\n        },\n        {\n          \"type\": \"text\",\n          \"text\": \"04:00 PM\"\n        }\n      ]\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://wabapi.com/api/v1/messages/template","description":"<p>The Authorization header is missing, malformed, unknown or revoked.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"YOUR_API_KEY"}]},"isInherited":true,"source":{"_postman_id":"c61097ce-cdee-47e7-bfb6-7db1ac64e7e2","id":"c61097ce-cdee-47e7-bfb6-7db1ac64e7e2","name":"wabapi.com — Template Messaging API","type":"collection"}},"urlObject":{"path":["messages","template"],"host":["https://wabapi.com/api/v1"],"query":[],"variable":[]}},"response":[],"_postman_id":"b54fd54a-ed57-4c0f-ab87-fb454832270c"},{"name":"404 — template_not_found","id":"9a32f363-38f8-47fd-bb63-155f3e1f5af0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer YOUR_API_KEY","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"to\": \"917021948630\",\n  \"template_name\": \"no_such_template\",\n  \"template_language\": \"en\",\n  \"components\": [\n    {\n      \"type\": \"body\",\n      \"parameters\": [\n        {\n          \"type\": \"text\",\n          \"text\": \"Prajesh\"\n        },\n        {\n          \"type\": \"text\",\n          \"text\": \"Thane\"\n        },\n        {\n          \"type\": \"text\",\n          \"text\": \"04:00 PM\"\n        }\n      ]\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://wabapi.com/api/v1/messages/template","description":"<p>No template with that name and language exists on this account.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"YOUR_API_KEY"}]},"isInherited":true,"source":{"_postman_id":"c61097ce-cdee-47e7-bfb6-7db1ac64e7e2","id":"c61097ce-cdee-47e7-bfb6-7db1ac64e7e2","name":"wabapi.com — Template Messaging API","type":"collection"}},"urlObject":{"path":["messages","template"],"host":["https://wabapi.com/api/v1"],"query":[],"variable":[]}},"response":[],"_postman_id":"9a32f363-38f8-47fd-bb63-155f3e1f5af0"},{"name":"422 — variable_count_mismatch","id":"446c0da2-79d1-4cd3-808f-1e861c3ee998","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer YOUR_API_KEY","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"to\": \"917021948630\",\n  \"template_name\": \"ticket_confirmation\",\n  \"template_language\": \"en\",\n  \"components\": [\n    {\n      \"type\": \"body\",\n      \"parameters\": [\n        {\n          \"type\": \"text\",\n          \"text\": \"only one value supplied\"\n        }\n      ]\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://wabapi.com/api/v1/messages/template","description":"<p>The number of body parameters does not match the template's variables.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"YOUR_API_KEY"}]},"isInherited":true,"source":{"_postman_id":"c61097ce-cdee-47e7-bfb6-7db1ac64e7e2","id":"c61097ce-cdee-47e7-bfb6-7db1ac64e7e2","name":"wabapi.com — Template Messaging API","type":"collection"}},"urlObject":{"path":["messages","template"],"host":["https://wabapi.com/api/v1"],"query":[],"variable":[]}},"response":[],"_postman_id":"446c0da2-79d1-4cd3-808f-1e861c3ee998"},{"name":"422 — invalid_phone","id":"1f9f8d5d-e9e9-4a0e-8fc0-7c24e1b071e6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer YOUR_API_KEY","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"to\": \"12345\",\n  \"template_name\": \"ticket_confirmation\",\n  \"template_language\": \"en\",\n  \"components\": [\n    {\n      \"type\": \"body\",\n      \"parameters\": [\n        {\n          \"type\": \"text\",\n          \"text\": \"Prajesh\"\n        },\n        {\n          \"type\": \"text\",\n          \"text\": \"Thane\"\n        },\n        {\n          \"type\": \"text\",\n          \"text\": \"04:00 PM\"\n        }\n      ]\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://wabapi.com/api/v1/messages/template","description":"<p><code>to</code> is not a valid Indian mobile number.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"YOUR_API_KEY"}]},"isInherited":true,"source":{"_postman_id":"c61097ce-cdee-47e7-bfb6-7db1ac64e7e2","id":"c61097ce-cdee-47e7-bfb6-7db1ac64e7e2","name":"wabapi.com — Template Messaging API","type":"collection"}},"urlObject":{"path":["messages","template"],"host":["https://wabapi.com/api/v1"],"query":[],"variable":[]}},"response":[],"_postman_id":"1f9f8d5d-e9e9-4a0e-8fc0-7c24e1b071e6"},{"name":"422 — non_indian_number","id":"f6a33e84-4dd8-4d82-aaf5-34f14735aeee","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer YOUR_API_KEY","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"to\": \"447700900000\",\n  \"template_name\": \"ticket_confirmation\",\n  \"template_language\": \"en\",\n  \"components\": [\n    {\n      \"type\": \"body\",\n      \"parameters\": [\n        {\n          \"type\": \"text\",\n          \"text\": \"Prajesh\"\n        },\n        {\n          \"type\": \"text\",\n          \"text\": \"Thane\"\n        },\n        {\n          \"type\": \"text\",\n          \"text\": \"04:00 PM\"\n        }\n      ]\n    }\n  ]\n}","options":{"raw":{"language":"json"}}},"url":"https://wabapi.com/api/v1/messages/template","description":"<p>We do not send messages to non-Indian numbers. <code>to</code> belongs to another country; the message was not attempted and nothing was charged.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"YOUR_API_KEY"}]},"isInherited":true,"source":{"_postman_id":"c61097ce-cdee-47e7-bfb6-7db1ac64e7e2","id":"c61097ce-cdee-47e7-bfb6-7db1ac64e7e2","name":"wabapi.com — Template Messaging API","type":"collection"}},"urlObject":{"path":["messages","template"],"host":["https://wabapi.com/api/v1"],"query":[],"variable":[]}},"response":[],"_postman_id":"f6a33e84-4dd8-4d82-aaf5-34f14735aeee"}],"id":"37cc0591-bc97-4d5d-8b5e-4a3e4db06e85","description":"<p>Requests that fail before anything is sent or debited — useful for wiring up your error handling.</p>\n","_postman_id":"37cc0591-bc97-4d5d-8b5e-4a3e4db06e85","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"YOUR_API_KEY"}]},"isInherited":true,"source":{"_postman_id":"c61097ce-cdee-47e7-bfb6-7db1ac64e7e2","id":"c61097ce-cdee-47e7-bfb6-7db1ac64e7e2","name":"wabapi.com — Template Messaging API","type":"collection"}}},{"name":"Upload media (hosted link for a header)","event":[{"listen":"test","script":{"type":"text/javascript","exec":["// Capture the url so the document-header send uses the file just uploaded.","if (pm.response.code === 201) {","  const body = pm.response.json();","  if (body.url) pm.collectionVariables.set('mediaUrl', body.url);","  pm.test('upload stored', () => pm.expect(pm.response.code).to.eql(201));","}"],"id":"aa1644e8-0f09-457c-bf37-eda8eb18ef9e"}}],"id":"93f355c5-a0ad-443a-81b4-34afa7d00900","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"<p>Choose the file to upload. The type and size limits are on the Upload media docs page.</p>\n","value":null},{"key":"filename","value":"invoice-8821.pdf","type":"text","description":"<p>Optional. Defaults to the uploaded file's own name.</p>\n"}]},"url":"https://wabapi.com/api/v1/media","description":"<p>Stores a file and returns its public <code>url</code>. Free — no credits. The test script saves the url as <code>mediaUrl</code>, which 'Send a template message → Document header (PDF)' uses as its link. The link is public: anyone with the url can open the file.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"YOUR_API_KEY"}]},"isInherited":true,"source":{"_postman_id":"c61097ce-cdee-47e7-bfb6-7db1ac64e7e2","id":"c61097ce-cdee-47e7-bfb6-7db1ac64e7e2","name":"wabapi.com — Template Messaging API","type":"collection"}},"urlObject":{"path":["media"],"host":["https://wabapi.com/api/v1"],"query":[],"variable":[]}},"response":[{"id":"a184405c-8d6a-44d0-99a2-85f4b0b52263","name":"201 — stored","originalRequest":{"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"file","type":"file","description":"Choose the file to upload. The type and size limits are on the Upload media docs page.","value":null},{"key":"filename","value":"invoice-8821.pdf","type":"text","description":"Optional. Defaults to the uploaded file's own name."}]},"url":"https://wabapi.com/api/v1/media","description":"Stores a file and returns its public `url`. Free — no credits. The test script saves the url as `mediaUrl`, which 'Send a template message → Document header (PDF)' uses as its link. The link is public: anyone with the url can open the file."},"status":"Created","code":201,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"id\": \"Yk3t9QpL2vN8rD5wZa1cXg\",\n  \"url\": \"https://sin1.contabostorage.com/0a1b2c3d4e5f:wabapi/api-media/ten_7c2e91a04b3f4d8e9a1b5c6d/Yk3t9QpL2vN8rD5wZa1cXg/invoice-8821.pdf\",\n  \"filename\": \"invoice-8821.pdf\",\n  \"content_type\": \"application/pdf\",\n  \"size_bytes\": 48213,\n  \"created_at\": \"2026-09-01T09:59:30.000Z\"\n}"}],"_postman_id":"93f355c5-a0ad-443a-81b4-34afa7d00900"},{"name":"Message status","id":"69479fea-afc5-4772-8609-deff73f17a69","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer YOUR_API_KEY","type":"text"}],"url":"https://wabapi.com/api/v1/messages/msg_3f9c2b1e7a4d4c0e9b2a1f6d","description":"<p>Whether a message was delivered or read. Tenant-scoped by the key: another account's id is a 404.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"YOUR_API_KEY"}]},"isInherited":true,"source":{"_postman_id":"c61097ce-cdee-47e7-bfb6-7db1ac64e7e2","id":"c61097ce-cdee-47e7-bfb6-7db1ac64e7e2","name":"wabapi.com — Template Messaging API","type":"collection"}},"urlObject":{"path":["messages","msg_3f9c2b1e7a4d4c0e9b2a1f6d"],"host":["https://wabapi.com/api/v1"],"query":[],"variable":[]}},"response":[{"id":"cae2eb61-6591-499a-985e-a632e53548e6","name":"200 — delivered","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer YOUR_API_KEY","type":"text"}],"url":"https://wabapi.com/api/v1/messages/msg_3f9c2b1e7a4d4c0e9b2a1f6d","description":"Whether a message was delivered or read. Tenant-scoped by the key: another account's id is a 404."},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json"}],"cookie":[],"responseTime":null,"body":"{\n  \"id\": \"msg_3f9c2b1e7a4d4c0e9b2a1f6d\",\n  \"status\": \"DELIVERED\",\n  \"to\": \"917021948630\",\n  \"template_name\": \"ticket_confirmation\",\n  \"credits\": 1,\n  \"sent_at\": \"2026-09-01T10:00:00.000Z\",\n  \"delivered_at\": \"2026-09-01T10:00:04.000Z\",\n  \"read_at\": null,\n  \"error_code\": null\n}"}],"_postman_id":"69479fea-afc5-4772-8609-deff73f17a69"}],"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"YOUR_API_KEY"}]}},"variable":[{"key":"baseUrl","value":"https://wabapi.com/api/v1"},{"key":"origin","value":"https://wabapi.com"},{"key":"apiKey","value":"YOUR_API_KEY"},{"key":"to","value":"917021948630"},{"key":"messageId","value":"msg_3f9c2b1e7a4d4c0e9b2a1f6d"},{"key":"idempotencyKey","value":"order-8821-confirmation"},{"key":"mediaUrl","value":"https://sin1.contabostorage.com/0a1b2c3d4e5f:wabapi/api-media/ten_7c2e91a04b3f4d8e9a1b5c6d/Yk3t9QpL2vN8rD5wZa1cXg/invoice-8821.pdf"}]}