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.View response fields
Each view inGET /views includes:
Unfiltered list
Omitview_id to list all organization tickets (subject to pagination):
Sort order
Ticket list results are sorted bycreated_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.
view_id values return 404 VIEW_NOT_FOUND (not 403), including cross-org IDs and views hidden from the linked agent.
Optional expansion
Passinclude=ticket_fields on GET /tickets or GET /tickets/:ticketNumber to include custom ticket field values in the response.
Related
- Agent tool examples — “open tickets last 7 days” and view count patterns
- Inbox views and filters — create and manage views in the product