Channels · WhatsApp · Templates

Template Contents APIs

Base URL & auth

  • Prefix: /api/business/public on https://stage.api.engagive.io (full base: https://stage.api.engagive.io/api/business/public).
  • Header: Authorization: Bearer <token> — create the token under Profile → API access token in the business app.
  • See also: Authentication, Errors & responses.

Contents are per template code and language code (`lang_code`). Paths use :langCode (e.g. `en`, `en_US`).

GET

Lookups — Languages

Required permission: WhatsApp Templates — View

Path
/api/business/public/channels/whatsapp/accounts/:accountId/templates/:templateCode/contents/lookups/languages
Example success response (JSON)
{
  "success": true,
  "message": "Languages retrieved",
  "data": [
    {
      "code": "en",
      "label": "English"
    },
    {
      "code": "en_US",
      "label": "English (US)"
    }
  ]
}

Try it

Runs in your browser — token is not stored

If the request fails with a network / CORS error, your API may not allow browser calls from this site. Use curl, Postman, or your server instead. See Postman.

Full request URL
GET https://stage.api.engagive.io/api/business/public/channels/whatsapp/accounts/1/templates/order_shipped/contents/lookups/languages
GET

List contents

Required permission: WhatsApp Templates — View

Lists localized contents for the template. Optional search.

Path
/api/business/public/channels/whatsapp/accounts/:accountId/templates/:templateCode/contents
Example success response (JSON)
{
  "success": true,
  "message": "Template contents retrieved",
  "data": [
    {
      "id": 501,
      "lang_code": "en",
      "text": "Hi {{1}}, your order is on the way!",
      "is_draft": true
    }
  ]
}

Try it

Runs in your browser — token is not stored

If the request fails with a network / CORS error, your API may not allow browser calls from this site. Use curl, Postman, or your server instead. See Postman.

Full request URL
GET https://stage.api.engagive.io/api/business/public/channels/whatsapp/accounts/1/templates/order_shipped/contents
GET

Get content by lang code

Required permission: WhatsApp Templates — View

Path
/api/business/public/channels/whatsapp/accounts/:accountId/templates/:templateCode/contents/:langCode
Example success response (JSON)
{
  "success": true,
  "message": "Template content retrieved",
  "data": {
    "id": 501,
    "lang_code": "en",
    "text": "Hi {{1}}, your order is on the way!",
    "footer": "Reply STOP to opt out",
    "variables": {
      "1": "Customer name"
    },
    "headers": [],
    "buttons": [],
    "is_draft": true
  }
}

Try it

Runs in your browser — token is not stored

If the request fails with a network / CORS error, your API may not allow browser calls from this site. Use curl, Postman, or your server instead. See Postman.

Full request URL
GET https://stage.api.engagive.io/api/business/public/channels/whatsapp/accounts/1/templates/order_shipped/contents/en_US
POST

Create template content

Required permission: WhatsApp Templates — Add

Path
/api/business/public/channels/whatsapp/accounts/:accountId/templates/:templateCode/contents
Example request body (JSON)
{
  "lang_code": "en_US",
  "parameter_format": "TEXT",
  "text": "Hi {{1}}, your order {{2}} is confirmed. Track here: {{3}}.",
  "variables": {
    "1": "Customer name",
    "2": "ORDER-12345",
    "3": "https://track.example.com/ORDER-12345"
  },
  "footer": "Thank you for shopping with us.",
  "is_draft": true,
  "is_catalog": false,
  "catalog_format": null,
  "connected_catalog_id": null,
  "is_catalog_connected": false,
  "is_custom_validity_period": false,
  "validity_period_seconds": null,
  "auth_delivery_method": null,
  "auth_add_security_recommendation": false,
  "auth_add_code_expiration": false,
  "auth_code_expiration_seconds": null,
  "auth_apps": null,
  "headers": [
    {
      "type": "text",
      "text": "Order update",
      "text_variable": null,
      "parameter": null,
      "link": null,
      "file_name": null
    }
  ],
  "buttons": [
    {
      "type": "custom",
      "label": "Track order",
      "value": "track_order",
      "country_code": null,
      "url_type": null,
      "dynamic_url": null
    },
    {
      "type": "visit_website",
      "label": "Open website",
      "value": "https://example.com",
      "country_code": null,
      "url_type": "static",
      "dynamic_url": null
    },
    {
      "type": "call_phone",
      "label": "Call support",
      "value": "+1234567890",
      "country_code": "US",
      "url_type": null,
      "dynamic_url": null
    },
    {
      "type": "copy_offer_code",
      "label": "Copy offer code",
      "value": "SAVE10",
      "country_code": null,
      "url_type": null,
      "dynamic_url": null
    }
  ]
}
Example success response (JSON)
{
  "success": true,
  "message": "Template content retrieved",
  "data": {
    "id": 501,
    "lang_code": "en",
    "text": "Hi {{1}}, your order is on the way!",
    "footer": "Reply STOP to opt out",
    "variables": {
      "1": "Customer name"
    },
    "headers": [],
    "buttons": [],
    "is_draft": true
  }
}

