Skip to main content
In Public API v1, view_id is the only way to filter ticket lists. Status, channel, priority, assignee, tags, and date ranges must be encoded in a saved inbox view in the product, then executed via the API.

Standard workflow

1

List views

GET /public/v1/views — returns each view’s id, name, count, and filters metadata.
2

Pick a view

Find the view that matches your use case (for example “Open — last 7 days” or “Returns”).
3

List tickets

GET /public/v1/tickets?view_id=<uuid> — returns tickets matching that view’s filters.
Example:

View response fields

Each view in GET /views includes:

Unfiltered list

Omit view_id to list all organization tickets (subject to pagination):
Use this sparingly for large workspaces — prefer saved views to keep result sets bounded.

Sort order

Ticket list results are sorted by created_at descending, then ticket id descending. This differs from the inbox UI default (latest activity). If your view depends on “most recently updated” ordering, account for that when comparing API results to the UI.

What is NOT supported in v1

Passing unknown query parameters returns 400 VALIDATION_ERROR.

View access rules

  • Agent-linked API keys — only views visible to that agent in the inbox.
  • Service keys (no linked agent) — all organization views.
Inaccessible view_id values return 404 VIEW_NOT_FOUND (not 403), including cross-org IDs and views hidden from the linked agent.

Optional expansion

Pass include=ticket_fields on GET /tickets or GET /tickets/:ticketNumber to include custom ticket field values in the response.