Skip to content
POST
/v1/organizations/{organizationId}/projects/{projectId}/agent-definitions

Create 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

NameLocationRequiredDescription
organizationIdpathYes
The Organization to address.
string
All of
  • maximum length 64
A Cantora Organization identifier, prefixed with `org_`.
  • pattern ^org_[\s\S]+$
projectIdpathYes
The Project to address.
string
All of
  • maximum length 64
A Cantora Project identifier, prefixed with `proj_`.
  • pattern ^proj_[\s\S]+$

Request body

Required.

application/json
object
  • unknown properties allowed false
keyrequired
stringThe stable key used across Environments and Versions.
  • maximum length 100
  • minimum length 1
displayNamerequired
stringThe human-readable Agent Definition name.
  • maximum length 200
  • minimum length 1
Create an API-managed Agent Definition
{
  "key": "support-agent",
  "displayName": "Support Agent"
}

Responses

201AgentDefinitionCreated
application/json
Agent 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 schema
401Unauthorized
application/json
403Forbidden
application/json
404NotFound
application/json
409Conflict
application/json

Reusable schemas

AgentDefinitionCreatedJsonEncoding

object
  • unknown properties allowed false
agentDefinitionIdrequired
stringThe Agent Definition identifier.
All of
  • maximum length 64
A Cantora Agent Definition identifier, prefixed with `agentdef_`.
  • pattern ^agentdef_[\s\S]+$
organizationIdrequired
stringThe Organization identifier.
All of
  • maximum length 64
A Cantora Organization identifier, prefixed with `org_`.
  • pattern ^org_[\s\S]+$
projectIdrequired
stringThe Project identifier.
All of
  • maximum length 64
A Cantora Project identifier, prefixed with `proj_`.
  • pattern ^proj_[\s\S]+$
keyrequired
stringThe stable, human-authored Agent Definition key.
displayNamerequired
stringThe human-readable resource name.
statusrequired
stringThe current lifecycle status.
  • allowed values "active", "disabled"
configurationAuthorityrequired
stringThe one surface allowed to change this Agent Definition and publish its Versions.
  • allowed values "ApiManaged", "DashboardManaged"
createdAtrequired
stringWhen the resource was created, in UTC.
  • format date-time

UnauthorizedJsonEncoding

object
  • unknown properties allowed false
_tagrequired
stringThe stable machine-readable error type.
  • allowed values "Unauthorized"
reasonrequired
stringA safe explanation of why the credential was rejected.

ForbiddenJsonEncoding

object
  • unknown properties allowed false
_tagrequired
stringThe stable machine-readable error type.
  • allowed values "Forbidden"
permissionrequired
stringThe permission required by the refused operation.

NotFoundJsonEncoding

object
  • unknown properties allowed false
_tagrequired
stringThe stable machine-readable error type.
  • allowed values "NotFound"
resourcerequired
stringThe resource type relevant to the error.
idrequired
stringThe identifier supplied for the resource that was not found.

ConflictJsonEncoding

object
  • unknown properties allowed false
_tagrequired
stringThe stable machine-readable error type.
  • allowed values "Conflict"
resourcerequired
stringThe resource type relevant to the error.
reasonrequired
stringA safe explanation of the state conflict.