Skip to content
AnytimeReply

REST endpoints

Conversations

List an agent's conversations from every channel, and read one conversation with all its messages.

Send your API key in the Authorization: Bearer af_live_… header. See Authentication.

List conversations

GET/api/v1/agents/{id}/conversations

Query parameters

pagenumber
Page number, starting at 1. Default 1.
limitnumber
Conversations per page, 1–100. Default 50.
channelstring
Only one channel: WIDGET, WHATSAPP, MESSENGER, INSTAGRAM, TELEGRAM, EMAIL, SLACK, ANYCHAT, API or PLAYGROUND.

Newest activity first (by last_message_at).

Shell
curl "https://anytimereply.com/api/v1/agents/AGENT_ID/conversations?limit=20&channel=WHATSAPP" \
  -H "Authorization: Bearer af_live_YOUR_KEY"
200 OK
{
  "data": [
    {
      "id": "8b1d6c2e-…",
      "channel": "WHATSAPP",
      "status": "CLOSED",
      "contact_name": "Nadia",
      "contact_email": null,
      "contact_phone": "8801711111111",
      "external_id": "8801711111111",
      "mood": "happy",
      "sentiment": "positive",
      "topic": "Delivery time",
      "summary": "Asked about delivery to Sylhet; got the price and timing.",
      "tags": ["vip"],
      "priority": "normal",
      "csat": 5,
      "created_at": "2026-10-18T10:02:11.000Z",
      "last_message_at": "2026-10-18T10:09:45.000Z"
    }
  ],
  "page": 1,
  "limit": 20
}

Fields

statusstring
AI (the AI is answering), HUMAN (handed to your team) or CLOSED.
external_idstring | null
The channel's ID for the customer (phone number, Telegram chat, your API user_id…).
moodstring | null
The customer's latest mood: calm, happy, confused, frustrated, angry or urgent.
sentiment, topic, summary string | null
Filled a couple of minutes after the chat goes quiet. sentiment is positive, neutral or negative.
prioritystring
low, normal, high or urgent.
csatnumber | null
The customer's rating, 1–5.

Get a conversation

GET/api/v1/conversations/{conversation_id}

Any conversation of any agent in your workspace, with all its messages in order.

Shell
curl https://anytimereply.com/api/v1/conversations/CONVERSATION_ID -H "Authorization: Bearer af_live_YOUR_KEY"
200 OK
{
  "data": {
    "id": "8b1d6c2e-…",
    "agent_id": "3f2c9a8e-…",
    "channel": "API",
    "status": "AI",
    "contact_name": "Rafi",
    "contact_email": "[email protected]",
    "contact_phone": null,
    "mood": "calm",
    "summary": null,
    "tags": [],
    "priority": "normal",
    "csat": null,
    "created_at": "2026-10-19T09:12:03.000Z",
    "last_message_at": "2026-10-19T09:12:06.000Z",
    "messages": [
      { "id": "m1…", "role": "user", "content": "Do you deliver to Sylhet?", "confidence": null, "media_kind": null, "mood": "calm", "created_at": "2026-10-19T09:12:03.000Z" },
      { "id": "m2…", "role": "assistant", "content": "Yes! We deliver across Bangladesh…", "confidence": 0.82, "media_kind": null, "mood": null, "created_at": "2026-10-19T09:12:06.000Z" }
    ]
  }
}

Message fields

rolestring
user (the customer), assistant (the AI) or human (your team). Internal notes are never returned by the API.
contentstring
The text. Voice notes contain their transcript.
confidencenumber | null
For AI replies: how well your knowledge matched.
media_kindstring | null
voice or image when the customer sent one.
moodstring | null
The customer's mood at that message.

Errors

StatusError
404Agent not found · Conversation not found
Was this page helpful?
Still stuck? Contact us