POST
/v1/organizations/{organizationId}/projects/{projectId}/agent-definitionsCreate an API-managed Agent Definition
Create a stable Project-scoped Agent Definition whose immutable Versions can be used across Environments.
Authentication
Send an API key as a Bearer token in the Authorization header.
Parameters
Request body
Required.
application/jsonobject- unknown properties allowed
false
keyrequiredstringThe stable key used across Environments and Versions.- maximum length
100 - minimum length
1
- maximum length
displayNamerequiredstringThe human-readable Agent Definition name.- maximum length
200 - minimum length
1
- maximum length
Create an API-managed Agent Definition
{
"key": "support-agent",
"displayName": "Support Agent"
}Responses
201AgentDefinitionCreatedapplication/jsonAgent Definition created
{
"agentDefinitionId": "agentdef_00000000000000000000000000000001",
"organizationId": "org_00000000000000000000000000000002",
"projectId": "proj_00000000000000000000000000000001",
"key": "support-agent",
"displayName": "Support Agent",
"status": "active",
"configurationAuthority": "ApiManaged",
"createdAt": "2026-01-15T18:30:00.000Z"
}400The request path, headers, query, or JSON body did not satisfy the published schema401Unauthorizedapplication/json403Forbiddenapplication/json404NotFoundapplication/json409Conflictapplication/jsonReusable schemas
AgentDefinitionCreatedJsonEncoding
object- unknown properties allowed
false
agentDefinitionIdrequiredstringThe Agent Definition identifier.All of- maximum length
64
A Cantora Agent Definition identifier, prefixed with `agentdef_`.- pattern
^agentdef_[\s\S]+$
- maximum length
organizationIdrequiredstringThe Organization identifier.All of- maximum length
64
A Cantora Organization identifier, prefixed with `org_`.- pattern
^org_[\s\S]+$
- maximum length
projectIdrequiredstringThe Project identifier.All of- maximum length
64
A Cantora Project identifier, prefixed with `proj_`.- pattern
^proj_[\s\S]+$
- maximum length
keyrequiredstringThe stable, human-authored Agent Definition key.displayNamerequiredstringThe human-readable resource name.statusrequiredstringThe current lifecycle status.- allowed values
"active", "disabled"
- allowed values
configurationAuthorityrequiredstringThe one surface allowed to change this Agent Definition and publish its Versions.- allowed values
"ApiManaged", "DashboardManaged"
- allowed values
createdAtrequiredstringWhen the resource was created, in UTC.- format
date-time
- format
UnauthorizedJsonEncoding
object- unknown properties allowed
false
_tagrequiredstringThe stable machine-readable error type.- allowed values
"Unauthorized"
- allowed values
reasonrequiredstringA safe explanation of why the credential was rejected.
ForbiddenJsonEncoding
object- unknown properties allowed
false
_tagrequiredstringThe stable machine-readable error type.- allowed values
"Forbidden"
- allowed values
permissionrequiredstringThe permission required by the refused operation.
NotFoundJsonEncoding
object- unknown properties allowed
false
_tagrequiredstringThe stable machine-readable error type.- allowed values
"NotFound"
- allowed values
resourcerequiredstringThe resource type relevant to the error.idrequiredstringThe identifier supplied for the resource that was not found.
ConflictJsonEncoding
object- unknown properties allowed
false
_tagrequiredstringThe stable machine-readable error type.- allowed values
"Conflict"
- allowed values
resourcerequiredstringThe resource type relevant to the error.reasonrequiredstringA safe explanation of the state conflict.