POST
/v1/organizations/{organizationId}/projects/{projectId}/environments/{environmentId}/agents/{agentPrincipalId}/releasesActivate an immutable Agent Version for new work
Conditionally append or reuse an Agent Release using the current release ETag. Live activation also requires the exact Test Release for the selected Version.
Authentication
Send an API key as a Bearer token in the Authorization header.
Parameters
Request body
Required.
application/jsonobject- unknown properties allowed
false
agentVersionIdrequiredstringThe immutable Agent Version to activate.- maximum length
64 - pattern
^agent_version_[\s\S]+$
- maximum length
sourceTestAgentReleaseId- The exact Test Release proving this Version was activated in Test; required for Live only.Any of
stringA Cantora Agent Release identifier, prefixed with `agent_release_`.- maximum length
64 - pattern
^agent_release_[\s\S]+$
null - maximum length
reasonrequiredstringWhy this Agent Version is being activated or restored.- maximum length
500 - minimum length
1
- maximum length
Activate the Agent Version in Test
{
"agentVersionId": "agent_version_00000000000000000000000000000001",
"reason": "Activate the first tested support Agent Version."
}Responses
200ActivatedAgentReleaseapplication/jsonAgent Release activated
{
"outcome": "created",
"release": {
"agentReleaseId": "agent_release_00000000000000000000000000000001",
"organizationId": "org_00000000000000000000000000000002",
"projectId": "proj_00000000000000000000000000000001",
"environmentId": "env_00000000000000000000000000000001",
"agentPrincipalId": "principal_00000000000000000000000000000003",
"agentDefinitionId": "agentdef_00000000000000000000000000000001",
"agentVersionId": "agent_version_00000000000000000000000000000001",
"sourceTestAgentReleaseId": null,
"precedingAgentReleaseId": null,
"generation": 1,
"releaseEtag": "\"1\"",
"reason": "Activate the first tested support Agent Version.",
"createdByPrincipalId": "principal_00000000000000000000000000000002",
"createdAt": "2026-01-15T18:30:00.000Z"
}
}400The request path, headers, query, or JSON body did not satisfy the published schema401Unauthorizedapplication/json403Forbiddenapplication/json404NotFoundapplication/json409Conflictapplication/json412PreconditionFailedapplication/jsonReusable schemas
ActivatedAgentReleaseEncoded
object- unknown properties allowed
false
outcomerequiredstringWhether this activation created a new Agent Release or reused the current one.- allowed values
"created", "reused"
- allowed values
releaserequired- AgentReleaseEncodedThe Agent Release selected by the activation.
UnauthorizedEncoded
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.
ForbiddenEncoded
object- unknown properties allowed
false
_tagrequiredstringThe stable machine-readable error type.- allowed values
"Forbidden"
- allowed values
permissionrequiredstringThe permission required by the refused operation.
NotFoundEncoded
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.
ConflictEncoded
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.
PreconditionFailedEncoded
object- unknown properties allowed
false
_tagrequiredstringThe stable machine-readable error type.- allowed values
"PreconditionFailed"
- allowed values
resourcerequiredstringThe resource type relevant to the error.- allowed values
"agent", "agentDefinition", "agentConfiguration"
- allowed values
currentAgentReleaseIdrequired- The current Agent Release identifier, or null before the first activation.Any of
stringA Cantora Agent Release identifier, prefixed with `agent_release_`.- maximum length
64 - pattern
^agent_release_[\s\S]+$
null - maximum length
currentEtagrequiredstringThe current strong ETag required for the next conditional activation.- maximum length
12 - pattern
^"(?:0|[1-9][0-9]{0,9})"$
- maximum length
AgentReleaseEncoded
object- unknown properties allowed
false
agentReleaseIdrequiredstringThe immutable Agent Release identifier.- maximum length
64 - pattern
^agent_release_[\s\S]+$
- maximum length
organizationIdrequiredstringThe Organization identifier.- maximum length
64 - pattern
^org_[\s\S]+$
- maximum length
projectIdrequiredstringThe Project identifier.- maximum length
64 - pattern
^proj_[\s\S]+$
- maximum length
environmentIdrequiredstringThe Environment identifier.- maximum length
64 - pattern
^env_[\s\S]+$
- maximum length
agentPrincipalIdrequiredstringThe Environment Agent Principal identifier.- maximum length
64 - pattern
^principal_[\s\S]+$
- maximum length
agentDefinitionIdrequiredstringThe Agent Definition identifier.- maximum length
64 - pattern
^agentdef_[\s\S]+$
- maximum length
agentVersionIdrequiredstringThe immutable Agent Version identifier.- maximum length
64 - pattern
^agent_version_[\s\S]+$
- maximum length
sourceTestAgentReleaseIdrequired- The exact Test Release proving Live promotion, or null for a Test Release.Any of
stringA Cantora Agent Release identifier, prefixed with `agent_release_`.- maximum length
64 - pattern
^agent_release_[\s\S]+$
null - maximum length
precedingAgentReleaseIdrequired- The preceding Agent Release identifier, or null for the first activation.Any of
stringA Cantora Agent Release identifier, prefixed with `agent_release_`.- maximum length
64 - pattern
^agent_release_[\s\S]+$
null - maximum length
generationrequiredintegerThe monotonically increasing Agent Release generation.- greater than
0
- greater than
releaseEtagrequiredstringThe strong ETag for the Agent's current release generation.- maximum length
12 - pattern
^"(?:0|[1-9][0-9]{0,9})"$
- maximum length
reasonrequiredstringThe human-readable reason supplied for the activation or rollback.createdByPrincipalIdrequiredstringThe Principal that created this immutable record.- maximum length
64 - pattern
^principal_[\s\S]+$
- maximum length
createdAtrequiredstringWhen the resource was created, in UTC.- format
date-time
- format