How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

PostHog conversations API

The conversations API from PostHog — 14 operation(s) for conversations.

PostHog conversations API is one of 139 APIs that PostHog publishes on the APIs.io network, described by a machine-readable OpenAPI specification and an AsyncAPI event-driven specification.

Tagged areas include Conversations. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, a getting-started guide, authentication docs, and an AsyncAPI specification.

This API exposes 23 operations across 14 paths, and defines 31 schemas. It is described by OpenAPI 3.2.0, at version 1.0.0.

Requests are made against a single base URL, https://app.posthog.com/api.

23 operations 14 paths 31 schemas 3 DELETE8 GET3 PATCH8 POST1 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
1.0.0
Base URL
https://app.posthog.com/api
Authentication
HTTP Bearer
Resource Areas
1

Authentication & Security 1

PostHog conversations API declares 1 security scheme for authenticating requests. It accepts HTTP bearer tokens (PersonalAPIKeyAuth).

Paths & Operations 23

Across 14 paths, the API surfaces 23 operations — 3 DELETE, 8 GET, 3 PATCH, 8 POST, 1 PUT. Each is listed below with its method, path, parameters, and response codes.

conversations 23
GET
/api/environments/{project_id}/conversations/
conversations_list 3 params → 200
POST
/api/environments/{project_id}/conversations/
Unified endpoint that handles both conversation creation and streaming. - If message is provided: Start new conversation processing - If no message: Stream from existing conversation
conversations_create 1 param body → 201
GET
/api/environments/{project_id}/conversations/{conversation}/
conversations_retrieve 2 params → 200
POST
/api/environments/{project_id}/conversations/{conversation}/append_message/
Appends a message to an existing conversation without triggering AI processing. This is used for client-side generated messages that need to be persisted (e.g., support ticket confirmation messages).
conversations_append_message_create 2 params body → 200
PATCH
/api/environments/{project_id}/conversations/{conversation}/cancel/
conversations_cancel_partial_update 2 params body → 200
GET
/api/environments/{project_id}/conversations/{conversation}/queue/
conversations_queue_retrieve 2 params → 200
POST
/api/environments/{project_id}/conversations/{conversation}/queue/
conversations_queue_create 2 params body → 200
PATCH
/api/environments/{project_id}/conversations/{conversation}/queue/{queue_id}/
conversations_queue_partial_update 3 params body → 200
DELETE
/api/environments/{project_id}/conversations/{conversation}/queue/{queue_id}/
conversations_queue_destroy 3 params → 204
POST
/api/environments/{project_id}/conversations/{conversation}/queue/clear/
conversations_queue_clear_create 2 params body → 200
GET
/api/environments/{project_id}/conversations/views/
conversations_views_list 3 params → 200
POST
/api/environments/{project_id}/conversations/views/
conversations_views_create 1 param body → 201
GET
/api/environments/{project_id}/conversations/views/{short_id}/
conversations_views_retrieve 2 params → 200
DELETE
/api/environments/{project_id}/conversations/views/{short_id}/
conversations_views_destroy 2 params → 204
GET
/api/projects/{project_id}/conversations/tickets/
List tickets with person data attached.
conversations_tickets_list 15 params → 200
POST
/api/projects/{project_id}/conversations/tickets/
conversations_tickets_create 1 param body → 201
GET
/api/projects/{project_id}/conversations/tickets/{id}/
Get single ticket and mark as read by team.
conversations_tickets_retrieve 2 params → 200
PUT
/api/projects/{project_id}/conversations/tickets/{id}/
Handle ticket updates including assignee changes.
conversations_tickets_update 2 params body → 200
PATCH
/api/projects/{project_id}/conversations/tickets/{id}/
conversations_tickets_partial_update 2 params body → 200
DELETE
/api/projects/{project_id}/conversations/tickets/{id}/
conversations_tickets_destroy 2 params → 204
POST
/api/projects/{project_id}/conversations/tickets/{id}/suggest_reply/
conversations_tickets_suggest_reply_create 2 params → 200400403500
POST
/api/projects/{project_id}/conversations/tickets/bulk_update_tags/
Bulk update tags on multiple objects. Accepts: - {"ids": [...], "action": "add"|"remove"|"set", "tags": ["tag1", "tag2"]} Actions: - "add": Add tags to existing tags on each object - "remove": Remove…
conversations_tickets_bulk_update_tags_create 1 param body → 200
GET
/api/projects/{project_id}/conversations/tickets/unread_count/
Get total unread ticket count for the team. Returns the sum of unreadteamcount for all non-resolved tickets. Cached in Redis for 30 seconds, invalidated on changes.
conversations_tickets_unread_count_retrieve 1 param → 200

