Skip to main content

Bundles

POST/v1/orgs/{org_id}/projects/{project_id}/envs/{env_name}/bundles/{version}/activate

Activate 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/sdk

Path parameters

NameTypeRequiredDescription
org_id#pathstringrequired
project_id#pathstringrequired
env_name#pathstringrequired
version#pathintegerrequired

Header parameters

NameTypeRequiredDescription
X-API-Key#headerstring | nulloptional
authorization#headerstring | nulloptional

Responses

StatusDescription
200Successful Response
422Validation Error

Response schema

idrequiredstring
versionrequiredinteger
policy_hashrequiredstring
is_activerequiredboolean
published_byrequiredstring | null
published_atrequiredstring

Errors & what triggers them

CodeTriggerFix
403Token lacks `bundle:publish` scope.
404Bundle 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.

  • 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