Skip to main content

Release Agent Ticket

POST 

/api/support/agent/tickets/:ticket/release

Drops ownership: assignee and work.owner become null, the working state (work.phase, work.active_until) is cleared, and the ticket returns to the unassigned queue. The status and the stage are left alone. An internal released event is recorded with the reason. Releasing an unowned ticket is a no-op (still 200).

Required scope: support:write

Grant this scope to your token under Settings → Developer → Personal Access Tokens.

A human agent may release any claim. The AI agent may only release a ticket it owns — otherwise the request is refused with 409 not_owner.

Path parameters

  • ticket (integer) — the ticket id.

Request body (optional)

  • reason (string, nullable, max 40) — a short machine-friendly reason, e.g. needs_billing, out_of_scope. Default released.

The response is the updated ticket in the agent shape (see Get Agent Ticket for every field, including work).

Authentication: Bearer token with the support:write scope, or an authenticated session, from a caller with an active support role that can work tickets (the viewer role is read-only). No tenant context — this endpoint is central.

If this ticket was merged into another ticket, the request is refused with a 422 whose merged_into (id, number) names the live ticket — send the action there instead.

Request​

Responses​

OK

Response Headers
    Content-Type