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.