Import / export BPMN
Round-trip a Minctrl process template with BPMN 2.0 — export a vertical to XML, or import a foreign model to see where it is ungoverned.
Minctrl process templates interchange with BPMN 2.0, so you can hand a governed flow off to a modeling tool (Camunda, Signavio, Bizagi, bpmn.io) or bring a model authored elsewhere in to check it against the governance invariants.
Export a vertical to BPMN 2.0 XML
curl -s "$API/process-templates/prior-auth/bpmn" \
-H "Authorization: Bearer $TOKEN" \
-o prior-auth.bpmnThe response is BPMN 2.0 XML with isExecutable="false" — an interchange artefact,
not a runnable model. The mapping is:
| Minctrl step | BPMN element |
|---|---|
| Agent step | serviceTask |
| Human gate | userTask |
| Gateway | branch / join gateway |
The exported XML is for round-tripping into a modeling tool. Execution still happens in Minctrl via process runs — the BPMN export is not handed to a BPMN engine.
Import a foreign BPMN model
Bring a model authored elsewhere in with POST /process-templates/import-bpmn. The
endpoint takes JSON with the BPMN XML as a string field (not a raw XML body):
curl -s -X POST "$API/process-templates/import-bpmn" \
-H "Content-Type: application/json" \
-d '{ "xml": "<?xml version=\"1.0\"?><definitions><process id=\"p1\">…</process></definitions>" }'To send a file's contents as the xml field, wrap it as JSON first (e.g. with jq):
jq -n --rawfile xml model.bpmn '{xml: $xml}' \
| curl -s -X POST "$API/process-templates/import-bpmn" \
-H "Content-Type: application/json" \
--data-binary @-The importer parses the BPMN and returns the Minctrl canvas graph (nodes + edges)
plus the live governance violations — so importing a third-party model immediately
shows where it is ungoverned (for example, an irreversible step with no human gate on
some path). The XML must contain a <process> element; malformed XML or a missing
<process> returns 400.
Validate before saving
The import is a pure read — nothing is persisted. Assign risk tiers and gates, then run the graph through validation to catch structural problems (an ungated irreversible step, a gate missing its human/gate-id, a bad blast radius) before it becomes a template:
curl -s -X POST "$API/process-templates/validate" \
-H "Content-Type: application/json" \
-d '{
"nodes": [
{ "id": "screen", "kind": "agent", "tier": "medium" },
{ "id": "signoff", "kind": "gate" }
],
"edges": [{ "source": "screen", "target": "signoff" }]
}'Save the reviewed graph as a draft with POST /process-templates/ (requires a token).
An imported model has no governance decoration until you add it. Assign risk tiers and gates before running one — until you do, the validator flags irreversible steps that have no human gate protecting them.
See the Process templates reference for the full BPMN and canvas schemas.
Design on the canvas
Author a governed flow in the Process Cockpit — place nodes, decorate them with risk tiers and gates, validate the graph live, and save it as a versioned draft.
Set up your team
Register (open), get your auto-created company, then invite members and assign roles — all company-scoped, so a teammate only ever sees your company's data.