Agent Versions
Set or replace a staged rollout
Starts serving two archived versions side by side: canary_percent of traffic gets canary_version, the rest gets stable_version.
Assignment is deterministic — it hashes the actor behind the request's session (falling back to the session itself), so one end user never flip-flops between configs mid-conversation. Requests with neither are split randomly.
While a release is active the agent's live columns act as a draft: further edits archive new versions but do not disturb either side of the running split. End the rollout with promote or abort.
put/v1/projects/{project_id}/agents/{agent_id}/release
Request
- Base URL: https://api.naturali.ai
- URL: https://api.naturali.ai/v1/projects/{project_id}/agents/{agent_id}/release
- Auth: one of:
- HTTP bearer
- OAuth 2 (authorization code, authorization URL https://api.naturali.ai/authorize, token URL https://api.naturali.ai/token, scopes: mcp:access)
Path parameters
agent_idstring required
Example:agent_V1StGXR8Z5jdHi6B
Agent public ID
Request body
Example request
{
"stable_version": 3,
"canary_version": 4,
"canary_percent": 20,
"promotion_gate": "eval_V1StGXR8Z5jdHi6B"
}Response
The agent, with its active release set
Example response
{
"id": "agent_V1StGXR8Z5jdHi6B",
"tool_bindings": [
{
"tool_id": "tool_V1StGXR8Z5jdHi6B"
}
],
"knowledge_config": {
"tags": {
"team": "finance",
"env": "prod"
}
},
"max_output_tokens": 1024,
"reasoning": {
"effort": "low"
},
"version": 3,
"active_release": {
"stable_version": 3,
"canary_version": 4,
"canary_percent": 20,
"promotion_gate": "eval_V1StGXR8Z5jdHi6B"
}
}Changes
No recorded changes to this operation across all 1 revision of this API.