PostHog · Capability

PostHog API — conversations

PostHog API — conversations. 27 operations. Lead operation: conversations. Self-contained Naftiko capability covering one Posthog business surface.

Run with Naftiko Posthogconversations

What You Can Do

GET
Conversationslist — conversationslist
/v1/api/environments/{project-id}/conversations
POST
Conversationscreate — Unified endpoint that handles both conversation creation and streaming.
/v1/api/environments/{project-id}/conversations
GET
Conversationsviewslist — conversationsviewslist
/v1/api/environments/{project-id}/conversations/views
GET
Conversationsviewslist — conversationsviewslist
/v1/api/environments/{project-id}/conversations/views
POST
Conversationsviewscreate — conversationsviewscreate
/v1/api/environments/{project-id}/conversations/views
POST
Conversationsviewscreate — conversationsviewscreate
/v1/api/environments/{project-id}/conversations/views
GET
Conversationsviewsretrieve — conversationsviewsretrieve
/v1/api/environments/{project-id}/conversations/views/{short-id}
GET
Conversationsviewsretrieve — conversationsviewsretrieve
/v1/api/environments/{project-id}/conversations/views/{short-id}
DELETE
Conversationsviewsdestroy — conversationsviewsdestroy
/v1/api/environments/{project-id}/conversations/views/{short-id}
DELETE
Conversationsviewsdestroy — conversationsviewsdestroy
/v1/api/environments/{project-id}/conversations/views/{short-id}
GET
Conversationsretrieve — conversationsretrieve
/v1/api/environments/{project-id}/conversations/{conversation}
POST
Conversationsappendmessagecreate — Appends a message to an existing conversation without triggering AI processing.
/v1/api/environments/{project-id}/conversations/{conversation}/append-message
PATCH
Conversationscancelpartialupdate — conversationscancelpartialupdate
/v1/api/environments/{project-id}/conversations/{conversation}/cancel
GET
Conversationsqueueretrieve — conversationsqueueretrieve
/v1/api/environments/{project-id}/conversations/{conversation}/queue
POST
Conversationsqueuecreate — conversationsqueuecreate
/v1/api/environments/{project-id}/conversations/{conversation}/queue
POST
Conversationsqueueclearcreate — conversationsqueueclearcreate
/v1/api/environments/{project-id}/conversations/{conversation}/queue/clear
PATCH
Conversationsqueuepartialupdate — conversationsqueuepartialupdate
/v1/api/environments/{project-id}/conversations/{conversation}/queue/{queue-id}
DELETE
Conversationsqueuedestroy — conversationsqueuedestroy
/v1/api/environments/{project-id}/conversations/{conversation}/queue/{queue-id}
GET
Conversationsticketslist — List tickets with person data attached.
/v1/api/projects/{project-id}/conversations/tickets
POST
Conversationsticketscreate — conversationsticketscreate
/v1/api/projects/{project-id}/conversations/tickets
POST
Conversationsticketsbulkupdatetagscreate — Bulk update tags on multiple objects.
/v1/api/projects/{project-id}/conversations/tickets/bulk-update-tags
GET
Conversationsticketsunreadcountretrieve — Get total unread ticket count for the team.
/v1/api/projects/{project-id}/conversations/tickets/unread-count
GET
Conversationsticketsretrieve — Get single ticket and mark as read by team.
/v1/api/projects/{project-id}/conversations/tickets/{id}
PUT
Conversationsticketsupdate — Handle ticket updates including assignee changes.
/v1/api/projects/{project-id}/conversations/tickets/{id}
PATCH
Conversationsticketspartialupdate — conversationsticketspartialupdate
/v1/api/projects/{project-id}/conversations/tickets/{id}
DELETE
Conversationsticketsdestroy — conversationsticketsdestroy
/v1/api/projects/{project-id}/conversations/tickets/{id}
POST
Conversationsticketssuggestreplycreate — conversationsticketssuggestreplycreate
/v1/api/projects/{project-id}/conversations/tickets/{id}/suggest-reply

MCP Tools

conversationslist

conversationslist

read-only idempotent
unified-endpoint-that-handles-both

Unified endpoint that handles both conversation creation and streaming.

conversationsviewslist

conversationsviewslist

read-only idempotent
conversationsviewslist-2

conversationsviewslist

read-only idempotent
conversationsviewscreate

conversationsviewscreate

conversationsviewscreate-2

conversationsviewscreate

conversationsviewsretrieve

conversationsviewsretrieve

read-only idempotent
conversationsviewsretrieve-2

conversationsviewsretrieve

