Tickets API
GET/api/v1/tickets
Product availabilityAlgaPSAAlgaDesk

List tickets

Lists tickets via ApiTicketController.list() with authorization-aware pagination. `sort` is validated against an allowlist (unknown values return 400) and supports latest_activity_at, which is also selectable through `fields`.

RBAC · ticket

Query parameters

pagestringOptional
limitstringOptional
sortstringOptional
Sort field. Defaults to entered_at. `created_at` is a legacy alias for `entered_at` (tickets have no created_at column). `latest_activity_at` orders by the newest of the ticket's own timestamps and its newest visible comment; for client-portal callers only client-visible comments count. Ties break on ticket_id descending. Any other value is rejected with 400.
orderstringOptional
fieldsstringOptional
Comma-separated response fields. Accepts ticket_id, ticket_number, title, status_id, status_name, status_is_closed, priority_name, assigned_to_name, client_name, contact_name, updated_at, entered_at, closed_at, latest_activity_at, tags, master_ticket_id, bundle_master_ticket_number, bundle_child_count, or the mobile_list preset. Unknown names are rejected with 400.
searchstringOptional
querystringOptional

Response body

Success response 200 · schema WorkV1ApiPaginated

dataarray of objectRequired
itemsobject
paginationobjectRequired
pageintegerRequired
limitintegerRequired
totalintegerRequired
totalPagesintegerRequired
hasNextbooleanRequired
hasPrevbooleanRequired
metaobject

Response codes

200
Collection response returned.
400
Validation or request parsing failure.
401
API key missing/invalid or associated user missing.
403
RBAC denied for ticket resource action.
500
Unexpected controller/service failure.