XISUITEDokumentation

Workflows

18 Endpunkte. Basis-URL: https://xapi.ambertech.cloud/api/v1

List workflows for the org#

GET/workflowsToken

Parameter

NameOrtTypBeschreibung
spaceIdQuerystring–
isArchivedQuerystring–
isDraftQuerystring–

Antworten

  • 200Workflows returned
Beispiel (cURL)
curl -X GET "https://xapi.ambertech.cloud/api/v1/workflows" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

Create an empty workflow#

POST/workflowsToken

Request-Bodyapplication/jsonCreateWorkflowDto

NameTypBeschreibung
namePflichtstring

Beispiel: Software Dev Workflow

descriptionstring–
space_idobject

Space ID (null = org-level)

initial_status_idobject

Initial status node ID

Antworten

  • 201Workflow created
Beispiel (cURL)
curl -X POST "https://xapi.ambertech.cloud/api/v1/workflows" \
  -H "Authorization: Bearer $XISUITE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"Software Dev Workflow"}'

Discard a pending workflow draft (FK cascade clears canvas).#

DELETE/workflows/{draftId}/draftToken

Parameter

NameOrtTypBeschreibung
draftIdPflichtPfadstring–

Antworten

  • 200Draft discarded.
  • 400Target is not a draft workflow.
Beispiel (cURL)
curl -X DELETE "https://xapi.ambertech.cloud/api/v1/workflows/{draftId}/draft" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

Publish a draft over its parent via publish_workflow_atomic (atomic task migration + canvas swap).#

POST/workflows/{draftId}/publishToken

Parameter

NameOrtTypBeschreibung
draftIdPflichtPfadstring–

Request-Bodyapplication/jsonPublishWorkflowDto

NameTypBeschreibung
migration_mapobject

Map of orphan status_id → target status_id (both UUID). Required only when the draft removes any status the parent currently uses.

Antworten

  • 200Draft published; returns parent detail + migration counts.
  • 404Draft already published or discarded by another admin (DRAFT_ALREADY_PUBLISHED).
  • 409Missing migration mapping for one or more orphan statuses — payload carries orphan_statuses_missing.
Beispiel (cURL)
curl -X POST "https://xapi.ambertech.cloud/api/v1/workflows/{draftId}/publish" \
  -H "Authorization: Bearer $XISUITE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"migration_map":{}}'

READ-ONLY diff of a draft vs its parent: orphan statuses, affected tasks, suggested mappings.#

GET/workflows/{draftId}/publish-previewToken

Parameter

NameOrtTypBeschreibung
draftIdPflichtPfadstring–

Antworten

  • 200Preview returned.
Beispiel (cURL)
curl -X GET "https://xapi.ambertech.cloud/api/v1/workflows/{draftId}/publish-preview" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

Get a workflow with full canvas detail#

GET/workflows/{id}Token

Parameter

NameOrtTypBeschreibung
idPflichtPfadstring–

Antworten

  • 200Workflow detail returned
Beispiel (cURL)
curl -X GET "https://xapi.ambertech.cloud/api/v1/workflows/{id}" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

Update workflow name/description/archive state#

PUT/workflows/{id}Token

Parameter

NameOrtTypBeschreibung
idPflichtPfadstring–

Request-Bodyapplication/jsonUpdateWorkflowDto

NameTypBeschreibung
namestring–
descriptionstring–
is_archivedboolean–

Antworten

  • 200Workflow updated
Beispiel (cURL)
curl -X PUT "https://xapi.ambertech.cloud/api/v1/workflows/{id}" \
  -H "Authorization: Bearer $XISUITE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"…","description":"…","is_archived":true}'

Archive a workflow (blocked if is_active=true)#

DELETE/workflows/{id}Token

Parameter

NameOrtTypBeschreibung
idPflichtPfadstring–

Antworten

  • 200Workflow archived
Beispiel (cURL)
curl -X DELETE "https://xapi.ambertech.cloud/api/v1/workflows/{id}" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

Save the full canvas atomically via upsert_workflow_canvas#

POST/workflows/{id}/canvasToken

Parameter

NameOrtTypBeschreibung
idPflichtPfadstring–

Request-Bodyapplication/jsonSaveCanvasDto

NameTypBeschreibung
versionPflichtnumber

Expected workflow version for optimistic concurrency

initial_status_idobject–
layoutobject–
nodesPflichtCanvasNodeDto[]–
transitionsPflichtCanvasTransitionDto[]–
transition_sourcesPflichtCanvasTransitionSourceDto[]–
decision_branchesPflichtCanvasDecisionBranchDto[]–

