Skip to main content

Manifests API

The Manifests API provides endpoints for managing team manifests -- declarative configurations that define composable AI teams with versioned components.

What the Manifests API Does

Team manifests follow the "npm for AI agents" paradigm. The API allows you to validate manifest syntax, resolve component versions (dry run), deploy teams from manifests, upgrade components, rollback to previous versions, and export current team state.

Component References

Components use URI-based references:

TypePatternExample
Storestore://type/name@versionstore://agents/sdr-agent@^1.0.0
Locallocal://type/namelocal://agents/my-custom-agent
Externalexternal://provider/idexternal://heygen/avatar-emma

Version Specifiers

SpecifierExampleMatches
Exact1.2.3Only 1.2.3
Caret^1.0.01.x.x (minor/patch)
Tilde~1.2.01.2.x (patch only)

Deployment Features

  • Model alias resolution -- aliases like claude-sonnet-latest are resolved to concrete model IDs at deploy-time
  • Authorization grants -- OpenFGA tuples provisioned from manifest declarations (non-fatal if unavailable)
  • SPIFFE identity -- agents receive SPIFFE IDs automatically with optional SVID configuration
  • Catalog validation -- YAML manifests validated against Zod schemas on load (warn-only)

Error Codes

CodeDescription
INVALID_MANIFESTManifest syntax is invalid
COMPONENT_NOT_FOUNDReferenced component doesn't exist
VERSION_NOT_SATISFIABLENo version matches constraint
DEPLOYMENT_EXISTSTeam already deployed (use force)
RESOLUTION_FAILEDCould not resolve all components
ROLLBACK_FAILEDTarget version not available
LOCKED_COMPONENTCannot upgrade locked component

Endpoints

MethodEndpointDescription
POST/manifests/validateValidate manifest syntax
POST/manifests/resolveResolve versions (dry run)
POST/manifests/deployDeploy team from manifest
GET/manifestsList all deployments
GET/manifests/:deployIdGet deployment details
GET/manifests/:deployId/exportExport as manifest
POST/manifests/:deployId/upgradeUpgrade components
POST/manifests/:deployId/rollbackRollback component
GET/manifests/deploymentsList deployments
GET/manifests/deployments/:teamSlugGet deployment by slug
GET/manifests/deployments/:teamSlug/manifestExport manifest by slug
GET/manifests/deployments/:teamSlug/lockfileExport lock file
POST/manifests/deployments/:teamSlug/upgradeUpgrade by slug
POST/manifests/components/:type/:id/rollbackRollback by component type

Validation

Send a manifest to /manifests/validate to check syntax before deploying. Returns validation errors and warnings without making any changes.

Resolution (Dry Run)

Send a manifest to /manifests/resolve to see what the lock file would look like with all versions resolved. No deployment occurs.

Deployment

Send a manifest to /manifests/deploy to create a complete team.

Deploy Options:

OptionTypeDefaultDescription
dryRunbooleanfalseSimulate deployment without changes
forcebooleanfalseOverride existing deployment
skipResolutionbooleanfalseSkip version resolution
notesstring--Deployment notes for audit

The response includes the deployment ID, created agents, skills, and avatars.

Upgrade

Upgrade specific components or all components to newer versions. Supports dry-run mode to preview changes.

Upgrade Options:

OptionTypeDescription
componentIdsstring[]Specific components to upgrade (all if omitted)
targetVersionstringTarget version constraint
allowBreakingbooleanAllow major version upgrades
dryRunbooleanPreview only

Rollback

Rollback a component to a previous version by specifying the component ID and target version number.

Export

Export the current deployment state as a portable manifest file, or export just the lock file with resolved versions.

Webhooks

Subscribe to manifest events: manifest.deployed, manifest.upgraded, manifest.rollback, component.update_available.

Catalog Validation Schemas

SchemaValidates
CatalogManifestSchemaFull manifest structure
CatalogAgentSchemaAgent definitions
CatalogOrchestrationSchemaOrchestration config
CatalogInteractionRuleSchemaInteraction rules
AuthorizationGrantSchemaAuthorization grants
AgentIdentitySchemaSPIFFE identity config

See Also