Tickets
The Tickets API provides CRUD access to support tickets plus status, archive/restore, tags and the reply conversation.New to the API? Start with Getting started (base URL, response envelope, errors, pagination) and Authentication (API keys).
Identifier note: tickets are addressed by their numeric ticket_id.
A ticket belongs to a department and a client. The department is a category of type
ticket. Tickets are created in client mode (an existing client). The web’s email/IMAP
“new user” ingestion is out of API scope.
Silent semantics. Creating tickets and posting replies records the data and updates the ticket, but does not fire the web’s events/notifications, send the event-driven client emails, or trigger web→IMAP conversion (consistent with the rest of the API).
Scope: file attachments (upload/download), canned responses, sticky notes, pinning, bulk actions, inbound IMAP/email threading and the history view are out of API scope.
The ticket object
| Field | Type | Notes |
|---|---|---|
id | integer | Ticket id. |
subject / message | string | The opening message. |
status | object | { id, title } (1 Open, 2 Closed, 3 On Hold, 4 Answered, 5 Customer Replied). |
priority | string | normal, high or urgent. |
source | string | web or email (set automatically). |
active_state | string | active or archived. |
department | object | The category (type ticket). |
client / project_id | object/int | Links. |
replies_count | int | Number of replies. |
tags | array | Tag titles. |
List / search tickets
status, priority, category_id, client_id, project_id, active_state,
search, tags[], sort (ticket_created,ticket_last_updated,ticket_priority,ticket_status),
order, limit, page.
Get a ticket
Create a ticket
| Parameter | Type | Required | Notes |
|---|---|---|---|
ticket_clientid | integer | yes | Existing client. |
ticket_categoryid | integer | yes | A department (category of type ticket). |
ticket_projectid | integer | no | Must belong to the client. |
ticket_subject | string | yes | |
ticket_message | string | yes | |
ticket_priority | string | yes | normal, high or urgent. |
| custom fields | mixed | varies | Any enabled ticket custom fields (required ones are enforced). |
201).
Update a ticket
| Parameter | Type | Required |
|---|---|---|
ticket_categoryid | integer | yes |
ticket_projectid | integer | no |
ticket_subject | string | yes |
ticket_message | string | yes |
ticket_priority | string | yes |
Delete a ticket
Change status
| Parameter | Type | Notes |
|---|---|---|
status | integer | A ticketstatus_id (1 Open, 2 Closed, 3 On Hold, 4 Answered, 5 Customer Replied). |
Archive / restore
Set tags
The conversation (replies)
| Parameter | Type | Required | Notes |
|---|---|---|---|
ticketreply_text | string | yes | The message. |
ticketreply_type | string | no | reply (default) or note. |
201). Posting a reply updates the ticket’s last-updated timestamp but
does not send a client email (silent semantics).
Errors
See Getting started. Ticket-specific:| Status | Meaning |
|---|---|
404 Not Found | The ticket (or reply) id does not exist. |
422 Unprocessable Entity | Validation failed (missing fields, non-ticket department, invalid priority/status, or a project that does not belong to the client). |