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

# List agents

> All agents owned by the organization for the current API key.



## OpenAPI

````yaml get /v1/agents
openapi: 3.0.3
info:
  title: Vatel AI REST API
  description: >-
    Programmatic access for agents, telephony, and session tokens. Send
    `Authorization: Bearer <organization API key>` on all requests unless noted.
    Most error responses return JSON with an `error` string message.
  version: 0.2.4
servers:
  - url: https://api.vatel.ai
    description: Production
security:
  - bearerAuth: []
tags:
  - name: organization
    description: Organization tied to your API key
  - name: llms
    description: LLM model identifiers
  - name: voices
    description: TTS voice catalog
  - name: agents
    description: Agents, outbound dial, agent versions
  - name: twilio
    description: Imported Twilio phone numbers
  - name: sip-trunks
    description: SIP trunk configuration
  - name: session
    description: Session tokens and voice WebSocket connections.
  - name: calls
    description: Call history, recordings, and live eavesdrop for your organization
  - name: eavesdrop
    description: Listen to live calls and send supervisor commands over WebSocket.
paths:
  /v1/agents:
    get:
      tags:
        - agents
      summary: List agents
      description: All agents owned by the organization for the current API key.
      operationId: listAgents
      responses:
        '200':
          description: Agents for the organization
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Agent'
        '401':
          description: Unauthorized
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    Agent:
      type: object
      description: >-
        Voice agent configuration for your organization. `llm` is the primary
        model; `fallback_llm` is used when the primary cannot serve.
      properties:
        id:
          type: string
          format: uuid
          description: Stable agent id.
        phone_number_id:
          type: string
          description: >-
            Assigned Twilio number id for this agent, if any. Empty when
            unassigned.
        name:
          type: string
          description: Display name.
        llm:
          $ref: '#/components/schemas/LLMModel'
        fallback_llm:
          $ref: '#/components/schemas/LLMModel'
        status:
          $ref: '#/components/schemas/AgentStatus'
        prompt:
          type: string
          description: System or base instructions for the model.
        first_message:
          type: string
          description: Opening line the agent speaks when a call starts.
        first_message_interruption_time:
          type: number
          description: Window (seconds) where the first message can be interrupted.
        default_language:
          type: string
          description: >-
            Primary speech language: `multi`, `en`, `es`, `fr`, `de`, `it`,
            `pt`, `ru`, `zh`, `ja`, `ko`, `ar`, or `hi` (same set as the builder
            UI). `multi` is only appropriate for multilingual STT (e.g. Deepgram
            Nova).
        summarize_calls:
          type: boolean
          description: Whether to generate summaries after calls.
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        noise_cancel_settings:
          $ref: '#/components/schemas/NoiseCancelSettings'
        vad_settings:
          $ref: '#/components/schemas/VadSettings'
        enable_first_message_outbound:
          type: boolean
          description: Play `first_message` on outbound calls when true.
        voice_settings:
          $ref: '#/components/schemas/VoiceSettings'
        timeout_settings:
          $ref: '#/components/schemas/TimeoutSettings'
        keyterms:
          type: array
          items:
            type: string
          description: Hints for transcription or keyword boosting, up to server limits.
    ErrorResponse:
      type: object
      description: Standard error body for most non-2xx JSON responses on this API.
      required:
        - error
      properties:
        error:
          type: string
          description: Human-readable message; may include validation detail.
    LLMModel:
      type: string
      description: >-
        Language model id in `provider/model` form. Use `GET /v1/llms` for
        values accepted on create and update.
    AgentStatus:
      type: string
      description: Whether the agent accepts traffic.
      enum:
        - active
        - inactive
    NoiseCancelSettings:
      type: object
      description: Inbound noise suppression profile.
      properties:
        enabled:
          type: boolean
          description: Whether suppression is applied.
        level:
          type: number
          description: >-
            Noise suppression strength from 0 to 100 (percent), matching Krisp
            and the product UI.
    VadSettings:
      type: object
      description: >-
        Voice-activity detection timing for turn-taking. On PATCH, send only the
        fields to change; omitted properties keep their stored values.
      properties:
        start_secs:
          type: number
          description: Seconds of speech before a turn is considered started.
        stop_secs:
          type: number
          description: Seconds of silence before end-of-turn.
        silence_timeout_secs:
          type: number
          description: Silence duration that triggers end-of-turn or timeout behavior.
    VoiceSettings:
      type: object
      description: >-
        Voice and TTS provider for the agent. On create or update, include `id`
        and `provider`; optional tuning fields (when sent and non-zero) must be
        between 0 and 2.
      properties:
        id:
          type: string
          description: Voice id from the vendor catalog (`GET /v1/voices`).
        provider:
          $ref: '#/components/schemas/TTSStrategy'
        speed:
          type: number
          description: Speech rate tuning when supported by the provider.
        stability:
          type: number
          description: Stability tuning when supported (e.g. ElevenLabs).
        similarity_boost:
          type: number
          description: Similarity tuning when supported.
        volume:
          type: number
          description: Output level tuning when supported.
    TimeoutSettings:
      type: object
      description: Limits and escalation rules for user silence and overall call duration.
      properties:
        default_timeout:
          type: number
          description: >-
            Overall inactivity or session timeout (seconds), upper bound
            enforced server-side.
        timeout_action:
          $ref: '#/components/schemas/TimeoutAction'
        transfer_number:
          type: string
          description: E.164 or carrier-accepted number when action is transfer.
        transfer_message:
          type: string
          description: Spoken or played message before transfer, when applicable.
        silence_counter:
          type: integer
          description: Repeated silence checks or strikes before silence timeout.
        silence_timeout_action:
          $ref: '#/components/schemas/TimeoutAction'
        silence_transfer_number:
          type: string
          description: Transfer target when silence action is transfer.
    TTSStrategy:
      type: string
      description: Text-to-speech vendor backing the agent voice.
      enum:
        - elevenlabs
        - openai
        - cartesia
        - hume
        - minimax
        - fish
    TimeoutAction:
      type: string
      description: What happens when a timeout condition fires.
      enum:
        - end_call
        - transfer_call
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: 'Send your organization API key as `Authorization: Bearer <key>`.'

````