VoiceDock Docs
ApiChats

Get conversation context for a contact

Return the last N messages for a contact in chronological order (oldest → newest). The response contains two views: - `messages`: raw message rows ready to map into an LLM chat array. - `formatted`: a single string (`ROLE: content` per line) convenient to append to a voice agent's system prompt for cross-channel continuity.

GET
/chats/context

Return the last N messages for a contact in chronological order (oldest → newest).

The response contains two views:

  • messages: raw message rows ready to map into an LLM chat array.
  • formatted: a single string (ROLE: content per line) convenient to append to a voice agent's system prompt for cross-channel continuity.

Authorization

BearerAuth
AuthorizationBearer <token>

API key authentication. Get your key from the dashboard.

In: header

Query Parameters

contact_id*string

External contact identifier (phone, session id, email, …)

agent_id?string

If provided, only messages linked to this agent are returned

Formatuuid
limit?integer

Maximum number of messages to include (max 200)

Default50
Rangevalue <= 200

Response Body

application/json

application/json

curl -X GET "https://example.com/chats/context?contact_id=string"
{
  "contact_id": "string",
  "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
  "messages": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
      "contact_id": "+31612345678",
      "channel": "whatsapp",
      "role": "user",
      "content": "string",
      "metadata": {
        "provider_message_id": "wamid.ABC",
        "attachments": []
      },
      "created_at": "2019-08-24T14:15:22Z"
    }
  ],
  "formatted": "USER: When does my order arrive?\nASSISTANT: Your order ships tomorrow."
}
{
  "error": "Invalid API key",
  "message": "string"
}