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

# Phone overview

> Get phone answer-time analytics — compliance against the answer-time target, wait outcomes, abandon rate, and answer-time percentiles for a date range.

`from` and `to` select waits by when the caller started waiting. `timezone` is an IANA name, default `UTC`. Filter with `team_id` or `policy_id`.

`compliance_rate` is `met / (met + missed)`; `excluded` waits (short abandons, and unanswered waits under a policy that grades answered calls only) and `ungraded` waits (no phone policy applied) are not in that ratio. `target_percent` is the goal when every graded wait in the range used the same policy, otherwise `null`. See [Phone answer-time SLA](/phone/answer-time-sla).


## OpenAPI

````yaml get /sla/analytics/phone
openapi: 3.1.0
info:
  title: OpenCX API
  description: >

    OpenCX is an AI-powered, all-in-one platform for customer support and
    outbound communications.


    Use this API to manage your OpenCX organization's AI agents, actions,
    conversations, contacts, and more.


    To get started, generate a new API key from the dashboard.


    ## Authentication

    All API endpoints require authentication using a Bearer token. You can
    generate an API key from your OpenCX dashboard.


    ## Rate Limiting

    API requests are rate limited to ensure fair usage. The current limits are:

    - 100 requests per minute for standard endpoints

    - 1000 requests per minute for streaming endpoints


    ## Error Handling

    The API uses standard HTTP status codes and returns detailed error messages
    in the response body.
  version: 1.0-beta
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
servers:
  - url: http://localhost:8080
    description: Development
  - url: https://api.open.cx
    description: Production
security:
  - bearerAuth: []
paths:
  /sla/analytics/phone:
    get:
      summary: Get phone answer-time analytics
      description: >-
        Get how quickly callers waiting for an agent were answered: answer-time
        compliance, outcomes (answered, hung up, timed out, no agents,
        voicemail) and answer-time percentiles for a date range.
      operationId: getPhoneAnswerAnalyticsOverview
      parameters:
        - schema: {}
          in: query
          name: from
          required: true
          description: Start of the range, on when callers started waiting.
        - schema: {}
          in: query
          name: to
          required: true
          description: End of the range, on when callers started waiting.
        - schema:
            default: UTC
            type: string
          in: query
          name: timezone
          required: false
          description: IANA timezone for day and hour buckets.
        - schema:
            type: string
            maxLength: 36
          in: query
          name: team_id
          required: false
        - schema:
            type: string
            format: uuid
            pattern: >-
              ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
          in: query
          name: policy_id
          required: false
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PhoneAnswerOverviewResponseDto'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDto'
components:
  schemas:
    PhoneAnswerOverviewResponseDto:
      $schema: https://json-schema.org/draft/2020-12/schema
      $id: '#/components/schemas/PhoneAnswerOverviewResponseDto'
      type: object
      properties:
        waits:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
          description: Times a caller waited for an agent (finished waits only).
        answered:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        caller_hung_up:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        timed_out:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        no_agents:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        voicemail:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        failed:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
          description: >-
            Waits ended by a call failure on our side. Never graded, not an
            abandon.
        met:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
          description: Answered within the target.
        missed:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        excluded:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
          description: >-
            Left out of the SLA: short abandons, and unanswered waits under
            answered_only.
        ungraded:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
          description: >-
            Waits not graded: no phone answer-time policy applied, or the call
            failed.
        compliance_rate:
          type: number
          description: met / (met + missed), 0–1.
        abandon_rate:
          type: number
          description: caller_hung_up / waits, 0–1.
        avg_answer_seconds:
          anyOf:
            - type: number
            - type: 'null'
          description: Average wait of answered callers.
        answer_seconds_p50:
          anyOf:
            - type: number
            - type: 'null'
        answer_seconds_p90:
          anyOf:
            - type: number
            - type: 'null'
        answer_seconds_p95:
          anyOf:
            - type: number
            - type: 'null'
        target_percent:
          anyOf:
            - type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
            - type: 'null'
          description: >-
            The answer-time goal (%) when every graded wait in range used the
            same policy.
      required:
        - waits
        - answered
        - caller_hung_up
        - timed_out
        - no_agents
        - voicemail
        - failed
        - met
        - missed
        - excluded
        - ungraded
        - compliance_rate
        - abandon_rate
        - avg_answer_seconds
        - answer_seconds_p50
        - answer_seconds_p90
        - answer_seconds_p95
        - target_percent
      additionalProperties: false
    ErrorDto:
      type: object
      properties:
        statusCode:
          type: integer
        message:
          type: string
        error:
          type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.