POST
/v1/organizations/{organizationId}/projects/{projectId}/environments/{environmentId}/agentsProvision an Agent Definition into an Environment
Create the Environment-scoped Agent Principal for an Agent Definition; each definition can be provisioned once per Environment.
Authentication
Send an API key as a Bearer token in the Authorization header.
Parameters
Request body
Required.
application/jsonobject- unknown properties allowed
false
agentDefinitionIdrequiredstringThe Project Agent Definition to provision into this Environment.All of- maximum length
64
A Cantora Agent Definition identifier, prefixed with `agentdef_`.- pattern
^agentdef_[\s\S]+$
- maximum length
Provision the Agent Definition in Test
{
"agentDefinitionId": "agentdef_00000000000000000000000000000001"
}Responses
201AgentCreatedapplication/jsonTest Agent provisioned
{
"principalId": "principal_00000000000000000000000000000003",
"status": "active",
"organizationId": "org_00000000000000000000000000000002",
"projectId": "proj_00000000000000000000000000000001",
"environmentId": "env_00000000000000000000000000000001",
"agentDefinitionId": "agentdef_00000000000000000000000000000001",
"definitionKey": "support-agent",
"displayName": "Support Agent",
"currentAgentReleaseId": null,
"releaseGeneration": 0,
"releaseEtag": "\"0\"",
"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
AgentCreatedJsonEncoding
object- unknown properties allowed
false
principalIdrequiredstringThe Principal identifier.All of- maximum length
64
A Cantora Principal identifier, prefixed with `principal_`.- pattern
^principal_[\s\S]+$
- maximum length
statusrequiredstringThe current lifecycle status.- allowed values
"active", "disabled"
- allowed values
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
environmentIdrequiredstringThe Environment identifier.All of- maximum length
64
A Cantora Environment identifier, prefixed with `env_`.- pattern
^env_[\s\S]+$
- maximum length
agentDefinitionIdrequiredstringThe Agent Definition identifier.All of- maximum length
64
A Cantora Agent Definition identifier, prefixed with `agentdef_`.- pattern
^agentdef_[\s\S]+$
- maximum length
definitionKeyrequiredstringThe stable Agent Definition key.displayNamerequiredstringThe human-readable resource name.currentAgentReleaseIdrequired- The current Agent Release identifier, or null before the first activation.Any of
stringAll of- maximum length
64
A Cantora Agent Release identifier, prefixed with `agent_release_`.- pattern
^agent_release_[\s\S]+$
null - maximum length
releaseGenerationrequiredintegerThe current Agent Release generation, starting at zero before activation.All of- minimum
0
- minimum
releaseEtagrequiredstringThe strong ETag for the Agent's current release generation.All of- maximum length
12
The current strong Agent Release ETag, including its double quotes.- pattern
^"(?:0|[1-9][0-9]{0,9})"$
- maximum length
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.