Retell AI Call API

The Call API from Retell AI — 2 operation(s) for call.

Documentation

📖
Documentation
https://docs.retellai.com/build/create-your-first-agent
📖
APIReference
https://docs.retellai.com/api-references/create-agent
📖
Documentation
https://docs.retellai.com/build/llms/overview
📖
APIReference
https://docs.retellai.com/api-references/create-retell-llm
📖
Documentation
https://docs.retellai.com/build/conversation-flow/overview
📖
APIReference
https://docs.retellai.com/api-references/create-conversation-flow
📖
Documentation
https://docs.retellai.com/make-calls/outbound-call
📖
APIReference
https://docs.retellai.com/api-references/create-phone-call
📖
Documentation
https://docs.retellai.com/make-calls/web-call
📖
APIReference
https://docs.retellai.com/api-references/create-web-call
📖
Documentation
https://docs.retellai.com/deploy/phone-number
📖
APIReference
https://docs.retellai.com/api-references/create-phone-number
📖
Documentation
https://docs.retellai.com/build/voices
📖
APIReference
https://docs.retellai.com/api-references/list-voices
📖
Documentation
https://docs.retellai.com/build/knowledge-base
📖
APIReference
https://docs.retellai.com/api-references/create-knowledge-base
📖
Documentation
https://docs.retellai.com/make-calls/batch-call
📖
APIReference
https://docs.retellai.com/api-references/create-batch-call
📖
APIReference
https://docs.retellai.com/api-references/get-concurrency
📖
RateLimits
https://raw.githubusercontent.com/api-evangelist/retell/refs/heads/main/rate-limits/retell-rate-limits.yml

Specifications

OpenAPI Specification

retell-call-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Retell AI Agent Call API
  description: REST API for building, testing, and deploying AI voice agents that make and receive phone and web calls. Configure a response engine (Retell LLM, a custom LLM, or a Conversation Flow), attach a voice, provision phone numbers, place outbound and web calls, run batch campaigns, ground agents with knowledge bases, and read back transcripts, recordings, and call analysis. All endpoints are authenticated with a Bearer API key.
  termsOfService: https://www.retellai.com/terms-of-service
  contact:
    name: Retell AI Support
    url: https://docs.retellai.com
  version: '2.0'
servers:
- url: https://api.retellai.com
security:
- api_key: []
tags:
- name: Call
paths:
  /get-call/{call_id}:
    get:
      operationId: getCall
      tags:
      - Call
      summary: Retrieve a call.
      description: Returns the full call object including status, transcript, recording URL, call analysis, and cost breakdown.
      parameters:
      - name: call_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Call'
  /list-calls:
    post:
      operationId: listCalls
      tags:
      - Call
      summary: List calls.
      description: Lists calls with optional filter criteria (agent, status, direction, timestamp ranges), sort order, and pagination.
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ListCallsRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Call'
components:
  schemas:
    ListCallsRequest:
      type: object
      properties:
        filter_criteria:
          type: object
          properties:
            agent_id:
              type: array
              items:
                type: string
            call_status:
              type: array
              items:
                $ref: '#/components/schemas/CallStatus'
            direction:
              type: array
              items:
                type: string
        sort_order:
          type: string
          enum:
          - ascending
          - descending
        limit:
          type: integer
        pagination_key:
          type: string
    Call:
      type: object
      properties:
        call_id:
          type: string
        call_type:
          type: string
          enum:
          - phone_call
          - web_call
        agent_id:
          type: string
        call_status:
          $ref: '#/components/schemas/CallStatus'
        from_number:
          type: string
        to_number:
          type: string
        direction:
          type: string
        start_timestamp:
          type: integer
        end_timestamp:
          type: integer
        duration_ms:
          type: integer
        transcript:
          type: string
        transcript_object:
          type: array
          items:
            type: object
        recording_url:
          type: string
        public_log_url:
          type: string
        disconnection_reason:
          type: string
        call_analysis:
          $ref: '#/components/schemas/CallAnalysis'
        call_cost:
          $ref: '#/components/schemas/CallCost'
        metadata:
          type: object
    CallAnalysis:
      type: object
      properties:
        call_summary:
          type: string
        user_sentiment:
          type: string
          enum:
          - Negative
          - Positive
          - Neutral
          - Unknown
        call_successful:
          type: boolean
        in_voicemail:
          type: boolean
        custom_analysis_data:
          type: object
    CallCost:
      type: object
      properties:
        combined_cost:
          type: number
          description: Total cost of the call in cents.
        total_duration_seconds:
          type: integer
        product_costs:
          type: array
          items:
            type: object
            properties:
              product:
                type: string
                description: e.g. retell_platform, tts, llm, telephony.
              unit_price:
                type: number
              cost:
                type: number
    CallStatus:
      type: string
      enum:
      - registered
      - ongoing
      - ended
      - error
  securitySchemes:
    api_key:
      type: http
      scheme: bearer
      bearerFormat: apiKey
      description: 'Retell API key, sent as: Authorization: Bearer <RETELL_API_KEY>'