---
title: "List helpdesk tickets"
method: GET
path: "/v1/helpdesk-tickets"
tags: ["helpdesk_tickets"]
---

# List helpdesk tickets

`GET /v1/helpdesk-tickets`

Returns cursor-paginated helpdesk tickets mirrored from the workspace's helpdesk integrations (Zendesk, Pylon, Plain). Filter by `status`, `channel`, or `connection_id`.

## Query parameters

- `workspace_id` string, required — Workspace to query.
- `limit` integer — Page size. Defaults to 20. Max 100.
- `cursor` string — Pagination cursor returned as `next_cursor` on the previous page.
- `order` 'asc' | 'desc' — Sort direction over last external update time. Defaults to `desc`.
- `status` string — Filter by helpdesk status. Values depend on the upstream helpdesk system (examples: `open`, `new`, `pending`, `solved`, `closed`).
- `channel` string — Filter by the channel the ticket arrived on (examples: `email`, `web`, `chat`).
- `connection_id` string — Filter to tickets from a single helpdesk connection (Zendesk/Pylon/Plain instance).

## Response `200`

Helpdesk tickets

- object — Cursor-paginated helpdesk tickets response.
  - `data` object[], required
    - `id` string, required
    - `workspace_id` string, required
    - `contact_id` string, nullable, required
    - `ticket_id` string, nullable, required — Conduit inbox ticket id when the helpdesk ticket has been linked to a native conversation, otherwise null.
    - `connection_id` string, required
    - `external_ticket_id` string, required
    - `external_group_id` string, nullable, required
    - `external_assignee_id` string, nullable, required
    - `subject` string, required
    - `description` string, nullable, required
    - `status` string, required
    - `priority` string, nullable, required
    - `type` string, nullable, required
    - `channel` string, nullable, required
    - `tags` string[], required
    - `requester` object, required
      - `external_id` string, required
      - `name` string, required
      - `email` string, nullable, required
    - `last_external_update_at` string, required
    - `created_at` string, required
  - `next_cursor` string, nullable, required
  - `has_more` boolean, required

## Other responses

- `400` — Invalid request
- `401` — Unauthorized
- `403` — Forbidden
- `429` — Rate limit exceeded

---

[API](https://skmtc.dev/conduit/apis/conduit-api.md) · [All operations](https://skmtc.dev/conduit/apis/conduit-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/conduit/conduit-api/revisions/3ad7e17f96ad/schema)
