Workflow Packs API
Workflow pack endpoints manage packaged worker runtime bundles, staged versions, and installation pinning.
Auth and scope
- Session auth required for all endpoints except VM publish with API key fallback.
- All pack and installation reads/writes are organization-scoped.
Packs
GET /api/workflow-packslist packs in current orgPOST /api/workflow-packsensure a pack from process library (workerKeyrequired)GET /api/workflow-packs/{id}load pack, versions, draft bundle, installations, runtime bundlesPATCH /api/workflow-packs/{id}update pack metadata/stage tags
Draft bundles
GET /api/workflow-packs/{id}/draftread current draft bundlePUT /api/workflow-packs/{id}/draftupload draft bundle (bundleBase64, file inventory)
Version lifecycle
GET /api/workflow-packs/{id}/versionslist versionsPOST /api/workflow-packs/{id}/versionspublish current draft into a versionPOST /api/workflow-packs/{id}/versions/{versionId}/promotemove version stage
Supported stages:
draftinternal_verifiedpilotproductiondeprecatedarchived
VM-origin draft publishing
- Preferred transport:
POST /api/workflow-packs/{id}/publish-from-vm/uploadPOST /api/workflow-packs/{id}/publish-from-vm/finalize
- Legacy compatibility:
POST /api/workflow-packs/{id}/publish-from-vm
Preferred flow:
- Call
.../uploadwith optionalfileNameandcontentType. - Upload the zip directly to S3 using the returned presigned URL.
- Call
.../finalizewithuploadKey, draft base identifiers, and file inventory.
Finalize writes a new draft head from the uploaded bundle. Supports:
- session auth
x-api-keyauth when no user session exists
Conflict behavior:
- Returns
409withdraft_head_conflictwhenbaseRuntimeBundleIdno longer matches current draft head on finalize.
Legacy endpoint behavior:
- Still supported for backward compatibility.
- Returns
400parse diagnostics (parseError,contentLength) when JSON body parsing fails.
Installations
GET /api/workflow-pack-installationslist org installationsPOST /api/workflow-pack-installationscreate installationGET /api/workflow-pack-installations/{id}load installationPATCH /api/workflow-pack-installations/{id}update installation metadataPOST /api/workflow-pack-installations/{id}/pinpin installation to versionPOST /api/workflow-pack-installations/{id}/rollbackrollback to prior version pointer
Use installation pinning to keep execution deterministic and release-safe.