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

# List calls

> Lists the bound number's calls, newest first. Query: limit (1–100, default 25) and before (ISO 8601 cursor — only calls created strictly before that instant). DTOs never carry SDPs here. Meta Cloud API and web (unofficial) numbers (other providers → 400 FEATURE_NOT_SUPPORTED).

**Requires a number-scoped key.**



## OpenAPI

````yaml openapi.json GET /v1/calls
openapi: 3.1.0
info:
  title: Pilot Status API
  version: 1.0.0
  license:
    name: Pilot Status Terms of Service
    url: https://pilotstatus.com.br/terms
  description: >-
    Public REST API for Pilot Status. Authenticate with the `x-api-key: ps_...`
    header (or `x-api-key-id`). Base URL: https://pilotstatus.com.br
servers:
  - url: https://pilotstatus.com.br
security:
  - apiKey: []
  - apiKeyId: []
paths:
  /v1/calls:
    get:
      tags:
        - Calls
      summary: List calls
      description: >-
        Lists the bound number's calls, newest first. Query: limit (1–100,
        default 25) and before (ISO 8601 cursor — only calls created strictly
        before that instant). DTOs never carry SDPs here. Meta Cloud API and web
        (unofficial) numbers (other providers → 400 FEATURE_NOT_SUPPORTED).


        **Requires a number-scoped key.**
      operationId: get_calls
      parameters:
        - name: limit
          in: query
          required: false
          description: Page size (default 25).
          schema:
            type: string
            description: (number (1–100))
          example: '25'
        - name: before
          in: query
          required: false
          description: 'Cursor: only calls created strictly before this instant.'
          schema:
            type: string
            description: (string (ISO 8601))
          example: '2026-07-03T15:00:00.000Z'
      responses:
        '200':
          description: List calls
          content:
            application/json:
              example:
                calls:
                  - id: call_01HZX...
                    externalCallId: wacid.ABGG...
                    direction: INBOUND
                    status: COMPLETED
                    peerNumber: '5511999999999'
                    durationSeconds: 120
                    startedAt: '2026-07-03T15:00:00.000Z'
                    connectedAt: '2026-07-03T15:00:05.000Z'
                    endedAt: '2026-07-03T15:02:05.000Z'
                    createdAt: '2026-07-03T15:00:00.000Z'
                    updatedAt: '2026-07-03T15:02:05.000Z'
        '400':
          description: Invalid payload or parameters
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  code:
                    type: string
              example:
                error: Validation error
        '401':
          description: Missing or invalid `x-api-key` / `x-api-key-id` header
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  code:
                    type: string
              example:
                error: Unauthorized
        '403':
          description: Tenant-scoped key used on a number-scoped endpoint
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  code:
                    type: string
              example:
                error: Tenant-scoped keys cannot call number endpoints
                code: TENANT_SCOPE_NOT_ALLOWED
        '409':
          description: Web number not connected
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  code:
                    type: string
              example:
                error: WhatsApp instance not connected
                code: WHATSAPP_INSTANCE_NOT_CONNECTED
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  code:
                    type: string
              example:
                error: Too many requests
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: Your ps_ API key
    apiKeyId:
      type: apiKey
      in: header
      name: x-api-key-id
      description: API key id (alternative to x-api-key)

````