Retell AI

Retell AI is a platform to build, test, and deploy AI voice agents for phone calls. Its conversational voice API orchestrates LLM responses, telephony, speech, and call analysis so developers can place and receive natural-sounding automated calls, with a real-time WebSocket for bringing your own custom LLM and streaming call audio.

10 APIs 0 Features
AIVoiceVoice AgentsConversational AITelephony

APIs

Agents

Create, retrieve, list, update, and delete voice agents that pair a response engine (Retell LLM, custom LLM, or conversation flow) with a voice and call-behavior settings.

Retell LLM

Manage the Retell-hosted LLM response engine - general prompt, model, temperature, tools, multi-state flows, begin message, and knowledge base references that drive agent conver...

Conversation Flow

Manage node/edge conversation flows for visually structured, deterministic agent conversations as an alternative response engine to the Retell LLM.

Phone Calls

Place outbound PSTN calls (POST /v2/create-phone-call) and retrieve or list completed calls with transcript, recording URL, call analysis, and cost breakdown.

Web Calls

Register browser-based (WebRTC) calls (POST /v2/create-web-call) and receive an access_token to hand to the Retell Web Client SDK for real-time in-browser voice conversations.

Phone Numbers

Buy Retell-managed numbers or import your own via SIP trunk, and bind inbound and outbound agents to each number for automated call handling.

Voices

List and retrieve the catalog of available voices across TTS providers (ElevenLabs, OpenAI, PlayHT, Cartesia, Deepgram) with accent, gender, age, and preview audio.

Knowledge Bases

Create knowledge bases from texts, files, and URLs, manage their sources, and reference them from a Retell LLM or conversation flow for retrieval-augmented answers during calls.

Batch Call

Queue outbound calling campaigns to many recipients from a single from_number with per-task dynamic variables, subject to available call concurrency.

Concurrency

Read the organization's current and maximum simultaneous-call concurrency (GET /get-concurrency) - the primary capacity and throttling lever for outbound and batch calling.

Collections

Pricing Plans

Retell Plans Pricing

3 plans

PLANS

Rate Limits

Retell Rate Limits

5 limits

RATE LIMITS

FinOps

Retell Finops

FINOPS

Event Specifications

Retell AI Custom LLM WebSocket

AsyncAPI 2.6 description of Retell AI's real-time **Custom LLM WebSocket** surface, documented at https://docs.retellai.com/api-references/llm-websocket. Unlike a one-way HTTP s...

ASYNCAPI

Resources

🔗
DomainSecurity
DomainSecurity
🔑
Authentication
Authentication
👥
GitHubOrganization
GitHubOrganization
🔗
LinkedIn
LinkedIn
🔗
Website
Website
🔗
Documentation
Documentation
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps
📰
Blog
Blog

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Retell AI API
  version: '2.0'
request:
  auth:
    type: bearer
    token: '{{bearerToken}}'
items:
- info:
    name: Agent
    type: folder
  items:
  - info:
      name: Create a new voice agent.
      type: http
    http:
      method: POST
      url: https://api.retellai.com/create-agent
      body:
        type: json
        data: "{\n  \"response_engine\": { \"type\": \"retell-llm\", \"llm_id\": \"llm_...\" },\n  \"voice_id\": \"11labs-Adrian\"\
          ,\n  \"agent_name\": \"My Agent\"\n}"
    docs: Create a new voice agent.
  - info:
      name: Retrieve an agent.
      type: http
    http:
      method: GET
      url: https://api.retellai.com/get-agent/{{agent_id}}
    docs: Retrieve an agent.
  - info:
      name: List all agents.
      type: http
    http:
      method: GET
      url: https://api.retellai.com/list-agents
    docs: List all agents.
  - info:
      name: Update an agent.
      type: http
    http:
      method: PATCH
      url: https://api.retellai.com/update-agent/{{agent_id}}
      body:
        type: json
        data: '{}'
    docs: Update an agent.
  - info:
      name: Delete an agent.
      type: http
    http:
      method: DELETE
      url: https://api.retellai.com/delete-agent/{{agent_id}}
    docs: Delete an agent.
