---
title: "Get AI agent"
method: GET
path: "/api/fabric/resources/ai_agents/{id}"
tags: ["AI Agents: Custom"]
---

# Get AI agent

`GET /api/fabric/resources/ai_agents/{id}`

Retrieves one custom AI Agent from your SignalWire project. Use it to review an agent that is configured directly in SignalWire; use [List AI agents](/docs/apis/rest/ai-agents/ai-agents-custom/list-ai-agents) to find agents, or [Get Dialogflow agent](/docs/apis/rest/ai-agents/ai-agents-dialogflow/get-dialogflow-agent) for a linked Dialogflow resource.

#### 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).

## Path parameters

- `id` string, uuid, required — Universal Unique Identifier.

## Response `200`

The request has succeeded.

- AIAgentResponse
  - `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.

## 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 `ai_agent/allOf[subschema #1: AI Agent]/global_data` from the response with the `200` status
  - removed the optional property `ai_agent/allOf[subschema #1: AI Agent]/multilingual` from the response with the `200` status
  - removed the optional property `ai_agent/allOf[subschema #1: AI Agent]/post_prompt_url` from the response with the `200` status
  - response property `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 `ai_agent/allOf[subschema #1: AI Agent]/SWAIG` response's property type changed from no type to `object` for status `200`
  - the `ai_agent/allOf[subschema #1: AI Agent]/global_data` response's property type changed from no type to `object` for status `200`
  - the `ai_agent/allOf[subschema #1: AI Agent]/multilingual` response's property type changed from no type to `object` for status `200`
  - the `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/:id/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)
