List tickets with person data attached.
Request
- Base URL: https://us.posthog.com
- URL: https://us.posthog.com/api/projects/{project_id}/conversations/tickets/
- Auth: HTTP bearer
Path parameters
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
Query parameters
Filter by AI triage outcome. Accepts a single value or a comma-separated list. Valid values: persisted, suggested, escalated_with_findings, escalated_with_best, escalated_no_reply, skipped_unactionable, blocked_unsafe, blocked_unsafe_reply, clarified, suggested_clarification, in_progress.
Filter by assignee. Accepts a single value or a comma-separated list (matches any, max 100 entries). Each entry is unassigned (no assignee), me (the requesting user), user:<user_id>, or role:<role_uuid>, e.g. assignee=unassigned,user:123.
Filter by the channel sub-type (e.g. widget_embedded, slack_bot_mention).
Filter by the channel the ticket originated from.
Only include tickets updated on or after this date. Accepts absolute dates (2026-01-01) or relative ones (-7d, -1mStart). Pass all to disable the filter.
Only include tickets updated on or before this date. Same format as date_from.
Comma-separated list of person distinct_ids to filter by (max 100).
Comma-separated list of email addresses to filter by, matched case-insensitively against email_from (max 100). When combined with distinct_ids, tickets matching either the distinct_ids or the emails are returned (OR).
Number of results to return per page.
The initial index from which to return the results.
Sort order. Prefix with - for descending. Defaults to -updated_at.
Filter by priority. Accepts a single value or a comma-separated list (e.g. medium,high). Valid values: low, medium, high, critical.
Free-text search. A numeric value (optionally prefixed with #) matches a ticket number exactly; otherwise matches against the customer's name or email, the email subject, or message content (case-insensitive, partial match).
Filter by SLA state. breached = past sla_due_at, at-risk = due within the next hour, on-track = more than an hour remaining.
Filter by snooze state: true returns only snoozed tickets, false only non-snoozed.
Filter by status. Accepts a single value or a comma-separated list (e.g. new,open,pending). Valid values: new, open, pending, on_hold, resolved.
JSON-encoded array of tag names; returns tickets with ANY of them (OR), e.g. ["billing","urgent"].
JSON-encoded array of tag names; returns tickets that have ALL of them (AND), e.g. ["billing","urgent"].
JSON-encoded array of tag names; returns tickets that have NONE of them (NOT), e.g. ["escalated"].
Apply a saved ticket view's filters by its short_id (list views via the conversations/views endpoint). Any filter param passed explicitly overrides the view's saved value for that dimension. Returns 400 if no view matches.
Response
Example response
{
"count": 123,
"next": "http://api.example.org/accounts/?offset=400&limit=100",
"previous": "http://api.example.org/accounts/?offset=200&limit=100"
}Changes
No recorded changes to this operation across all 1 revision of this API.