Skip to main content
PATCH
Error

Autorizações

Authorization
string
header
obrigatório

A staff session token, uk_st_…. Minted by sign-up, sign-in or the two-factor exchange. Only a 401 means it is spent; not_a_member (403) is about the organization named in X-Organization-Id and leaves the token good for the others.

Cabeçalhos

X-Organization-Id
string

The organization the caller is acting on — the org_… code that appears in the panel URL. It identifies; the membership JOIN is what authorizes, so a forged code reads nothing: the answer is not_a_member (403), which does not mean the session is over. Absent, the session's default organization answers, or — if that membership was revoked while the session was open — any other one the caller still holds.

Parâmetros de caminho

id
string<uuid>
obrigatório

Parâmetros de consulta

environment
enum<string>
padrão:live

Which environment to act in. A view parameter, valid only on the staff surface — a machine credential never chooses its environment, it is resolved from the key.

Opções disponíveis:
live,
test

Corpo

application/json
status
enum<string>

pending is "waiting on the contact"; snoozed is the agent's own "not now".

Opções disponíveis:
open,
pending,
snoozed,
resolved
priority
enum<string>
Opções disponíveis:
low,
normal,
high,
urgent
assignee_user_id
string<uuid>

A member of this organization. Contradicts unassign.

unassign
boolean
snoozed_until
string<date-time>

Contradicts clear_snooze.

clear_snooze
boolean

Resposta

The updated conversation.

One support thread, as staff see it. Ticket and chat are the same object — channel is the only thing that differs between an email thread and a widget chat.

id
string<uuid>
contact_id
string<uuid>

The person talking.

customer_id
string<uuid> | null

The team they belong to, when known. An anonymous widget visitor has none.

channel
enum<string>
Opções disponíveis:
email,
chat
subject
string
status
enum<string>

pending means waiting on the contact — it is what a reply moves an open conversation to, and it will pause the SLA clock.

Opções disponíveis:
open,
pending,
snoozed,
resolved
priority
enum<string>
Opções disponíveis:
low,
normal,
high,
urgent
assignee_user_id
string<uuid> | null
snoozed_until
string<date-time> | null
first_responded_at
string<date-time> | null

Stamped once, by the first public staff reply, and never moved — the number a first-response SLA is measured against. A note does not stamp it.

resolved_at
string<date-time> | null
last_message_at
string<date-time> | null
last_contact_message_at
string<date-time> | null
first_response_due_at
string<date-time> | null

When the first-response SLA clock runs out, projected over the organization's business hours. Null is a clock that is not running — no policy, paused (pending/snoozed), already answered.

resolution_due_at
string<date-time> | null

When the resolution SLA clock runs out. Null under the same rule.

sla_first_breached_at
string<date-time> | null

Stamped once by the SLA sweep, in the same transaction as conversation.sla_breached — a late answer does not clear it.

sla_resolution_breached_at
string<date-time> | null
created_at
string<date-time>
updated_at
string<date-time>