Versioning and publishing

ACP treats important resources as versioned assets. Every resource starts with a first saved version, edits can be saved to the current version or a new version, and publishing selects the immutable version that production execution should use.

Versioning and publishing

Save, publish, restore, and compare versions for agents, computers, web apps, functions, Metronomes, guardrails, and evaluations.

Version model

Versioning separates draft editing from production behavior. Saving captures a snapshot, publishing chooses the production snapshot, restoring copies a previous snapshot back into the editable resource, and comparing returns file-style diffs for review workflows.

Agents, computers, server resources, Metronomes, guardrails, and evaluations expose the same list/get/create/update/delete/publish/restore/compare shape.
Published versions are the execution source for production-style runs; create a new version before changing production behavior.
At least one version should exist for every versioned resource, and the final remaining version should not be deletable.
Use compareVersions before publishing when a human or CI check needs to inspect what changed.

Use version methods

Each versioned manager exposes the same method names. Product managers such as webApps and functions inherit the same server-resource versioning operations.

JavaScript uses listVersions, createVersion, publishVersion, restoreVersion, and compareVersions.
Python uses list_versions, create_version, publish_version, restore_version, and compare_versions.
Direct HTTP uses /v1/{resource}/{id}/versions plus publish, restore, and compare endpoints.
Version an agent in JavaScript
Loading...
Version resources in Python
Loading...
Version routes over HTTP
Loading...

Versioned resource map

Use the resource-specific manager when one exists. Use server-resource managers for deployable resources such as web apps and functions.

Agents: client.agents / client.agents in Python.
Computers: client.computers / client.computers in Python.
Web apps and functions: client.webApps and client.functions, or client.web_apps and client.functions in Python.
Metronomes: client.metronomes for workflow versions and run history.
Guardrails: client.guardrails for prompt policy set versions.
Evaluations: client.evaluations for dataset versions and evaluation runs.