Channels · WhatsApp · Overview

WhatsApp Business Platform API

Use these endpoints to manage WhatsApp accounts, contacts, templates, messages, campaigns, Flows, and inbound webhooks for your business—over HTTPS with REST and JSON. Authentication works like the Engagive business app: you send a bearer token on each request. Message delivery uses the WhatsApp Business Platform (Cloud API); Engagive handles connectivity to Meta on your behalf.

REST + JSON

Standard HTTPS requests with JSON bodies and responses.

Bearer token

Long-lived JWT from Profile → API access token in the business portal (not a browser session copy).

Per-account URLs

Each request targets a WhatsApp account id—you only access accounts you're allowed to use.

WhatsApp Cloud API

Templates and sends are processed through Meta’s WhatsApp Business Platform behind Engagive.

First time here?

Complete WhatsApp — portal setup to create your API token and copy your account id and public API URLs from the Engagive business app. Then read Authentication and Errors & responses.

Base URL

Send all API traffic to https://api.engagive.io using HTTPS only. Use the path prefix below for every WhatsApp public endpoint (this hostname is your API base, not the Engagive marketing site).

Your API base URL

Prefix every request path in this documentation with:
https://api.engagive.io/api/business/public

Example full URL
https://api.engagive.io/api/business/public/channels/whatsapp/accounts/{account_id}/templates/...
Path prefix (after the hostname)
/api/business/public

Path parameter: account_id

Replace {account_id} with the Engagive WhatsApp account idfor the number you're using. Copy it from the HTTP API tab on that account in the business portal (see Portal setup). Use a token for a user who is allowed to act on that account (see roles below).

API areas

Endpoints are grouped by topic. Use the sidebar for full request/response details; this table is a quick map:

AreaPath patternDocs
Accounts/api/business/public/channels/whatsapp/accountsOpen
Contacts/api/business/public/channels/whatsapp/accounts/{account_id}/contacts/...Open
Templates/api/business/public/channels/whatsapp/accounts/{account_id}/templates/...Open
Template contents/api/business/public/channels/whatsapp/accounts/{account_id}/templates/{template_code}/contents/...Open
Messages (send, history, media)/api/business/public/channels/whatsapp/accounts/{account_id}/messages/...Open
Campaigns/api/business/public/channels/whatsapp/accounts/{account_id}/campaigns/...Open
Flows (Meta WhatsApp Flows)/api/business/public/channels/whatsapp/accounts/{account_id}/flows/...Open
Inbound webhooks/api/business/public/channels/whatsapp/accounts/{account_id}/webhooks/...Open

Public WhatsApp surface

Live docs cover accounts, contacts, templates, messages, campaigns, Meta WhatsApp Flows, and inbound webhooks. Track releases on the Changelog.

Integration checklist

Work through this list before you start calling the API.

  1. 1

    Production endpoint & HTTPS

    Use https://api.engagive.io and TLS (HTTPS) only. All WhatsApp public endpoints share this path prefix: /api/business/public. Server-to-server calls are recommended. If you call from a web browser, the site may need CORS allowlisting—check with Engagive support if requests are blocked.
  2. 2

    Bearer token on every request

    Include Authorization: Bearer <your_api_access_token> on every request. Create the token in the business portal under Profile → API access token (choose validity, then generate and copy)—see Portal setup and Authentication. Missing or invalid tokens return 401 Unauthorized.
  3. 3

    Organization & account access

    The token is tied to one organizationin Engagive. You can only use WhatsApp accounts and data for that organization. Requests for another customer's account_id are rejected.
  4. 4

    Roles & dashboard permissions

    The API follows the same rules as the Engagive business app: you need the right role permissions(for example, to view or edit templates, or to send messages). If you don't have permission for an action, you get a forbidden error. Use a token for a user who has the access you need in the app.
  5. 5

    WhatsApp account configured in Engagive

    Sending messages and syncing templates needs a WhatsApp Businesssetup already connected in Engagive for that account (phone number, Meta/WhatsApp configuration). An admin usually completes this in Engagive; you don't put Meta system user tokens in the API request body—Engagive applies them securely. If setup isn't finished, you may see a configuration error.

Response shape

Successful responses use a single JSON shape across endpoints. Engagive returns resource fields in data (for sends: Engagive id, whatsapp_message_id, status). Public APIs do not include a raw Meta metaResponse object.

Typical success body
{
  "success": true,
  "statusCode": 200,
  "message": "optional string",
  "data": { },
  "pagination": { }
}

Errors and WhatsApp / Meta issues

Invalid request data typically returns 400 with an error message. Authentication problems return 401. If WhatsApp or Meta rejects a send after Engagive persisted the row, you may see 502 with data.status: "failed" and data.error_reason. Full table: Errors & responses.

Next steps