---
title: "List tickets"
method: GET
path: "/tickets"
tags: ["Tickets"]
---

# List tickets

`GET /tickets`

## Request

- Base URL: `https://there-there.app/api`
- URL: `https://there-there.app/api/tickets`
- Auth: HTTP bearer

## Query parameters

- `filter[status]` string
- `filter[tag_ulids]` string
- `filter[channel_ulids]` string
- `filter[custom_fields][{customFieldUlid}]` string
- `include` string
- `filter[assigned_to_me]` boolean
- `filter[unassigned]` boolean
- `filter[assigned_user_ulid]` string
- `filter[search]` string
- `q` string
- `sort` 'created_at' | '-created_at' | 'updated_at' | '-updated_at' | 'last_activity_at' | '-last_activity_at'
- `per_page` integer
- `page` integer

## Headers

- `X-Workspace-Id` integer

## Response `200`

Paginated list of tickets

- PaginatedTickets
  - `data` Ticket[]
    - `id` integer
    - `ulid` string
    - `number` integer
    - `subject` string
    - `status` 'open' | 'waiting' | 'closed' | 'spam'
    - `channel` Channel
      - `id` integer
      - `ulid` string
      - `name` string
      - `type` 'email' | 'widget'
      - `color` string
      - `email_address` string, nullable
    - `assignee` User
      - `id` integer
      - `name` string
      - `email` string, email
      - `avatar_url` string, nullable
      - `timezone` string, nullable
    - `assigned_team` Team
      - `id` integer
      - `ulid` string
      - `name` string
      - `description` string, nullable
      - `logo_url` string, nullable
      - `member_count` integer
    - `contact` Contact
      - `id` integer
      - `ulid` string
      - `name` string, nullable
      - `email` string, email
      - `avatar_url` string, nullable
      - `company` ContactCompany
        - `ulid` string
        - `name` string
        - `domain` string, nullable
      - `ticket_count` integer, nullable
      - `last_activity_at` string, date-time, nullable
      - `notes` string, nullable
    - `tags` Tag[]
      - `id` integer
      - `ulid` string
      - `name` string
      - `color` string
    - `custom_fields` TicketCustomField[]: Every custom field that applies to this ticket's channel, whether or not it holds a value. Returned on GET /tickets/{ticket} and on every ticket write response; omitted from the paginated list.
      - `ulid` string
      - `name` string
      - `type` 'text' | 'single_select' | 'multi_select'
      - `value` string, nullable: Set for text fields only; null for the two select types.
      - `selected_option_ulids` string[]: Empty for text fields and for select fields with no value.
      - `options` TicketCustomFieldOption[]: The options an admin defined, in the order they arranged them. Empty for text fields.
        - `ulid` string
        - `name` string
        - `color` string, nullable
        - `icon` string, nullable
    - `latest_message_preview` string, nullable
    - `summary` string, nullable
    - `title` string, nullable
    - `from_address` string, nullable
    - `created_at` string, date-time
    - `updated_at` string, date-time
    - `last_activity_at` string, date-time
  - `meta` PaginationMeta
    - `current_page` integer
    - `last_page` integer
    - `per_page` integer
    - `total` integer
  - `links` PaginationLinks
    - `first` string, nullable
    - `last` string, nullable
    - `prev` string, nullable
    - `next` string, nullable

## Other responses

- `401`: Missing or invalid token
- `422`: Validation failed

---

[API](https://skmtc.dev/there-there/apis/there-there-api.md) · [All operations](https://skmtc.dev/there-there/apis/there-there-api/llms.txt) · [OpenAPI document](https://skmtc.dev/there-there/apis/there-there-api/revisions/1811fb0febc1?raw)
