---
title: "List"
method: GET
path: "/agents"
tags: ["agents"]
---

# List

`GET /agents`

Returns all agents in a project.

## Query parameters

- `project` string

## Headers

- `Authorization` string, required

## Response `200`

Success response

- AgentsListResponse200
  - `agents` Agent[], required
    - `id` string, required — The ID of the agent.
    - `name` string, required — The name of the agent.
    - `phone_number` string, nullable, required — The phone number that the agent uses to accept calls. `null` if the agent is not associated with a phone number, in which can the agent can be used via WebSockets. This field is deprecated. Use `phone_numbers` instead.
    - `phone_numbers` string[], required — Array of phone numbers that the agent uses to accept phone calls.
    - `project` AgentProject, required — The project the agent belongs to.
      - `id` string, required
      - `name` string, required
    - `timezone` string, required — The timezone of the agent. Used to format system variables like `{{system_time}}`.
    - `voice_id` string, required — The voice ID of the agent.
    - `audio_format` 'pcm_44100' | 'pcm_24000' | 'pcm_16000' | 'pcm_8000' | 'mulaw_8000', required — The audio format of the agent. If the agent has a phone number, the audio format will be `mulaw_8000`.
    - `audio_speed` number, double, required — The audio speed of the agent. Must be a multiple of 0.1.
    - `background_noise_level` number, double, required — The background noise level of the agent. Must be between 0 and 1.
    - `background_noise` 'office' | 'call-center' | 'coffee-shop', required — The background noise type. Can be "office", "call-center", "coffee-shop", or null.
    - `generate_welcome_message` boolean, required — When `true`, the welcome message will be automatically generated and the `welcome_message` field will be ignored.
    - `is_welcome_message_interruptible` boolean, required — When `false`, the welcome message will not be interruptible by the user.
    - `websocket_timeout_sec` integer — Number of seconds of inactivity before the conversation WebSocket is closed.
    - `welcome_message` string, nullable, required — Message to play when the conversation starts. Ignored when `generate_welcome_message` is `true`.
    - `system_prompt` string, required — Instructions for the conversation.
    - `template_variables` object, required — Template variables that the agent can use in the welcome message and the system prompt.
    - `tools` AgentToolsItems[], required — List of tools available to the agent.
      - union
        - 'keypad_input' | 'natural_conversation_ending' | 'choose_not_to_respond' — Built-in tool
        - string
    - `built_in_tool_configs` union, required
      - BuiltInToolConfig — Configuration for a simple built-in tool (`keypad_input` or `natural_conversation_ending`).
        - `speech_before_tool_call` 'required' | 'optional' | 'suppressed', required — Controls whether the assistant speaks before the tool is called. `required`: the assistant must speak first. `optional`: the model decides. `suppressed`: the assistant is strongly instructed to stay silent before the call (best effort).
      - ChooseNotToRespondToolConfig — Configuration for the `choose_not_to_respond` built-in tool.
        - `respond_after_sec` number, double, nullable — Number of seconds to wait after the tool fires before the assistant speaks a follow-up if the user stays silent. When null, the assistant stays silent (default).
    - `tasks` Task[], required — Tasks for the agent to complete during the conversation.
      - `name` string, required — The name of the task.
      - `description` string, required — The description of the task.
    - `generate_no_input_poke_text` boolean, required — Whether to have the no-input poke text be generated by AI.
    - `no_input_poke_sec` integer, nullable, required — Number of seconds of silence before sending a poke message. `null` disables the poke message.
    - `no_input_poke_text` string, required — The message to send after the specified silence. Ignored when generate_no_input_poke_text is true.
    - `no_input_end_conversation_sec` integer, required — Seconds of silence before ending the conversation.
    - `default_language` 'ar' | 'az' | 'bg' | 'bn' | 'cs' | 'da' | 'de' | 'el' | 'en' | 'es' | 'fa' | 'fi' | 'fil' | 'fr' | 'gu' | 'he' | 'hi' | 'hu' | 'id' | 'it' | 'ja' | 'ka' | 'km' | 'kn' | 'ko' | 'lt' | 'lv' | 'ml' | 'mr' | 'ms' | 'ne' | 'nl' | 'no' | 'pa' | 'pl' | 'pt' | 'ro' | 'ru' | 'si' | 'sk' | 'sq' | 'sv' | 'sw' | 'ta' | 'te' | 'th' | 'tr' | 'uk' | 'ur' | 'vi' | 'yue' | 'zh', required — ISO 639-1 language codes supported by the agent
    - `additional_languages` LanguageCode[], required — Array of additional ISO 639-1 language codes that the agent should be able to recognize and speak. Should not include `default_language`. When `multilingual_mode` is `"auto"`, a maximum of 2 additional languages is allowed.
    - `languages` LanguageCode[] — Array of ISO 639-1 language codes that the agent should be able to recognize. This field is deprecated. Use `default_language` and `additional_languages` instead.
    - `multilingual_mode` 'auto' | 'request' | 'initial', required — If `"auto"`, each user audio is automatically identified for the language to respond in. If `"request"`, user must request to change language (recommended). If `"initial"` the first turn user audio determines the language for the rest of the conversation.
    - `push_to_talk` boolean, required — Push to talk mode. User must send mute/unmute messages to turn on/off listening to audio. Defaults to false.
    - `intelligence_level` 'standard' | 'high', required — The intelligence level of the agent. `high` uses a more capable model for more complex reasoning, while `standard` is optimized for lower latency.
    - `boosted_keywords` string[], required — These words, or short phrases, will be more accurately recognized by the agent.
    - `observability_integrations` AgentObservabilityIntegrationsItems[] — Names of observability integrations enabled for the agent. Each must be one of the supported providers.
    - `external_storage_policy` string, nullable — Name of the external storage policy that conversation artifacts are delivered to. `null` when the agent doesn't deliver artifacts to external storage.
    - `pronunciation_dictionary` AgentPronunciationDictionaryItems[], required — Array of `{ word, pronunciation }` entries. Words must be unique.
      - `word` string, required
      - `pronunciation` string, required
    - `min_words_to_interrupt` integer, required — Minimum number of words required to interrupt the assistant.
    - `configuration_endpoint` AgentConfigurationEndpoint, required — When not `null`, the agent will call this endpoint to get configuration options.
      - `url` string, required
      - `headers` object, required
      - `timeout_ms` integer, required — The timeout for the configuration endpoint in milliseconds.
    - `inbound_rollout` number, double — Float between 0.0 and 1.0 representing the percentage of inbound calls handled by Agent. Requires `phone_number` to be set when less than 1.0.
    - `inbound_rollout_forward_phone_number` string, nullable — E.164 formatted phone number where non-agent calls will be forwarded. Required when `inbound_rollout < 1.0`, must be `null` when `inbound_rollout = 1.0`.
    - `vad_prebuffer_duration_ms` integer — Voice activity detection prebuffer duration in milliseconds.
    - `vad_min_speech_duration_ms` integer — Minimum speech duration for voice activity detection in milliseconds.
    - `vad_min_silence_duration_ms` integer — Minimum silence duration for voice activity detection in milliseconds.
    - `vad_threshold` number, double — Voice activity detection threshold.
    - `enable_redaction` boolean — When `true`, PII and PHI are redacted from text transcripts (e.g. replaced with tags like `[PHONE]`) and bleeped from audio recordings after the conversation ends.
    - `slug` string — The URL-friendly slug of the agent.
    - `enable_assistant_backchannel` boolean — When `true`, the assistant emits backchannel cues (e.g. "mm-hmm") while the user is speaking.
    - `assistant_backchannel_aggressiveness` number, double — How aggressively the assistant backchannels, from 0 to 1.
    - `integrations` AgentIntegration[] — Third-party integrations enabled for the agent.
      - `account_id` string, required — The connected account ID.
      - `account_name` string, nullable, required — The connected account name.
      - `action_names` string[], required — The integration actions available to the agent.
      - `app_slug` string, required — The slug identifying the integration app.
    - `data_retention_policy` union — Controls how long transcripts and audio recordings are retained before deletion. When `zero_data_retention` is `true`, nothing is retained and `transcripts`/`audio_recordings` are omitted.
      - DataRetentionPolicy0 — Zero data retention mode. No transcripts or audio recordings are retained.
        - `zero_data_retention` boolean, required — When `true`, no transcripts or audio recordings are retained.
      - DataRetentionPolicy1 — Standard data retention with configurable deletion windows.
        - `zero_data_retention` boolean, required — Must be `false` for standard data retention.
        - `transcripts` DataRetentionPolicyOneOf1Transcripts, required
          - `delete_after_hours` integer, nullable, required — Number of hours after which transcripts are deleted. Null means transcripts are retained indefinitely.
        - `audio_recordings` DataRetentionPolicyOneOf1AudioRecordings, required
          - `delete_after_hours` integer, nullable, required — Number of hours after which audio recordings are deleted. Null means audio recordings are retained indefinitely.

## Other responses

- `404` — Project not found
- `500` — Internal server error

---

[API](https://skmtc.net/phonic/apis/api-reference.md) · [All operations](https://skmtc.net/phonic/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/phonic/api-reference/revisions/dd8166a70626/schema)
