open, closed_resolved, or closed_unresolved. A custom status refines one of them with a name your team recognizes, such as “Waiting on customer” or “Escalated to engineering”, plus an optional customer-facing label, color, and icon. This API manages those definitions and reads or sets the custom status on a session.
Key Concepts
- Custom status — A named refinement of a built-in status. Each one has a
parent_status; applying it to a session moves the session to that built-in status sub_status_id— Every session object carries the id of its custom status, ornullwhen only the built-in status applies. Resolve ids with the list endpoint- Applying and clearing — Set a session’s custom status with
PUT /chat/sessions/{session_id}/sub-status; clear it withDELETEon the same path. Clearing keeps the built-in status exactly as it is - Filtering —
POST /chat/sessions/filteracceptssub_status_idsto find sessions in any of the given custom statuses - Customer-facing fields —
display_nameanddisplay_descriptionare what customers may see;nameanddescriptionare for your team only - Timeline — Every set and clear leaves an event in the session history, attributed to the API
Available Endpoints
List Custom Statuses
List every custom status in your organization
Get Custom Status
Fetch one custom status by id
Create Custom Status
Define a new custom status under a built-in one
Update Custom Status
Change any subset of a custom status
Delete Custom Status
Remove a custom status
Set Session Custom Status
Apply a custom status to a session
Clear Session Custom Status
Remove the custom status from a session