- info:
    name: Retell LLM
    type: folder
  items:
  - info:
      name: Create a Retell LLM response engine.
      type: http
    http:
      method: POST
      url: https://api.retellai.com/create-retell-llm
      body:
        type: json
        data: "{\n  \"general_prompt\": \"You are a helpful assistant.\",\n  \"model\": \"gpt-4.1\",\n  \"begin_message\"\
          : \"Hello, how can I help you today?\"\n}"
    docs: Create a Retell LLM response engine.
  - info:
      name: Retrieve a Retell LLM.
      type: http
    http:
      method: GET
      url: https://api.retellai.com/get-retell-llm/{{llm_id}}
    docs: Retrieve a Retell LLM.
  - info:
      name: List all Retell LLMs.
      type: http
    http:
      method: GET
      url: https://api.retellai.com/list-retell-llms
    docs: List all Retell LLMs.
  - info:
      name: Update a Retell LLM.
      type: http
    http:
      method: PATCH
      url: https://api.retellai.com/update-retell-llm/{{llm_id}}
      body:
        type: json
        data: '{}'
    docs: Update a Retell LLM.
  - info:
      name: Delete a Retell LLM.
      type: http
    http:
      method: DELETE
      url: https://api.retellai.com/delete-retell-llm/{{llm_id}}
    docs: Delete a Retell LLM.
- info:
    name: Conversation Flow
    type: folder
  items:
  - info:
      name: Create a conversation flow.
      type: http
    http:
      method: POST
      url: https://api.retellai.com/create-conversation-flow
      body:
        type: json
        data: "{\n  \"global_prompt\": \"You are a helpful assistant.\",\n  \"nodes\": [],\n  \"start_node_id\": \"start\"\
          \n}"
    docs: Create a conversation flow.
  - info:
      name: Retrieve a conversation flow.
      type: http
    http:
      method: GET
      url: https://api.retellai.com/get-conversation-flow/{{conversation_flow_id}}
    docs: Retrieve a conversation flow.
  - info:
      name: List all conversation flows.
      type: http
    http:
      method: GET
      url: https://api.retellai.com/list-conversation-flows
    docs: List all conversation flows.
  - info:
      name: Update a conversation flow.
      type: http
    http:
      method: PATCH
      url: https://api.retellai.com/update-conversation-flow/{{conversation_flow_id}}
      body:
        type: json
        data: '{}'
    docs: Update a conversation flow.
  - info:
      name: Delete a conversation flow.
      type: http
    http:
      method: DELETE
      url: https://api.retellai.com/delete-conversation-flow/{{conversation_flow_id}}
    docs: Delete a conversation flow.
- info:
    name: Phone Call
    type: folder
  items:
  - info:
      name: Create an outbound phone call.
      type: http
    http:
      method: POST
      url: https://api.retellai.com/v2/create-phone-call
      body:
        type: json
        data: "{\n  \"from_number\": \"+14157774444\",\n  \"to_number\": \"+12137774445\",\n  \"override_agent_id\": \"agent_...\"\
          \n}"
    docs: Create an outbound phone call.
- info:
    name: Web Call
    type: folder
  items:
  - info:
      name: Create a web call.
      type: http
    http:
      method: POST
      url: https://api.retellai.com/v2/create-web-call
      body:
        type: json
        data: "{\n  \"agent_id\": \"agent_...\"\n}"
    docs: Create a web call. Returns an access_token for the Retell Web Client SDK.
- info:
    name: Call
    type: folder
  items:
  - info:
      name: Retrieve a call.
      type: http
    http:
      method: GET
      url: https://api.retellai.com/get-call/{{call_id}}
    docs: Retrieve a call including transcript, recording, analysis, and cost.
  - info:
      name: List calls.
      type: http
    http:
      method: POST
      url: https://api.retellai.com/list-calls
      body:
        type: json
        data: "{\n  \"filter_criteria\": { \"agent_id\": [\"agent_...\"] },\n  \"sort_order\": \"descending\",\n  \"limit\"\
          : 50\n}"
    docs: List calls with optional filters, sort, and pagination.
