# AgentCreateRequest

Creates an agent: a model with standing instructions, a one-line summary and the tools it may use.

**Kind:** an object, used in requests.

## Fields

| Field | Type | Required | Description |
|---|---|---|---|
| `name` | `string` | yes | The agent's name, unique within its namespace. Constraints: maxLength: 150, required (empty or whitespace-only strings are rejected). |
| `aiModelId` | `uuid` | yes | The id of the catalogue model the agent runs on. Constraints: required (empty or whitespace-only strings are rejected). |
| `systemPrompt` | `string` | yes | The agent's standing instructions (its system prompt): who it is and how it behaves. Constraints: required (empty or whitespace-only strings are rejected). |
| `summaryForOtherAgents` | `string` | yes | One line that describes the agent to other agents: a router choosing who answers, or a manager choosing who to hand work to, reads it. Constraints: required (empty or whitespace-only strings are rejected). |
| `externalOperationReferences` | [`AgentExternalOperationReferenceInput`](https://docs.maitento.com/reference/types/agent-external-operation-reference.md#in-a-request)`[]` |  | The tools the agent may call in every interaction it takes part in. |
| `routedSubAgents` | [`VersionReference`](https://docs.maitento.com/reference/types/version-reference.md)`[] \| null` |  | Makes the agent a router: on every turn it is given, its model picks one of these agents (by their summaries, guided by `systemPrompt`) to take the turn instead. The first is the fallback. A router has no tools of its own. |
| `allowSwarm` | `boolean` |  | Whether the agent may start sub-interactions where an interaction it takes part in allows them. |
| `allowWebSearch` | `boolean` |  | Whether the agent is given the built-in web search tool. An omitted value is false. |
| `allowWebFetch` | `boolean` |  | Whether the agent is given the built-in web fetch tools. An omitted value is false. |

## Example

```json
{
  "name": "...",
  "aiModelId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
  "systemPrompt": "...",
  "summaryForOtherAgents": "...",
  "externalOperationReferences": [
    {
      "externalOperationId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
      "externalOperationVersion": 0,
      "promptGuidance": "..."
    }
  ],
  "routedSubAgents": [
    {
      "id": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
      "version": 0
    }
  ],
  "allowSwarm": false,
  "allowWebSearch": false,
  "allowWebFetch": false
}
```

## Where it's used

- [`agents.create`](https://docs.maitento.com/reference/api/agents.md) (`POST /namespaces/{namespaceName}/agents`)
