Assignment History

The ordered audit trail for one conversation: every assignment, unassignment and status change, with the actor and timestamp. Use it to reconstruct who handled a customer, to measure time-to-first-assignment, or to compute time-to-resolution.

GET/v2.0/conversations/assignment-history

Query Parameters

ParameterTypeDescription
conversationIdstringTarget conversation id. Required unless phone is given
phonestringCustomer identifier — WhatsApp number without +, or the Instagram / Messenger sender id
channelstringwhatsapp | instagram | messengerDefault: whatsapp
businessNumberstringYour business number or platform id. Defaults to the org's only active WhatsApp sender

Code Example

curl -X GET "https://api.sendiee.com/v2.0/conversations/assignment-history?phone=919876543210" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response — 200 OK

data is ordered oldest first, capped at the 200 most recent events.

{
  "success": true,
  "data": [
    {
      "_id": "66c400119d2b4e0011abaa01",
      "conversationId": "66c3f0a19d2b4e0011ab9911",
      "action": "assigned",
      "assignedAgentId": "6708b2d1c93b2e0012aa1001",
      "assignedAgentName": "Aarti Menon",
      "assignedTeamId": "6710a1f4c93b2e0012aa7f01",
      "assignedTeamName": "Sales",
      "assignedBy": null,
      "assignedByName": "API key sk_Ab12Cd34",
      "statusFrom": "",
      "statusTo": "",
      "source": "manual",
      "assignedAt": "2026-09-09T07:41:12.114Z"
    },
    {
      "_id": "66c401f29d2b4e0011abaa07",
      "conversationId": "66c3f0a19d2b4e0011ab9911",
      "action": "status-changed",
      "assignedAgentId": null,
      "assignedAgentName": "",
      "assignedTeamId": null,
      "assignedTeamName": "",
      "assignedBy": "6708b2d1c93b2e0012aa1001",
      "assignedByName": "Aarti Menon",
      "statusFrom": "pending",
      "statusTo": "resolved",
      "source": "manual",
      "assignedAt": "2026-09-09T08:12:55.900Z"
    }
  ]
}

Event Object

ParameterTypeDescription
actionstringassigned, unassigned, or status-changed (resolved / reopened appear on older rows)
assignedAgentIdstringAgent the conversation went to, on assignment events
assignedAgentNamestringAgent name captured at the time, so it survives renames
assignedTeamIdstringTeam the conversation went to
assignedTeamNamestringTeam name captured at the time
assignedBystringAgent id of the actor, or null for API, AI and flow actions
assignedByNamestringWho did it — an agent name, or API key <prefix> for API calls
statusFromstringPrevious status key, on status-changed events
statusTostringNew status key, on status-changed events
sourcestringmanual (agent or API), ai (auto-assign), flow (automation), or auto (routing rules)
assignedAtstring (ISO 8601)Server-stamped time of the event

Try It

Try it — API Playground

Use instead of a conversation id