> ## Documentation Index
> Fetch the complete documentation index at: https://docs.useinvent.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get conversations analytics

> Everything the Conversations analytics view renders, in one call: KPIs, the handoff flow, per-channel volume, message split, resolution and CSAT trends, and the takeover-time distribution. The channel filter applies to conversation and message volume; outcome metrics (resolution, handoffs, CSAT) are not channel-segmented.



## OpenAPI

````yaml https://api.useinvent.com/openapi.json get /orgs/{org_id}/analytics/conversations
openapi: 3.1.0
info:
  version: 1.0.0
  title: Invent API
servers:
  - url: https://api.useinvent.com
security:
  - bearerAuth: []
tags:
  - name: Inbox
  - name: Chats
  - name: Messages
  - name: Contacts
  - name: Custom channels
  - name: Segments
  - name: Suppressions
  - name: Assistants
  - name: Agents
  - name: Skills
  - name: Knowledge
  - name: AI
  - name: Broadcasts
  - name: Email sending
  - name: WhatsApp
  - name: WhatsApp Meta agent
  - name: Tables
  - name: Records
  - name: Views
  - name: Pages
  - name: Connections
  - name: Workspace
  - name: Sub-organizations
  - name: Analytics and logs
  - name: Workflows
paths:
  /orgs/{org_id}/analytics/conversations:
    get:
      tags:
        - Analytics and logs
      summary: Get conversations analytics
      description: >-
        Everything the Conversations analytics view renders, in one call: KPIs,
        the handoff flow, per-channel volume, message split, resolution and CSAT
        trends, and the takeover-time distribution. The channel filter applies
        to conversation and message volume; outcome metrics (resolution,
        handoffs, CSAT) are not channel-segmented.
      parameters:
        - schema:
            type: string
          required: true
          name: org_id
          in: path
        - schema:
            type:
              - string
              - 'null'
            format: date-time
            title: From
          required: false
          name: from_date
          in: query
        - schema:
            type:
              - string
              - 'null'
            format: date-time
            title: To
          required: false
          name: to_date
          in: query
        - schema:
            $ref: '#/components/schemas/MetricsIntervalSchema'
          required: false
          name: interval
          in: query
        - schema:
            type: string
            description: IANA timezone identifier (e.g. America/New_York)
          required: false
          description: IANA timezone identifier (e.g. America/New_York)
          name: timezone
          in: query
        - schema:
            type: string
            maxLength: 128
          required: false
          name: assistant_id
          in: query
        - schema:
            $ref: '#/components/schemas/ChannelTypeIdSchema'
          required: false
          description: The channel type
          name: channel_id
          in: query
        - schema:
            type: string
            maxLength: 128
          required: false
          name: member_id
          in: query
      responses:
        '200':
          description: Conversations analytics for the specified organization.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConversationsAnalyticsSchema'
