Structures¶
Case¶
{
"id": "<string>",
"customer_id": "<string>",
"peer": {<Address>},
"local": {<Address>},
"reference_type": "<string>",
"reference_id": "<string>",
"contact_id": "<string>",
"owner_type": "<string>",
"owner_id": "<string>",
"status": "<string>",
"opened_at": "<string>",
"closed_at": "<string>",
"closed_reason": "<string>",
"closed_by_type": "<string>",
"closed_by_id": "<string>",
"name": "<string>",
"detail": "<string>",
"previous_case_id": "<string>",
"tag_ids": ["<string>"],
"tm_create": "<string>",
"tm_update": "<string>"
}
id(UUID): The case’s unique identifier. Returned fromGET /contact_cases.customer_id(UUID): The customer who owns this case.peer(Object): The remote party this case is scoped to, structurally identical tocommonaddress.Address(type/target/target_name/name/detail) — the same shape as Peer Event’s peer field, distinct from Contact’s Address.local(Object): The customer’s own endpoint the case’s interactions arrived on or were placed from, same shape aspeer. Always present as an object; individual fields are empty when no local endpoint was known at creation time.reference_type(String): Origin channel type, e.g.call,conversation_message.reference_id(String): The internal VoIPBin resource ID thatreference_typepoints at (the call ID whenreference_typeiscall, the conversation ID when it isconversation_message). Set automatically at creation time, never customer- or agent-supplied. Empty when no such internal resource ID applies.contact_id(UUID): The resolved contact this case is attributed to. Nullable until resolved viaPUT /contact_cases/{id}.owner_type(String): Type of the case owner, e.g.agent.owner_id(UUID): ID of the case owner. Not cleared when a case is closed.status(enum string): Case lifecycle status. See Status.opened_at(string, ISO 8601): Timestamp when the case was opened. Nullable.closed_at(string, ISO 8601): Timestamp when the case was closed. Nullable.closed_reason(String): Reason the case was closed. See ClosedReason.closed_by_type(String): Type of the actor that closed the case. See ClosedByType.closed_by_id(UUID): ID of the actor that closed the case. Nullable.name(String): Optional freeform case name/title, settable only at creation time (e.g. by thecase_createFlow action).detail(String): Optional freeform case detail, settable only at creation time.previous_case_id(UUID): The prior (now-closed) case this case continues from, if created viaPOST /contact_cases/{id}/continue. Nil for the first case on a given peer.tag_ids(Array of UUID, omitted when empty): Tags attached to the case, mirroring the same tag-based grouping model used by Queue.tag_ids.tm_create(string, ISO 8601): Timestamp when the case was created.tm_update(string, ISO 8601): Timestamp of the last update.
Status¶
Value |
Description |
|---|---|
open |
The case is active |
closed |
The case has been resolved |
ClosedReason¶
Value |
Description |
|---|---|
agent_closed |
Closed explicitly by an agent via |
timeout |
Closed automatically by the system after inactivity |
ClosedByType¶
Value |
Description |
|---|---|
agent |
Closed by an authenticated agent |
system |
Closed automatically by the platform |
CaseNote¶
Internal, agent-facing annotation on a case. Never surfaced in any customer-facing webhook or channel.
{
"id": "<string>",
"customer_id": "<string>",
"case_id": "<string>",
"author_type": "<string>",
"author_id": "<string>",
"text": "<string>",
"tm_create": "<string>",
"tm_update": "<string>",
"tm_delete": "<string>"
}
id(UUID): The note’s unique identifier.customer_id(UUID): The customer who owns this note.case_id(UUID): The case this note belongs to.author_type(enum string): Type of the note’s author. See AuthorType.author_id(UUID): ID of the agent authoring this note. Nullable for system-authored notes.text(String): The note’s text content.tm_create(string, ISO 8601): Timestamp when the note was created.tm_update(string, ISO 8601): Timestamp of the last update.tm_delete(string, ISO 8601): Timestamp of soft deletion.nullif active.