{ "opencollection": "1.0.0", "info": { "name": "PostHog actions conversations API", "version": "1.0.0" }, "items": [ { "info": { "name": "conversations", "type": "folder" }, "items": [ { "info": { "name": "conversations_list", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/environments/:project_id/conversations/", "params": [ { "name": "limit", "value": "", "type": "query", "description": "Number of results to return per page." }, { "name": "offset", "value": "", "type": "query", "description": "The initial index from which to return the results." }, { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } } }, { "info": { "name": "conversations_create", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/api/environments/:project_id/conversations/", "params": [ { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Unified endpoint that handles both conversation creation and streaming.\n\n- If message is provided: Start new conversation processing\n- If no message: Stream from existing conversation" }, { "info": { "name": "conversations_retrieve", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/environments/:project_id/conversations/:conversation/", "params": [ { "name": "conversation", "value": "", "type": "path", "description": "A UUID string identifying this conversation." }, { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } } }, { "info": { "name": "conversations_append_message_create", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/api/environments/:project_id/conversations/:conversation/append_message/", "params": [ { "name": "conversation", "value": "", "type": "path", "description": "A UUID string identifying this conversation." }, { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Appends a message to an existing conversation without triggering AI processing.\nThis is used for client-side generated messages that need to be persisted\n(e.g., support ticket confirmation messages)." }, { "info": { "name": "conversations_cancel_partial_update", "type": "http" }, "http": { "method": "PATCH", "url": "{{baseUrl}}/api/environments/:project_id/conversations/:conversation/cancel/", "params": [ { "name": "conversation", "value": "", "type": "path", "description": "A UUID string identifying this conversation." }, { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." } ], "body": { "type": "json", "data": "{}" } } }, { "info": { "name": "conversations_queue_retrieve", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/environments/:project_id/conversations/:conversation/queue/", "params": [ { "name": "conversation", "value": "", "type": "path", "description": "A UUID string identifying this conversation." }, { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." } ] } }, { "info": { "name": "conversations_queue_create", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/api/environments/:project_id/conversations/:conversation/queue/", "params": [ { "name": "conversation", "value": "", "type": "path", "description": "A UUID string identifying this conversation." }, { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." } ], "body": { "type": "json", "data": "{}" } } }, { "info": { "name": "conversations_queue_partial_update", "type": "http" }, "http": { "method": "PATCH", "url": "{{baseUrl}}/api/environments/:project_id/conversations/:conversation/queue/:queue_id/", "params": [ { "name": "conversation", "value": "", "type": "path", "description": "A UUID string identifying this conversation." }, { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." }, { "name": "queue_id", "value": "", "type": "path" } ], "body": { "type": "json", "data": "{}" } } }, { "info": { "name": "conversations_queue_destroy", "type": "http" }, "http": { "method": "DELETE", "url": "{{baseUrl}}/api/environments/:project_id/conversations/:conversation/queue/:queue_id/", "params": [ { "name": "conversation", "value": "", "type": "path", "description": "A UUID string identifying this conversation." }, { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." }, { "name": "queue_id", "value": "", "type": "path" } ] } }, { "info": { "name": "conversations_queue_clear_create", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/api/environments/:project_id/conversations/:conversation/queue/clear/", "params": [ { "name": "conversation", "value": "", "type": "path", "description": "A UUID string identifying this conversation." }, { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." } ], "body": { "type": "json", "data": "{}" } } }, { "info": { "name": "conversations_views_list", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/environments/:project_id/conversations/views/", "params": [ { "name": "limit", "value": "", "type": "query", "description": "Number of results to return per page." }, { "name": "offset", "value": "", "type": "query", "description": "The initial index from which to return the results." }, { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } } }, { "info": { "name": "conversations_views_create", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/api/environments/:project_id/conversations/views/", "params": [ { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } } }, { "info": { "name": "conversations_views_retrieve", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/environments/:project_id/conversations/views/:short_id/", "params": [ { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." }, { "name": "short_id", "value": "", "type": "path" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } } }, { "info": { "name": "conversations_views_destroy", "type": "http" }, "http": { "method": "DELETE", "url": "{{baseUrl}}/api/environments/:project_id/conversations/views/:short_id/", "params": [ { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." }, { "name": "short_id", "value": "", "type": "path" } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } } }, { "info": { "name": "conversations_tickets_list", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/projects/:project_id/conversations/tickets/", "params": [ { "name": "assignee", "value": "", "type": "query", "description": "Filter by assignee. Use `unassigned` for tickets with no assignee, `user:` for a specific user, or `role:` for a role." }, { "name": "channel_detail", "value": "", "type": "query", "description": "Filter by the channel sub-type (e.g. `widget_embedded`, `slack_bot_mention`)." }, { "name": "channel_source", "value": "", "type": "query", "description": "Filter by the channel the ticket originated from." }, { "name": "date_from", "value": "", "type": "query", "description": "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." }, { "name": "date_to", "value": "", "type": "query", "description": "Only include tickets updated on or before this date. Same format as `date_from`." }, { "name": "distinct_ids", "value": "", "type": "query", "description": "Comma-separated list of person `distinct_id`s to filter by (max 100)." }, { "name": "limit", "value": "", "type": "query", "description": "Number of results to return per page." }, { "name": "offset", "value": "", "type": "query", "description": "The initial index from which to return the results." }, { "name": "order_by", "value": "", "type": "query", "description": "Sort order. Prefix with `-` for descending. Defaults to `-updated_at`." }, { "name": "priority", "value": "", "type": "query", "description": "Filter by priority. Accepts a single value or a comma-separated list (e.g. `medium,high`). Valid values: `low`, `medium`, `high`." }, { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." }, { "name": "search", "value": "", "type": "query", "description": "Free-text search. A numeric value matches a ticket number exactly; otherwise matches against the customer's name or email (case-insensitive, partial match)." }, { "name": "sla", "value": "", "type": "query", "description": "Filter by SLA state. `breached` = past `sla_due_at`, `at-risk` = due within the next hour, `on-track` = more than an hour remaining." }, { "name": "status", "value": "", "type": "query", "description": "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`." }, { "name": "tags", "value": "", "type": "query", "description": "JSON-encoded array of tag names to filter by, e.g. `[\"billing\",\"urgent\"]`." } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "List tickets with person data attached." }, { "info": { "name": "conversations_tickets_create", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/api/projects/:project_id/conversations/tickets/", "params": [ { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } } }, { "info": { "name": "conversations_tickets_retrieve", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/projects/:project_id/conversations/tickets/:id/", "params": [ { "name": "id", "value": "", "type": "path", "description": "A UUID string identifying this ticket." }, { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Get single ticket and mark as read by team." }, { "info": { "name": "conversations_tickets_update", "type": "http" }, "http": { "method": "PUT", "url": "{{baseUrl}}/api/projects/:project_id/conversations/tickets/:id/", "params": [ { "name": "id", "value": "", "type": "path", "description": "A UUID string identifying this ticket." }, { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "docs": "Handle ticket updates including assignee changes." }, { "info": { "name": "conversations_tickets_partial_update", "type": "http" }, "http": { "method": "PATCH", "url": "{{baseUrl}}/api/projects/:project_id/conversations/tickets/:id/", "params": [ { "name": "id", "value": "", "type": "path", "description": "A UUID string identifying this ticket." }, { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." } ], "body": { "type": "json", "data": "{}" }, "auth": { "type": "bearer", "token": "{{bearerToken}}" } } }, { "info": { "name": "conversations_tickets_destroy", "type": "http" }, "http": { "method": "DELETE", "url": "{{baseUrl}}/api/projects/:project_id/conversations/tickets/:id/", "params": [ { "name": "id", "value": "", "type": "path", "description": "A UUID string identifying this ticket." }, { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." } ], "auth": { "type": "bearer", "token": "{{bearerToken}}" } } }, { "info": { "name": "conversations_tickets_suggest_reply_create", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/api/projects/:project_id/conversations/tickets/:id/suggest_reply/", "params": [ { "name": "id", "value": "", "type": "path", "description": "A UUID string identifying this ticket." }, { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." } ] } }, { "info": { "name": "conversations_tickets_bulk_update_tags_create", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/api/projects/:project_id/conversations/tickets/bulk_update_tags/", "params": [ { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Bulk update tags on multiple objects.\n\nAccepts:\n- {\"ids\": [...], \"action\": \"add\"|\"remove\"|\"set\", \"tags\": [\"tag1\", \"tag2\"]}\n\nActions:\n- \"add\": Add tags to existing tags on each object\n- \"remove\": Remove specific tags from each object\n- \"set\": Replace all tags on each object with the provided list" }, { "info": { "name": "conversations_tickets_unread_count_retrieve", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/api/projects/:project_id/conversations/tickets/unread_count/", "params": [ { "name": "project_id", "value": "", "type": "path", "description": "Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/." } ] }, "docs": "Get total unread ticket count for the team.\n\nReturns the sum of unread_team_count for all non-resolved tickets.\nCached in Redis for 30 seconds, invalidated on changes." } ] } ], "bundled": true }