Zum Inhalt springen

SaveDraft

PUT
/api/v1/t/{tenant}/workflows/definitions/{definitionId}/draft
curl --request PUT \
--url https://example.com/api/v1/t/example/workflows/definitions/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/draft \
--header 'Content-Type: application/json' \
--data '{ "version": 1, "basedOnVersion": 1, "definition": { "schemaVersion": 1, "startStep": "example", "steps": [ { "kind": "humanTask", "taskKind": "Approve", "assignees": [ { "when": { "kind": "compare", "field": "example", "value": "LastTaskOutcome", "operator": "EqualTo", "constants": [ "example" ], "output": { "step": "example", "key": "example" } }, "assignee": { "kind": "Member", "userId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "roleId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "table": "example" } } ], "fallback": { "kind": "Member", "userId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "roleId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "table": "example" }, "options": { "remindAfterWorkingDays": 1, "escalateAfterWorkingDays": 1, "escalationTarget": { "kind": "Member", "userId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "roleId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "table": "example" }, "excludeRequester": true, "excludeActorsOfSteps": [ "example" ], "pickFile": false, "deadline": { "value": { "step": "example", "key": "example" }, "dateField": "example", "remindBeforeWorkingDays": 1, "escalateBeforeWorkingDays": 1 } }, "next": "example", "onRejected": "example", "requiredFields": { "fields": [ "example" ], "requireComment": true }, "parallelApproval": { "mode": "All", "approvers": [ { "kind": "Member", "userId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "roleId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "table": "example" } ], "quorum": 1 }, "name": "example", "label": "example" } ], "fields": [ { "key": "example", "kind": "Text", "labelDe": "example", "labelEn": "example", "documentTypeIds": [ "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" ], "options": [ { "key": "example", "labelDe": "example", "labelEn": "example" } ] } ], "deadlineTrigger": { "stage": "Reminder", "kind": "End", "ruleKey": "example" } }, "form": { "positions": { "additionalProperty": { "x": 1, "y": 1 } }, "invoiceSettings": { "suggestAllocation": true, "collectiveApproval": { "enabled": true, "cap": 1 } }, "dataTables": [ { "key": "example", "labelDe": "example", "labelEn": "example", "columns": [ { "key": "example", "labelDe": "example", "labelEn": "example", "kind": "Text", "isKey": true } ], "rows": [ {} ] } ], "name": "example", "triggerDocumentTypeId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" }, "fromProposal": false }'
tenant
required
string

Tenant slug

definitionId
required
string format: uuid
Media typeapplication/json
object
version
required
null | integer format: uint32
basedOnVersion
required
integer format: int32
definition
required
object
schemaVersion
required
integer format: int32
startStep
required
string
steps
required
Array<object>
Any of: discriminator: kind
object
kind
required
string
Allowed values: humanTask
taskKind
required
Allowed values: Approve Review Acknowledge Fix Capture SignatureFieldReview
assignees
required
Array<object>
object
when
required
One of:
null
assignee
required
object
kind
required
Allowed values: Member Role Requester CostCenterResponsible ApprovalLimit DeadlineOwner
userId
null | string format: uuid
roleId
null | string format: uuid
table
null | string
fallback
required
object
kind
required
Allowed values: Member Role Requester CostCenterResponsible ApprovalLimit DeadlineOwner
userId
null | string format: uuid
roleId
null | string format: uuid
table
null | string
options
required
object
remindAfterWorkingDays
required
null | integer format: int32
escalateAfterWorkingDays
required
null | integer format: int32
escalationTarget
required
One of:
null
excludeRequester
required
boolean
excludeActorsOfSteps
required
Array<string>
pickFile
boolean
deadline
One of:
null
next
required
string
onRejected
null | string
requiredFields
One of:
null
parallelApproval
One of:
null
name
required
string
label
null | string
fields
Array<object> | null
object
key
required
string
kind
required
Allowed values: Text Number Date Money Enumeration
labelDe
required
string
labelEn
required
string
documentTypeIds
required
Array<string>
options
Array<object> | null
object
key
required
string
labelDe
required
string
labelEn
required
string
deadlineTrigger
One of:
null
form
required
object
positions
required
object
key
additional properties
object
x
required
number format: double
y
required
number format: double
invoiceSettings
required
One of:
null
dataTables
Array<object> | null
object
key
required
string
labelDe
required
string
labelEn
required
string
columns
required
Array<object>
object
key
required
string
labelDe
required
string
labelEn
required
string
kind
required
Allowed values: Text Number Money Date Boolean
isKey
required
boolean
rows
required
Array<object>
object
name
required
string
triggerDocumentTypeId
required
null | string format: uuid
fromProposal
boolean

OK

Media typeapplication/json
object
version
required
integer format: uint32
savedAt
required
string format: date-time
Examplegenerated
{
"version": 1,
"savedAt": "2026-04-15T12:00:00Z"
}

Bad Request

Media typeapplication/problem+json
object
type
null | string
title
null | string
status
null | integer format: int32
detail
null | string
instance
null | string
errors
object
key
additional properties
Array<string>
Examplegenerated
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example",
"errors": {
"additionalProperty": [
"example"
]
}
}

Forbidden

Media typeapplication/problem+json
object
type
null | string
title
null | string
status
null | integer format: int32
detail
null | string
instance
null | string
Examplegenerated
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example"
}

Not Found

Conflict

Media typeapplication/problem+json
object
type
null | string
title
null | string
status
null | integer format: int32
detail
null | string
instance
null | string
Examplegenerated
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example"
}

Payload Too Large

Media typeapplication/problem+json
object
type
null | string
title
null | string
status
null | integer format: int32
detail
null | string
instance
null | string
Examplegenerated
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example"
}

Unsupported Media Type

Media typeapplication/problem+json
object
type
null | string
title
null | string
status
null | integer format: int32
detail
null | string
instance
null | string
Examplegenerated
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example"
}

Too Many Requests

Media typeapplication/problem+json
object
type
null | string
title
null | string
status
null | integer format: int32
detail
null | string
instance
null | string
Examplegenerated
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example"
}