---
title: "CreateAgentBody"
description: "Request body for creating an Agent."
section: "Reference"
group: "Types"
order: 4
---

## Definition

```ts
interface CreateAgentBody {
  workspaceId: string;
  name: string;
  description?: string | undefined;
  instructions?: string | undefined;
  models?: Array<string> | undefined;
  inputSchemaId?: string | undefined;
  outputSchemaId?: string | undefined;
  toolIds?: Array<string> | undefined;
}
```

## Fields

| Field            | Type                         | Notes                                                                                                                                     |
| ---------------- | ---------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| `workspaceId`    | `string`                     | `required` — Workspace that will own the new agent.                                                                                       |
| `name`           | `string`                     | `required` — Agent name                                                                                                                   |
| `description`    | `string \| undefined`        | `optional` — Agent description                                                                                                            |
| `instructions`   | `string \| undefined`        | `optional` — System instructions for the initial draft version                                                                            |
| `models`         | `Array<string> \| undefined` | `optional` — Model IDs for the initial draft version (e.g. ['anthropic/claude-sonnet-4-6']). See SupportedModelSchema for valid IDs.      |
| `inputSchemaId`  | `string \| undefined`        | `optional` — Input schema ID for the initial draft version                                                                                |
| `outputSchemaId` | `string \| undefined`        | `optional` — Output schema ID for the initial draft version                                                                               |
| `toolIds`        | `Array<string> \| undefined` | `optional` — Tool IDs to bind to this agent's LLM call surface. Tools wrap functions (server) or client handlers — see the `tool` entity. |
