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

# List Agent Calls

> List the calls one AI voice agent made or answered, newest first, filterable by day range, direction, status and outcome.



## OpenAPI

````yaml GET /agents/{agentUuid}/calls
openapi: 3.0.0
info:
  title: Zeeg Public API
  description: >-
    Zeeg public API documentation.


    ## Authentication

    All endpoints require a Bearer token. You can generate an API token from
    [your Zeeg dashboard](https://app.zeeg.me/account/settings/api-access).


    Each token is scoped to specific permissions (e.g. `events:read`,
    `webhooks:write`). Make sure your token has the required scopes for the
    endpoints you want to use.


    ## Recommended Headers

    We recommend including the `Accept: application/json` header in all API
    requests to ensure you receive JSON responses.
  version: 2.0.0
  x-logo:
    url: https://app.zeeg.me/img/logo-dark.2ca83593.svg
    backgroundColor: '#f7f7f9'
    altText: zeeg
  contact:
    name: Zeeg Support
    email: support@zeeg.me
    url: https://zeeg.me/en/contact
  license:
    name: Proprietary
    url: https://zeeg.me/en/legal/terms
  termsOfService: https://zeeg.me/en/legal/terms
servers:
  - url: https://api.zeeg.me/v2
    description: Production
security:
  - bearer: []
tags:
  - name: Scheduled Events
    description: Management of events scheduled via Zeeg
  - name: Scheduling Pages
    description: Scheduling pages information and management
  - name: Availability Schedule
    description: Read and change availability for users
  - name: Webhooks
    description: Webhooks management
  - name: Notes
    description: Notes for scheduled events
  - name: Workspaces & Teams
    description: Workspace users and team member management
  - name: AI Agent
    description: AI Agent integration endpoints
  - name: Payloads
    description: Webhook payload schemas
  - name: CRM - Objects
    description: >-
      Discover the schema of CRM objects (standard and custom) including all
      attribute definitions
  - name: CRM - Companies
    description: Create, read, update, and delete CRM company records
  - name: CRM - People
    description: Create, read, update, and delete CRM person records
  - name: Routing Forms - Forms
    description: Read routing forms with their questions and their routes
  - name: Routing Forms - Submissions
    description: Read and delete the submissions that invitees send through a routing form
paths:
  /agents/{agentUuid}/calls:
    get:
      tags:
        - AI Agent
      summary: List an agent's calls
      description: >-
        Returns the call log of one agent, newest first. Each entry is a
        summary; read one call with its transcript and collected data through
        `GET /agent-calls/{callId}`.


        `from` and `to` are whole days in UTC, matched against when Zeeg
        recorded the call.


        An agent of another workspace answers 403.


        **Required scope:** `agents:read`
      operationId: get-agents-agentUuid-calls
      parameters:
        - schema:
            type: string
            format: uuid
          in: path
          name: agentUuid
          required: true
          description: The UUID of the AI agent.
        - name: from
          in: query
          schema:
            type: string
            format: date
          description: Return only the calls recorded on or after this day.
          example: '2026-06-01'
        - name: to
          in: query
          schema:
            type: string
            format: date
          description: >-
            Return only the calls recorded on or before this day. It must not
            precede `from`.
          example: '2026-06-30'
        - name: direction
          in: query
          schema:
            type: string
            enum:
              - inbound
              - outbound
          description: Return only inbound or only outbound calls.
        - name: status
          in: query
          schema:
            type: string
            enum:
              - initiated
              - done
          description: Return only the calls in this status.
        - name: callOutcome
          in: query
          schema:
            type: string
            enum:
              - answered
              - voicemail
              - not_answered
              - busy
              - unknown
          description: Return only the calls with this outcome.
        - schema:
            type: integer
            default: 1
            minimum: 1
          in: query
          name: page
          description: Page number.
        - name: perPage
          in: query
          schema:
            type: integer
            default: 20
            minimum: 1
            maximum: 100
          description: Number of calls per page.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  status:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      pagination:
                        $ref: '#/components/schemas/Pagination'
                      calls:
                        type: array
                        items:
                          $ref: '#/components/schemas/AiAgentCall'
              examples:
                Success:
                  value:
                    success: true
                    status: 200
                    data:
                      pagination:
                        totalItems: 1
                        perPage: 20
                        currentPage: 1
                        lastPage: 1
                        hasPreviousPage: false
                        hasNextPage: false
                      calls:
                        - id: 7fK2pQx9Lm
                          agentId: 9a39bf60-a6c3-45e7-80cd-2cd36e520861
                          direction: inbound
                          status: done
                          callOutcome: answered
                          isCall: true
                          startedAt: '2026-06-01T10:00:00+00:00'
                          durationSeconds: 90
                          contactPhoneNumber: '+4917612345678'
                          crmPersonId: 3f2b6c1e-8a4d-4f7e-9b20-6d1c5a8e7f30
                          callSummaryTitle: Pricing question
                          createdAt: '2026-06-01T10:00:05+00:00'
        '401':
          $ref: '#/components/responses/401'
        '403':
          description: >-
            Forbidden — the token misses the scope, the user may not read
            agents, or the agent belongs to another workspace
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  message:
                    type: string
                  data:
                    nullable: true
                  status:
                    type: integer
              examples:
                Agent of another workspace:
                  value:
                    success: false
                    message: You are not a user of this organization.
                    data: null
                    status: 403
        '404':
          description: Not Found — no agent has this id
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  message:
                    type: string
                  data:
                    nullable: true
                  status:
                    type: integer
              examples:
                Agent not found:
                  value:
                    success: false
                    message: Agent not found
                    data: null
                    status: 404
        '422':
          $ref: '#/components/responses/422'
      security:
        - bearer: []
components:
  schemas:
    Pagination:
      type: object
      description: The page counters that a paginated list response carries.
      properties:
        totalItems:
          type: integer
          description: Number of items that match the request across every page.
          example: 42
        perPage:
          type: integer
          description: Number of items on one page.
          example: 20
        currentPage:
          type: integer
          description: Number of the page in this response.
          example: 1
        lastPage:
          type: integer
          description: Number of the last page.
          example: 3
        hasPreviousPage:
          type: boolean
          description: True when a page comes before this one.
          example: false
        hasNextPage:
          type: boolean
          description: True when a page comes after this one.
          example: true
    AiAgentCall:
      type: object
      description: >-
        One entry in an agent's call log. The field names match the
        `ai_agent.call_completed` webhook payload, whose `conversationId` is
        `id` here.
      properties:
        id:
          type: string
          description: >-
            The call id. Pass it to `GET /agent-calls/{callId}`. It is the
            `conversationId` of the `ai_agent.call_completed` webhook.
          example: 7fK2pQx9Lm
        agentId:
          type: string
          format: uuid
          example: 9a39bf60-a6c3-45e7-80cd-2cd36e520861
        direction:
          type: string
          enum:
            - inbound
            - outbound
        status:
          type: string
          enum:
            - initiated
            - done
          description: >-
            `done` once the call has ended and its analysis is stored;
            `initiated` while it runs or when it never completed.
        callOutcome:
          type: string
          nullable: true
          enum:
            - answered
            - voicemail
            - not_answered
            - busy
            - unknown
          description: >-
            Terminal outcome of the call attempt. `null` until the call has
            ended.
        isCall:
          type: boolean
          description: '`true` for a phone call; `false` for a test in the dashboard widget.'
        startedAt:
          type: string
          format: date-time
          nullable: true
          description: >-
            When the call started, in UTC. `null` when the voice provider
            reported no start time.
        durationSeconds:
          type: integer
          description: Call duration in seconds.
        contactPhoneNumber:
          type: string
          nullable: true
          description: >-
            The other party's phone number in E.164 format, whichever direction
            the call took. `null` for widget tests and blocked caller ID.
        crmPersonId:
          type: string
          format: uuid
          nullable: true
          description: >-
            The CRM person linked to this call. Read it with `GET
            /crm/people/{id}`.
        callSummaryTitle:
          type: string
          nullable: true
          description: A short AI-written title for the call.
        createdAt:
          type: string
          format: date-time
          description: When Zeeg first recorded the call.
  responses:
    '401':
      description: Unauthorized
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                example: Unauthenticated.
          examples:
            Unauthenticated:
              value:
                message: Unauthenticated.
    '422':
      description: Unprocessable Entity
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                example: The given data was invalid.
              errors:
                type: object
                additionalProperties:
                  type: array
                  items:
                    type: string
                example:
                  field_name:
                    - The field_name field is required.
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
      description: ''

````