components:
  schemas:
    MetricsIntervalSchema:
      type: string
      enum:
        - hour
        - day
        - week
        - month
        - year
    ChannelTypeIdSchema:
      type: string
      enum:
        - internal
        - org
        - agent
        - custom
        - whatsapp_bot
        - messenger_bot
        - instagram_dm
        - tiktok_dm
        - telegram_bot
        - slack_bot
        - teams_bot
        - gmail
        - outlook
        - twilio
        - telnyx
        - email
        - smpp
      description: The channel type
    ConversationsAnalyticsSchema:
      type: object
      properties:
        kpis:
          $ref: '#/components/schemas/ConversationsKpisSchema'
        flow:
          $ref: '#/components/schemas/ConversationsFlowSchema'
        conversations_by_channel:
          type: array
          items:
            $ref: '#/components/schemas/NamedSeriesSchema'
        messages:
          type: array
          items:
            $ref: '#/components/schemas/NamedSeriesSchema'
        messages_by_channel:
          type: array
          items:
            $ref: '#/components/schemas/ConversationsMessagesByChannelItemSchema'
        messages_by_channel_series:
          type: array
          items:
            $ref: '#/components/schemas/NamedSeriesSchema'
        resolution:
          type: array
          items:
            $ref: '#/components/schemas/NamedSeriesSchema'
        handoff:
          type: array
          items:
            $ref: '#/components/schemas/NamedSeriesSchema'
        csat:
          type: array
          items:
            $ref: '#/components/schemas/SeriesPointSchema'
        csat_distribution:
          type: array
          items:
            $ref: '#/components/schemas/ConversationsCsatBucketSchema'
        takeover_distribution:
          type: array
          items:
            $ref: '#/components/schemas/ConversationsDurationBucketSchema'
        resolution_distribution:
          type: array
          items:
            $ref: '#/components/schemas/ConversationsDurationBucketSchema'
        team:
          type: array
          items:
            $ref: '#/components/schemas/ConversationsTeamMemberSchema'
      required:
        - kpis
        - flow
        - conversations_by_channel
        - messages
        - messages_by_channel
        - messages_by_channel_series
        - resolution
        - handoff
        - csat
        - csat_distribution
        - takeover_distribution
        - resolution_distribution
        - team
      description: Everything the Conversations analytics view renders, in one payload.
    ConversationsKpisSchema:
      type: object
      properties:
        conversations:
          type: number
        conversations_previous:
          type: number
        ai_resolution_rate:
          type:
            - number
            - 'null'
        handoff_rate:
          type:
            - number
            - 'null'
        median_takeover_seconds:
          type:
            - number
            - 'null'
        p90_takeover_seconds:
          type:
            - number
            - 'null'
        median_resolution_seconds:
          type:
            - number
            - 'null'
        p90_resolution_seconds:
          type:
            - number
            - 'null'
        csat_average:
          type:
            - number
            - 'null'
        csat_responses:
          type: number
      required:
        - conversations
        - conversations_previous
        - ai_resolution_rate
        - handoff_rate
        - median_takeover_seconds
        - p90_takeover_seconds
        - median_resolution_seconds
        - p90_resolution_seconds
        - csat_average
        - csat_responses
    ConversationsFlowSchema:
      type: object
      properties:
        created:
          type: number
        resolved_by_ai:
          type: number
        resolved_by_team:
          type: number
        handed_off:
          type: number
        human_replied:
          type: number
        unanswered:
          type: number
        awaiting_team:
          type: number
        still_open:
          type: number
      required:
        - created
        - resolved_by_ai
        - resolved_by_team
        - handed_off
        - human_replied
        - unanswered
        - awaiting_team
        - still_open
      description: >-
        Where conversations created in the period ended up. Unanswered handoffs
        are reported, never dropped.
    NamedSeriesSchema:
      type: object
      properties:
        key:
          type: string
        points:
          type: array
          items:
            $ref: '#/components/schemas/SeriesPointSchema'
      required:
        - key
        - points
    ConversationsMessagesByChannelItemSchema:
      type: object
      properties:
        channel_type:
          $ref: '#/components/schemas/ChannelTypeIdSchema'
        received:
          type: number
        ai:
          type: number
        agent:
          type: number
      required:
        - channel_type
        - received
        - ai
        - agent
    SeriesPointSchema:
      type: object
      properties:
        date:
          type:
            - string
            - 'null'
          format: date-time
        amount:
          type: number
      required:
        - date
        - amount
    ConversationsCsatBucketSchema:
      type: object
      properties:
        score:
          type: number
        count:
          type: number
      required:
        - score
        - count
    ConversationsDurationBucketSchema:
      type: object
      properties:
        lt_seconds:
          type:
            - number
            - 'null'
        count:
          type: number
      required:
        - lt_seconds
        - count
    ConversationsTeamMemberSchema:
      type: object
      properties:
        id:
          type: string
        kind:
          type: string
          enum:
            - assistant
            - member
            - unassigned
        name:
          type: string
        avatar_url:
          type:
            - string
            - 'null'
        conversations:
          type: number
        resolved:
          type: number
      required:
        - id
        - kind
        - name
        - avatar_url
        - conversations
        - resolved
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: Bearer token authentication using your API key

````