Retell AI Conversation Flow API

The Conversation Flow API from Retell AI — 5 operation(s) for conversation flow.

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-conversation-flow-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Retell AI Agent Conversation Flow 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: Conversation Flow
paths:
  /create-conversation-flow:
    post:
      operationId: createConversationFlow
      tags:
      - Conversation Flow
      summary: Create a conversation flow.
      description: Creates a node/edge conversation flow response engine for visually structured, deterministic agent conversations.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConversationFlowRequest'
      responses:
        '201':
          description: Conversation flow created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConversationFlowResponse'
  /get-conversation-flow/{conversation_flow_id}:
    get:
      operationId: getConversationFlow
      tags:
      - Conversation Flow
      summary: Retrieve a conversation flow.
      parameters:
      - $ref: '#/components/parameters/ConversationFlowId'
      - $ref: '#/components/parameters/Version'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConversationFlowResponse'
  /list-conversation-flows:
    get:
      operationId: listConversationFlows
      tags:
      - Conversation Flow
      summary: List all conversation flows.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ConversationFlowResponse'
  /update-conversation-flow/{conversation_flow_id}:
    patch:
      operationId: updateConversationFlow
      tags:
      - Conversation Flow
      summary: Update a conversation flow.
      parameters:
      - $ref: '#/components/parameters/ConversationFlowId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConversationFlowRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConversationFlowResponse'
  /delete-conversation-flow/{conversation_flow_id}:
    delete:
      operationId: deleteConversationFlow
      tags:
      - Conversation Flow
      summary: Delete a conversation flow.
      parameters:
      - $ref: '#/components/parameters/ConversationFlowId'
      responses:
        '204':
          description: Conversation flow deleted.
components:
  parameters:
    ConversationFlowId:
      name: conversation_flow_id
      in: path
      required: true
      schema:
        type: string
    Version:
      name: version
      in: query
      required: false
      description: Specific version (integer) or version tag to retrieve.
      schema:
        type: string
  schemas:
    ConversationFlowResponse:
      allOf:
      - $ref: '#/components/schemas/ConversationFlowRequest'
      - type: object
        properties:
          conversation_flow_id:
            type: string
          version:
            type: integer
          is_published:
            type: boolean
    ConversationFlowRequest:
      type: object
      properties:
        global_prompt:
          type: string
        nodes:
          type: array
          description: Flow nodes (conversation, function, transfer, end, etc.).
          items:
            type: object
        start_node_id:
          type: string
        model:
          type: string
        knowledge_base_ids:
          type: array
          items:
            type: string
  securitySchemes:
    api_key:
      type: http
      scheme: bearer
      bearerFormat: apiKey
      description: 'Retell API key, sent as: Authorization: Bearer <RETELL_API_KEY>'