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

# List calls

> Fetch a paginated list of calls in the workspace, newest first. Every filter is optional, and group calls are included.



## OpenAPI

````yaml https://openphone-public-api-prod.s3.us-west-2.amazonaws.com/public/openphone-public-api-2026-03-30-prod.json get /calls
openapi: 3.1.0
info:
  title: Quo Public API
  version: 1.0.0
  description: API for connecting with Quo.
  contact:
    name: Quo Support
    email: support@quo.com
    url: https://support.quo.com/
  termsOfService: https://www.quo.com/terms
servers:
  - description: Production server
    url: https://api.quo.com
security:
  - apiKey: []
tags:
  - description: Operations related to the organization's A2P registration
    name: A2P Registration
  - description: Operations related to calls placed by an AI agent
    name: Agent Calls
  - description: Operations related to text conversations held by an AI agent
    name: Agent Conversations
  - description: Operations related to calls
    name: Calls
  - description: >-
      Operations related to call summaries, including AI-generated summaries and
      Sona voice assistant summaries
    name: Call Summaries
  - description: >-
      Operations related to call transcripts, including AI-generated transcripts
      and Sona voice assistant transcripts
    name: Call Transcripts
  - description: Operations related to contacts
    name: Contacts
  - description: Operations related to contact shares
    name: Contact Shares
  - description: Operations related to contact notes
    name: Contact Notes
  - description: Operations related to contact properties
    name: Contact Properties
  - description: Operations related to conversations
    name: Conversations
  - description: Operations related to workspace invitations
    name: Invites
  - description: Operations related to text messages
    name: Messages
  - description: Operations related to the organization
    name: Organization
  - description: Operations related to phone numbers
    name: Phone Numbers
  - description: Operations related to users
    name: Users
  - description: Operations related to webhooks
    name: Webhooks
  - description: >-
      Operations related to webhook events, including delivery history and test
      events
    name: Webhook Events
