--- title: Ticket Types (LLM) description: GET /ticket-types - list a desk's ticket types for routing. --- # GET /ticket-types List every non-archived ticket type on the token's desk. Scope: `tickets:read`. Full URL: `https://.headoni.app/api/v1/ticket-types` Auth header: `Authorization: Bearer hd_` Use the returned `id` as `ticketTypeId` in `POST /tickets`. ## Example Request ```bash curl https://acme.headoni.app/api/v1/ticket-types \ -H "Authorization: Bearer hd_your_secret_here" ``` ## Success Response Status `200`. ```json { "ticketTypes": [ { "id": "1490100000000000001", "name": "Question", "isInternal": false, "isDefault": true }, { "id": "1490100000000000002", "name": "Incident", "isInternal": false, "isDefault": false }, { "id": "1490100000000000003", "name": "Task", "isInternal": true, "isDefault": false } ] } ``` ## Field Reference | field | type | notes | | --- | --- | --- | | id | string | pass as `ticketTypeId` on create | | name | string | display name (e.g. Question, Incident, Task) | | isInternal | boolean | true for internal-work types, not customer requests | | isDefault | boolean | the type used when `ticketTypeId` is omitted | Order: by sort order, ascending. ## Errors | status | error | cause | | --- | --- | --- | | 401 | unauthenticated | missing or invalid token | | 403 | insufficient_scope | token lacks `tickets:read` |