Skip to main content

Update a ticket

Updates a ticket. Send exactly one intent per request: change status (solved/closed resolves, open reopens), add a comment, assign a category/group_id, reassign via assignedTo/assignee_id, set customFields, or replace tags. Reopening creates a new ticket linked to the old one and returns it along with previousTicketId.

Path Parameters
id string — REQUIRED

The ticket ID.

Query Parameters
bot string — REQUIRED

The unique ID of the bot.

Request Body — REQUIRED
status string

solved or closed resolves; open reopens. Other values (e.g. pending) return 422.

comment object
body string
public boolean

false posts an internal note; defaults to true (public reply).

category string

Group/category code. Alias group_id.

assignedTo string

Agent to reassign to. Alias assignee_id.

customFields object

Key-value custom fields; unknown keys are rejected.

tags string[]
Responses
200

Ticket updated. For a reopen, the body also includes previousTicketId.

Schema — OPTIONAL
ticket object — OPTIONAL
previousTicketId string — OPTIONAL
400

No updatable field found, tags not an array, or an invalid/unknown custom field.

Schema — OPTIONAL
error string — OPTIONAL

Human-readable error message.

401

Missing/invalid API key.

Schema — OPTIONAL
error string — OPTIONAL

Human-readable error message.

404

Ticket or agent not found (e.g. reassigning to an unknown agent).

Schema — OPTIONAL
error string — OPTIONAL

Human-readable error message.

422

Unsupported status transition — accepted values are solved/closed (resolve) and open (reopen).

Schema — OPTIONAL
error string — OPTIONAL

Human-readable error message.

429

Rate limit exceeded.

Schema — OPTIONAL
error string — OPTIONAL

Human-readable error message.

500

Internal server error.

Schema — OPTIONAL
error string — OPTIONAL

Human-readable error message.