Try it

Runs in your browser — token is not stored

If the request fails with a network / CORS error, your API may not allow browser calls from this site. Use curl, Postman, or your server instead. See Postman.

Full request URL
POST https://stage.api.engagive.io/api/business/public/channels/whatsapp/accounts/1/templates/order_shipped/contents
PUT

Update content

Required permission: WhatsApp Templates — Edit

Path
/api/business/public/channels/whatsapp/accounts/:accountId/templates/:templateCode/contents/:langCode
Example request body (JSON)
{
  "lang_code": "en",
  "parameter_format": "TEXT",
  "text": "Hello {{1}}, your order {{2}} is ready. Track at {{3}}.",
  "variables": {
    "1": "Customer",
    "2": "#12345",
    "3": "https://track.example.com"
  },
  "footer": "Thank you for shopping. Max 60 characters.",
  "is_draft": false,
  "is_catalog": false,
  "catalog_format": null,
  "connected_catalog_id": null,
  "is_catalog_connected": false,
  "is_custom_validity_period": true,
  "validity_period_seconds": 86400,
  "auth_delivery_method": "copy_code",
  "auth_add_security_recommendation": true,
  "auth_add_code_expiration": true,
  "auth_code_expiration_seconds": 600,
  "auth_apps": [
    {
      "package_name": "com.example.app",
      "signature_hash": "ABC123DEF456"
    },
    {
      "package_name": "com.other.app",
      "signature_hash": "XYZ789"
    }
  ],
  "headers": [
    {
      "type": "text",
      "text": "Welcome! Use code SAVE10",
      "text_variable": null,
      "parameter": null,
      "link": null,
      "file_name": null
    },
    {
      "type": "image",
      "text": null,
      "text_variable": null,
      "parameter": null,
      "link": "https://example.com/image.png",
      "file_name": null
    },
    {
      "type": "video",
      "text": null,
      "text_variable": null,
      "parameter": null,
      "link": null,
      "file_name": null
    },
    {
      "type": "document",
      "text": null,
      "text_variable": null,
      "parameter": null,
      "link": null,
      "file_name": "brochure.pdf"
    }
  ],
  "buttons": [
    {
      "type": "custom",
      "label": "Quick reply",
      "value": null,
      "country_code": null,
      "url_type": null,
      "dynamic_url": null
    },
    {
      "type": "visit_website",
      "label": "Visit site",
      "value": "https://example.com",
      "country_code": null,
      "url_type": "static",
      "dynamic_url": null
    },
    {
      "type": "call_phone",
      "label": "Call us",
      "value": "+1234567890",
      "country_code": "US",
      "url_type": null,
      "dynamic_url": null
    },
    {
      "type": "copy_offer_code",
      "label": "Copy code",
      "value": "OFFER10",
      "country_code": null,
      "url_type": null,
      "dynamic_url": null
    },
    {
      "type": "view_catalog",
      "label": "View catalog",
      "value": null,
      "country_code": null,
      "url_type": null,
      "dynamic_url": null
    }
  ]
}
Example success response (JSON)
{
  "success": true,
  "message": "Template content retrieved",
  "data": {
    "id": 501,
    "lang_code": "en",
    "text": "Hi {{1}}, your order is on the way!",
    "footer": "Reply STOP to opt out",
    "variables": {
      "1": "Customer name"
    },
    "headers": [],
    "buttons": [],
    "is_draft": true
  }
}

Try it

Runs in your browser — token is not stored

If the request fails with a network / CORS error, your API may not allow browser calls from this site. Use curl, Postman, or your server instead. See Postman.

Full request URL
PUT https://stage.api.engagive.io/api/business/public/channels/whatsapp/accounts/1/templates/order_shipped/contents/en_US
DELETE

Delete content

Required permission: WhatsApp Templates — Delete

Path
/api/business/public/channels/whatsapp/accounts/:accountId/templates/:templateCode/contents/:langCode
Example success response (JSON)
{
  "success": true,
  "message": "Content deleted",
  "data": null
}

Try it

Runs in your browser — token is not stored

If the request fails with a network / CORS error, your API may not allow browser calls from this site. Use curl, Postman, or your server instead. See Postman.

Full request URL
DELETE https://stage.api.engagive.io/api/business/public/channels/whatsapp/accounts/1/templates/order_shipped/contents/en_US