read-only idempotent
conversationsviewsdestroy

conversationsviewsdestroy

idempotent
conversationsviewsdestroy-2

conversationsviewsdestroy

idempotent
conversationsretrieve

conversationsretrieve

read-only idempotent
appends-message-existing-conversation-without

Appends a message to an existing conversation without triggering AI processing.

conversationscancelpartialupdate

conversationscancelpartialupdate

idempotent
conversationsqueueretrieve

conversationsqueueretrieve

read-only idempotent
conversationsqueuecreate

conversationsqueuecreate

conversationsqueueclearcreate

conversationsqueueclearcreate

conversationsqueuepartialupdate

conversationsqueuepartialupdate

idempotent
conversationsqueuedestroy

conversationsqueuedestroy

idempotent
list-tickets-person-data-attached

List tickets with person data attached.

read-only idempotent
conversationsticketscreate

conversationsticketscreate

bulk-update-tags-multiple-objects

Bulk update tags on multiple objects.

get-total-unread-ticket-count

Get total unread ticket count for the team.

read-only idempotent
get-single-ticket-and-mark

Get single ticket and mark as read by team.

read-only idempotent
handle-ticket-updates-including-assignee

Handle ticket updates including assignee changes.

idempotent
conversationsticketspartialupdate

conversationsticketspartialupdate

idempotent
conversationsticketsdestroy

conversationsticketsdestroy

idempotent
conversationsticketssuggestreplycreate

conversationsticketssuggestreplycreate

Capability Spec

