MCP is live.Set upAsk the community
OmniDimension
WhatsApp

List messages

One conversation's messages, newest first. Poll forward with after (the id of the newest message you already have) to get only new ones. Page backward through history with cursor. Do not pass both.

Set up WhatsApp first. Connect a WhatsApp number in the dashboard or with Connect numbers. Included on every paid plan. See plans.

GET/whatsapp/messages
Query parameters
conversation_idstringrequired

The conversation to read.

afterinteger

Return messages newer than this message id. next_cursor is null in this mode.

limitinteger

Rows per page.

cursorstring

The next_cursor from the previous page. Do not combine it with after.

curl -X GET 'https://omnidim.io/api/v1/whatsapp/messages?limit=20' \
  -H 'Authorization: Bearer YOUR_API_KEY'
Example response
synthetic
{
  "data": [
    {
      "id": 0,
      "conversation_id": "string",
      "wa_message_id": "string",
      "sender": "customer",
      "type": "string",
      "text": "string",
      "caption": "string",
      "profile_name": "string",
      "sent_by_workflow": "string",
      "timestamp": "string",
      "status": "pending",
      "reply_to": {
        "wa_message_id": "string",
        "preview": "string",
        "sender": "customer"
      },
      "reactions": [
        {
          "emoji": "string",
          "sender": "customer",
          "timestamp": "string"
        }
      ],
      "media": {
        "mime": "string",
        "filename": "string",
        "size": 0,
        "fetch_status": "done"
      },
      "voice": {
        "duration_seconds": 0,
        "transcript": "string"
      },
      "location": {
        "lat": 0,
        "lng": 0,
        "name": "string",
        "address": "string",
        "map_url": "string"
      },
      "contacts": [
        {
          "name": "string",
          "phones": [
            "string"
          ]
        }
      ],
      "interactive": {
        "title": "string"
      },
      "template": {
        "id": 0,
        "name": "string"
      },
      "failure": {
        "code": "string",
        "reason": "string",
        "retryable": false
      },
      "charged": {
        "amount": 0,
        "currency": "string"
      }
    }
  ],
  "has_more": false,
  "next_cursor": "string"
}

Authorization

BearerAuth
headerAuthorizationBearer <token>

Bearer token authentication. Obtain your API key from the OmniDimension dashboard.

Query Parameters

conversation_id*string

The conversation to read.

after?integer

Return messages newer than this message id. next_cursor is null in this mode.

limit?integer

Rows per page.

Range1 <= value <= 100
Default20
cursor?string

The next_cursor from the previous page. Do not combine it with after.

Response body

application/json

Response Body

One page of messages.

application/json
data?
has_more?boolean
next_cursor?string