Getting started
Errors & responses
Engagive uses a consistent JSON envelope for successes. Public APIs return Engagive fields in data only — they do not include a raw Meta metaResponse object. Validation and permission problems return clear HTTP status codes and error messages.
Successful response shape
Most endpoints return a single object with success: true, an HTTP-style statusCode, optional message, and a data payload. List endpoints may include pagination.
{
"success": true,
"statusCode": 200,
"message": "optional string",
"data": { },
"pagination": { }
}pagination appears only on list endpoints.
Error responses
Failed requests return success: false (or omit success where documented) with an HTTP status and an error string (or message field) describing the problem.
| HTTP | Typical meaning |
|---|---|
| 400 | Invalid body, query, or path parameters |
| 401 | Missing, invalid, or expired Bearer token |
| 403 | Authenticated but not allowed (role or wrong account_id) |
| 404 | Resource not found or not visible to your organization |
| 502 | Upstream WhatsApp / Meta error — check data.status and data.error_reason on sends |
WhatsApp / Meta failures
Message send endpoints may return 502 with success: true when the outbound row was saved but Meta rejected the send. Inspect data.status (failed) and data.error_reason. The message still appears in the portal inbox.
Browser and CORS
Calling the API from a browser page on another origin requires CORS. Server-to-server integrations (Postman, backend jobs) are not affected. Prefer generating tokens in the portal and calling from your own backend.