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

# List call logs

> Retrieve call logs for the authenticated user.

This endpoint uses cursor-based pagination for efficient traversal of large datasets.
Use the `cursor` value from the response to fetch the next page.




## OpenAPI

````yaml /openapi.yaml get /calls
openapi: 3.0.0
info:
  title: Omnia Voice API
  description: >
    The Omnia Voice API allows you to programmatically manage voice agents,
    tools, phone numbers, and call logs.


    ## Authentication

    All API requests require an API key to be passed in the `X-API-Key` header.


    ## Rate Limiting

    API requests are rate limited to 1000 requests per hour per API key.
  version: 1.0.0
  contact:
    email: support@omnia-voice.com
servers:
  - url: https://api.omnia-voice.com/api/v1
    description: Production
  - url: https://dashboard.omnia-voice.com/api/v1
    description: Production (alias — same service)
security:
  - ApiKeyAuth: []
tags:
  - name: Agents
    description: Manage voice agents
  - name: Tools
    description: Manage agent tools and actions
  - name: Phone Numbers
    description: Manage phone number assignments
  - name: Calls
    description: Create and manage voice calls
  - name: Call Logs
    description: View call history and details
  - name: Pricing
    description: Get pricing information and calculate call costs
  - name: Configuration
    description: Get configuration options (voices, languages)
paths:
  /calls:
    get:
      tags:
        - Call Logs
      summary: List call logs
      description: >
        Retrieve call logs for the authenticated user.


        This endpoint uses cursor-based pagination for efficient traversal of
        large datasets.

        Use the `cursor` value from the response to fetch the next page.
      operationId: listCallLogs
      parameters:
        - name: pageSize
          in: query
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 50
          description: Number of results per page (1-100)
        - name: cursor
          in: query
          schema:
            type: string
          description: >-
            Pagination cursor from previous response (use value from
            `pagination.next` or `pagination.previous`)
        - name: status
          in: query
          schema:
            type: string
          description: Filter by call status (e.g., "ended", "agent_hangup")
        - name: startDate
          in: query
          schema:
            type: string
            format: date-time
          description: Filter calls from this date (ISO 8601 format)
        - name: endDate
          in: query
          schema:
            type: string
            format: date-time
          description: Filter calls until this date (ISO 8601 format)
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/CallLog'
                  pagination:
                    $ref: '#/components/schemas/CursorPaginatedResponse'
components:
  schemas:
    CallLog:
      type: object
      properties:
        id:
          type: string
          description: Call ID
        startTime:
          type: string
          format: date-time
        endTime:
          type: string
          format: date-time
        duration:
          type: integer
          description: Duration in seconds (legacy)
        durationMs:
          type: integer
          description: Duration in milliseconds
        durationSeconds:
          type: integer
          description: Duration in seconds
        status:
          type: string
          description: Call end reason
        summary:
          type: string
          description: Call summary
        shortSummary:
          type: string
          description: Brief summary
        transcript:
          type: string
          description: Call transcript
        billing:
          $ref: '#/components/schemas/CallBilling'
    CursorPaginatedResponse:
      type: object
      description: Cursor-based pagination response (used by Call Logs endpoint)
      properties:
        pageSize:
          type: integer
          description: Number of results per page
        total:
          type: integer
          description: Total number of results
        next:
          type: string
          nullable: true
          description: Cursor for the next page (null if no more pages)
        previous:
          type: string
          nullable: true
          description: Cursor for the previous page (null if on first page)
    CallBilling:
      type: object
      description: Billing information for the call
      properties:
        durationMinutes:
          type: integer
          description: Billed duration in minutes (rounded up)
        costCents:
          type: integer
          description: Cost in cents
        costDollars:
          type: number
          format: float
          description: Cost in dollars
        pricePerMinuteCents:
          type: integer
          description: Price per minute in cents
        currency:
          type: string
          description: Currency code (USD)
        billedAt:
          type: string
          format: date-time
          nullable: true
          description: When the call was billed (null if not yet billed)
        note:
          type: string
          description: Additional billing notes
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: API key for authentication

````