---
title: "List AI agents"
method: GET
path: "/api/fabric/resources/ai_agents"
tags: ["AI Agents: Custom"]
---

# List AI agents

`GET /api/fabric/resources/ai_agents`

Lists the custom AI Agents in your SignalWire project. Each agent is a reusable Fabric resource that defines a conversational call experience and can be reached through resource addresses or assigned as a call handler. Use [Dialogflow Agents](/docs/apis/rest/ai-agents/ai-agents-dialogflow/list-dialogflow-agents) for linked Dialogflow integrations, or [Call Flows](/docs/apis/rest/call-flows/list-call-flows) for visual, deterministic call logic.

#### Permissions

The API token used to authenticate must have the following scope(s) enabled to make a successful request: _Voice_, _Messaging_, _Fax_, or _Video_.

[Learn more about API scopes](/docs/platform/your-signalwire-api-space).

## Response `200`

The request has succeeded.

- AIAgentListResponse
  - `data` AIAgentResponse[], required — An array of objects containing the list of AI Agent data.
    - `id` string, uuid, required — Universal Unique Identifier.
    - `project_id` string, uuid, required — Universal Unique Identifier.
    - `display_name` string, required — Display name of the AIAgent Fabric Resource
    - `type` 'ai_agent', required — Type of the Fabric Resource
    - `created_at` string, date-time, required — Date and time when the resource was created.
    - `updated_at` string, date-time, required — Date and time when the resource was updated.
    - `ai_agent` AIAgent, required — Creates an AI agent that conducts voice conversations using automatic speech recognition (ASR), large language models (LLMs), and text-to-speech (TTS) synthesis. The agent processes caller speech in real-time, generates contextually appropriate responses, and can execute custom functions to interact with external systems through SignalWire AI Gateway (SWAIG). See the [SWML `ai` method reference](/docs/swml/reference/calling/ai) for the complete configuration contract.
      - `hints` string[] — Hints help the AI agent understand certain words or phrases better. Words that can commonly be misinterpreted can be added to the hints to help the AI speak more accurately. See [`ai.hints` in the SWML reference](/docs/swml/reference/calling/ai#aihints).
      - `languages` object[] — An array of JSON objects defining supported languages in the conversation. Mutually exclusive with `multilingual`: if both are set, `multilingual` is used and this array is ignored. See [`ai.languages` in the SWML reference](/docs/swml/reference/calling/ai#ailanguages).
      - `params` object — A JSON object containing parameters as key-value pairs. See [`ai.params` in the SWML reference](/docs/swml/reference/calling/ai#aiparams).
      - `post_prompt` object — The final set of instructions and configuration settings to send to the agent. See [`ai.post_prompt` in the SWML reference](/docs/swml/reference/calling/ai#aipost_prompt).
      - `pronounce` object[] — An array of JSON objects to clarify the AI's pronunciation of words or expressions. See [`ai.pronounce` in the SWML reference](/docs/swml/reference/calling/ai#aipronounce).
      - `prompt` object, required — Defines the AI agent's personality, goals, behaviors, and instructions for handling conversations. The prompt establishes how the agent should interact with callers, what information it should gather, and how it should respond to various scenarios. It is recommended to write prompts using markdown formatting. See [`ai.prompt` in the SWML reference](/docs/swml/reference/calling/ai#aiprompt).
      - `SWAIG` object — An array of JSON objects to create user-defined functions/endpoints that can be executed during the dialogue. See [`ai.SWAIG` in the SWML reference](/docs/swml/reference/calling/ai#aiswaig).
      - `agent_id` string, uuid, required — Universal Unique Identifier.
      - `name` string, required — Name of the AI Agent.
  - `links` AIAgentPaginationResponse, required
    - `self` string, uri, required — Link of the current page
    - `first` string, uri, required — Link to the first page
    - `next` string, uri — Link to the next page
    - `prev` string, uri — Link to the previous page

## Other responses

- `401` — Access is unauthorized.
- `404` — The server cannot find the requested resource.
- `500` — An internal server error occurred.

## Changes

> 138 revisions in range; 3 could not be searched.

- **2026-08-20** `173ff877e9cd` — 3 warning, 1 info
  - removed the optional property `data/items/ai_agent/allOf[subschema #1: AI Agent]/global_data` from the response with the `200` status
  - removed the optional property `data/items/ai_agent/allOf[subschema #1: AI Agent]/multilingual` from the response with the `200` status
  - removed the optional property `data/items/ai_agent/allOf[subschema #1: AI Agent]/post_prompt_url` from the response with the `200` status
  - response property `data/items/ai_agent/allOf[subschema #1: AI Agent]/hints/items/` list-of-types was narrowed by removing types `object` from media type `application/json` of response `200`
- **2026-08-20** `e79dcc8b2150` — 11 breaking, 12 warning, 14 info
  - the `data/items/ai_agent/allOf[subschema #1: AI Agent]/SWAIG` response's property type changed from no type to `object` for status `200`
  - the `data/items/ai_agent/allOf[subschema #1: AI Agent]/global_data` response's property type changed from no type to `object` for status `200`
  - the `data/items/ai_agent/allOf[subschema #1: AI Agent]/multilingual` response's property type changed from no type to `object` for status `200`
  - the `data/items/ai_agent/allOf[subschema #1: AI Agent]/params` response's property type changed from no type to `object` for status `200`
  - …33 more
- …earlier changes not shown

[Full history](https://skmtc.dev/signalwire/apis/signalwire-rest-api/changes/api/fabric/resources/ai_agents/get.md)

---

[API](https://skmtc.dev/signalwire/apis/signalwire-rest-api.md) · [All operations](https://skmtc.dev/signalwire/apis/signalwire-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/signalwire/signalwire-rest-api/revisions/40cdd103d4fb/schema)
