API Reference

Process Versioning API

Every deployment of a process definition creates a new immutable version. Running instances continue on their deployed version; new instances always start on the latest. Use rollback to make a previous version the active default.

Overview· Workers· Incidents· Versioning· Correlation IDs· Job Policies
How versioning works

Each POST /api/v1/process-definitions call that changes the BPMN XML increments the version number by 1. The process key (your id attribute in the BPMN) stays constant across versions. Running instances are pinned to the version at which they started and are not automatically migrated. Rollback designates a past version as the latest for new instance creation — it does not interrupt running instances.

GET /api/v1/process-definitions/{key}/versions List all versions

Returns all deployed versions of a process definition ordered by version number descending.

Path parameters

ParameterDescription
keyThe process definition key (the id attribute in your BPMN file).

Example response 200 OK

{
  "versions": [
    {
      "version": 3,
      "deploymentKey": "dep_ccc333",
      "resourceName": "payment-process-v3.bpmn",
      "deployedAt": "2026-04-06T08:00:00Z",
      "isLatest": true
    },
    {
      "version": 2,
      "deploymentKey": "dep_bbb222",
      "resourceName": "payment-process-v2.bpmn",
      "deployedAt": "2026-03-15T10:30:00Z",
      "isLatest": false
    },
    {
      "version": 1,
      "deploymentKey": "dep_aaa111",
      "resourceName": "payment-process-v1.bpmn",
      "deployedAt": "2026-02-01T14:00:00Z",
      "isLatest": false
    }
  ]
}
GET /api/v1/process-definitions/{key}/versions/{version} Get a specific version

Returns the full definition for a specific version, including the original BPMN XML.

Example response 200 OK

{
  "key": "payment-process",
  "version": 2,
  "bpmnXml": "<?xml version=\"1.0\" ...>",
  "deployedAt": "2026-03-15T10:30:00Z"
}
POST /api/v1/process-definitions/{key}/rollback Roll back to a version

Makes a specific previous version the active version for new instance creation. Does not interrupt in-flight instances — they continue on their originally deployed version.

Request body

FieldTypeRequiredDescription
versionintegerrequiredVersion number to roll back to. Must be < current latest.

Example request

{ "version": 2 }

Example response 200 OK

{
  "key": "payment-process",
  "activeVersion": 2,
  "rolledBackFrom": 3,
  "rolledBackAt": "2026-04-06T09:30:00Z"
}
POST /api/v1/process-definitions Deploy a new version

Deploy a new or updated process definition. If the BPMN XML for the given process key differs from the current latest, a new version is created automatically.

Request body (multipart/form-data)

FieldTypeRequiredDescription
resourcesfile[]requiredOne or more BPMN, CMMN, or DMN files.

Example curl

curl -X POST https://priostack.com/api/v1/process-definitions \
  -H "Authorization: Bearer $API_KEY" \
  -F "resources=@payment-process.bpmn"
See also:   Incident management · Worker API · Interactive API explorer