> ## Documentation Index
> Fetch the complete documentation index at: https://apidocs.neetodesk.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List tickets

> Retrieves a list of tickets in a workspace.


<Info>Replace `{your-subdomain}` with your workspace's subdomain. <br /> Learn how to find your subdomain in [Workspace subdomain](/api/workspace-subdomain).</Info>


## OpenAPI

````yaml bundled/tickets.yaml GET /tickets
openapi: 3.0.3
info:
  title: NeetoDesk APIs
  version: 2.0.0
servers:
  - description: NeetoDesk APIs
    url: https://{your-subdomain}.neetodesk.com/api/external/v2
    variables:
      your-subdomain:
        default: spinkart
        description: >-
          Replace **spinkart** with your [workspace's
          subdomain](/api/workspace-subdomain).
security: []
paths:
  /tickets:
    get:
      summary: List all tickets
      description: |
        Retrieves a list of tickets in a workspace.
      parameters:
        - $ref: '#/components/parameters/page_number_param'
        - $ref: '#/components/parameters/page_size_param'
        - $ref: '#/components/parameters/api_key_header'
        - in: query
          name: status
          schema:
            type: string
            example: open
          description: >
            Filter tickets by their status. Accepts comma-separated values for
            multiple statuses. Default statuses include: `new`, `open`,
            `waiting_on_customer`, `on_hold`, `closed`, `spam`, `trash`. Custom
            statuses created in your organization are also supported. If
            omitted, tickets of all statuses are returned.
        - in: query
          name: external_id
          schema:
            type: string
            example: CP-1234
          description: >
            Return only the ticket carrying this `external_id`. Used by an
            importer to

            check whether a source record has already been created before
            posting it again.
        - in: query
          name: customer_id
          schema:
            type: string
            example: aaaabbbb-cccc-dddd-eeee-ffff00002222
          description: >
            Return only tickets belonging to the customer with this
            `customer_id`.
        - in: query
          name: customer_email
          schema:
            type: string
            example: oliver@example.com
          description: >
            Return only tickets belonging to the customer with this email
            address.
        - in: query
          name: assignee_id
          schema:
            type: string
            example: aaaabbbb-cccc-dddd-eeee-ffff00001111
          description: >
            Return only tickets assigned to the [team
            member](/api/team-members/list) with

            this `assignee_id`.
        - in: query
          name: assignee_email
          schema:
            type: string
            example: ethan@example.com
          description: >
            Return only tickets assigned to the [team
            member](/api/team-members/list) with

            this email address.
        - in: query
          name: field_name
          schema:
            type: string
            example: Browser
          description: >
            Return tickets that have the [custom ticket field](/api/fields/list)
            named in

            `field_name` set to the value passed in `field_value`.


            It must be passed together with `field_value` in order to filter
            tickets.
        - in: query
          name: field_value
          schema:
            type: string
            example: Chrome
          description: >
            Return tickets that have the [custom ticket field](/api/fields/list)
            named in

            `field_name` set to the value passed in `field_value`.


            It must be passed together with `field_name` in order to filter
            tickets.


            For fields of the `multi_option` kind, pass the options as a
            comma-separated

            string, such as `Chrome,Firefox`.
        - in: query
          name: range_type
          schema:
            type: string
            enum:
              - last_7_days
              - last_30_days
              - last_24_hours
              - this_week
              - last_week
              - this_month
              - last_month
              - this_quarter
              - last_quarter
              - this_year
              - last_year
              - all_time
              - custom
            example: last_30_days
          description: >
            Return only tickets created within this time range. Use `custom`
            together with

            `start_date` and `end_date` for an exact range.
        - in: query
          name: start_date
          schema:
            type: string
            format: date
            example: '2025-10-01'
          description: >-
            Start date for custom date range (YYYY-MM-DD format). Required when
            `range_type` is `custom`.
        - in: query
          name: end_date
          schema:
            type: string
            format: date
            example: '2025-10-31'
          description: >-
            End date for custom date range (YYYY-MM-DD format). Required when
            `range_type` is `custom`.
        - in: query
          name: sort
          schema:
            type: string
            enum:
              - created_at
              - updated_at
            example: created_at
          description: >
            Column to sort tickets by. If omitted, no sort is applied and
            tickets are returned in database order.
        - in: query
          name: order
          schema:
            type: string
            enum:
              - asc
              - desc
            default: asc
            example: desc
          description: >
            Direction to sort tickets in when `sort` is provided. Defaults to
            `asc` if omitted.
      responses:
        '200':
          description: OK - Request succeeded
          content:
            application/json:
              schema:
                type: object
                properties:
                  tickets:
                    type: array
                    items:
                      $ref: '#/components/schemas/Ticket'
                  pagination:
                    $ref: '#/components/schemas/Pagination'
