Bundles
POST
/v1/orgs/{org_id}/projects/{project_id}/envs/{env_name}/bundles/{version}/activateActivate Bundle
Activate a specific bundle version (rollback).
CI tokenscope: bundle:publishoperation_id: bundles.activate
Authentication
Create via POST /v1/orgs/{org_id}/tokens/ci. Project-scoped, allows bundle lifecycle.
SDK install
pip install znyx-sdknpm install @znyx/sdkPath parameters
| Name | Type | Required | Description |
|---|---|---|---|
| org_id#path | string | required | — |
| project_id#path | string | required | — |
| env_name#path | string | required | — |
| version#path | integer | required | — |
Header parameters
| Name | Type | Required | Description |
|---|---|---|---|
| X-API-Key#header | string | null | optional | — |
| authorization#header | string | null | optional | — |
Responses
| Status | Description |
|---|---|
| 200 | Successful Response |
| 422 | Validation Error |
Response schema
idrequiredstring
versionrequiredinteger
policy_hashrequiredstring
is_activerequiredboolean
published_byrequiredstring | null
published_atrequiredstring
Errors & what triggers them
| Code | Trigger | Fix |
|---|---|---|
| 403 | Token lacks `bundle:publish` scope. | — |
| 404 | Bundle version does not exist in this environment. | — |
Notes & examples
When to use this
- Incident response — the new bundle broke something, jump back to the last known good version without re-uploading anything.
- A/B testing — keep two versions published, flip between them.
- Manual promotion — if your CI publishes to dev but you want to activate in prod by hand.
Runtimes polling /v1/bundles/latest will see the change within the poll interval (30-60s typically).
What gets audited
Every activate call writes an audit event with the acting token's prefix and the version numbers (from → to). If you're in a regulated industry, this is what you show the auditor during the change-management review.
Related
POST .../bundles/publish— create a new version.POST .../envs/{source}/promote— promote the current active from dev→staging→prod.GET .../bundles— list all versions to pick one.
Request
curl -X POST 'https://api.znyx.ai/v1/orgs/00000000-0000-0000-0000-000000000000/projects/00000000-0000-0000-0000-000000000000/envs/prod/bundles/42/activate' \ -H 'Authorization: Bearer $ZNYX_TOKEN'
Response
application/json
Successful Response
{
"id": "string",
"version": 0,
"policy_hash": "string",
"is_active": false,
"published_by": null,
"published_at": "string"
}Schema: object