# AgentDefinitionRequest

> Tracon documentation. Tracon is a .NET package family that adds a control
> plane on Microsoft Agent Framework, published as NuGet packages that run
> inside your own ASP.NET Core application.
>
> Page: https://tracon.dev/http-api/schemas/agentdefinitionrequest/
> Summary: OpenAPI request or response schema for AgentDefinitionRequest, including required fields, defaults, constraints, and linked nested types.

[← All HTTP schemas](/http-api/schemas/)

Request to create or update an agent definition.

**Shape:** `object`

| Property | Required | Type | Description | Rules |
|---|---|---|---|---|
| `name` | yes | `string` | Agent name. Unique within the catalog. | — |
| `displayName` | no | `string` | Name shown in the UI. | — |
| `description` | no | `string` | Short description. | — |
| `instructions` | no | `string` | System instructions. | — |
| `instructionsByCulture` | no | `object` | Culture-keyed instructions. See IReadOnlyDictionary&lt;string, string&gt;? AgentDefinition.InstructionsByCulture. | — |
| `model` | yes | [`ModelBinding`](/http-api/schemas/modelbinding/) | Model binding: provider, model, and sampling settings. | — |
| `toolNames` | no | array of `string` | Names of tools to use. Tools are defined only in code; only the name of an already registered tool may be given here. | — |
| `skillNames` | no | array of `string` | Names of skills that can be loaded at runtime. | — |
| `skills` | no | `null` oneOf [`SkillSettings`](/http-api/schemas/skillsettings/) | — | — |
| `workspace` | no | `null` oneOf [`WorkspaceSettings`](/http-api/schemas/workspacesettings/) | — | — |
| `extensionNames` | no | array of `string` | Names of agent extensions to compile the agent with, in call order. Extensions are defined only in code; only the name of an already registered extension may be given here. See `AgentDefinition.ExtensionNames`. | — |
| `callableAgents` | no | array of [`CallableAgentReference`](/http-api/schemas/callableagentreference/) | The other agents this agent may call, each with the version of it that runs. | — |
| `subAgents` | no | `null` oneOf [`SubAgentSettings`](/http-api/schemas/subagentsettings/) | — | — |
| `mcpResourceUris` | no | array of `string` | MCP resources added to the run context, each of the form `"{server}:{uri}"`. See `AgentDefinition.McpResourceUris`. | — |
| `harness` | no | `null` oneOf [`HarnessSettings`](/http-api/schemas/harnesssettings/) | — | — |
| `compaction` | no | `null` oneOf [`CompactionSettings`](/http-api/schemas/compactionsettings/) | — | — |
| `memory` | no | `null` oneOf [`MemorySettings`](/http-api/schemas/memorysettings/) | — | — |
| `metadata` | no | `object` | Free-form, application-specific metadata. See `AgentDefinition.Metadata`. | — |
| `parameters` | no | array of [`AgentParameter`](/http-api/schemas/agentparameter/) | The parameter schema. See IReadOnlyList&lt;AgentParameter&gt; AgentDefinition.Parameters. | — |
| `sharedInstructionsName` | no | `string` | The referenced shared instructions block. See `AgentDefinition.SharedInstructionsName`. | — |