paths:
  /calls:
    get:
      tags:
        - Calls
      summary: List calls
      description: >-
        Fetch a paginated list of calls in the workspace, newest first. Every
        filter is optional, and group calls are included.
      operationId: listCalls
      parameters:
        - in: query
          name: include
          required: false
          schema:
            type: array
            items:
              type: string
              enum:
                - summary
                - voicemail
            description: >-
              Comma-separated list of optional payload sections to include.
              `summary` adds the call’s summary, `voicemail` the voicemail left
              on it. Omitted sections are left out of the response entirely, and
              `voicemail` is also left out for a call where none was left.
            examples:
              - summary
              - summary,voicemail
            maxItems: 2
            uniqueItems: true
          example: summary
        - in: query
          name: phoneNumberId
          required: false
          schema:
            description: Only return calls on this Quo number.
            examples:
              - PN123abc
            type: string
            pattern: ^PN(.*)$
          example: PN123abc
        - in: query
          name: actorId
          required: false
          schema:
            description: >-
              Only return calls belonging to this Quo user or system actor. An
              AI agent is a system actor, so its calls are reached with its
              `SYU` id.
            examples:
              - US123abc
            anyOf:
              - type: string
                pattern: ^US(.*)$
              - type: string
                pattern: ^SYU(.*)$
          example: US123abc
        - in: query
          name: participant
          required: false
          schema:
            anyOf:
              - type: string
                description: A phone number in E.164 format, including the country code.
                examples:
                  - '+15555555555'
                pattern: ^\+[1-9]\d{1,14}$
              - type: object
                required:
                  - in
                properties:
                  in:
                    type: array
                    items:
                      type: string
                      description: >-
                        A phone number in E.164 format, including the country
                        code.
                      examples:
                        - '+15555555555'
                      pattern: ^\+[1-9]\d{1,14}$
                    description: Match calls involving any of these numbers.
                    examples:
                      - +15555555555,+15555555556
                additionalProperties: false
            description: >-
              Only return calls whose own originating or receiving number is
              this E.164 number, such as `participant=+15555555555`. To match
              any of several numbers, use
              `participant[in]=+15555555555,+15555555556`. Note that this is
              narrower than the `participants` array in the response: a party
              who joined a group call beyond those two numbers is listed in the
              response but is not matched by this filter.
            examples:
              - '+15555555555'
          style: deepObject
          explode: true
          example: '+15555555555'
        - in: query
          name: direction
          required: false
          schema:
            type: string
            enum:
              - incoming
              - outgoing
            description: The direction of the call relative to the Quo number.
            examples:
              - incoming
          example: incoming
        - in: query
          name: status
          required: false
          schema:
            anyOf:
              - type: string
                enum:
                  - queued
                  - initiated
                  - ringing
                  - in-progress
                  - completed
                  - busy
                  - failed
                  - no-answer
                  - canceled
                  - missed
                  - answered
                  - forwarded
                  - abandoned
                description: The current status of the call.
                examples:
                  - completed
              - type: object
                required:
                  - in
                properties:
                  in:
                    type: array
                    items:
                      type: string
                      enum:
                        - queued
                        - initiated
                        - ringing
                        - in-progress
                        - completed
                        - busy
                        - failed
                        - no-answer
                        - canceled
                        - missed
                        - answered
                        - forwarded
                        - abandoned
                      description: The current status of the call.
                      examples:
                        - completed
                    description: Match calls with any of these statuses.
                    examples:
                      - missed,no-answer
                additionalProperties: false
            description: >-
              Only return calls with this status, such as `status=missed`. To
              match any of several statuses, use `status[in]=missed,no-answer`.
            examples:
              - missed
          style: deepObject
          explode: true
          example: missed
        - in: query
          name: createdAt
          required: false
          schema:
            type: object
            properties:
              gte:
                description: >-
                  Only return calls created at or after this timestamp. The
                  bound is inclusive.
                examples:
                  - '2022-01-01T00:00:00Z'
                type: string
                format: date-time
              lte:
                description: >-
                  Only return calls created at or before this timestamp. The
                  bound is inclusive.
                examples:
                  - '2022-01-01T00:00:00Z'
                type: string
                format: date-time
            additionalProperties: false
            description: >-
              Bound the results by creation time, in ISO 8601 format:
              `createdAt[gte]=2022-01-01T00:00:00Z&createdAt[lte]=2022-02-01T00:00:00Z`.
              Both bounds are inclusive.
            examples:
              - gte: '2022-01-01T00:00:00Z'
          style: deepObject
          explode: true
          example:
            gte: '2022-01-01T00:00:00Z'
        - in: query
          name: limit
          required: false
          schema:
            type: integer
            description: Max number of items to return per page.
            default: 10
            maximum: 50
            minimum: 1
        - in: query
          name: after
          required: false
          schema:
            type: string
            examples:
              - eyJsYXN0SWQiOiJVU211a09NaXBhIn0
          example: eyJsYXN0SWQiOiJVU211a09NaXBhIn0
        - in: header
          name: Quo-Api-Version
          required: true
          schema:
            type: string
            enum:
              - '2026-03-30'
            description: 'API version header. Supported values: 2026-03-30'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - nextCursor
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      required:
                        - id
                        - phoneNumberId
                        - actorId
                        - direction
                        - status
                        - participants
                        - answeredAt
                        - answeredBy
                        - initiatedBy
                        - completedAt
                        - createdAt
                        - updatedAt
                        - callRoute
                        - duration
                        - forwardedFrom
                        - forwardedTo
                        - aiHandled
                      properties:
                        id:
                          description: The unique identifier of the call.
                          examples:
                            - AC123abc
                          example: AC123abc
                          type: string
                          pattern: ^AC(.*)$
                        phoneNumberId:
                          anyOf:
                            - description: >-
                                The unique identifier of the Quo number
                                associated with the call. Null when the call is
                                not attached to one.
                              examples:
                                - PN123abc
                              example: PN123abc
                              type: string
                              pattern: ^PN(.*)$
                            - type: 'null'
                        actorId:
                          description: >-
                            The Quo user or system actor associated with the
                            call.
                          examples:
                            - US123abc
                          example: US123abc
                          anyOf:
                            - type: string
                              pattern: ^US(.*)$
                            - type: string
                              pattern: ^SYU(.*)$
                        direction:
                          type: string
                          enum:
                            - incoming
                            - outgoing
                          description: >-
                            The direction of the call relative to the Quo
                            number.
                          examples:
                            - incoming
                          example: incoming
                        status:
                          type: string
                          enum:
                            - queued
                            - initiated
                            - ringing
                            - in-progress
                            - completed
                            - busy
                            - failed
                            - no-answer
                            - canceled
                            - missed
                            - answered
                            - forwarded
                            - abandoned
                          description: The current status of the call.
                          examples:
                            - completed
                          example: completed
                        participants:
                          type: array
                          items:
                            type: object
                            required:
                              - phoneNumber
                              - actorId
                            properties:
                              phoneNumber:
                                anyOf:
                                  - type: string
                                    description: >-
                                      A phone number in E.164 format, including
                                      the country code.
                                    examples:
                                      - '+15555555555'
                                    pattern: ^\+[1-9]\d{1,14}$
                                    example: '+15555555555'
                                  - type: string
                                    pattern: >-
                                      ^([aA](nonymous|NONYMOUS))|([bB](locked|LOCKED))|([rR](estricted|ESTRICTED))$
                                  - type: string
                                    description: >-
                                      Short code phone number (3-8 digits, no
                                      country code)
                                    pattern: ^[0-9]{3,8}$
                                description: >-
                                  How the participant reached the call: an E.164
                                  phone number,
                                  `anonymous`/`blocked`/`restricted` when the
                                  caller withheld their number, or a short
                                  service number.
                                examples:
                                  - '+15555555555'
                                example: '+15555555555'
                              actorId:
                                anyOf:
                                  - description: >-
                                      The Quo user or system actor behind this
                                      number. Null for numbers outside the
                                      workspace. A system actor appears here
                                      when an AI agent took part in the call.
                                    examples:
                                      - US123abc
                                    example: US123abc
                                    anyOf:
                                      - type: string
                                        pattern: ^US(.*)$
                                      - type: string
                                        pattern: ^SYU(.*)$
                                  - type: 'null'
                            additionalProperties: false
                          description: >-
                            Every party on the call, including the Quo number.
                            Group calls return all known parties, so this is not
                            limited to two entries. A phone number can appear
                            more than once when several Quo users joined the
                            call on it, distinguished by `actorId`.
                          examples:
                            - - phoneNumber: '+15555555555'
                                actorId: US123abc
                              - phoneNumber: '+15555555555'
                                actorId: US456def
                              - phoneNumber: '+15555555556'
                                actorId: null
                          example:
                            - phoneNumber: '+15555555555'
                              actorId: US123abc
                            - phoneNumber: '+15555555555'
                              actorId: US456def
                            - phoneNumber: '+15555555556'
                              actorId: null
                        answeredAt:
                          anyOf:
                            - description: >-
                                The timestamp when the call was answered, in ISO
                                8601 format. Null if the call was never
                                answered.
                              examples:
                                - '2022-01-01T00:00:00Z'
                              example: '2022-01-01T00:00:00Z'
                              type: string
                              format: date-time
                            - type: 'null'
                        answeredBy:
                          anyOf:
                            - description: >-
                                The Quo user or system actor that answered the
                                incoming call. Null for outgoing calls or
                                unanswered incoming calls.
                              examples:
                                - USlHhXmRMz
                              example: USlHhXmRMz
                              anyOf:
                                - type: string
                                  pattern: ^US(.*)$
                                - type: string
                                  pattern: ^SYU(.*)$
                            - type: 'null'
                        initiatedBy:
                          anyOf:
                            - description: >-
                                The Quo user or system actor that initiated the
                                outgoing call. Null for incoming calls.
                              examples:
                                - USlHhXmRMz
                              example: USlHhXmRMz
                              anyOf:
                                - type: string
                                  pattern: ^US(.*)$
                                - type: string
                                  pattern: ^SYU(.*)$
                            - type: 'null'
                        completedAt:
                          anyOf:
                            - description: >-
                                The timestamp when the call ended, in ISO 8601
                                format. Null if the call is ongoing or was not
                                completed.
                              examples:
                                - '2022-01-01T00:00:00Z'
                              example: '2022-01-01T00:00:00Z'
                              type: string
                              format: date-time
                            - type: 'null'
                        createdAt:
                          description: >-
                            The timestamp when the call record was created, in
                            ISO 8601 format.
                          examples:
                            - '2022-01-01T00:00:00Z'
                          example: '2022-01-01T00:00:00Z'
                          type: string
                          format: date-time
                        updatedAt:
                          anyOf:
                            - description: >-
                                The timestamp when the call record was last
                                updated, in ISO 8601 format. Null if never
                                updated.
                              examples:
                                - '2022-01-01T00:00:00Z'
                              example: '2022-01-01T00:00:00Z'
                              type: string
                              format: date-time
                            - type: 'null'
                        callRoute:
                          anyOf:
                            - description: >-
                                How the call reached the user's inbox: either by
                                direct dial to their number or routed through a
                                phone menu. Null for outbound calls.
                              examples:
                                - phone-number
                                - phone-menu
                              example: phone-number
                              type: string
                            - type: 'null'
                        duration:
                          type: integer
                          description: The total duration of the call in seconds.
                          examples:
                            - 60
                          example: 60
                        forwardedFrom:
                          anyOf:
                            - description: >-
                                Where the call was forwarded from: an E.164
                                phone number, a Quo user or phone number ID, a
                                marker for a withheld caller (`anonymous`,
                                `blocked`, `restricted`), or a short service
                                number. Null if the call was not forwarded.
                              examples:
                                - US123abc
                              example: US123abc
                              anyOf:
                                - type: string
                                  description: >-
                                    A phone number in E.164 format, including
                                    the country code.
                                  examples:
                                    - '+15555555555'
                                  pattern: ^\+[1-9]\d{1,14}$
                                  example: '+15555555555'
                                - type: string
                                  pattern: ^PN(.*)$
                                - type: string
                                  pattern: ^US(.*)$
                                - type: string
                                  pattern: >-
                                    ^([aA](nonymous|NONYMOUS))|([bB](locked|LOCKED))|([rR](estricted|ESTRICTED))$
                                - type: string
                                  description: >-
                                    A short service or emergency number, such as
                                    `911` or `611`.
                                  examples:
                                    - '911'
                                  pattern: ^\d{3,6}$
                                  example: '911'
                            - type: 'null'
                        forwardedTo:
                          anyOf:
                            - description: >-
                                Where the call was forwarded to: an E.164 phone
                                number, a Quo user or phone number ID, a marker
                                for a withheld caller (`anonymous`, `blocked`,
                                `restricted`), or a short service number. Null
                                if the call was not forwarded.
                              examples:
                                - US123abc
                              example: US123abc
                              anyOf:
                                - type: string
                                  description: >-
                                    A phone number in E.164 format, including
                                    the country code.
                                  examples:
                                    - '+15555555555'
                                  pattern: ^\+[1-9]\d{1,14}$
                                  example: '+15555555555'
                                - type: string
                                  pattern: ^PN(.*)$
                                - type: string
                                  pattern: ^US(.*)$
                                - type: string
                                  pattern: >-
                                    ^([aA](nonymous|NONYMOUS))|([bB](locked|LOCKED))|([rR](estricted|ESTRICTED))$
                                - type: string
                                  description: >-
                                    A short service or emergency number, such as
                                    `911` or `611`.
                                  examples:
                                    - '911'
                                  pattern: ^\d{3,6}$
                                  example: '911'
                            - type: 'null'
                        aiHandled:
                          anyOf:
                            - description: >-
                                Type of AI that answered the call. Set to
                                'ai-agent' for AI responses, or null for human
                                responses.
                              examples:
                                - ai-agent
                              example: ai-agent
                              type: string
                            - type: 'null'
                        summary:
                          type: object
                          required:
                            - status
                            - type
                            - summary
                            - nextSteps
                            - jobs
                            - title
                          properties:
                            status:
                              type: string
                              enum:
                                - absent
                                - in-progress
                                - completed
                                - failed
                              description: >-
                                Whether a summary exists for this call. `absent`
                                means one will never be generated, `in-progress`
                                that it is still being written, and `failed`
                                that generation was attempted and did not
                                succeed. Content is only present when this is
                                `completed`.
                              examples:
                                - completed
                              example: completed
                            type:
                              anyOf:
                                - type: string
                                  enum:
                                    - human
                                    - agent
                                  description: >-
                                    Which kind of call produced the summary.
                                    `agent` calls were handled by AI agent and
                                    carry `jobs` and a `title`; `human` calls
                                    carry `nextSteps`. Null until a summary
                                    exists.
                                  examples:
                                    - human
                                  example: human
                                - type: 'null'
                            summary:
                              anyOf:
                                - type: array
                                  items:
                                    type: string
                                    examples:
                                      - You talked about the weather.
                                    example: You talked about the weather.
                                  description: >-
                                    The key points discussed during the call.
                                    Null when no summary has been generated.
                                - type: 'null'
                            nextSteps:
                              anyOf:
                                - type: array
                                  items:
                                    type: string
                                    examples:
                                      - Bring an umbrella.
                                    example: Bring an umbrella.
                                  description: >-
                                    Suggested follow-up items derived from the
                                    call. Only produced for `human` summaries;
                                    null otherwise.
                                - type: 'null'
                            jobs:
                              anyOf:
                                - description: >-
                                    Structured job results collected by AI Agent
                                    — Q&A pairs, task completions and similar.
                                    Only produced for `agent` summaries; null
                                    otherwise.
                                  type: array
                                  items:
                                    type: object
                                    required:
                                      - icon
                                      - name
                                      - result
                                    properties:
                                      icon:
                                        type: string
                                      name:
                                        type: string
                                      result:
                                        type: object
                                        required:
                                          - data
                                        properties:
                                          data:
                                            type: array
                                            items:
                                              type: object
                                              required:
                                                - name
                                                - value
                                              properties:
                                                name:
                                                  type: string
                                                value:
                                                  anyOf:
                                                    - type: string
                                                    - type: number
                                                    - type: boolean
                                - type: 'null'
                            title:
                              anyOf:
                                - type: string
                                  description: >-
                                    A short title for the call. Only produced
                                    for `agent` summaries; null otherwise.
                                  examples:
                                    - Pricing enquiry
                                  example: Pricing enquiry
                                - type: 'null'
                          additionalProperties: false
                        voicemail:
                          type: object
                          required:
                            - id
                            - status
                            - duration
                            - recordingUrl
                            - transcript
                          properties:
                            id:
                              description: The unique identifier of the voicemail.
                              examples:
                                - VMaaff8f317e0c4e61953b74a5eb42a370
                              example: VMaaff8f317e0c4e61953b74a5eb42a370
                              type: string
                              pattern: ^VM(.*)$
                            status:
                              type: string
                              enum:
                                - completed
                                - in-progress
                              description: >-
                                Whether the voicemail has finished processing.
                                `recordingUrl` and `transcript` are only present
                                once this is `completed`.
                              examples:
                                - completed
                              example: completed
                            duration:
                              anyOf:
                                - type: integer
                                  description: >-
                                    The length of the voicemail in seconds.
                                    Known as soon as the recording is captured,
                                    so it is usually available before processing
                                    finishes.
                                  examples:
                                    - 60
                                  example: 60
                                - type: 'null'
                            recordingUrl:
                              anyOf:
                                - type: string
                                  description: >-
                                    The URL the voicemail audio can be
                                    downloaded from. Null until the voicemail is
                                    completed.
                                  examples:
                                    - >-
                                      https://examplestorage.com/a643d4d3e1484fcc8b721627284eda5e.mp3
                                  format: uri
                                  example: >-
                                    https://examplestorage.com/a643d4d3e1484fcc8b721627284eda5e.mp3
                                - type: 'null'
                            transcript:
                              anyOf:
                                - type: string
                                  description: >-
                                    The transcript of the voicemail. Null until
                                    the voicemail is completed, and null
                                    afterwards when transcription is turned off
                                    for the phone number that took the call.
                                  examples:
                                    - Hello, this is a voicemail from John Doe.
                                  example: Hello, this is a voicemail from John Doe.
                                - type: 'null'
                          additionalProperties: false
                      additionalProperties: false
                  nextCursor:
                    anyOf:
                      - type: string
                      - type: 'null'
                    description: >-
                      Cursor for the next page, or null when there are no more
                      pages.
                    examples:
                      - eyJsYXN0SWQiOiJVU211a09NaXBhIn0
                    example: eyJsYXN0SWQiOiJVU211a09NaXBhIn0
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                required:
                  - message
                  - docs
                  - title
                properties:
                  message:
                    type: string
                  docs:
                    type: string
                    const: https://quo.com/docs
                  title:
                    type: string
                    const: Bad Request
                  trace:
                    type: string
                  errors:
                    type: array
                    items:
                      type: object
                      required:
                        - path
                        - message
                        - schema
                      properties:
                        path:
                          type: string
                        message:
                          type: string
                        value: {}
                        schema:
                          type: object
                          required:
                            - type
                          properties:
                            type:
                              type: string
              example:
                message: The input was invalid
                docs: https://quo.com/docs
                title: Bad Request
                errors:
                  - path: /callId
                    message: Expected string to match '^AC(.*)$'
                    value: abc123
                    schema:
                      type: TemplateLiteral
                      pattern: ^AC(.*)$
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                required:
                  - message
                  - docs
                  - title
                properties:
                  message:
                    type: string
                  docs:
                    type: string
                    const: https://quo.com/docs
                  title:
                    type: string
                    const: Unauthorized
                  trace:
                    type: string
                  errors:
                    type: array
                    items:
                      type: object
                      required:
                        - path
                        - message
                        - schema
                      properties:
                        path:
                          type: string
                        message:
                          type: string
                        value: {}
                        schema:
                          type: object
                          required:
                            - type
                          properties:
                            type:
                              type: string
              example:
                message: Unauthorized
                docs: https://quo.com/docs
                title: Unauthorized
                trace: '6897907457496870895'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                required:
                  - message
                  - docs
                  - title
                properties:
                  message:
                    type: string
                  docs:
                    type: string
                    const: https://quo.com/docs
                  title:
                    type: string
                    const: Forbidden
                  trace:
                    type: string
                  errors:
                    type: array
                    items:
                      type: object
                      required:
                        - path
                        - message
                        - schema
                      properties:
                        path:
                          type: string
                        message:
                          type: string
                        value: {}
                        schema:
                          type: object
                          required:
                            - type
                          properties:
                            type:
                              type: string
              example:
                message: User is forbidden to perform this action
                docs: https://quo.com/docs
                title: Forbidden
                trace: '6897907457496870895'
        '500':
          description: Unknown Error
          content:
            application/json:
              schema:
                type: object
                required:
                  - message
                  - docs
                  - title
                properties:
                  message:
                    type: string
                  docs:
                    type: string
                    const: https://quo.com/docs
                  title:
                    type: string
                    const: Unknown
                  trace:
                    type: string
                  errors:
                    type: array
                    items:
                      type: object
                      required:
                        - path
                        - message
                        - schema
                      properties:
                        path:
                          type: string
                        message:
                          type: string
                        value: {}
                        schema:
                          type: object
                          required:
                            - type
                          properties:
                            type:
                              type: string
              example:
                message: We have encountered an unknown error
                docs: https://quo.com/docs
                title: Unknown
                trace: '6897907457496870895'
      security:
        - apiKey: []
components:
  securitySchemes:
    apiKey:
      in: header
      name: Authorization
      type: apiKey

````