components:
  parameters:
    page_number_param:
      in: query
      name: page_number
      description: >-
        Page of results to retrieve, starting from 1. Defaults to 1 when
        omitted.
      required: false
      schema:
        type: integer
    page_size_param:
      in: query
      name: page_size
      description: Number of results per page. Defaults to 30 when omitted.
      required: false
      schema:
        type: integer
    api_key_header:
      in: header
      name: X-Api-Key
      description: >-
        Use the X-Api-Key header to provide your workspace API key. Refer to
        [Authentication](/api/authentication) for more information.
      required: true
      schema:
        type: string
        default: your-api-key
  schemas:
    Ticket:
      type: object
      properties:
        id:
          type: string
          example: aaaabbbb-cccc-dddd-eeee-ffff00003333
        number:
          type: integer
          example: 33
        subject:
          type: string
          example: How to resolve the pending payments
        description:
          type: string
          description: HTML content of the ticket description.
          example: I need your help in resolving the pending payments.
        priority:
          type: string
          example: low
        status:
          type: string
          example: open
        created_at:
          type: string
          format: date-time
          readOnly: true
          description: Timestamp when the ticket was created.
          example: '2025-12-01T10:15:00Z'
        updated_at:
          type: string
          format: date-time
          readOnly: true
          description: Timestamp when the ticket was last updated.
          example: '2025-12-05T14:30:00Z'
        external_id:
          type: string
          nullable: true
          readOnly: true
          description: >-
            Identifier for this ticket in the system it was imported from, if
            one was supplied.
          example: CP-1234
        source:
          type: string
          nullable: true
          readOnly: true
          description: Name of the system `external_id` refers to.
          example: concierge_plus
        category:
          type: string
          nullable: true
          example: Problem
        sub_category_one:
          type: string
          nullable: true
          example: Billing
        sub_category_two:
          type: string
          nullable: true
          example: Refund
        group:
          type: string
          nullable: true
          description: Name of the assigned group.
          example: Sales
        tags:
          type: array
          items:
            type: string
          example:
            - refund
            - urgent
        assignee:
          $ref: '#/components/schemas/Assignee'
          nullable: true
          description: The assigned team member. `null` if unassigned.
        customer:
          $ref: '#/components/schemas/Customer'
          nullable: true
        fields:
          type: array
          description: Custom ticket field values.
          items:
            $ref: '#/components/schemas/TicketField'
    Pagination:
      type: object
      properties:
        total_records:
          type: integer
          example: 95
        total_pages:
          type: integer
          example: 4
        current_page_number:
          type: integer
          example: 1
        page_size:
          type: integer
          example: 30
    Assignee:
      type: object
      properties:
        id:
          type: string
          example: aaaabbbb-cccc-dddd-eeee-ffff00001111
        name:
          type: string
          example: Oliver Smith
        email:
          type: string
          example: oliver@example.com
    Customer:
      type: object
      properties:
        id:
          type: string
          example: aaaabbbb-cccc-dddd-eeee-ffff00002222
        name:
          type: string
          example: John Luther
        email:
          type: string
          example: john@example.com
        phone_numbers:
          type: array
          items:
            type: string
          example:
            - '+1234567890'
    TicketField:
      type: object
      properties:
        field_name:
          type: string
          example: Country
        field_value:
          type: string
          example: USA

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.