Schemas 31

The contract defines 31 schemas that model the data the API accepts and returns. The most detailed are Ticket (31 properties), PatchedTicket (31 properties), Conversation (15 properties), PatchedConversation (15 properties). Each schema is shown below with its type and property counts.

TicketView
object
6 properties 5 required
PaginatedConversationMinimalList
object
4 properties 2 required
NullEnum
ConversationType
string
assistant - Assistant toolcall - Tool call deepresearch - Deep research slack - Slack
PatchedConversation
object
15 properties
PatchedTicket
object
Serializer mixin that handles tags for objects.
31 properties
MessageMinimal
object
Serializer for appending a message to an existing conversation without triggering AI processing.
1 property 1 required
BulkUpdateTagsResponse
object
2 properties 2 required
ChannelDetailEnum
string
slackchannelmessage - Channel message slackbotmention - Bot mention slackemojireaction - Emoji reaction teamschannelmessage - Teams channel message teamsbotmen…
BulkUpdateTagsError
object
2 properties 2 required
ConversationMinimal
object
10 properties 10 required
ActionEnum
string
add - add remove - remove set - set
BulkUpdateTagsRequest
object
3 properties 3 required
TicketAssignment
object
Serializer for ticket assignment (user or role).
4 properties 4 required
PaginatedTicketList
object
4 properties 2 required
AgentModeEnum
string
productanalytics - productanalytics sql - sql sessionreplay - sessionreplay errortracking - errortracking plan - plan execution - execution survey - survey res…
Ticket
object
Serializer mixin that handles tags for objects.
31 properties 23 required
SuggestReplyError
object
2 properties 1 required
TicketPerson
object
Minimal person serializer for embedding in ticket responses.
6 properties 6 required
TicketStatusEnum
string
new - New open - Open pending - Pending onhold - On hold resolved - Resolved
ConversationStatus
string
idle - Idle inprogress - In progress canceling - Canceling
BulkUpdateTagsItem
object
2 properties 2 required
Conversation
object
15 properties 15 required
UserBasic
object
9 properties 4 required
PriorityEnum
string
low - Low medium - Medium high - High
BlankEnum
RoleAtOrganizationEnum
string
engineering - Engineering data - Data product - Product Management founder - Founder leadership - Leadership marketing - Marketing sales - Sales / Success othe…
ChannelSourceEnum
string
widget - Widget email - Email slack - Slack teams - Microsoft Teams
Message
object
Serializer for appending a message to an existing conversation without triggering AI processing.
10 properties 3 required
PaginatedTicketViewList
object
4 properties 2 required
SuggestReplyResponse
object
1 property 1 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

posthog-conversations-api-openapi.yml Raw ↑

Other APIs PostHog publishes across the network.

PostHog Capture API
PostHog Query API
PostHog Persons API
PostHog Feature Flags API
PostHog Experiments API
PostHog Insights API
PostHog Cohorts API
PostHog Annotations API
PostHog actions API
PostHog activity_log API
PostHog activity_logs API
PostHog advanced_activity_logs API
Where this information came from

This is an independent, third-party profile of PostHog conversations API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.