posthog-conversations.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: PostHog API — conversations
  description: 'PostHog API — conversations. 27 operations. Lead operation: conversations. Self-contained Naftiko capability
    covering one Posthog business surface.'
  tags:
  - Posthog
  - conversations
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    POSTHOG_API_KEY: POSTHOG_API_KEY
capability:
  consumes:
  - type: http
    namespace: posthog-conversations
    baseUri: ''
    description: PostHog API — conversations business capability. Self-contained, no shared references.
    resources:
    - name: api-environments-project_id-conversations
      path: /api/environments/{project_id}/conversations/
      operations:
      - name: conversationslist
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: limit
          in: query
          type: integer
          description: Number of results to return per page.
        - name: offset
          in: query
          type: integer
          description: The initial index from which to return the results.
      - name: conversationscreate
        method: POST
        description: Unified endpoint that handles both conversation creation and streaming.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-environments-project_id-conversations-views
      path: /api/environments/{project_id}/conversations/views/
      operations:
      - name: conversationsviewslist
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: limit
          in: query
          type: integer
          description: Number of results to return per page.
        - name: offset
          in: query
          type: integer
          description: The initial index from which to return the results.
      - name: conversationsviewslist
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: limit
          in: query
          type: integer
          description: Number of results to return per page.
        - name: offset
          in: query
          type: integer
          description: The initial index from which to return the results.
      - name: conversationsviewscreate
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: conversationsviewscreate
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-environments-project_id-conversations-views-short_id
      path: /api/environments/{project_id}/conversations/views/{short_id}/
      operations:
      - name: conversationsviewsretrieve
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: short_id
          in: path
          type: string
          required: true
      - name: conversationsviewsretrieve
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: short_id
          in: path
          type: string
          required: true
      - name: conversationsviewsdestroy
        method: DELETE
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: short_id
          in: path
          type: string
          required: true
      - name: conversationsviewsdestroy
        method: DELETE
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: short_id
          in: path
          type: string
          required: true
    - name: api-environments-project_id-conversations-conversation
      path: /api/environments/{project_id}/conversations/{conversation}/
      operations:
      - name: conversationsretrieve
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: conversation
          in: path
          type: string
          description: A UUID string identifying this conversation.
          required: true
    - name: api-environments-project_id-conversations-conversation-append_message
      path: /api/environments/{project_id}/conversations/{conversation}/append_message/
      operations:
      - name: conversationsappendmessagecreate
        method: POST
        description: Appends a message to an existing conversation without triggering AI processing.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: conversation
          in: path
          type: string
          description: A UUID string identifying this conversation.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-environments-project_id-conversations-conversation-cancel
      path: /api/environments/{project_id}/conversations/{conversation}/cancel/
      operations:
      - name: conversationscancelpartialupdate
        method: PATCH
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: conversation
          in: path
          type: string
          description: A UUID string identifying this conversation.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-environments-project_id-conversations-conversation-queue
      path: /api/environments/{project_id}/conversations/{conversation}/queue/
      operations:
      - name: conversationsqueueretrieve
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: conversation
          in: path
          type: string
          description: A UUID string identifying this conversation.
          required: true
      - name: conversationsqueuecreate
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: conversation
          in: path
          type: string
          description: A UUID string identifying this conversation.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-environments-project_id-conversations-conversation-queue-clear
      path: /api/environments/{project_id}/conversations/{conversation}/queue/clear/
      operations:
      - name: conversationsqueueclearcreate
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: conversation
          in: path
          type: string
          description: A UUID string identifying this conversation.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-environments-project_id-conversations-conversation-queue-queue_id
      path: /api/environments/{project_id}/conversations/{conversation}/queue/{queue_id}/
      operations:
      - name: conversationsqueuepartialupdate
        method: PATCH
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: conversation
          in: path
          type: string
          description: A UUID string identifying this conversation.
          required: true
        - name: queue_id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: conversationsqueuedestroy
        method: DELETE
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: conversation
          in: path
          type: string
          description: A UUID string identifying this conversation.
          required: true
        - name: queue_id
          in: path
          type: string
          required: true
    - name: api-projects-project_id-conversations-tickets
      path: /api/projects/{project_id}/conversations/tickets/
      operations:
      - name: conversationsticketslist
        method: GET
        description: List tickets with person data attached.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: assignee
          in: query
          type: string
          description: Filter by assignee. Use `unassigned` for tickets with no assignee, `user:<user_id>` for a specific
            user, or `role:<role_uuid>` for a role.
        - name: channel_detail
          in: query
          type: string
          description: Filter by the channel sub-type (e.g. `widget_embedded`, `slack_bot_mention`).
        - name: channel_source
          in: query
          type: string
          description: Filter by the channel the ticket originated from.
        - name: date_from
          in: query
          type: string
          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
          in: query
          type: string
          description: Only include tickets updated on or before this date. Same format as `date_from`.
        - name: distinct_ids
          in: query
          type: string
          description: Comma-separated list of person `distinct_id`s to filter by (max 100).
        - name: limit
          in: query
          type: integer
          description: Number of results to return per page.
        - name: offset
          in: query
          type: integer
          description: The initial index from which to return the results.
        - name: order_by
          in: query
          type: string
          description: Sort order. Prefix with `-` for descending. Defaults to `-updated_at`.
        - name: priority
          in: query
          type: string
          description: 'Filter by priority. Accepts a single value or a comma-separated list (e.g. `medium,high`). Valid values:
            `low`, `medium`, `high`.'
        - name: search
          in: query
          type: string
          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
          in: query
          type: string
          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
          in: query
          type: string
          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
          in: query
          type: string
          description: JSON-encoded array of tag names to filter by, e.g. `["billing","urgent"]`.
      - name: conversationsticketscreate
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-projects-project_id-conversations-tickets-bulk_update_tags
      path: /api/projects/{project_id}/conversations/tickets/bulk_update_tags/
      operations:
      - name: conversationsticketsbulkupdatetagscreate
        method: POST
        description: Bulk update tags on multiple objects.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-projects-project_id-conversations-tickets-unread_count
      path: /api/projects/{project_id}/conversations/tickets/unread_count/
      operations:
      - name: conversationsticketsunreadcountretrieve
        method: GET
        description: Get total unread ticket count for the team.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-projects-project_id-conversations-tickets-id
      path: /api/projects/{project_id}/conversations/tickets/{id}/
      operations:
      - name: conversationsticketsretrieve
        method: GET
        description: Get single ticket and mark as read by team.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: A UUID string identifying this ticket.
          required: true
      - name: conversationsticketsupdate
        method: PUT
        description: Handle ticket updates including assignee changes.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: A UUID string identifying this ticket.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: conversationsticketspartialupdate
        method: PATCH
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: A UUID string identifying this ticket.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: conversationsticketsdestroy
        method: DELETE
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: A UUID string identifying this ticket.
          required: true
    - name: api-projects-project_id-conversations-tickets-id-suggest_reply
      path: /api/projects/{project_id}/conversations/tickets/{id}/suggest_reply/
      operations:
      - name: conversationsticketssuggestreplycreate
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: A UUID string identifying this ticket.
          required: true
    authentication:
      type: bearer
      token: '{{env.POSTHOG_API_KEY}}'
  exposes:
  - type: rest
    namespace: posthog-conversations-rest
    port: 8080
    description: REST adapter for PostHog API — conversations. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/api/environments/{project-id}/conversations
      name: api-environments-project-id-conversations
      description: REST surface for api-environments-project_id-conversations.
      operations:
      - method: GET
        name: conversationslist
        description: conversationslist
        call: posthog-conversations.conversationslist
        with:
          limit: rest.limit
          offset: rest.offset
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: conversationscreate
        description: Unified endpoint that handles both conversation creation and streaming.
        call: posthog-conversations.conversationscreate
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/environments/{project-id}/conversations/views
      name: api-environments-project-id-conversations-views
      description: REST surface for api-environments-project_id-conversations-views.
      operations:
      - method: GET
        name: conversationsviewslist
        description: conversationsviewslist
        call: posthog-conversations.conversationsviewslist
        with:
          limit: rest.limit
          offset: rest.offset
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: conversationsviewslist
        description: conversationsviewslist
        call: posthog-conversations.conversationsviewslist
        with:
          limit: rest.limit
          offset: rest.offset
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: conversationsviewscreate
        description: conversationsviewscreate
        call: posthog-conversations.conversationsviewscreate
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: conversationsviewscreate
        description: conversationsviewscreate
        call: posthog-conversations.conversationsviewscreate
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/environments/{project-id}/conversations/views/{short-id}
      name: api-environments-project-id-conversations-views-short-id
      description: REST surface for api-environments-project_id-conversations-views-short_id.
      operations:
      - method: GET
        name: conversationsviewsretrieve
        description: conversationsviewsretrieve
        call: posthog-conversations.conversationsviewsretrieve
        with:
          short_id: rest.short_id
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: conversationsviewsretrieve
        description: conversationsviewsretrieve
        call: posthog-conversations.conversationsviewsretrieve
        with:
          short_id: rest.short_id
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: conversationsviewsdestroy
        description: conversationsviewsdestroy
        call: posthog-conversations.conversationsviewsdestroy
        with:
          short_id: rest.short_id
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: conversationsviewsdestroy
        description: conversationsviewsdestroy
        call: posthog-conversations.conversationsviewsdestroy
        with:
          short_id: rest.short_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/environments/{project-id}/conversations/{conversation}
      name: api-environments-project-id-conversations-conversation
      description: REST surface for api-environments-project_id-conversations-conversation.
      operations:
      - method: GET
        name: conversationsretrieve
        description: conversationsretrieve
        call: posthog-conversations.conversationsretrieve
        with:
          conversation: rest.conversation
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/environments/{project-id}/conversations/{conversation}/append-message
      name: api-environments-project-id-conversations-conversation-append-message
      description: REST surface for api-environments-project_id-conversations-conversation-append_message.
      operations:
      - method: POST
        name: conversationsappendmessagecreate
        description: Appends a message to an existing conversation without triggering AI processing.
        call: posthog-conversations.conversationsappendmessagecreate
        with:
          conversation: rest.conversation
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/environments/{project-id}/conversations/{conversation}/cancel
      name: api-environments-project-id-conversations-conversation-cancel
      description: REST surface for api-environments-project_id-conversations-conversation-cancel.
      operations:
      - method: PATCH
        name: conversationscancelpartialupdate
        description: conversationscancelpartialupdate
        call: posthog-conversations.conversationscancelpartialupdate
        with:
          conversation: rest.conversation
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/environments/{project-id}/conversations/{conversation}/queue
      name: api-environments-project-id-conversations-conversation-queue
      description: REST surface for api-environments-project_id-conversations-conversation-queue.
      operations:
      - method: GET
        name: conversationsqueueretrieve
        description: conversationsqueueretrieve
        call: posthog-conversations.conversationsqueueretrieve
        with:
          conversation: rest.conversation
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: conversationsqueuecreate
        description: conversationsqueuecreate
        call: posthog-conversations.conversationsqueuecreate
        with:
          conversation: rest.conversation
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/environments/{project-id}/conversations/{conversation}/queue/clear
      name: api-environments-project-id-conversations-conversation-queue-clear
      description: REST surface for api-environments-project_id-conversations-conversation-queue-clear.
      operations:
      - method: POST
        name: conversationsqueueclearcreate
        description: conversationsqueueclearcreate
        call: posthog-conversations.conversationsqueueclearcreate
        with:
          conversation: rest.conversation
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/environments/{project-id}/conversations/{conversation}/queue/{queue-id}
      name: api-environments-project-id-conversations-conversation-queue-queue-id
      description: REST surface for api-environments-project_id-conversations-conversation-queue-queue_id.
      operations:
      - method: PATCH
        name: conversationsqueuepartialupdate
        description: conversationsqueuepartialupdate
        call: posthog-conversations.conversationsqueuepartialupdate
        with:
          conversation: rest.conversation
          queue_id: rest.queue_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: conversationsqueuedestroy
        description: conversationsqueuedestroy
        call: posthog-conversations.conversationsqueuedestroy
        with:
          conversation: rest.conversation
          queue_id: rest.queue_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/projects/{project-id}/conversations/tickets
      name: api-projects-project-id-conversations-tickets
      description: REST surface for api-projects-project_id-conversations-tickets.
      operations:
      - method: GET
        name: conversationsticketslist
        description: List tickets with person data attached.
        call: posthog-conversations.conversationsticketslist
        with:
          assignee: rest.assignee
          channel_detail: rest.channel_detail
          channel_source: rest.channel_source
          date_from: rest.date_from
          date_to: rest.date_to
          distinct_ids: rest.distinct_ids
          limit: rest.limit
          offset: rest.offset
          order_by: rest.order_by
          priority: rest.priority
          search: rest.search
          sla: rest.sla
          status: rest.status
          tags: rest.tags
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: conversationsticketscreate
        description: conversationsticketscreate
        call: posthog-conversations.conversationsticketscreate
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/projects/{project-id}/conversations/tickets/bulk-update-tags
      name: api-projects-project-id-conversations-tickets-bulk-update-tags
      description: REST surface for api-projects-project_id-conversations-tickets-bulk_update_tags.
      operations:
      - method: POST
        name: conversationsticketsbulkupdatetagscreate
        description: Bulk update tags on multiple objects.
        call: posthog-conversations.conversationsticketsbulkupdatetagscreate
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/projects/{project-id}/conversations/tickets/unread-count
      name: api-projects-project-id-conversations-tickets-unread-count
      description: REST surface for api-projects-project_id-conversations-tickets-unread_count.
      operations:
      - method: GET
        name: conversationsticketsunreadcountretrieve
        description: Get total unread ticket count for the team.
        call: posthog-conversations.conversationsticketsunreadcountretrieve
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/projects/{project-id}/conversations/tickets/{id}
      name: api-projects-project-id-conversations-tickets-id
      description: REST surface for api-projects-project_id-conversations-tickets-id.
      operations:
      - method: GET
        name: conversationsticketsretrieve
        description: Get single ticket and mark as read by team.
        call: posthog-conversations.conversationsticketsretrieve
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: conversationsticketsupdate
        description: Handle ticket updates including assignee changes.
        call: posthog-conversations.conversationsticketsupdate
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: conversationsticketspartialupdate
        description: conversationsticketspartialupdate
        call: posthog-conversations.conversationsticketspartialupdate
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: conversationsticketsdestroy
        description: conversationsticketsdestroy
        call: posthog-conversations.conversationsticketsdestroy
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/projects/{project-id}/conversations/tickets/{id}/suggest-reply
      name: api-projects-project-id-conversations-tickets-id-suggest-reply
      description: REST surface for api-projects-project_id-conversations-tickets-id-suggest_reply.
      operations:
      - method: POST
        name: conversationsticketssuggestreplycreate
        description: conversationsticketssuggestreplycreate
        call: posthog-conversations.conversationsticketssuggestreplycreate
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: posthog-conversations-mcp
    port: 9090
    transport: http
    description: MCP adapter for PostHog API — conversations. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: conversationslist
      description: conversationslist
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: posthog-conversations.conversationslist
      with:
        limit: tools.limit
        offset: tools.offset
      outputParameters:
      - type: object
        mapping: $.
    - name: unified-endpoint-that-handles-both
      description: Unified endpoint that handles both conversation creation and streaming.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: posthog-conversations.conversationscreate
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: conversationsviewslist
      description: conversationsviewslist
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: posthog-conversations.conversationsviewslist
      with:
        limit: tools.limit
        offset: tools.offset
      outputParameters:
      - type: object
        mapping: $.
    - name: conversationsviewslist-2
      description: conversationsviewslist
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: posthog-conversations.conversationsviewslist
      with:
        limit: tools.limit
        offset: tools.offset
      outputParameters:
      - type: object
        mapping: $.
    - name: conversationsviewscreate
      description: conversationsviewscreate
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: posthog-conversations.conversationsviewscreate
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: conversationsviewscreate-2
      description: conversationsviewscreate
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: posthog-conversations.conversationsviewscreate
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: conversationsviewsretrieve
      description: conversationsviewsretrieve
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: posthog-conversations.conversationsviewsretrieve
      with:
        short_id: tools.short_id
      outputParameters:
      - type: object
        mapping: $.
    - name: c

# --- truncated at 32 KB (39 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/posthog/refs/heads/main/capabilities/posthog-conversations.yaml