{
  "info": {
    "name": "Engagive WhatsApp Public API",
    "description": "Public business WhatsApp API (Bearer JWT from portal Profile → API access token).\n\nBase path: `/api/business/public/channels/whatsapp/...`\n\nFolders: Accounts, Contacts, Messages, Templates, Template contents, Webhooks, Campaigns, Flows (Meta Flows — not Automations).\n\nSet environment variables: `base_url`, `token`, `account_id`, plus ids as needed (`contact_id`, `phone_id`, `campaign_id`, `webhook_id`, `flow_id`, `template_code`, …).",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{token}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "base_url",
      "value": "http://localhost:5001"
    },
    {
      "key": "account_id",
      "value": "1"
    },
    {
      "key": "phone_id",
      "value": "1"
    },
    {
      "key": "contact_id",
      "value": "1"
    },
    {
      "key": "campaign_id",
      "value": "1"
    },
    {
      "key": "webhook_id",
      "value": "1"
    },
    {
      "key": "flow_id",
      "value": "1"
    },
    {
      "key": "template_code",
      "value": "hello_world"
    },
    {
      "key": "category_code",
      "value": "marketing"
    },
    {
      "key": "option_code",
      "value": "default"
    },
    {
      "key": "parameter_format_code",
      "value": "number"
    },
    {
      "key": "lang_code",
      "value": "en_US"
    }
  ],
  "item": [
    {
      "name": "Accounts",
      "item": [
        {
          "name": "List accounts",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1",
                  "description": "Page number"
                },
                {
                  "key": "pageSize",
                  "value": "20",
                  "description": "Page size"
                },
                {
                  "key": "search",
                  "value": "",
                  "description": "Optional name/phone search",
                  "disabled": true
                }
              ]
            },
            "description": "List WhatsApp accounts for your business. Includes **account_id** and **phone_id** (needed for campaigns).\n\nOptional query: search, page, pageSize."
          }
        },
        {
          "name": "Get account",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}"
              ]
            },
            "description": "Account detail including **phone_id**, profile fields, and websites."
          }
        }
      ]
    },
    {
      "name": "Contacts",
      "item": [
        {
          "name": "List contacts",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/contacts",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "contacts"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1"
                },
                {
                  "key": "pageSize",
                  "value": "20"
                },
                {
                  "key": "search",
                  "value": "",
                  "disabled": true
                }
              ]
            },
            "description": "List contacts for the account."
          }
        },
        {
          "name": "Get contact",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/contacts/{{contact_id}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "contacts",
                "{{contact_id}}"
              ]
            },
            "description": "Get contact by id."
          }
        },
        {
          "name": "Create contact",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/contacts",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "contacts"
              ]
            },
            "description": "**number** and **country_code** required. Soft-deleted numbers can be restored by creating again.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Ali Khan\",\n  \"number\": \"3001234567\",\n  \"country_code\": \"+92\"\n}"
            }
          }
        },
        {
          "name": "Update contact",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/contacts/{{contact_id}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "contacts",
                "{{contact_id}}"
              ]
            },
            "description": "Update contact fields.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Ali Khan\",\n  \"number\": \"3001234567\",\n  \"country_code\": \"+92\"\n}"
            }
          }
        },
        {
          "name": "Delete contact",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/contacts/{{contact_id}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "contacts",
                "{{contact_id}}"
              ]
            },
            "description": "Soft-delete contact."
          }
        },
        {
          "name": "Download sample CSV",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/contacts/sample",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "contacts",
                "sample"
              ]
            },
            "description": "Download CSV sample for import."
          }
        },
        {
          "name": "Import contacts",
          "request": {
            "method": "POST",
            "header": [],
            "body": {
              "mode": "formdata",
              "formdata": [
                {
                  "key": "file",
                  "type": "file",
                  "src": [],
                  "description": "CSV or Excel (.csv, .xlsx, .xls)"
                }
              ]
            },
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/contacts/import",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "contacts",
                "import"
              ]
            },
            "description": "Best-effort import; check `data.errors` in the response."
          }
        },
        {
          "name": "List contact messages",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/contacts/{{contact_id}}/messages",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "contacts",
                "{{contact_id}}",
                "messages"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1"
                },
                {
                  "key": "pageSize",
                  "value": "50"
                },
                {
                  "key": "before",
                  "value": "",
                  "disabled": true,
                  "description": "Opaque cursor for older pages"
                }
              ]
            },
            "description": "Chat history for a contact. Prefer **before** = messagesMeta.nextCursor for older pages."
          }
        }
      ]
    },
    {
      "name": "Messages",
      "item": [
        {
          "name": "Upload media",
          "request": {
            "method": "POST",
            "header": [],
            "body": {
              "mode": "formdata",
              "formdata": [
                {
                  "key": "file",
                  "type": "file",
                  "src": [],
                  "description": "Image, video, audio, or document (max 25 MB)"
                }
              ]
            },
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/messages/upload-media",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "messages",
                "upload-media"
              ]
            },
            "description": "Multipart upload. Use returned **url** as `media_url` on send-single.\n\n**Permission:** WhatsApp Chats — Add or Edit."
          }
        },
        {
          "name": "Send single - Text",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"to\": \"923001234567\",\n  \"message_type\": \"text\",\n  \"content\": \"Hello! This is a plain text message.\",\n  \"preview_url\": false\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/messages/send-single",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "messages",
                "send-single"
              ]
            },
            "description": "Send a **text** message. Required: to, content. Optional: preview_url (boolean). Success returns Engagive data.\n\nUpserts contact from **to**, persists outbound message in Engagive. Success `data` includes id, whatsapp_message_id, contact_id, contact_created, status. Meta failure after persist → **502** with status failed."
          }
        },
        {
          "name": "Send single - Image",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"to\": \"923001234567\",\n  \"message_type\": \"image\",\n  \"media_url\": \"https://example.com/image.jpg\",\n  \"caption\": \"Optional caption for the image.\",\n  \"preview_url\": false\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/messages/send-single",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "messages",
                "send-single"
              ]
            },
            "description": "Send an **image**. Required: to, media_url (public URL). Optional: caption, original_filename, preview_url.\n\nUpserts contact from **to**, persists outbound message in Engagive. Success `data` includes id, whatsapp_message_id, contact_id, contact_created, status. Meta failure after persist → **502** with status failed."
          }
        },
        {
          "name": "Send single - Video",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"to\": \"923001234567\",\n  \"message_type\": \"video\",\n  \"media_url\": \"https://example.com/video.mp4\",\n  \"caption\": \"Optional video caption.\",\n  \"preview_url\": false\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/messages/send-single",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "messages",
                "send-single"
              ]
            },
            "description": "Send a **video**. Required: to, media_url. Optional: caption, preview_url.\n\nUpserts contact from **to**, persists outbound message in Engagive. Success `data` includes id, whatsapp_message_id, contact_id, contact_created, status. Meta failure after persist → **502** with status failed."
          }
        },
        {
          "name": "Send single - Audio",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"to\": \"923001234567\",\n  \"message_type\": \"audio\",\n  \"media_url\": \"https://example.com/audio.mp3\",\n  \"preview_url\": false\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/messages/send-single",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "messages",
                "send-single"
              ]
            },
            "description": "Send **audio**. Required: to, media_url. Optional: preview_url."
          }
        },
        {
          "name": "Send single - Document",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"to\": \"923001234567\",\n  \"message_type\": \"document\",\n  \"media_url\": \"https://example.com/document.pdf\",\n  \"caption\": \"Optional caption.\",\n  \"original_filename\": \"report.pdf\",\n  \"preview_url\": false\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/messages/send-single",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "messages",
                "send-single"
              ]
            },
            "description": "Send a **document**. Required: to, media_url. Optional: caption, original_filename, preview_url.\n\nUpserts contact from **to**, persists outbound message in Engagive. Success `data` includes id, whatsapp_message_id, contact_id, contact_created, status. Meta failure after persist → **502** with status failed."
          }
        },
        {
          "name": "Send single - Location",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"to\": \"923001234567\",\n  \"message_type\": \"location\",\n  \"content_json\": {\n    \"latitude\": 24.8607,\n    \"longitude\": 67.0011,\n    \"name\": \"Office\",\n    \"address\": \"123 Main St, City, Country\"\n  }\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/messages/send-single",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "messages",
                "send-single"
              ]
            },
            "description": "Send **location**. Required: to, content_json with latitude, longitude. Optional: name, address."
          }
        },
        {
          "name": "Send single - Contacts",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"to\": \"923001234567\",\n  \"message_type\": \"contacts\",\n  \"content_json\": {\n    \"contacts\": [\n      {\n        \"name\": {\n          \"formatted_name\": \"John Doe\",\n          \"first_name\": \"John\",\n          \"last_name\": \"Doe\"\n        },\n        \"phones\": [\n          { \"phone\": \"+1234567890\", \"type\": \"CELL\" }\n        ],\n        \"emails\": [{ \"email\": \"john@example.com\", \"type\": \"WORK\" }]\n      }\n    ]\n  }\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/messages/send-single",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "messages",
                "send-single"
              ]
            },
            "description": "Send **contact card(s)**. Required: to, content_json.contacts (array). Each contact: name.formatted_name, phones[].phone. Optional: name.first_name, last_name, emails, addresses, org, birthday, urls."
          }
        },
        {
          "name": "Send single - Sticker",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"to\": \"923001234567\",\n  \"message_type\": \"sticker\",\n  \"media_url\": \"https://example.com/sticker.webp\",\n  \"preview_url\": false\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/messages/send-single",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "messages",
                "send-single"
              ]
            },
            "description": "Send a **sticker** (WebP). Required: to, media_url.\n\nUpserts contact from **to**, persists outbound message in Engagive. Success `data` includes id, whatsapp_message_id, contact_id, contact_created, status. Meta failure after persist → **502** with status failed."
          }
        },
        {
          "name": "Send single - Interactive (List)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"to\": \"923001234567\",\n  \"message_type\": \"interactive\",\n  \"content_json\": {\n    \"interactive\": {\n      \"type\": \"list\",\n      \"body\": { \"text\": \"Choose an option below.\" },\n      \"action\": {\n        \"button\": \"View options\",\n        \"sections\": [\n          {\n            \"title\": \"Section 1\",\n            \"rows\": [\n              { \"id\": \"opt_1\", \"title\": \"Option 1\", \"description\": \"First choice\" },\n              { \"id\": \"opt_2\", \"title\": \"Option 2\", \"description\": \"Second choice\" }\n            ]\n          }\n        ]\n      }\n    }\n  }\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/messages/send-single",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "messages",
                "send-single"
              ]
            },
            "description": "Send **interactive list**. content_json.interactive: type=list, body.text, action.button, action.sections[].title, action.sections[].rows[].id, title, description (optional)."
          }
        },
        {
          "name": "Send single - Interactive (Button)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"to\": \"923001234567\",\n  \"message_type\": \"interactive\",\n  \"content_json\": {\n    \"interactive\": {\n      \"type\": \"button\",\n      \"body\": { \"text\": \"Select one option.\" },\n      \"action\": {\n        \"buttons\": [\n          { \"type\": \"reply\", \"reply\": { \"id\": \"btn_1\", \"title\": \"Yes\" } },\n          { \"type\": \"reply\", \"reply\": { \"id\": \"btn_2\", \"title\": \"No\" } }\n        ]\n      }\n    }\n  }\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/messages/send-single",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "messages",
                "send-single"
              ]
            },
            "description": "Send **interactive button** (1–3 reply buttons). Each button: type=reply, reply.id (optional), reply.title (required, max 20 chars)."
          }
        },
        {
          "name": "Send single - Interactive (Product)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"to\": \"923001234567\",\n  \"message_type\": \"interactive\",\n  \"content_json\": {\n    \"interactive\": {\n      \"type\": \"product\",\n      \"body\": { \"text\": \"Check out this product.\" },\n      \"action\": {\n        \"catalog_id\": \"YOUR_CATALOG_ID\",\n        \"product_retailer_id\": \"PRODUCT_SKU_123\"\n      }\n    }\n  }\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/messages/send-single",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "messages",
                "send-single"
              ]
            },
            "description": "Send **interactive product** (single product from catalog). Required: action.catalog_id, action.product_retailer_id."
          }
        },
        {
          "name": "Send single - Interactive (Product list)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"to\": \"923001234567\",\n  \"message_type\": \"interactive\",\n  \"content_json\": {\n    \"interactive\": {\n      \"type\": \"product_list\",\n      \"body\": { \"text\": \"Browse our products.\" },\n      \"action\": {\n        \"catalog_id\": \"YOUR_CATALOG_ID\",\n        \"sections\": [\n          {\n            \"title\": \"Featured\",\n            \"product_items\": [\n              { \"product_retailer_id\": \"SKU_1\" },\n              { \"product_retailer_id\": \"SKU_2\" }\n            ]\n          }\n        ]\n      }\n    }\n  }\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/messages/send-single",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "messages",
                "send-single"
              ]
            },
            "description": "Send **interactive product list**. Required: action.catalog_id, action.sections[].product_items[].product_retailer_id."
          }
        },
        {
          "name": "Send single - Interactive (Catalog message)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"to\": \"923001234567\",\n  \"message_type\": \"interactive\",\n  \"content_json\": {\n    \"interactive\": {\n      \"type\": \"catalog_message\",\n      \"body\": { \"text\": \"Browse our full catalog.\" },\n      \"action\": {\n        \"parameters\": {\n          \"thumbnail_product_retailer_id\": \"PRODUCT_SKU_FOR_THUMBNAIL\"\n        }\n      }\n    }\n  }\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/messages/send-single",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "messages",
                "send-single"
              ]
            },
            "description": "Send **interactive catalog_message**. Required: action.parameters.thumbnail_product_retailer_id (or action.params)."
          }
        },
        {
          "name": "Send single - Text (Reply)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"to\": \"923001234567\",\n  \"message_type\": \"text\",\n  \"content\": \"This is a reply to your message.\",\n  \"parent_whatsapp_message_id\": \"wamid.xxxxx\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/messages/send-single",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "messages",
                "send-single"
              ]
            },
            "description": "Send a **reply** (threaded message). Use parent_whatsapp_message_id with the WhatsApp message ID of the message you are replying to (from a previous send data.whatsapp_message_id or from webhook context.id). Works with any message_type (text, image, etc.).\n\nUpserts contact from **to**, persists outbound message in Engagive. Success `data` includes id, whatsapp_message_id, contact_id, contact_created, status. Meta failure after persist → **502** with status failed."
          }
        },
        {
          "name": "Send template",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"to\": \"923001234567\",\n  \"content_json\": {\n    \"template_name\": \"hello_world\",\n    \"lang_code\": \"en_US\",\n    \"components\": [\n      { \"type\": \"BODY\", \"parameters\": [ { \"type\": \"text\", \"text\": \"Hello\" } ] }\n    ]\n  }\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/messages/send-template",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "messages",
                "send-template"
              ]
            },
            "description": "Send a **template** message. Required: to, content_json (template payload: template_name/code, lang_code, components with BODY/HEADER/BUTTONS parameters). Use same structure as template-contents or your template builder. Success returns Engagive data.\n\nUpserts contact from **to**, persists outbound message in Engagive. Success `data` includes id, whatsapp_message_id, contact_id, contact_created, status. Meta failure after persist → **502** with status failed."
          }
        },
        {
          "name": "Send reaction",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"to\": \"923001234567\",\n  \"whatsapp_message_id\": \"wamid.xxxxx\",\n  \"emoji\": \"👍\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/messages/send-reaction",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "messages",
                "send-reaction"
              ]
            },
            "description": "Send a **reaction** (emoji) to a message. Required: to, whatsapp_message_id (Meta message ID of the message to react to), emoji (1–10 chars). Success returns Engagive data.\n\nUpserts contact from **to**, persists outbound message in Engagive. Success `data` includes id, whatsapp_message_id, contact_id, contact_created, status. Meta failure after persist → **502** with status failed."
          }
        }
      ]
    },
    {
      "name": "Templates",
      "item": [
        {
          "name": "Lookups - Categories",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/templates/lookups/categories",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "templates",
                "lookups",
                "categories"
              ]
            },
            "description": "Returns categories with code and name.\n\n**Query/params:** none (account_id in path).\n\n**Success response:** { success, statusCode, data: [ { code, name } ] }"
          }
        },
        {
          "name": "Lookups - Category options",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/templates/lookups/categories/{{category_code}}/options",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "templates",
                "lookups",
                "categories",
                "{{category_code}}",
                "options"
              ]
            },
            "description": "Returns options (code, name) for a category.\n\n**Path:** account_id, category_code (from categories lookup).\n\n**Success response:** { success, statusCode, data: [ { code, name } ] }"
          }
        },
        {
          "name": "Lookups - Parameter formats",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/templates/lookups/parameter-formats",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "templates",
                "lookups",
                "parameter-formats"
              ]
            },
            "description": "Returns parameter formats (code, name).\n\n**Success response:** { success, statusCode, data: [ { code, name } ] }"
          }
        },
        {
          "name": "List templates",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/templates?search=",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "templates"
              ],
              "query": [
                {
                  "key": "search",
                  "value": "",
                  "description": "Optional search filter (string)"
                }
              ]
            },
            "description": "List all templates (no pagination).\n\n**Query:** search (optional string).\n\n**Success response:** { success, statusCode, data: [ { id, code, category_id, option_id, parameter_format_id, created_at, ... } ] }"
          }
        },
        {
          "name": "Get template by code",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/templates/{{template_code}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "templates",
                "{{template_code}}"
              ]
            },
            "description": "Get a single template by code.\n\n**Path:** account_id, template_code.\n\n**Success response:** { success, statusCode, data: { id, code, category_id, option_id, parameter_format_id, created_at, updated_at, ... } }"
          }
        },
        {
          "name": "Create template - Marketing + Default",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"code\": \"order_update\",\n  \"category_code\": \"marketing\",\n  \"option_code\": \"default\",\n  \"parameter_format_code\": \"number\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/templates",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "templates"
              ]
            },
            "description": "Create a **Marketing + Default** template. Use for promotional messages with media and buttons.\n\n**category_code** from lookups/categories; **option_code** from lookups/categories/marketing/options. Valid: marketing+default | marketing+catalog | marketing+calling_permissions_request | utility+default | utility+calling_permissions_request | authentication+one_time_passcode."
          }
        },
        {
          "name": "Create template - Marketing + Catalog",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"code\": \"product_announce\",\n  \"category_code\": \"marketing\",\n  \"option_code\": \"catalog\",\n  \"parameter_format_code\": \"number\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/templates",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "templates"
              ]
            },
            "description": "Create a **Marketing + Catalog** template. Use for catalog_message, single_product_message, or multi_product_message content."
          }
        },
        {
          "name": "Create template - Marketing + Calling permission",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"code\": \"request_call_permission\",\n  \"category_code\": \"marketing\",\n  \"option_code\": \"calling_permissions_request\",\n  \"parameter_format_code\": \"number\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/templates",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "templates"
              ]
            },
            "description": "Create a **Marketing + Calling permissions request** template. Content: text header + body + footer; no buttons (Meta rule)."
          }
        },
        {
          "name": "Create template - Utility + Default",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"code\": \"account_reminder\",\n  \"category_code\": \"utility\",\n  \"option_code\": \"default\",\n  \"parameter_format_code\": \"number\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/templates",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "templates"
              ]
            },
            "description": "Create a **Utility + Default** template. Use for order/account updates; supports custom validity period."
          }
        },
        {
          "name": "Create template - Utility + Calling permission",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"code\": \"utility_call_permission\",\n  \"category_code\": \"utility\",\n  \"option_code\": \"calling_permissions_request\",\n  \"parameter_format_code\": \"number\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/templates",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "templates"
              ]
            },
            "description": "Create a **Utility + Calling permissions request** template. Content: no buttons."
          }
        },
        {
          "name": "Create template - Authentication + OTP",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"code\": \"login_otp\",\n  \"category_code\": \"authentication\",\n  \"option_code\": \"one_time_passcode\",\n  \"parameter_format_code\": \"number\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/templates",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "templates"
              ]
            },
            "description": "Create an **Authentication + One Time Passcode** template. Content must include auth_delivery_method, auth_apps (for autofill), etc."
          }
        },
        {
          "name": "Update template",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/templates/{{template_code}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "templates",
                "{{template_code}}"
              ]
            },
            "description": "Update template metadata by current **template_code** in the path. Body may rename via **code**.\n\n**Permission:** WhatsApp Templates — Edit.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"code\": \"order_update\",\n  \"category_code\": \"marketing\",\n  \"option_code\": \"default\",\n  \"parameter_format_code\": \"number\"\n}"
            }
          }
        },
        {
          "name": "Delete template",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/templates/{{template_code}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "templates",
                "{{template_code}}"
              ]
            },
            "description": "Delete a template by code (DB only).\n\n**Path:** account_id, template_code.\n\n**Success response:** { success, statusCode, message? }"
          }
        }
      ]
    },
    {
      "name": "Template contents",
      "item": [
        {
          "name": "Lookups - Languages",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/templates/{{template_code}}/contents/lookups/languages",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "templates",
                "{{template_code}}",
                "contents",
                "lookups",
                "languages"
              ]
            },
            "description": "Returns languages (id, code, name) for template content.\n\n**Path:** account_id, template_code.\n\n**Success response:** { success, statusCode, data: [ { id, code, name } ] }"
          }
        },
        {
          "name": "List contents",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/templates/{{template_code}}/contents?search=",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "templates",
                "{{template_code}}",
                "contents"
              ],
              "query": [
                {
                  "key": "search",
                  "value": "",
                  "description": "Optional search (string)"
                }
              ]
            },
            "description": "List all contents for a template (no pagination).\n\n**Query:** search (optional string).\n\n**Success response:** { success, statusCode, data: [ { id, ref_id, template_id, code, lang_code, parameter_format, text, variables, footer, is_draft, is_catalog, wa_template_id, wa_status, is_verified, is_sync_with_meta, created_at, updated_at, headers_count, buttons_count, ... } ] }"
          }
        },
        {
          "name": "Get content by lang code",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/templates/{{template_code}}/contents/{{lang_code}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "templates",
                "{{template_code}}",
                "contents",
                "{{lang_code}}"
              ]
            },
            "description": "Get one content by lang_code.\n\n**Path:** account_id, template_code, lang_code (e.g. en_US, es, fr). Get valid codes from lookups/languages.\n\n**Success response:** { success, statusCode, data: { id, ref_id, template_id, code, lang_code, parameter_format, text, variables, footer, is_draft, is_catalog, catalog_format, connected_catalog_id, is_catalog_connected, is_custom_validity_period, validity_period_seconds, auth_delivery_method, auth_add_security_recommendation, auth_add_code_expiration, auth_code_expiration_seconds, auth_apps, wa_template_id, wa_status, is_verified, is_sync_with_meta, created_at, updated_at, created_by_name, updated_by_name, headers: [ { id, type, text, text_variable, parameter, link, file_name } ], buttons: [ { id, type, label, value, country_code, url_type, dynamic_url } ] } }"
          }
        },
        {
          "name": "Create content - Text / Marketing",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"lang_code\": \"en_US\",\n  \"parameter_format\": \"TEXT\",\n  \"text\": \"Hi {{1}}, your order {{2}} is confirmed. Track here: {{3}}.\",\n  \"variables\": {\n    \"1\": \"Customer name\",\n    \"2\": \"ORDER-12345\",\n    \"3\": \"https://track.example.com/ORDER-12345\"\n  },\n  \"footer\": \"Thank you for shopping with us.\",\n  \"is_draft\": true,\n  \"is_catalog\": false,\n  \"catalog_format\": null,\n  \"connected_catalog_id\": null,\n  \"is_catalog_connected\": false,\n  \"is_custom_validity_period\": false,\n  \"validity_period_seconds\": null,\n  \"auth_delivery_method\": null,\n  \"auth_add_security_recommendation\": false,\n  \"auth_add_code_expiration\": false,\n  \"auth_code_expiration_seconds\": null,\n  \"auth_apps\": null,\n  \"headers\": [\n    {\n      \"type\": \"text\",\n      \"text\": \"Order update\",\n      \"text_variable\": null,\n      \"parameter\": null,\n      \"link\": null,\n      \"file_name\": null\n    }\n  ],\n  \"buttons\": [\n    {\n      \"type\": \"custom\",\n      \"label\": \"Track order\",\n      \"value\": \"track_order\",\n      \"country_code\": null,\n      \"url_type\": null,\n      \"dynamic_url\": null\n    },\n    {\n      \"type\": \"visit_website\",\n      \"label\": \"Open website\",\n      \"value\": \"https://example.com\",\n      \"country_code\": null,\n      \"url_type\": \"static\",\n      \"dynamic_url\": null\n    },\n    {\n      \"type\": \"call_phone\",\n      \"label\": \"Call support\",\n      \"value\": \"+1234567890\",\n      \"country_code\": \"US\",\n      \"url_type\": null,\n      \"dynamic_url\": null\n    },\n   {\n      \"type\": \"copy_offer_code\",\n      \"label\": \"Copy offer code\",\n      \"value\": \"SAVE10\",\n      \"country_code\": null,\n      \"url_type\": null,\n      \"dynamic_url\": null\n    }\n  ]\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/templates/{{template_code}}/contents",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "templates",
                "{{template_code}}",
                "contents"
              ]
            },
            "description": "Create content with **Header type: Text**. Standard marketing; header has type text, optional text_variable for {{1}}."
          }
        },
        {
          "name": "Create content - Named parameters",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"lang_code\": \"en_US\",\n  \"parameter_format\": \"name\",\n  \"text\": \"Hi {{first_name}}, your order {{order_id}} is confirmed and will arrive by {{delivery_date}}.\",\n  \"variables\": {\n    \"first_name\": \"Hamza\",\n    \"order_id\": \"ORDER-12345\",\n    \"delivery_date\": \"Tomorrow\"\n  },\n  \"footer\": \"Thank you for shopping with us.\",\n  \"is_draft\": true,\n  \"is_catalog\": false,\n  \"catalog_format\": null,\n  \"connected_catalog_id\": null,\n  \"is_catalog_connected\": false,\n  \"is_custom_validity_period\": false,\n  \"validity_period_seconds\": null,\n  \"auth_delivery_method\": null,\n  \"auth_add_security_recommendation\": false,\n  \"auth_add_code_expiration\": false,\n  \"auth_code_expiration_seconds\": null,\n  \"auth_apps\": null,\n  \"headers\": [],\n  \"buttons\": [\n    {\n      \"type\": \"visit_website\",\n      \"label\": \"View order\",\n      \"value\": \"https://example.com/orders/ORDER-12345\",\n      \"country_code\": null,\n      \"url_type\": \"static\",\n      \"dynamic_url\": null\n    }\n  ]\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/templates/{{template_code}}/contents",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "templates",
                "{{template_code}}",
                "contents"
              ]
            },
            "description": "Create content using **named parameters**: `parameter_format = \\\"name\\\"` and `variables` object keys matching the names inside `{{ }}` in text. Example: text uses {{first_name}}, {{order_id}}, {{delivery_date}} and variables contains first_name, order_id, delivery_date."
          }
        },
        {
          "name": "Create content - Header Image",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"lang_code\": \"en_US\",\n  \"parameter_format\": \"TEXT\",\n  \"text\": \"Hi {{1}}, check out our latest offer.\",\n  \"variables\": { \"1\": \"Customer\" },\n  \"footer\": \"Limited time only.\",\n  \"is_draft\": true,\n  \"is_catalog\": false,\n  \"catalog_format\": null,\n  \"connected_catalog_id\": null,\n  \"is_catalog_connected\": false,\n  \"is_custom_validity_period\": false,\n  \"validity_period_seconds\": null,\n  \"auth_delivery_method\": null,\n  \"auth_add_security_recommendation\": false,\n  \"auth_add_code_expiration\": false,\n  \"auth_code_expiration_seconds\": null,\n  \"auth_apps\": null,\n  \"headers\": [\n    {\n      \"type\": \"image\",\n      \"text\": null,\n      \"text_variable\": null,\n      \"parameter\": null,\n      \"link\": \"https://example.com/header-image.png\",\n      \"file_name\": null\n    }\n  ],\n  \"buttons\": [\n    { \"type\": \"visit_website\", \"label\": \"Shop now\", \"value\": \"https://example.com\", \"country_code\": null, \"url_type\": \"static\", \"dynamic_url\": null }\n  ]\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/templates/{{template_code}}/contents",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "templates",
                "{{template_code}}",
                "contents"
              ]
            },
            "description": "Create content with **Header type: Image**. Header requires link (or parameter) for image URL."
          }
        },
        {
          "name": "Create content - Header Video",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"lang_code\": \"en\",\n  \"parameter_format\": \"TEXT\",\n  \"text\": \"Hi {{1}}, watch our new video.\",\n  \"variables\": { \"1\": \"Customer\" },\n  \"footer\": null,\n  \"is_draft\": true,\n  \"is_catalog\": false,\n  \"catalog_format\": null,\n  \"connected_catalog_id\": null,\n  \"is_catalog_connected\": false,\n  \"is_custom_validity_period\": false,\n  \"validity_period_seconds\": null,\n  \"auth_delivery_method\": null,\n  \"auth_add_security_recommendation\": false,\n  \"auth_add_code_expiration\": false,\n  \"auth_code_expiration_seconds\": null,\n  \"auth_apps\": null,\n  \"headers\": [\n    {\n      \"type\": \"video\",\n      \"text\": null,\n      \"text_variable\": null,\n      \"parameter\": null,\n      \"link\": \"https://example.com/promo.mp4\",\n      \"file_name\": null\n    }\n  ],\n  \"buttons\": []\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/templates/{{template_code}}/contents",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "templates",
                "{{template_code}}",
                "contents"
              ]
            },
            "description": "Create content with **Header type: Video**. Header requires link (or parameter) for video URL."
          }
        },
        {
          "name": "Create content - Header Document",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"lang_code\": \"en\",\n  \"parameter_format\": \"TEXT\",\n  \"text\": \"Hi {{1}}, please find the document attached.\",\n  \"variables\": { \"1\": \"Customer\" },\n  \"footer\": \"PDF attachment.\",\n  \"is_draft\": true,\n  \"is_catalog\": false,\n  \"catalog_format\": null,\n  \"connected_catalog_id\": null,\n  \"is_catalog_connected\": false,\n  \"is_custom_validity_period\": false,\n  \"validity_period_seconds\": null,\n  \"auth_delivery_method\": null,\n  \"auth_add_security_recommendation\": false,\n  \"auth_add_code_expiration\": false,\n  \"auth_code_expiration_seconds\": null,\n  \"auth_apps\": null,\n  \"headers\": [\n    {\n      \"type\": \"document\",\n      \"text\": null,\n      \"text_variable\": null,\n      \"parameter\": null,\n      \"link\": \"https://example.com/brochure.pdf\",\n      \"file_name\": \"brochure.pdf\"\n    }\n  ],\n  \"buttons\": []\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/templates/{{template_code}}/contents",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "templates",
                "{{template_code}}",
                "contents"
              ]
            },
            "description": "Create content with **Header type: Document**. Header requires link (or parameter); file_name optional."
          }
        },
        {
          "name": "Create content - Header Location",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"lang_code\": \"en\",\n  \"parameter_format\": \"TEXT\",\n  \"text\": \"Hi {{1}}, we are here. Visit us at the location below.\",\n  \"variables\": { \"1\": \"Customer\" },\n  \"footer\": \"Store location.\",\n  \"is_draft\": true,\n  \"is_catalog\": false,\n  \"catalog_format\": null,\n  \"connected_catalog_id\": null,\n  \"is_catalog_connected\": false,\n  \"is_custom_validity_period\": false,\n  \"validity_period_seconds\": null,\n  \"auth_delivery_method\": null,\n  \"auth_add_security_recommendation\": false,\n  \"auth_add_code_expiration\": false,\n  \"auth_code_expiration_seconds\": null,\n  \"auth_apps\": null,\n  \"headers\": [\n    {\n      \"type\": \"location\",\n      \"text\": null,\n      \"text_variable\": null,\n      \"parameter\": null,\n      \"link\": null,\n      \"file_name\": null\n    }\n  ],\n  \"buttons\": []\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/templates/{{template_code}}/contents",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "templates",
                "{{template_code}}",
                "contents"
              ]
            },
            "description": "Create content with **Header type: Location**. Location is sent at message send time; header row has type location only."
          }
        },
        {
          "name": "Create content - Calling permission (no buttons)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"lang_code\": \"en\",\n  \"parameter_format\": \"TEXT\",\n  \"text\": \"We would like to call you to help support your order. Do we have your permission?\",\n  \"variables\": null,\n  \"footer\": \"Reply to this message to confirm.\",\n  \"is_draft\": true,\n  \"is_catalog\": false,\n  \"catalog_format\": null,\n  \"connected_catalog_id\": null,\n  \"is_catalog_connected\": false,\n  \"is_custom_validity_period\": false,\n  \"validity_period_seconds\": null,\n  \"auth_delivery_method\": null,\n  \"auth_add_security_recommendation\": false,\n  \"auth_add_code_expiration\": false,\n  \"auth_code_expiration_seconds\": null,\n  \"auth_apps\": null,\n  \"headers\": [\n    {\n      \"type\": \"text\",\n      \"text\": \"Call permission request\",\n      \"text_variable\": null,\n      \"parameter\": null,\n      \"link\": null,\n      \"file_name\": null\n    }\n  ],\n  \"buttons\": []\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/templates/{{template_code}}/contents",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "templates",
                "{{template_code}}",
                "contents"
              ]
            },
            "description": "Create content for **Calling permissions request** template. Template must be created with option_code calling_permissions_request. No buttons (Meta rule); text header + body + footer only."
          }
        },
        {
          "name": "Create content - Utility (with validity)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"lang_code\": \"en\",\n  \"parameter_format\": \"TEXT\",\n  \"text\": \"Hi {{1}}, your subscription will renew in {{2}} days.\",\n  \"variables\": {\n    \"1\": \"Customer name\",\n    \"2\": \"7\"\n  },\n  \"footer\": \"This notification is valid for 24 hours.\",\n  \"is_draft\": false,\n  \"is_catalog\": false,\n  \"catalog_format\": null,\n  \"connected_catalog_id\": null,\n  \"is_catalog_connected\": false,\n  \"is_custom_validity_period\": true,\n  \"validity_period_seconds\": 86400,\n  \"auth_delivery_method\": null,\n  \"auth_add_security_recommendation\": false,\n  \"auth_add_code_expiration\": false,\n  \"auth_code_expiration_seconds\": null,\n  \"auth_apps\": null,\n  \"headers\": [],\n  \"buttons\": [\n    {\n      \"type\": \"visit_website\",\n      \"label\": \"Manage subscription\",\n      \"value\": \"https://example.com/subscriptions\",\n      \"country_code\": null,\n      \"url_type\": \"static\",\n      \"dynamic_url\": null\n    }\n  ]\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/templates/{{template_code}}/contents",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "templates",
                "{{template_code}}",
                "contents"
              ]
            },
            "description": "Utility template example with custom validity period (is_custom_validity_period + validity_period_seconds)."
          }
        },
        {
          "name": "Create content - Auth OTP",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"lang_code\": \"en\",\n  \"parameter_format\": \"TEXT\",\n  \"text\": \"Your verification code is {{1}}. Do not share this code with anyone.\",\n  \"variables\": {\n    \"1\": \"123456\"\n  },\n  \"footer\": \"Use this code to complete your login.\",\n  \"is_draft\": false,\n  \"is_catalog\": false,\n  \"catalog_format\": null,\n  \"connected_catalog_id\": null,\n  \"is_catalog_connected\": false,\n  \"is_custom_validity_period\": true,\n  \"validity_period_seconds\": 300,\n  \"auth_delivery_method\": \"zero_tap_autofill\",\n  \"auth_add_security_recommendation\": true,\n  \"auth_add_code_expiration\": true,\n  \"auth_code_expiration_seconds\": 300,\n  \"auth_apps\": [\n    { \"package_name\": \"com.example.app\", \"signature_hash\": \"ABC123DEF45\" },\n    { \"package_name\": \"com.example.android\", \"signature_hash\": \"XYZ987LMN01\" }\n  ],\n  \"headers\": [\n    {\n      \"type\": \"text\",\n      \"text\": \"Login code\",\n      \"text_variable\": null,\n      \"parameter\": null,\n      \"link\": null,\n      \"file_name\": null\n    }\n  ],\n  \"buttons\": [\n    {\n      \"type\": \"custom\",\n      \"label\": \"Confirm login\",\n      \"value\": \"confirm_login\",\n      \"country_code\": null,\n      \"url_type\": null,\n      \"dynamic_url\": null\n    }\n  ]\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/templates/{{template_code}}/contents",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "templates",
                "{{template_code}}",
                "contents"
              ]
            },
            "description": "Auth / OTP template example. Shows all auth_* fields and auth_apps usage."
          }
        },
        {
          "name": "Create content - Catalog (single_product_message)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"lang_code\": \"en\",\n  \"parameter_format\": \"TEXT\",\n  \"text\": \"Hi {{1}}, check out this product: {{2}}.\",\n  \"variables\": {\n    \"1\": \"Customer name\",\n    \"2\": \"Product name\"\n  },\n  \"footer\": \"Tap the button below to view details.\",\n  \"is_draft\": false,\n  \"is_catalog\": true,\n  \"catalog_format\": \"single_product_message\",\n  \"connected_catalog_id\": \"CATALOG_123\",\n  \"is_catalog_connected\": true,\n  \"is_custom_validity_period\": false,\n  \"validity_period_seconds\": null,\n  \"auth_delivery_method\": null,\n  \"auth_add_security_recommendation\": false,\n  \"auth_add_code_expiration\": false,\n  \"auth_code_expiration_seconds\": null,\n  \"auth_apps\": null,\n  \"headers\": [\n    {\n      \"type\": \"image\",\n      \"text\": null,\n      \"text_variable\": null,\n      \"parameter\": null,\n      \"link\": \"https://example.com/product-image.png\",\n      \"file_name\": null\n    }\n  ],\n  \"buttons\": [\n    {\n      \"type\": \"view_catalog\",\n      \"label\": \"View product\",\n      \"value\": \"\",\n      \"country_code\": \"\",\n      \"url_type\": \"static\",\n      \"dynamic_url\": \"\"\n    }\n  ]\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/templates/{{template_code}}/contents",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "templates",
                "{{template_code}}",
                "contents"
              ]
            },
            "description": "Catalog template example using catalog_format = single_product_message."
          }
        },
        {
          "name": "Create content - Catalog (multi_product_message)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"lang_code\": \"en\",\n  \"parameter_format\": \"TEXT\",\n  \"text\": \"Hi {{1}}, here are some products we picked for you.\",\n  \"variables\": {\n    \"1\": \"Customer name\"\n  },\n  \"footer\": \"Tap to see the full product list.\",\n  \"is_draft\": false,\n  \"is_catalog\": true,\n  \"catalog_format\": \"multi_product_message\",\n  \"connected_catalog_id\": \"CATALOG_123\",\n  \"is_catalog_connected\": true,\n  \"is_custom_validity_period\": false,\n  \"validity_period_seconds\": null,\n  \"auth_delivery_method\": null,\n  \"auth_add_security_recommendation\": false,\n  \"auth_add_code_expiration\": false,\n  \"auth_code_expiration_seconds\": null,\n  \"auth_apps\": null,\n  \"headers\": [],\n  \"buttons\": [\n    {\n      \"type\": \"view_catalog\",\n      \"label\": \"View product list\",\n      \"value\": \"\",\n      \"country_code\": \"\",\n      \"url_type\": \"static\",\n      \"dynamic_url\": \"\"\n    }\n  ]\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/templates/{{template_code}}/contents",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "templates",
                "{{template_code}}",
                "contents"
              ]
            },
            "description": "Catalog template example using catalog_format = multi_product_message."
          }
        },
        {
          "name": "Create content - Catalog (catalog_message)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"lang_code\": \"en\",\n  \"parameter_format\": \"TEXT\",\n  \"text\": \"Hi {{1}}, browse our latest catalog with exclusive offers.\",\n  \"variables\": {\n    \"1\": \"Customer name\"\n  },\n  \"footer\": \"Tap below to see all products.\",\n  \"is_draft\": false,\n  \"is_catalog\": true,\n  \"catalog_format\": \"catalog_message\",\n  \"connected_catalog_id\": \"CATALOG_123\",\n  \"is_catalog_connected\": true,\n  \"is_custom_validity_period\": false,\n  \"validity_period_seconds\": null,\n  \"auth_delivery_method\": null,\n  \"auth_add_security_recommendation\": false,\n  \"auth_add_code_expiration\": false,\n  \"auth_code_expiration_seconds\": null,\n  \"auth_apps\": null,\n  \"headers\": [],\n  \"buttons\": [\n    {\n      \"type\": \"view_catalog\",\n      \"label\": \"Open catalog\",\n      \"value\": \"\",\n      \"country_code\": \"\",\n      \"url_type\": \"static\",\n      \"dynamic_url\": \"\"\n    }\n  ]\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/templates/{{template_code}}/contents",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "templates",
                "{{template_code}}",
                "contents"
              ]
            },
            "description": "Catalog template example using catalog_format = catalog_message."
          }
        },
        {
          "name": "Update content",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"lang_code\": \"en\",\n  \"parameter_format\": \"TEXT\",\n  \"text\": \"Hello {{1}}, your order {{2}} is ready. Track at {{3}}.\",\n  \"variables\": { \"1\": \"Customer\", \"2\": \"#12345\", \"3\": \"https://track.example.com\" },\n  \"footer\": \"Thank you for shopping. Max 60 characters.\",\n  \"is_draft\": false,\n  \"is_catalog\": false,\n  \"catalog_format\": null,\n  \"connected_catalog_id\": null,\n  \"is_catalog_connected\": false,\n  \"is_custom_validity_period\": true,\n  \"validity_period_seconds\": 86400,\n  \"auth_delivery_method\": \"copy_code\",\n  \"auth_add_security_recommendation\": true,\n  \"auth_add_code_expiration\": true,\n  \"auth_code_expiration_seconds\": 600,\n  \"auth_apps\": [\n    { \"package_name\": \"com.example.app\", \"signature_hash\": \"ABC123DEF456\" },\n    { \"package_name\": \"com.other.app\", \"signature_hash\": \"XYZ789\" }\n  ],\n  \"headers\": [\n    { \"type\": \"text\", \"text\": \"Welcome! Use code SAVE10\", \"text_variable\": null, \"parameter\": null, \"link\": null, \"file_name\": null },\n    { \"type\": \"image\", \"text\": null, \"text_variable\": null, \"parameter\": null, \"link\": \"https://example.com/image.png\", \"file_name\": null },\n    { \"type\": \"video\", \"text\": null, \"text_variable\": null, \"parameter\": null, \"link\": null, \"file_name\": null },\n    { \"type\": \"document\", \"text\": null, \"text_variable\": null, \"parameter\": null, \"link\": null, \"file_name\": \"brochure.pdf\" }\n  ],\n  \"buttons\": [\n    { \"type\": \"custom\", \"label\": \"Quick reply\", \"value\": null, \"country_code\": null, \"url_type\": null, \"dynamic_url\": null },\n    { \"type\": \"visit_website\", \"label\": \"Visit site\", \"value\": \"https://example.com\", \"country_code\": null, \"url_type\": \"static\", \"dynamic_url\": null },\n    { \"type\": \"call_phone\", \"label\": \"Call us\", \"value\": \"+1234567890\", \"country_code\": \"US\", \"url_type\": null, \"dynamic_url\": null },\n   { \"type\": \"copy_offer_code\", \"label\": \"Copy code\", \"value\": \"OFFER10\", \"country_code\": null, \"url_type\": null, \"dynamic_url\": null },\n    { \"type\": \"view_catalog\", \"label\": \"View catalog\", \"value\": null, \"country_code\": null, \"url_type\": null, \"dynamic_url\": null }\n  ]\n}"
            },
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/templates/{{template_code}}/contents/{{lang_code}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "templates",
                "{{template_code}}",
                "contents",
                "{{lang_code}}"
              ]
            },
            "description": "Update content by lang_code. Same body as create with every attribute. Remove or null unused fields.\n\n**Root attributes:** lang_code (required) | parameter_format | text | variables | footer | is_draft | is_catalog | catalog_format | connected_catalog_id | is_catalog_connected | is_custom_validity_period | validity_period_seconds | auth_delivery_method | auth_add_security_recommendation | auth_add_code_expiration | auth_code_expiration_seconds | auth_apps | headers[] | buttons[].\n\n**headers[]:** type, text, text_variable, parameter, link, file_name.\n\n**buttons[]:** type, label, value, country_code, url_type, dynamic_url.\n\n**Success response:** { success, statusCode, message? }"
          }
        },
        {
          "name": "Delete content",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/templates/{{template_code}}/contents/{{lang_code}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "templates",
                "{{template_code}}",
                "contents",
                "{{lang_code}}"
              ]
            },
            "description": "Delete content by lang_code. If on Meta, backend deletes from Meta first.\n\n**Path:** account_id, template_code, lang_code.\n\n**Success response:** { success, statusCode, message?  }"
          }
        },
        {
          "name": "Submit to Meta",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/templates/{{template_code}}/contents/{{lang_code}}/submit-meta",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "templates",
                "{{template_code}}",
                "contents",
                "{{lang_code}}",
                "submit-meta"
              ]
            },
            "description": "Submit draft content to Meta. Creates template on Meta.\n\n**Path:** account_id, template_code, lang_code.\n\n**Success response:** { success, statusCode, message?, data? }. If already approved: data includes skipped / already_approved."
          }
        },
        {
          "name": "Delete from Meta",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/templates/{{template_code}}/contents/{{lang_code}}/delete-meta",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "templates",
                "{{template_code}}",
                "contents",
                "{{lang_code}}",
                "delete-meta"
              ]
            },
            "description": "Delete template from Meta only; keeps local content row.\n\n**Path:** account_id, template_code, lang_code.\n\n**Success response:** { success, statusCode, message?,  }"
          }
        }
      ]
    },
    {
      "name": "Webhooks",
      "item": [
        {
          "name": "List webhooks",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/webhooks",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "webhooks"
              ]
            },
            "description": "Inbound callback URLs (max 10)."
          }
        },
        {
          "name": "Create webhook",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/webhooks",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "webhooks"
              ]
            },
            "description": "Register HTTPS callback for WhatsApp business webhooks. Returns webhook_secret once. events defaults to [\"*\"].",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"url\": \"https://hooks.example.com/engagive/whatsapp\",\n  \"is_active\": true,\n  \"events\": [\"*\"]\n}"
            }
          }
        },
        {
          "name": "Update webhook",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/webhooks/{{webhook_id}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "webhooks",
                "{{webhook_id}}"
              ]
            },
            "description": "Patch url, is_active, and/or events subscription. [\"*\"] = all typed events (excludes meta.raw).",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"is_active\": true,\n  \"events\": [\"whatsapp.message.status\"]\n}"
            }
          }
        },
        {
          "name": "Delete webhook",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/webhooks/{{webhook_id}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "webhooks",
                "{{webhook_id}}"
              ]
            },
            "description": "Remove webhook URL."
          }
        },
        {
          "name": "Rotate webhook secret",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/webhooks/{{webhook_id}}/rotate-secret",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "webhooks",
                "{{webhook_id}}",
                "rotate-secret"
              ]
            },
            "description": "Rotate signing secret. Response includes webhook_secret once."
          }
        },
        {
          "name": "Delivery payload examples (reference)",
          "item": [
            {
              "name": "Example — whatsapp.message.received",
              "request": {
                "method": "POST",
                "header": [
                  { "key": "Content-Type", "value": "application/json" },
                  { "key": "X-Engagive-Event", "value": "whatsapp.message.received" },
                  { "key": "X-Engagive-Api-Version", "value": "2026-08-01" }
                ],
                "url": {
                  "raw": "{{your_webhook_url}}",
                  "host": ["{{your_webhook_url}}"]
                },
                "description": "Reference body Engagive POSTs to your URL (not an Engagive API call). See docs /webhooks/inbound-payload.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"api_version\": \"2026-08-01\",\n  \"event\": \"whatsapp.message.received\",\n  \"event_id\": \"evt_01JEXAMPLE0000000000000001\",\n  \"account_id\": 3,\n  \"occurred_at\": \"2026-08-06T12:00:00.000Z\",\n  \"delivered_at\": \"2026-08-06T12:00:00.050Z\",\n  \"data\": {\n    \"message\": {\n      \"id\": 1001,\n      \"whatsapp_message_id\": \"wamid.HBg…\",\n      \"direction\": \"incoming\",\n      \"message_type\": \"text\",\n      \"status\": \"received\",\n      \"content\": \"Hi\",\n      \"media\": null\n    },\n    \"contact\": {\n      \"id\": 42,\n      \"wa_id\": \"923001234567\",\n      \"name\": \"Ayesha\"\n    }\n  }\n}"
                }
              }
            },
            {
              "name": "Example — whatsapp.message.sent",
              "request": {
                "method": "POST",
                "header": [
                  { "key": "Content-Type", "value": "application/json" },
                  { "key": "X-Engagive-Event", "value": "whatsapp.message.sent" }
                ],
                "url": {
                  "raw": "{{your_webhook_url}}",
                  "host": ["{{your_webhook_url}}"]
                },
                "description": "Reference outbound-at-send envelope.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"api_version\": \"2026-08-01\",\n  \"event\": \"whatsapp.message.sent\",\n  \"event_id\": \"evt_01JEXAMPLE0000000000000003\",\n  \"account_id\": 3,\n  \"occurred_at\": \"2026-08-06T12:04:50.000Z\",\n  \"delivered_at\": \"2026-08-06T12:04:50.040Z\",\n  \"data\": {\n    \"message\": {\n      \"id\": 1002,\n      \"direction\": \"outgoing\",\n      \"message_type\": \"text\",\n      \"status\": \"sent\",\n      \"content\": \"Hello from business\"\n    },\n    \"contact\": { \"id\": 42, \"wa_id\": \"923001234567\", \"name\": \"Ayesha\" }\n  }\n}"
                }
              }
            },
            {
              "name": "Example — whatsapp.message.status",
              "request": {
                "method": "POST",
                "header": [
                  { "key": "Content-Type", "value": "application/json" },
                  { "key": "X-Engagive-Event", "value": "whatsapp.message.status" }
                ],
                "url": {
                  "raw": "{{your_webhook_url}}",
                  "host": ["{{your_webhook_url}}"]
                },
                "description": "Reference status envelope (data.status + data.message).",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"api_version\": \"2026-08-01\",\n  \"event\": \"whatsapp.message.status\",\n  \"event_id\": \"evt_01JEXAMPLE0000000000000002\",\n  \"account_id\": 3,\n  \"occurred_at\": \"2026-08-06T12:05:00.000Z\",\n  \"delivered_at\": \"2026-08-06T12:05:00.080Z\",\n  \"data\": {\n    \"message\": { \"id\": 1002, \"direction\": \"outgoing\", \"status\": \"delivered\" },\n    \"contact\": { \"id\": 42, \"wa_id\": \"923001234567\", \"name\": \"Ayesha\" },\n    \"status\": \"delivered\",\n    \"status_timestamp\": \"2026-08-06T12:05:00.000Z\",\n    \"error\": null\n  }\n}"
                }
              }
            },
            {
              "name": "Example — whatsapp.phone.quality",
              "request": {
                "method": "POST",
                "header": [
                  { "key": "Content-Type", "value": "application/json" },
                  { "key": "X-Engagive-Event", "value": "whatsapp.phone.quality" }
                ],
                "url": {
                  "raw": "{{your_webhook_url}}",
                  "host": ["{{your_webhook_url}}"]
                },
                "description": "Reference phone quality envelope.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"api_version\": \"2026-08-01\",\n  \"event\": \"whatsapp.phone.quality\",\n  \"event_id\": \"evt_01JEXAMPLE0000000000000007\",\n  \"account_id\": 3,\n  \"occurred_at\": \"2026-08-06T14:00:00.000Z\",\n  \"delivered_at\": \"2026-08-06T14:00:00.040Z\",\n  \"data\": {\n    \"phone\": { \"display_phone_number\": \"15550783881\", \"wa_phone_id\": null },\n    \"event\": \"THROUGHPUT_UPGRADE\",\n    \"current_limit\": \"TIER_UNLIMITED\",\n    \"old_limit\": null,\n    \"wa_account_id\": \"102290129340398\"\n  }\n}"
                }
              }
            },
            {
              "name": "Example — whatsapp.account.updated",
              "request": {
                "method": "POST",
                "header": [
                  { "key": "Content-Type", "value": "application/json" },
                  { "key": "X-Engagive-Event", "value": "whatsapp.account.updated" }
                ],
                "url": {
                  "raw": "{{your_webhook_url}}",
                  "host": ["{{your_webhook_url}}"]
                },
                "description": "Reference account.updated envelope.",
                "body": {
                  "mode": "raw",
                  "raw": "{\n  \"api_version\": \"2026-08-01\",\n  \"event\": \"whatsapp.account.updated\",\n  \"event_id\": \"evt_01JEXAMPLE0000000000000008\",\n  \"account_id\": 3,\n  \"occurred_at\": \"2026-08-06T14:05:00.000Z\",\n  \"delivered_at\": \"2026-08-06T14:05:00.030Z\",\n  \"data\": {\n    \"update_event\": \"PARTNER_REMOVED\",\n    \"phone_number\": null,\n    \"ban_info\": null,\n    \"is_active\": false,\n    \"wa_account_id\": \"102290129340398\"\n  }\n}"
                }
              }
            }
          ]
        }
      ]
    },
    {
      "name": "Campaigns",
      "item": [
        {
          "name": "List campaigns",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/campaigns",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "campaigns"
              ],
              "query": [
                {
                  "key": "page",
                  "value": "1"
                },
                {
                  "key": "pageSize",
                  "value": "20"
                }
              ]
            },
            "description": "List campaigns for the account."
          }
        },
        {
          "name": "Get campaign",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/campaigns/{{campaign_id}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "campaigns",
                "{{campaign_id}}"
              ]
            },
            "description": "Campaign detail."
          }
        },
        {
          "name": "Create campaign",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/campaigns",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "campaigns"
              ]
            },
            "description": "Creates a **draft**. Get **phone_id** from Accounts. **template_content_id** must be approved.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"August promo\",\n  \"phone_id\": {{phone_id}},\n  \"template_content_id\": 10,\n  \"audience_all_active\": true,\n  \"variable_mapping\": {\n    \"body_1\": \"Customer\"\n  }\n}"
            }
          }
        },
        {
          "name": "Create campaign (selected contacts)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/campaigns",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "campaigns"
              ]
            },
            "description": "Audience via contact ids + optional batching.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"August promo (selected)\",\n  \"phone_id\": {{phone_id}},\n  \"template_content_id\": 10,\n  \"audience_contact_ids\": [\n    42,\n    43,\n    44\n  ],\n  \"variable_mapping\": {},\n  \"audience_batch_size\": 1000,\n  \"batch_delay_minutes\": 5\n}"
            }
          }
        },
        {
          "name": "Create with audience file",
          "request": {
            "method": "POST",
            "header": [],
            "body": {
              "mode": "formdata",
              "formdata": [
                {
                  "key": "name",
                  "type": "text",
                  "value": "August promo file"
                },
                {
                  "key": "phone_id",
                  "type": "text",
                  "value": "{{phone_id}}"
                },
                {
                  "key": "template_content_id",
                  "type": "text",
                  "value": "10"
                },
                {
                  "key": "audience_file",
                  "type": "file",
                  "src": [],
                  "description": "One contact id per line (.txt/.csv)"
                }
              ]
            },
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/campaigns/create-with-audience-file",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "campaigns",
                "create-with-audience-file"
              ]
            },
            "description": "Multipart create with audience_file."
          }
        },
        {
          "name": "Update campaign",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/campaigns/{{campaign_id}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "campaigns",
                "{{campaign_id}}"
              ]
            },
            "description": "Update draft campaign fields.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"August promo (selected)\",\n  \"phone_id\": {{phone_id}},\n  \"template_content_id\": 10,\n  \"audience_contact_ids\": [\n    42,\n    43,\n    44\n  ],\n  \"variable_mapping\": {},\n  \"audience_batch_size\": 1000,\n  \"batch_delay_minutes\": 5\n}"
            }
          }
        },
        {
          "name": "Send test",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/campaigns/{{campaign_id}}/send-test",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "campaigns",
                "{{campaign_id}}",
                "send-test"
              ]
            },
            "description": "Send a test to one contact.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"contact_id\": 42\n}"
            }
          }
        },
        {
          "name": "Launch",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/campaigns/{{campaign_id}}/launch",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "campaigns",
                "{{campaign_id}}",
                "launch"
              ]
            },
            "description": "Launch from draft or scheduled.",
            "body": {
              "mode": "raw",
              "raw": "{}"
            }
          }
        },
        {
          "name": "Schedule",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/campaigns/{{campaign_id}}/schedule",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "campaigns",
                "{{campaign_id}}",
                "schedule"
              ]
            },
            "description": "Schedule launch.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"scheduled_at\": \"2026-08-10T09:00:00.000Z\",\n  \"test_mode\": false\n}"
            }
          }
        },
        {
          "name": "Pause",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/campaigns/{{campaign_id}}/pause",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "campaigns",
                "{{campaign_id}}",
                "pause"
              ]
            },
            "description": "Pause a running campaign.",
            "body": {
              "mode": "raw",
              "raw": "{}"
            }
          }
        },
        {
          "name": "Resume",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/campaigns/{{campaign_id}}/resume",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "campaigns",
                "{{campaign_id}}",
                "resume"
              ]
            },
            "description": "Resume a paused campaign.",
            "body": {
              "mode": "raw",
              "raw": "{}"
            }
          }
        },
        {
          "name": "Cancel",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/campaigns/{{campaign_id}}/cancel",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "campaigns",
                "{{campaign_id}}",
                "cancel"
              ]
            },
            "description": "Cancel campaign.",
            "body": {
              "mode": "raw",
              "raw": "{}"
            }
          }
        },
        {
          "name": "Recipients",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/campaigns/{{campaign_id}}/recipients",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "campaigns",
                "{{campaign_id}}",
                "recipients"
              ]
            },
            "description": "List recipients."
          }
        },
        {
          "name": "Analytics",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/campaigns/{{campaign_id}}/analytics",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "campaigns",
                "{{campaign_id}}",
                "analytics"
              ]
            },
            "description": "Aggregate delivery analytics."
          }
        },
        {
          "name": "Events",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/campaigns/{{campaign_id}}/events",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "campaigns",
                "{{campaign_id}}",
                "events"
              ]
            },
            "description": "Campaign event history."
          }
        }
      ]
    },
    {
      "name": "Flows",
      "item": [
        {
          "name": "List flows",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/flows",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "flows"
              ]
            },
            "description": "Meta WhatsApp Flows (not Engagive Automations)."
          }
        },
        {
          "name": "Get flow",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/flows/{{flow_id}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "flows",
                "{{flow_id}}"
              ]
            },
            "description": "Flow detail."
          }
        },
        {
          "name": "Create flow",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/flows",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "flows"
              ]
            },
            "description": "Creates Flow in Engagive and on Meta. Actor ids default from API token.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Order status flow\",\n  \"template_name\": \"default\",\n  \"categories\": [\n    \"OTHER\"\n  ],\n  \"flow_json\": {\n    \"version\": \"3.1\",\n    \"screens\": []\n  },\n  \"flow_json_raw\": \"\"\n}"
            }
          }
        },
        {
          "name": "Update flow",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/flows/{{flow_id}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "flows",
                "{{flow_id}}"
              ]
            },
            "description": "Update Flow JSON.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"flow_json\": {\n    \"version\": \"3.1\",\n    \"screens\": []\n  },\n  \"flow_json_raw\": \"\"\n}"
            }
          }
        },
        {
          "name": "Delete flow",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/flows/{{flow_id}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "flows",
                "{{flow_id}}"
              ]
            },
            "description": "Delete Flow."
          }
        },
        {
          "name": "Preview",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/flows/{{flow_id}}/preview",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "flows",
                "{{flow_id}}",
                "preview"
              ]
            },
            "description": "Preview Flow on Meta."
          }
        },
        {
          "name": "Publish",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{base_url}}/api/business/public/channels/whatsapp/accounts/{{account_id}}/flows/{{flow_id}}/publish",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "api",
                "business",
                "public",
                "channels",
                "whatsapp",
                "accounts",
                "{{account_id}}",
                "flows",
                "{{flow_id}}",
                "publish"
              ]
            },
            "description": "Publish Flow to Meta.",
            "body": {
              "mode": "raw",
              "raw": "{}"
            }
          }
        }
      ]
    }
  ]
}
