> ## 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.

# Play audio into call (web)

> Plays an audio file into an active call. Body: { mediaUrl } — a public http(s) URL of an .mp3/.wav/.opus file (media travels by URL, like every media send on web numbers). When the call is not active yet the audio is queued and starts as soon as it connects. Web (unofficial) numbers ONLY — Meta numbers return 400 FEATURE_NOT_SUPPORTED (their media flows via WebRTC).

**Requires a number-scoped key.**



## OpenAPI

````yaml openapi.json POST /v1/calls/{callId}/play
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/{callId}/play:
    post:
      tags:
        - Calls
      summary: Play audio into call (web)
      description: >-
        Plays an audio file into an active call. Body: { mediaUrl } — a public
        http(s) URL of an .mp3/.wav/.opus file (media travels by URL, like every
        media send on web numbers). When the call is not active yet the audio is
        queued and starts as soon as it connects. Web (unofficial) numbers ONLY
        — Meta numbers return 400 FEATURE_NOT_SUPPORTED (their media flows via
        WebRTC).


        **Requires a number-scoped key.**
      operationId: post_calls_callId_play
      parameters:
        - name: callId
          in: path
          required: true
          description: Pilot Status id (call_...) or provider call id (CallID).
          schema:
            type: string
          example: call_01HZX...
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                mediaUrl:
                  type: string
                  description: Public URL of the audio to play (.mp3, .wav or .opus).
                  example: https://cdn.example.com/ivr-greeting.mp3
              required:
                - mediaUrl
            example:
              mediaUrl: https://cdn.example.com/ivr-greeting.mp3
      responses:
        '200':
          description: Play audio
          content:
            application/json:
              example:
                success: true
                id: call_01HZX...
                status: ACCEPTED
        '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
        '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)

````