Create agent
POST
/v1/agentsCreate a new agent configuration. Managed models include Claude 4.6/4.5 and Gemini 3/3.1. Team and Enterprise workspaces can also use connected external models from /agents/models.
How to call this endpoint
Every ACP API request uses bearer authentication. The examples here show the actual request path, auth header, and body shape that the platform expects.
Path, query, and header parameters
These parameters control which ACP object the endpoint acts on and how the request is processed.
Path parameters
None.
Query parameters
None.
Body schema
Content type: application/json · Required
| Field | Type | Required | Description |
|---|---|---|---|
| id | string | No | Optional custom agent ID. |
| name | string | Yes | Human-readable agent name. |
| description | string | No | Short summary of the agent's purpose. |
| model | string | Yes | Model identifier for the agent. Built-in managed models: - `claude-opus-4-6` - `claude-sonnet-4-5` - `claude-haiku-4-5` - `gemini-3-flash` - `gemini-3-1-pro` Team and Enterprise workspaces can also use connected external models in the form `external:{providerType}:{urlEncodedModelId}`. Use `GET /agents/models` to discover the exact managed and external model IDs available in the current workspace. |
| instructions | string | No | System instructions that define how the agent should operate. |
| binary | Claude Code CLI | No | Execution binary used for the agent runtime. |
| reasoningEffort | minimal | low | medium | high | No | Reasoning intensity used by the execution runtime. |
| enabledSkills | string[] | No | Skill IDs enabled for the agent. |
| deepResearchModel | gemini-3-flash-preview | gemini-3-pro-preview | No | Optional model override used by the deep research skill when enabled. |
| metadata | object | No | Optional agent metadata, including advanced workspace-specific configuration. |
| isDefault | boolean | No | Internal/default-agent flag. Most clients should omit this. |
| isSystem | boolean | No | Internal/system-agent flag. Most clients should omit this. |
What the API returns
Each response code below includes the documented payload shape for the ACP API.
201Agent createdapplication/json
| Field | Type | Required | Description |
|---|---|---|---|
| agent | object | No | — |
| agent.id | string | No | Unique identifier. |
| agent.userId | string | No | User ID. |
| agent.projectId | string | No | Project ID. |
| agent.name | string | No | Human-readable name. |
| agent.description | string | No | Human-readable description. |
| agent.model | string | No | Model identifier for the agent. Built-in managed models: - `claude-opus-4-6` - `claude-sonnet-4-5` - `claude-haiku-4-5` - `gemini-3-flash` - `gemini-3-1-pro` Team and Enterprise workspaces can also use connected external models in the form `external:{providerType}:{urlEncodedModelId}`. Use `GET /agents/models` to discover the exact managed and external model IDs available in the current workspace. |
| agent.instructions | string | No | — |
| agent.binary | Claude Code CLI | No | Execution binary used for the agent runtime. |
| agent.reasoningEffort | minimal | low | medium | high | No | Reasoning intensity used by the execution runtime. |
| agent.enabledSkills | string[] | No | Skill IDs enabled for this agent, for example `deep_research` or custom installed skills. |
| agent.deepResearchModel | gemini-3-flash-preview | gemini-3-pro-preview | No | Optional model override used by the deep research skill when enabled. |
| agent.isDefault | boolean | No | — |
| agent.isSystem | boolean | No | — |
| agent.isActive | boolean | No | — |
| agent.metadata | object | No | Free-form metadata object. |
| agent.createdAt | string | No | ISO 8601 timestamp. |
| agent.updatedAt | string | No | ISO 8601 timestamp. |
| agent.lastRunAt | string | No | — |