Channels · WhatsApp · Messages

Message history

Base URL & auth

  • Prefix: /api/business/public on https://api.engagive.io (full base: https://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.

Fetch chat history for a contactId. Prefer cursor pagination via before = `messagesMeta.nextCursor` for scrolling older messages. Each row includes Engagive `id`, `whatsapp_message_id`, and `template_id` / `lang_code` when the message is a template.

GET

List contact messages

Required permission: WhatsApp Chats — View

Chat history for a contact. Optional page / pageSize, or opaque before cursor for older pages (`messagesMeta.nextCursor`).

Path
/api/business/public/channels/whatsapp/accounts/:accountId/contacts/:contactId/messages
Example success response (JSON)
{
  "success": true,
  "statusCode": 200,
  "data": [
    {
      "id": 1001,
      "whatsapp_message_id": "wamid.HBgMOTE5...",
      "parent_whatsapp_message_id": null,
      "direction": "outgoing",
      "message_type": "text",
      "content": "Hello!",
      "media_url": null,
      "caption": null,
      "status": "sent",
      "error_reason": null,
      "content_json": null,
      "reaction_json": null,
      "created_at": "2026-08-05T00:00:00.000Z",
      "message_time": "2026-08-05T00:00:00.000Z",
      "sender_user_id": 1,
      "original_filename": null,
      "template_id": null,
      "lang_code": null
    },
    {
      "id": 1002,
      "whatsapp_message_id": "wamid.HBgMOTE5b...",
      "parent_whatsapp_message_id": null,
      "direction": "outgoing",
      "message_type": "template",
      "content": "hello_world",
      "media_url": null,
      "caption": null,
      "status": "sent",
      "error_reason": null,
      "content_json": {
        "template_name": "hello_world",
        "lang_code": "en_US"
      },
      "reaction_json": null,
      "created_at": "2026-08-05T00:01:00.000Z",
      "message_time": "2026-08-05T00:01:00.000Z",
      "sender_user_id": 1,
      "original_filename": null,
      "template_id": 7,
      "lang_code": "en_US"
    }
  ],
  "pagination": {
    "page": 1,
    "pageSize": 50,
    "totalCount": 2,
    "totalPages": 1
  },
  "messagesMeta": {
    "nextCursor": null,
    "hasMore": false
  }
}

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://api.engagive.io/api/business/public/channels/whatsapp/accounts/1/contacts/42/messages?page=1&pageSize=50