Antworten

  • 200Canvas saved; returns the updated workflow detail
  • 409Version mismatch or workflow is active/archived
Beispiel (cURL)
curl -X POST "https://xapi.ambertech.cloud/api/v1/workflows/{id}/canvas" \
  -H "Authorization: Bearer $XISUITE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"version":0,"nodes":[],"transitions":[],"transition_sources":[],"decision_branches":[]}'

Create a draft of an active workflow (idempotent on 23505).#

POST/workflows/{id}/draftToken

Parameter

NameOrtTypBeschreibung
idPflichtPfadstring–

Antworten

  • 201Draft created or — on a one-draft-per-parent race — existing draft returned.
  • 409Parent is archived or itself a draft; only active non-draft workflows can be edited as drafts.
Beispiel (cURL)
curl -X POST "https://xapi.ambertech.cloud/api/v1/workflows/{id}/draft" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

Duplicate a workflow with a new name#

POST/workflows/{id}/duplicateToken

Parameter

NameOrtTypBeschreibung
idPflichtPfadstring–

Request-Bodyapplication/jsonDuplicateWorkflowDto

NameTypBeschreibung
new_namePflichtstring

Beispiel: Copy of Software Dev Workflow

Antworten

  • 201Workflow duplicated
Beispiel (cURL)
curl -X POST "https://xapi.ambertech.cloud/api/v1/workflows/{id}/duplicate" \
  -H "Authorization: Bearer $XISUITE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"new_name":"Copy of Software Dev Workflow"}'

Export a workflow as portable, id-free JSON#

GET/workflows/{id}/exportToken

Parameter

NameOrtTypBeschreibung
idPflichtPfadstring–

Antworten

  • 200Workflow export document
Beispiel (cURL)
curl -X GET "https://xapi.ambertech.cloud/api/v1/workflows/{id}/export" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

GET /workflows/{id}/health#

GET/workflows/{id}/healthToken

Parameter

NameOrtTypBeschreibung
idPflichtPfadstring–

Antworten

  • 200OK
Beispiel (cURL)
curl -X GET "https://xapi.ambertech.cloud/api/v1/workflows/{id}/health" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

POST /workflows/{id}/recheck-health#

POST/workflows/{id}/recheck-healthToken

Parameter

NameOrtTypBeschreibung
idPflichtPfadstring–

Antworten

  • 201Erstellt
Beispiel (cURL)
curl -X POST "https://xapi.ambertech.cloud/api/v1/workflows/{id}/recheck-health" \
  -H "Authorization: Bearer $XISUITE_TOKEN"

Build a workflow from a space’s legacy status transitions#

POST/workflows/from-statusesToken

Request-Bodyapplication/jsonFromStatusesDto

NameTypBeschreibung
space_idPflichtstring

Space whose task_status_transitions seed the workflow

namePflichtstring

Name for the generated workflow

Antworten

  • 201Erstellt
Beispiel (cURL)
curl -X POST "https://xapi.ambertech.cloud/api/v1/workflows/from-statuses" \
  -H "Authorization: Bearer $XISUITE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"space_id":"…","name":"…"}'

Import a workflow from an export document#

POST/workflows/importToken

Request-Bodyapplication/jsonImportConfirmDto

NameTypBeschreibung
docPflichtobject

The workflow export document

resolutionPflichtobject

Resolution choices (name, scope, auto-create, mappings)

Antworten

  • 409Name collision in target scope
Beispiel (cURL)
curl -X POST "https://xapi.ambertech.cloud/api/v1/workflows/import" \
  -H "Authorization: Bearer $XISUITE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"doc":{},"resolution":{}}'

Dry-run an import; returns the resolution report#

POST/workflows/import/dry-runToken

Request-Bodyapplication/jsonImportDryRunDto

NameTypBeschreibung
docPflichtobject

The workflow export document

space_idobject

Target space id (null = org-level)

Antworten

  • 201Erstellt
Beispiel (cURL)
curl -X POST "https://xapi.ambertech.cloud/api/v1/workflows/import/dry-run" \
  -H "Authorization: Bearer $XISUITE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"doc":{}}'

List recent workflow trigger events for the org#

GET/workflows/trigger-eventsToken

Parameter

NameOrtTypBeschreibung
workflowIdQuerystring

Scope the feed to a single workflow (published workflow id)

Antworten

  • 200Trigger events returned
Beispiel (cURL)
curl -X GET "https://xapi.ambertech.cloud/api/v1/workflows/trigger-events" \
  -H "Authorization: Bearer $XISUITE_TOKEN"
Stand: 25. Oktober 2026© 2026 XISUITE · AmberTech Solutions