- info:
    name: Batch Call
    type: folder
  items:
  - info:
      name: Create a batch call.
      type: http
    http:
      method: POST
      url: https://api.retellai.com/create-batch-call
      body:
        type: json
        data: "{\n  \"from_number\": \"+14157774444\",\n  \"name\": \"June Campaign\",\n  \"tasks\": [ { \"to_number\": \"\
          +12137774445\" } ]\n}"
    docs: Create a batch call campaign.
- info:
    name: Phone Number
    type: folder
  items:
  - info:
      name: Buy a phone number.
      type: http
    http:
      method: POST
      url: https://api.retellai.com/create-phone-number
      body:
        type: json
        data: "{\n  \"area_code\": 415,\n  \"inbound_agent_id\": \"agent_...\",\n  \"outbound_agent_id\": \"agent_...\"\n}"
    docs: Buy a phone number.
  - info:
      name: Import an existing phone number.
      type: http
    http:
      method: POST
      url: https://api.retellai.com/import-phone-number
      body:
        type: json
        data: "{\n  \"phone_number\": \"+14157774444\",\n  \"termination_uri\": \"someuri.pstn.twilio.com\"\n}"
    docs: Import an existing phone number via SIP trunk.
  - info:
      name: Retrieve a phone number.
      type: http
    http:
      method: GET
      url: https://api.retellai.com/get-phone-number/{{phone_number}}
    docs: Retrieve a phone number.
  - info:
      name: List phone numbers.
      type: http
    http:
      method: GET
      url: https://api.retellai.com/list-phone-numbers
    docs: List phone numbers.
  - info:
      name: Update a phone number.
      type: http
    http:
      method: PATCH
      url: https://api.retellai.com/update-phone-number/{{phone_number}}
      body:
        type: json
        data: '{}'
    docs: Update a phone number.
  - info:
      name: Delete (release) a phone number.
      type: http
    http:
      method: DELETE
      url: https://api.retellai.com/delete-phone-number/{{phone_number}}
    docs: Delete (release) a phone number.
- info:
    name: Voice
    type: folder
  items:
  - info:
      name: List all available voices.
      type: http
    http:
      method: GET
      url: https://api.retellai.com/list-voices
    docs: List all available voices.
  - info:
      name: Retrieve a voice.
      type: http
    http:
      method: GET
      url: https://api.retellai.com/get-voice/{{voice_id}}
    docs: Retrieve a voice.
- info:
    name: Knowledge Base
    type: folder
  items:
  - info:
      name: Create a knowledge base.
      type: http
    http:
      method: POST
      url: https://api.retellai.com/create-knowledge-base
      body:
        type: multipart-form
        data: []
    docs: Create a knowledge base from texts, files, and URLs.
  - info:
      name: Retrieve a knowledge base.
      type: http
    http:
      method: GET
      url: https://api.retellai.com/get-knowledge-base/{{knowledge_base_id}}
    docs: Retrieve a knowledge base.
  - info:
      name: List all knowledge bases.
      type: http
    http:
      method: GET
      url: https://api.retellai.com/list-knowledge-bases
    docs: List all knowledge bases.
  - info:
      name: Add sources to a knowledge base.
      type: http
    http:
      method: POST
      url: https://api.retellai.com/add-knowledge-base-sources/{{knowledge_base_id}}
      body:
        type: multipart-form
        data: []
    docs: Add sources to a knowledge base.
  - info:
      name: Delete a knowledge base source.
      type: http
    http:
      method: DELETE
      url: https://api.retellai.com/delete-knowledge-base-source/{{knowledge_base_id}}/source/{{source_id}}
    docs: Delete a knowledge base source.
  - info:
      name: Delete a knowledge base.
      type: http
    http:
      method: DELETE
      url: https://api.retellai.com/delete-knowledge-base/{{knowledge_base_id}}
    docs: Delete a knowledge base.
- info:
    name: Concurrency
    type: folder
  items:
  - info:
      name: Get current and maximum call concurrency.
      type: http
    http:
      method: GET
      url: https://api.retellai.com/get-concurrency
    docs: Get current and maximum call concurrency for the organization.