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

# Import Agents

> Import agents from Retell AI or ElevenLabs Agents. A dry run (the default) returns a per-setting report and creates nothing. With `dryRun: false` the agents are created with their custom tools and knowledge bases. Importing an agent again updates the agent it created before.

See [Import Agents](/platform/importing-agents) for what carries over and how to read the report.


## OpenAPI

````yaml POST /imports
openapi: 3.1.0
info:
  title: RevRing Voice AI API
  description: >-
    RevRing Voice AI platform API for managing AI voice agents, phone calls, SIP
    trunks, and analytics. Build intelligent voice applications that can handle
    inbound and outbound phone calls with AI-powered conversational agents.
  version: 1.0.0
  contact:
    name: RevRing Support
    url: https://revring.ai
servers:
  - url: https://api.revring.ai/v1
    description: Production API
security:
  - apiKeyAuth: []
tags:
  - name: Messaging Connections
    description: Connect messaging providers so agents can send text messages
  - name: Messages
    description: Send text messages and read your message log
  - name: Conversations
    description: List and clear managed conversation threads
  - name: SIP Trunks
    description: Manage SIP trunks for connecting agents to the phone network
  - name: Agents
    description: Manage AI voice agents and their configuration
  - name: Agent Folders
    description: Organize agents into folders for dashboard navigation
  - name: Calls
    description: Manage and query phone calls
  - name: Analytics
    description: Get analytics and metrics about your calls
  - name: Knowledge Bases
    description: >-
      Manage knowledge bases and sources for agent retrieval-augmented
      generation
  - name: Test Suites
    description: Manage test suites, test cases, and test runs for agent evaluation
  - name: Voices
    description: Browse the voices available to your organization for agent speech
  - name: Webhooks
    description: Webhook delivery settings for your organization
paths:
  /imports:
    post:
      tags:
        - Imports
      summary: Import Agents
      description: >-
        Import agents from Retell AI or ElevenLabs Agents. A dry run (the
        default) returns a per-setting report and creates nothing. With `dryRun:
        false` the agents are created with their custom tools and knowledge
        bases. Importing an agent again updates the agent it created before.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - source
                - apiKey
                - agentIds
              properties:
                source:
                  type: string
                  enum:
                    - retell
                    - elevenlabs
                  description: Platform the agents are on
                apiKey:
                  type: string
                  description: >-
                    Your API key for the source platform. Used for read-only
                    requests during this request only; never stored, logged or
                    returned.
                region:
                  type: string
                  enum:
                    - default
                    - us
                    - eu
                    - in
                    - sg
                  description: >-
                    ElevenLabs only: the data-residency region the agents live
                    in. Default `default`.
                agentIds:
                  type: array
                  items:
                    type: string
                  minItems: 1
                  maxItems: 25
                  description: >-
                    Source agent IDs. Up to 25 on a dry run, up to 10 when
                    importing.
                dryRun:
                  type: boolean
                  default: true
                  description: Report only; create nothing
      responses:
        '200':
          description: Dry run report
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/ImportReport'
        '201':
          description: Import report
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/ImportReport'
        '400':
          description: >-
            invalid_body, or invalid_source_key: the source platform rejected
            the API key
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
        '429':
          description: >-
            source_rate_limited: the source platform is rate limiting; retry in
            a minute
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
        '502':
          description: 'source_unavailable: the source platform did not answer'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
components:
  schemas:
    ImportReport:
      type: object
      properties:
        platform:
          type: string
          enum:
            - retell
            - elevenlabs
        dryRun:
          type: boolean
        agents:
          type: array
          items:
            type: object
            properties:
              source:
                type: object
                properties:
                  platform:
                    type: string
                  agentId:
                    type: string
                  name:
                    type: string
              status:
                type: string
                enum:
                  - ready
                  - ready_with_gaps
                  - blocked
                  - imported
                  - imported_with_gaps
                  - failed
              blockedReason:
                type: string
                description: Why the agent cannot be imported (status `blocked`)
              error:
                type: string
                description: Error code (status `failed`)
              agent:
                type: object
                description: >-
                  The RevRing agent created or updated. On a dry run, present
                  when a previous import would be updated.
                properties:
                  id:
                    type: string
                  name:
                    type: string
                  action:
                    type: string
                    enum:
                      - created
                      - updated
              voice:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                      - mapped
                      - approximated
                      - unsupported
                      - manual
                  source:
                    type: string
                    nullable: true
                  target:
                    type: string
                    description: RevRing voice ID
                  detail:
                    type: string
              customTools:
                type: array
                items:
                  type: object
                  properties:
                    name:
                      type: string
                    webhookUrl:
                      type: string
              knowledgeBases:
                type: array
                items:
                  type: object
                  properties:
                    name:
                      type: string
                    sources:
                      type: integer
              counts:
                type: object
                properties:
                  mapped:
                    type: integer
                  approximated:
                    type: integer
                  unsupported:
                    type: integer
                  manual:
                    type: integer
              fields:
                type: array
                items:
                  type: object
                  properties:
                    field:
                      type: string
                      description: Source setting path
                    status:
                      type: string
                      enum:
                        - mapped
                        - approximated
                        - unsupported
                        - manual
                    target:
                      type: string
                      description: RevRing setting it maps to, when there is one
                    detail:
                      type: string
              checklist:
                type: array
                items:
                  type: string
                description: Steps left to you before switching traffic
        summary:
          type: object
          properties:
            agents:
              type: integer
            ready:
              type: integer
            blocked:
              type: integer
            imported:
              type: integer
            failed:
              type: integer
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        API key for authentication. Generate API keys from the RevRing
        dashboard.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.