AuralisDocs
OperationsTickets

List and filter the ticket queue

Page the ticket queue with any combination of status, priority, source, assignee, team, customer, overdue and free-text filters.

/v1/ticketsViewer
Operation id
list_tickets
Access
Any workspace role can call this.
GET/v1/tickets

Page the ticket queue with any combination of status, priority, source, assignee, team, customer, overdue and free-text filters.

Use this to find tickets. Ordering is priority first (urgent to low), then most recently updated, then id. That is stable enough that a paged traversal returns each ticket exactly once.

Filters combine with AND, and a filter that takes a list matches any value in it. So status=open&status=pending&priority=urgent means "open or pending, and urgent". overdue=false asks for the tickets that are not overdue, not for all tickets.

total and breach_count describe the filtered set. counts and source_counts are deliberately unfiltered, because they power filter chips, which must show what selecting them would yield.

Page with limit and offset. limit is 1 to 500 and defaults to 50.

assignee accepts a user id or one of two sentinels: me, meaning the calling user, and unassigned. team_id accepts a team id or none.

An unknown value in status, priority or source is a 400 naming which one, rather than an empty result that looks like "no tickets".

Tenancy: the request is scoped to one workspace, and the credential presented is what selects it. A caller with no membership in that workspace is refused with 404, which is indistinguishable from a workspace that does not exist.

Authorisation: any workspace role, including viewer. Reads are open to every member.

Access: Authorization: Bearer carrying either a realm access token or an API key. A key must hold the tickets:read scope, and the workspace role of the person who owns it must meet the floor above.

Authorization

AuthorizationBearer <token>

A realm-issued access token, presented as Authorization: Bearer <token>. It acts as the person who signed in, and every operation resolves their workspace role live from the membership record.

In: header

Query Parameters

status?array<string>|null
priority?array<string>|null
source?array<string>|null
assignee?string|null
team_id?string|null
customer_id?string|null
overdue?boolean|null
q?|null
limit?Limit
Range1 <= value <= 500
Default50
offset?Offset
Range0 <= value <= 2147483647
Default0

Response Body

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/v1/tickets"
{  "tickets": [    {      "id": "5e8b0c31-7a4d-4f92-b6c8-1d3e2a5f7b90",      "subject": "Card declined at checkout",      "description": "Customer's Visa is declined on every attempt since Tuesday.",      "status": "open",      "priority": "high",      "source": "email",      "assignee_id": "3fe98b76-2409-5003-b75a-93e56b450433",      "assignee_name": "Dana Osei",      "customer_id": "9f1d6c4e-6b6e-4b31-9a5b-2f1c9a4d5e60",      "customer_name": "Sam Okafor",      "customer_email": "sam.okafor@northwind.example",      "team_id": "d907a188-148a-5522-82a6-55798ccdecb6",      "team_name": "Billing",      "tags": [        "billing",        "vip"      ],      "metadata": {        "order_id": "A-1042"      },      "first_response_due": "2026-08-14T12:20:00+00:00",      "resolution_due": "2026-08-15T10:20:00+00:00",      "sla_breached": false,      "sla_policy_id": "b6a0f2d7-4c19-4e63-8f52-7a1b9c0d3e46",      "created_at": "2026-08-14T10:20:00+00:00",      "updated_at": "2026-08-14T10:20:00+00:00",      "legal_next_states": [        "closed",        "on_hold",        "pending",        "solved",        "spam"      ]    }  ],  "total": 1,  "counts": {    "open": 34,    "pending": 12,    "on_hold": 3,    "solved": 208,    "closed": 1174  },  "source_counts": {    "email": 903,    "web_widget": 402,    "manual": 88,    "api": 41  },  "breach_count": 0}