Chatonio

Updating a conversation

July 7, 2026 ViewsChatonio API

Update a conversation

Change a conversation’s status and/or priority. Status changes go through the same rules as the operator dashboard.

PATCH/api/v1/conversations/{id}/

Update status and/or priority.

Request

Body
{
  "status": "RESOLVED"
}

Responses

200Success
{
  "id": "3f2b1c9a-7d4e-4b21-9c33-0a1b2c3d4e5f",
  "status": "PROCESSING",
  "priority": "HIGH",
  "subject": "Refund request",
  "source": "CHANNEL",
  "channel_id": "9a1c5f30-2b6d-4c71-8e42-1a2b3c4d5e6f",
  "channel_type": "TELEGRAM",
  "ticket_number": 1042,
  "detected_language": "en",
  "message_count": 7,
  "contact": { "id": "7c4e9b02-1a55-4e88-b0d1-2f3a4b5c6d7e", "display_name": "Jane Doe" },
  "created_at": "2026-07-01T10:12:00+00:00",
  "updated_at": "2026-07-01T10:40:00+00:00",
  "last_message_at": "2026-07-01T10:40:00+00:00"
}
400Invalid transition
{ "detail": "Cannot transition from NEW to WAITING" }

Body fields

  • status — optional; target status.
  • priority — optional; LOW / MEDIUM / HIGH / URGENT.
  • escalation_reason — required when setting status to ESCALATING.

Rules

  • PROCESSING cannot be set here — it’s reached only by assigning an operator (400 use_assignment_to_reach_processing).
  • Setting ESCALATING requires a non-empty escalation_reason and pages your operators.
  • Only valid transitions are allowed; an illegal one returns 400 with a descriptive message.
  • Rate limit: 60 requests/minute per API key.

A conversation.status_changed webhook fires for every status change — including ones you make through this endpoint.

Was this article helpful?