@5minds/processcube_engine
Version:
The ProcessCube Engine. Stores and executes BPMNs.
1,393 lines • 144 kB
JSON
{
"openapi": "3.0.0",
"info": {
"title": "5Minds ProcessCube Engine API",
"version": "1.0",
"description": "This is the swagger ui documentation of the 5Minds ProcessCube Engine API.",
"license": {
"name": "MIT"
},
"contact": {
"name": "5Minds IT-Solutions GmbH & Co. KG"
}
},
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"in": "header",
"scheme": "bearer",
"description": "An Identity Token is required to make requests against the API.\nDummy token: ZHVtbXlfdG9rZW4="
}
},
"schemas": {
"ApplicationInfo": {
"description": "Contains basic information about the running application.",
"type": "object",
"required": ["name", "packageName", "version", "authorityUrl", "allowAnonymousRootAccess", "loadedExtensions", "extraInfo"],
"properties": {
"name": {
"type": "string",
"description": "The name of the application."
},
"packageName": {
"type": "string",
"description": "The name of the package the application is running in."
},
"version": {
"type": "string",
"description": "The version of the application."
},
"authorityUrl": {
"type": "string",
"description": "The URL of the IdentityServer that is used for authentication."
},
"allowAnonymousRootAccess": {
"type": "boolean",
"description": "Flag indicating whether or not anonymous users are allowed to access the root route."
},
"loadedExtensions": {
"type": "array",
"description": "Contains the name and version of all loaded extensions.",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Name of the extension."
},
"version": {
"type": "string",
"description": "Version of the extension."
}
}
}
},
"extraInfo": {
"type": "object",
"description": "Contains additional information about the application."
}
}
},
"CorrelationList": {
"description": "A list of Correlations.",
"type": "object",
"required": ["correlations", "totalCount"],
"properties": {
"correlations": {
"description": "The correlations",
"type": "array",
"items": {
"$ref": "#/components/schemas/Correlation"
}
},
"totalCount": {
"description": "The total number of correlations",
"type": "number"
}
}
},
"CorrelationMetadata": {
"description": "Metadata for a correlation.",
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"Correlation": {
"description": "A Correlation.",
"type": "object",
"required": ["correlationId"],
"properties": {
"correlationId": {
"description": "The id of the correlation.",
"type": "string"
},
"metadata": {
"description": "Metadata for the correlation.",
"$ref": "#/components/schemas/CorrelationMetadata"
},
"processInstances": {
"description": "The process instances that run in the context of this correlation.",
"type": "array",
"items": {
"$ref": "#/components/schemas/ProcessInstance"
}
}
}
},
"Cronjob": {
"description": "Describes a cronjob.",
"type": "object",
"required": ["processDefinitionId", "processModelId", "startEventId", "enabled", "crontab"],
"properties": {
"processDefinitionId": {
"type": "string",
"description": "The ID of the ProcessDefinition that contains the cronjob."
},
"processModelId": {
"type": "string",
"description": "The ID of the ProcessModel that contains the cronjob."
},
"startEventId": {
"type": "string",
"description": "The ID of the StartEvent that contains the cronjob."
},
"enabled": {
"type": "boolean",
"description": "Flag indicating whether or not the cronjob is enabled."
},
"crontab": {
"type": "string",
"description": "The crontab that describs the cronjob."
},
"startedProcessInstances": {
"type": "number",
"description": "The number of ProcessInstances that have been started by this cronjob."
},
"lastStartedProcessInstance": {
"type": "string",
"description": "The ID of the last ProcessInstance that has been started by this cronjob."
},
"lastTriggerDate": {
"type": "string",
"description": "The date of the last time the cronjob was triggered."
},
"nextTriggerDate": {
"type": "string",
"description": "The date of the next time the cronjob will be triggered."
}
}
},
"DeployedCronjobList": {
"description": "A list of all deployed cronjobs.",
"type": "object",
"required": ["cronjobs", "totalCount"],
"properties": {
"cronjobs": {
"description": "The deployed cronjobs",
"type": "array",
"items": {
"$ref": "#/components/schemas/Cronjob"
}
},
"totalCount": {
"description": "The total number of deployed cronjobs",
"type": "number"
}
}
},
"DataObjectInstance": {
"description": "Describes a data object instance.",
"type": "object",
"required": ["dataObjectId", "processDefinitionId", "processModelId", "processInstanceId", "flowNodeInstanceId", "value", "createdAt", "updatedAt"],
"properties": {
"dataObjectId": {
"description": "The ID of the data object",
"type": "string"
},
"processDefinitionId": {
"description": "The ID of the process definition that contains the data object",
"type": "string"
},
"processModelId": {
"description": "The ID of the process model that contains the data object",
"type": "string"
},
"embeddedProcessModelId": {
"description": "The ID of the SubProcess that contains the data object",
"type": "string"
},
"processInstanceId": {
"description": "The ID of the process instance that contains the data object",
"type": "string"
},
"flowNodeInstanceId": {
"description": "The ID of the FlowNodeInstance that contains the data object",
"type": "string"
},
"value": {
"description": "The value of the data object",
"type": "object"
},
"createdAt": {
"description": "The Date the data object instance was created",
"type": "string"
},
"updatedAt": {
"description": "The Date the data object instance was last updated",
"type": "string"
}
}
},
"DataObjectInstanceList": {
"description": "A list of data object instances.",
"type": "object",
"required": ["dataObjectInstances", "totalCount"],
"properties": {
"dataObjectInstances": {
"description": "The data object instances",
"type": "array",
"items": {
"$ref": "#/components/schemas/DataObjectInstance"
}
},
"totalCount": {
"description": "The total number of data object instances",
"type": "number"
}
}
},
"ExternalTask": {
"description": "Describes an ExternalTask that the Engine has delegated to an ExternalTask worker for processing.",
"type": "object",
"required": [
"id",
"workerId",
"topic",
"isSingleTry",
"flowNodeInstanceId",
"correlationId",
"processDefinitionId",
"processInstanceId",
"ownerId",
"payload",
"lockExpirationTime",
"state"
],
"properties": {
"id": {
"description": "The ID of the ExternalTask.",
"type": "string"
},
"workerId": {
"description": "The ID of the worker that has most recently locked the ExternalTask for processing.",
"type": "string"
},
"topic": {
"description": "The topic of the ExternalTask.",
"type": "string"
},
"isSingleTry": {
"description": "A flag indicating whether or not the ExternalTask is a single try task.",
"type": "boolean"
},
"flowNodeInstanceId": {
"description": "The ID of the FlowNodeInstance that the ExternalTask belongs to.",
"type": "string"
},
"correlationId": {
"description": "The ID of the Correlation that the ExternalTask belongs to.",
"type": "string"
},
"processDefinitionId": {
"description": "The ID of the ProcessDefinition that contains the ExternalTask.",
"type": "string"
},
"processModelId": {
"description": "The ID of the ProcessModel that contains the ExternalTask.",
"type": "string"
},
"embeddedProcessModelId": {
"description": "The ID of the SubProcess that contains the ExternalTask.",
"type": "string"
},
"processInstanceId": {
"description": "The ID of the ProcessInstance the ExternalTask belongs to.",
"type": "string"
},
"ownerId": {
"description": "The ID of the user that owns the ExternalTask.",
"type": "string"
},
"payload": {
"description": "The payload containing all relevant data the worker needs to execute the ExternalTask.",
"type": "object"
},
"lockExpirationTime": {
"description": "The lock expiration time. On expiration, the task is released to be processed by other workers. If not set, the ExternalTask is not locked.",
"type": "string"
},
"state": {
"description": "The state of the ExternalTask.",
"$ref": "#/components/schemas/ExternalTaskState"
},
"finishedAt": {
"description": "The date when the ExternalTask was finished.",
"type": "string"
},
"result": {
"description": "The result of the ExternalTask.",
"type": "object"
},
"error": {
"description": "The error that occurred during processing of the ExternalTask (if any).",
"type": "object"
},
"createdAt": {
"description": "The date when the ExternalTask was created.",
"type": "string"
}
}
},
"ExternalTaskState": {
"description": "Describes the state of an ExternalTask.",
"type": "string",
"enum": ["pending", "finished", "expired"]
},
"ExternalTaskError": {
"description": "Describes an error that occured while processing an External Task.",
"type": "object",
"required": ["errorCode"],
"properties": {
"errorCode": {
"type": "string",
"description": "The error code of the error."
},
"errorMessage": {
"type": "string",
"description": "The error message of the error."
},
"errorDetails": {
"type": "object",
"description": "Additional information about the error."
}
}
},
"ExternalTaskReusableError": {
"description": "A formatted error object representing an ExternalTask error.",
"type": "object",
"required": ["code"],
"properties": {
"code": {
"description": "The error code of the error.",
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
]
},
"name": {
"description": "The name of the error.",
"type": "string"
},
"message": {
"description": "The error message of the error.",
"type": "string"
},
"additionalInformation": {
"description": "Additional information about the error.",
"type": "object"
}
}
},
"ExtendLockRequestPayload": {
"description": "Describes the payload that must be send with a extendLock HTTP POST request.",
"type": "object",
"required": ["workerId", "additionalDuration"],
"properties": {
"workerId": {
"description": "The ID of the worker that wants to extend the lock.",
"type": "string"
},
"additionalDuration": {
"description": "The additional duration in milliseconds that the lock should be extended.",
"type": "number"
}
}
},
"FetchAndLockRequestPayload": {
"description": "Describes the payload that must be send with a fetchAndLock HTTP POST request.",
"type": "object",
"required": ["workerId", "topicName", "maxTasks", "longPollingTimeout", "lockDuration", "payloadFilter"],
"properties": {
"workerId": {
"description": "The ID of the worker that wants to fetch and lock tasks.",
"type": "string"
},
"topicName": {
"description": "The topic of the tasks to fetch and lock.",
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"maxTasks": {
"description": "The maximum number of tasks to fetch and lock.",
"type": "number"
},
"longPollingTimeout": {
"description": "The timeout for the long polling request.",
"type": "number"
},
"lockDuration": {
"description": "The duration for which the tasks should be locked.",
"type": "number"
},
"payloadFilter": {
"description": "A filter for the payload of the tasks.",
"type": "string"
}
}
},
"FinishExternalTaskRequestPayload": {
"description": "Describes the payload that must be send with a finishExternalTask HTTP POST request.",
"type": "object",
"required": ["workerId", "result"],
"properties": {
"workerId": {
"description": "The ID of the worker that wants to finish the task.",
"type": "string"
},
"result": {
"description": "The result of the task.",
"type": "object",
"example": {
"foo": "bar"
}
}
}
},
"HandleExternalTaskErrorRequestPayload": {
"description": "Describes the payload that must be send with a handleExternalTaskError HTTP POST request.",
"type": "object",
"required": ["workerId", "bpmnError"],
"properties": {
"workerId": {
"description": "The ID of the worker that wants to handle the BPMN error.",
"type": "string"
},
"error": {
"description": "The error to handle.",
"$ref": "#/components/schemas/ExternalTaskError"
}
}
},
"FlowNodeInstanceList": {
"description": "A list of FlowNodeInstances.",
"type": "object",
"required": ["flowNodeInstances", "totalCount"],
"properties": {
"flowNodeInstances": {
"description": "The FlowNodeInstances.",
"type": "array",
"items": {
"$ref": "#/components/schemas/FlowNodeInstance"
}
},
"totalCount": {
"description": "The total number of FlowNodeInstances.",
"type": "number"
}
}
},
"FlowNodeInstance": {
"description": "A FlowNodeInstance.",
"type": "object",
"required": [
"flowNodeInstanceId",
"flowNodeId",
"flowNodeType",
"state",
"processDefinitionId",
"processModelId",
"processInstanceId",
"correlationId",
"startToken",
"ownerId"
],
"properties": {
"flowNodeInstanceId": {
"description": "The ID of the FlowNodeInstance",
"type": "string"
},
"flowNodeId": {
"description": "The ID of the FlowNode",
"type": "string"
},
"flowNodeName": {
"description": "The name of the FlowNode",
"type": "string"
},
"flowNodeLane": {
"description": "The name of the FlowNode's lane that contains this FlowNodeInstance",
"type": "string"
},
"flowNodeType": {
"description": "The BPMN type of the FlowNode",
"$ref": "#/components/schemas/BpmnType"
},
"eventType": {
"description": "The type of the Event, if this FlowNodeInstance is an Event",
"$ref": "#/components/schemas/EventType"
},
"previousFlowNodeInstanceId": {
"description": "The ID of the FlowNodeInstance that was executed before this one",
"type": "string"
},
"parentProcessInstanceId": {
"description": "The ID of the parent ProcessInstance, if this FlowNodeInstance within is a sub process",
"type": "string"
},
"state": {
"description": "The state of the FlowNodeInstance",
"$ref": "#/components/schemas/FlowNodeInstanceState"
},
"processDefinitionId": {
"description": "The ID of the ProcessDefinition that contains this FlowNodeInstance",
"type": "string"
},
"processModelId": {
"description": "The ID of the ProcessModel that contains this FlowNodeInstance",
"type": "string"
},
"embeddedProcessModelId": {
"description": "The ID of the SubProcess that contains this FlowNodeInstance",
"type": "string"
},
"processModelName": {
"description": "The Name of the ProcessModel that contains this FlowNodeInstance",
"type": "string"
},
"processInstanceId": {
"description": "The ID of the ProcessInstance that contains this FlowNodeInstance",
"type": "string"
},
"correlationId": {
"description": "The ID of the Correlation that contains this FlowNodeInstance",
"type": "string"
},
"startToken": {
"description": "The token with which the Flow Node Instance started",
"type": "Record<string, any>"
},
"endToken": {
"description": "The token with which the Flow Node Instance finished",
"type": "Record<string, any>"
},
"ownerId": {
"description": "The ID of the user that owns this FlowNodeInstance",
"type": "string"
},
"error": {
"description": "The error that occured during execution of the FlowNodeInstance (if any)",
"type": "object"
},
"startedAt": {
"description": "The date when the FlowNodeInstance was started",
"type": "string"
},
"finishedAt": {
"description": "The date when the FlowNodeInstance was finished",
"type": "string"
},
"triggeredByFlowNodeInstance": {
"description": "The FlowNodeInstance that triggered this FlowNodeInstance (if any)",
"$ref": "#/components/schemas/FlowNodeInstance"
}
}
},
"FlowNodeInstanceState": {
"description": "The state of a FlowNodeInstance.",
"type": "string",
"enum": ["running", "suspended", "finished", "terminated", "error", "canceled"]
},
"Identity": {
"description": "Contains information about an identity.",
"type": "object",
"required": ["token", "userId"],
"properties": {
"token": {
"description": "The ID of the user to which this identiy belongs.",
"type": "string"
},
"userId": {
"description": "The ID of the auth token's owner.",
"type": "string"
}
}
},
"ProcessDefinition": {
"description": "A ProcessDefinition.",
"type": "object",
"required": ["processDefinitionId", "processDefinitionHash", "processModels", "deployedAt", "deployedByUserId"],
"properties": {
"processDefinitionId": {
"description": "The ID of the ProcessDefinition.",
"type": "string"
},
"xml": {
"description": "The XML of the ProcessDefinition.",
"type": "string"
},
"processDefinitionHash": {
"description": "The hash of the ProcessDefinition.",
"type": "string"
},
"processModels": {
"description": "The ProcessModels contained in the ProcessDefinition.",
"type": "array",
"items": {
"$ref": "#/components/schemas/ProcessModel"
}
},
"deployedAt": {
"description": "The date when the ProcessDefinition was deployed.",
"type": "string"
},
"deployedByUserId": {
"description": "The ID of the user who deployed the ProcessDefinition.",
"type": "string"
}
}
},
"ProcessModel": {
"description": "A ProcessModel.",
"type": "object",
"required": ["processDefinitionId", "processModelId", "isExecutable", "startEvents", "endEvents", "flowNodes"],
"properties": {
"processDefinitionId": {
"description": "The ID of the ProcessDefinition that contains the ProcessModel.",
"type": "string"
},
"processModelId": {
"description": "The ID of the ProcessModel.",
"type": "string"
},
"processModelName": {
"description": "The name of the ProcessModel.",
"type": "string"
},
"version": {
"description": "The version of the ProcessModel.",
"type": "string"
},
"isExecutable": {
"description": "A flag indicating whether the ProcessModel can be started.",
"type": "boolean"
},
"isSingleton": {
"description": "A flag indicating whether the ProcessModel can only be run once at a time.",
"type": "boolean"
},
"startEvents": {
"description": "The StartEvents contained in the ProcessModel.",
"type": "array",
"items": {
"$ref": "#/components/schemas/StartEventViewModel"
}
},
"endEvents": {
"description": "The EndEvents contained in the ProcessModel.",
"type": "array",
"items": {
"$ref": "#/components/schemas/EndEventViewModel"
}
},
"flowNodes": {
"description": "The FlowNodes contained in the ProcessModel.",
"type": "array",
"items": {
"$ref": "#/components/schemas/FlowNodeViewModel"
}
}
}
},
"ProcessDefinitionList": {
"description": "A list of ProcessDefinitions.",
"type": "object",
"required": ["processDefinitions", "totalCount"],
"properties": {
"processDefinitions": {
"description": "The ProcessDefinitions.",
"type": "array",
"items": {
"$ref": "#/components/schemas/ProcessDefinition"
}
},
"totalCount": {
"description": "The total number of ProcessDefinitions.",
"type": "number"
}
}
},
"ProcessModelList": {
"description": "A list of ProcessModels.",
"type": "object",
"required": ["processModels", "totalCount"],
"properties": {
"processModels": {
"description": "The ProcessModels.",
"type": "array",
"items": {
"$ref": "#/components/schemas/ProcessModel"
}
},
"totalCount": {
"description": "The total number of ProcessModels.",
"type": "number"
}
}
},
"PersistProcessDefinitionsPayload": {
"description": "The payload for persisting process definitions.",
"type": "object",
"required": ["xml"],
"properties": {
"xml": {
"description": "The xml of the process definition(s) to persist.",
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
],
"example": "string | string[]"
},
"overwriteExisting": {
"description": "A flag indicating whether existing process definitions should be overwritten.",
"type": "boolean"
}
}
},
"ProcessInstanceList": {
"description": "A list of ProcessInstances.",
"type": "object",
"required": ["processInstances", "totalCount"],
"properties": {
"processInstances": {
"description": "The process instances",
"type": "array",
"items": {
"$ref": "#/components/schemas/ProcessInstance"
}
},
"totalCount": {
"description": "The total number of process instances",
"type": "number"
}
}
},
"ProcessInstance": {
"description": "A ProcessInstance.",
"type": "object",
"required": ["correlationId", "processInstanceId", "processDefinitionId", "processModelId", "hash", "state", "error", "ownerId", "startedByRootAccessToken"],
"properties": {
"correlationId": {
"description": "The id of the correlation in whichs context the process instance runs.",
"type": "string"
},
"processInstanceId": {
"description": "The id of the process instance.",
"type": "string"
},
"processDefinitionId": {
"description": "The id of the process definition which the process instance belongs to.",
"type": "string"
},
"processModelId": {
"description": "The id of the executed process model.",
"type": "string"
},
"embeddedProcessModelId": {
"description": "The id of the SubProcess that contains the executed process model.",
"type": "string"
},
"processModelName": {
"description": "The name of the executed process model.",
"type": "string"
},
"processModelVersion": {
"description": "The version of the executed process model.",
"type": "string"
},
"parentProcessInstanceId": {
"description": "The id of the parent process instance, if this process instance is a sub process.",
"type": "string"
},
"hash": {
"description": "The hash of the used process model.",
"type": "string"
},
"xml": {
"description": "The xml of the used process model.",
"type": "string"
},
"state": {
"description": "The state of the process instance.",
"$ref": "#/components/schemas/ProcessInstanceState"
},
"error": {
"description": "The error that occured during execution of the process instance (if any).",
"type": "object"
},
"ownerId": {
"description": "The id of the user who started the process instance.",
"type": "string"
},
"anonymousSessionId": {
"description": "The id of the anonymous session that started the process instance (if any).",
"type": "string"
},
"startedByRootAccessToken": {
"description": "A flag indicating whether or not the process instance was started using a root access token.",
"type": "boolean"
},
"createdAt": {
"description": "The date when the process instance was started.",
"type": "string"
},
"finishedAt": {
"description": "The date when the process instance was finished.",
"type": "string"
},
"restartedAt": {
"description": "The date when the process instance was restarted (if any).",
"type": "string"
},
"terminatedByUserId": {
"description": "The id of the user who terminated the process instance (if any).",
"type": "string"
},
"durationInMilliseconds": {
"description": "The duration of the process instance in milliseconds.",
"type": "number"
},
"startEventId": {
"description": "The id of the start event that started the process instance.",
"type": "string"
},
"startEventType": {
"description": "The type of the start event that started the process instance.",
"$ref": "#/components/schemas/EventType"
},
"startToken": {
"description": "The token that was used to start the process instance",
"type": "object"
},
"endEventId": {
"description": "The id of the end event that ended the process instance (if ended).",
"type": "string"
},
"endEventType": {
"description": "The type of the end event that ended the process instance (if ended).",
"$ref": "#/components/schemas/EventType"
},
"endToken": {
"description": "The token that reached the end event (if ended).",
"type": "object"
},
"metadata": {
"description": "The metadata of the process instance.",
"$ref": "#/components/schemas/ProcessInstanceMetadata"
},
"correlation": {
"description": "The correlation in whichs context the process instance runs.",
"$ref": "#/components/schemas/Correlation"
},
"triggeredByFlowNodeInstance": {
"description": "The FlowNodeInstance that triggered the process instance (if any).",
"$ref": "#/components/schemas/FlowNodeInstance"
}
}
},
"ProcessInstanceState": {
"description": "The state of a ProcessInstance.",
"type": "string",
"enum": ["running", "finished", "error", "terminated"]
},
"ProcessInstanceMetadata": {
"description": "Metadata for a ProcessInstance.",
"type": "object"
},
"SearchQuery": {
"description": "The query to use for a search.",
"type": "object",
"required": ["operator", "searchParams"],
"properties": {
"operator": {
"description": "The operator to use for the search (or / and).",
"type": "string"
},
"searchParams": {
"description": "The search parameters to use for the search.",
"oneOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "array",
"items": {
"$ref": "#/components/schemas/SearchQuery"
}
},
{
"type": "array",
"items": {
"$ref": "#/components/schemas/SearchParams"
}
}
]
}
}
},
"SearchParams": {
"description": "The parameters to use for a search.",
"type": "object",
"required": ["searchString"],
"properties": {
"searchString": {
"description": "The string to search for.",
"type": "string"
},
"caseSensitive": {
"description": "A flag to indicate, whether the search should be case sensitive.",
"type": "boolean"
},
"partialMatch": {
"description": "A flag to indicate, whether the search should be a partial match.",
"type": "boolean"
}
}
},
"StartCallbackType": {
"description": "The type of callback to use for a ProcessInstance start.",
"type": "integer",
"oneOf": [
{
"title": "CallbackOnProcessInstanceCreated",
"const": 1,
"description": "The Engine will resolve immediately after the ProcessInstance was started."
},
{
"title": "CallbackOnProcessInstanceFinished",
"const": 2,
"description": "The Engine will resolve after the first EndEvent was reached."
},
{
"title": "CallbackOnEndEventReached",
"const": 3,
"description": "The Engine will resolve after a specific EndEvent was reached."
}
]
},
"ProcessStartOptions": {
"description": "The options to use for starting a ProcessInstance.",
"type": "object",
"required": ["processModelId"],
"properties": {
"processModelId": {
"description": "The ID of the ProcessModel to start.",
"type": "string"
},
"startEventId": {
"description": "The ID of a StartEvent at which the ProcessInstance should start.",
"type": "string"
},
"correlationId": {
"description": "A correlation ID to use for the ProcessInstance.",
"type": "string"
},
"initialToken": {
"description": "The token to use for an initial ProcessToken.",
"type": "object"
}
}
},
"ProcessStartRequest": {
"description": "The request object to use for starting a ProcessInstance.",
"allOf": [
{
"$ref": "#/components/schemas/ProcessStartOptions"
},
{
"type": "object",
"properties": {
"returnOn": {
"description": "Determines when the Engine will resolve, after a new request for starting a ProcessInstance was made.\nNote: If \"CallbackOnEndEventReached\" is selected, \"endEventId\" is no longer optional!\n",
"$ref": "#/components/schemas/StartCallbackType"
},
"endEventId": {
"description": "The ID of an EndEvent that should be awaited. Must be provided, of \"returnOn\" is set to \"CallbackOnEndEventReached\".",
"type": "string"
}
}
}
]
},
"ProcessStartResponse": {
"description": "Contains a response from the Engine, which will be send after a ProcessInstance was started.\nDepending on the type of start callback used, this will also contain information about the reached EndEvent.\n",
"type": "object",
"required": ["processInstanceId", "correlationId"],
"properties": {
"processInstanceId": {
"description": "The ID of the ProcessInstance.",
"type": "string"
},
"correlationId": {
"description": "The ID of the Correlation in which the started ProcessInstance runs.",
"type": "string"
},
"endEventId": {
"description": "If the Engine is set to wait for the ProcessInstance to finish, this will contain the ID of the EndEvent with which ProcessInstance was finished.",
"type": "string"
},
"tokenPayload": {
"description": "If the Engine is set to wait for the ProcessInstance to finish, this will contain the final result with which ProcessInstance was finished.",
"type": "object"
}
}
},
"EventMessage": {
"description": "The base type for definining event messages.",
"type": "object",
"required": ["correlationId", "processDefinitionId", "processModelId", "processInstanceId", "ownerId", "currentToken"],
"properties": {
"correlationId": {
"description": "The ID of the correlation that the event belongs to.",
"type": "string"
},
"processDefinitionId": {
"description": "The ID of the ProcessDefinition that the event belongs to.",
"type": "string"
},
"processModelId": {
"description": "The ID of the ProcessModel that the event belongs to.",
"type": "string"
},
"embeddedProcessModelId": {
"description": "The ID of the SubProcess containing the ProcessModel that the event belongs to.",
"type": "string"
},
"processModelName": {
"description": "The name of the ProcessModel that the event belongs to.",
"type": "string"
},
"processModelVersion": {
"description": "The version of the ProcessModel that the event belongs to.",
"type": "string"
},
"processInstanceId": {
"description": "The ID of the ProcessInstance that the event belongs to.",
"type": "string"
},
"parentProcessInstanceId": {
"description": "The ID of the parent ProcessInstance (if event occured in a sub process)",
"type": "string"
},
"flowNodeId": {
"description": "The ID of the FlowNode that the event belongs to.",
"type": "string"
},
"flowNodeName": {
"description": "The name of the FlowNode that the event belongs to.",
"type": "string"
},
"flowNodeLane": {
"description": "The lane the FlowNode is located on (if any).",
"type": "string"
},
"flowNodeType": {
"description": "The BPMN type of the FlowNode that the event belongs to.",
"$ref": "#/components/schemas/BpmnType"
},
"flowNodeInstanceId": {
"description": "The ID of the FlowNodeInstance that the event belongs to.",
"type": "string"
},
"ownerId": {
"description": "The ID of the user that owns the ProcessInstance that the event belongs to.",
"type": "string"
},
"previousFlowNodeInstanceId": {
"description": "The ID of the FlowNodeInstance that was executed before.",
"type": "string"
},
"currentToken": {
"description": "The current token of the ProcessInstance.",
"type": "object"
},
"eventType": {
"description": "The type of the event.",
"$ref": "#/components/schemas/EventType"
},
"eventName": {
"description": "The name of the event.",
"type": "string"
},
"customCorrelationId": {
"description": "Process Instances triggered by this Message will use the following Correlation ID.",
"type": "string"
}
}
},
"CronjobEnabledChangedMessage": {
"description": "Message that is sent whenever a Cronjob was enabled or disabled.",
"type": "object",
"required": ["processModelId", "flowNodeId", "enabled"],
"properties": {
"processModelId": {
"description": "Contains the ID of the Process Model whose executable state was changed.",
"type": "string"
},
"flowNodeId": {
"description": "Contains the ID of the Cycle Start Event.",
"type": "string"
},
"enabled": {
"description": "The new enabled-state.",
"type": "boolean"
}
}
},
"CronjobEvent": {
"description": "Describes a single Cronjob. Used as payload for the CronjobEventMessage.",
"type": "object",
"required": ["startEventId", "processModelId", "cronjob"],
"properties": {
"startEventId": {
"description": "The ID of the StartEvent that contains the cronjob.",
"type": "string"
},
"processModelId": {
"description": "The ID of the ProcessModel that contains the cronjob.",
"type": "string"
},
"cronjob": {
"description": "The crontab that describs the cronjob.",
"type": "string"
}
}
},
"CronjobEventMessage": {
"description": "A message that is sent when a cronjob related event was triggered.",
"type": "object",
"required": ["processDefinitionId", "cronjobs"],
"properties": {
"processDefinitionId": {
"description": "The ID of the ProcessDefinition that contains the cronjob.",
"type": "string"
},
"cronjobs": {
"description": "The cronjobs that were triggered.",
"type": "array",
"items": {
"$ref": "#/components/schemas/CronjobEvent"
}
}
}
},
"ExternalTaskCreatedMessage": {
"description": "Message that is sent whenever an ExternalTask encountered an error.",
"allOf": [
{
"$ref": "#/components/schemas/EventMessage"
},
{
"type": "object",
"required": ["externalTaskId", "topic", "isSingleTry"],
"properties": {
"externalTaskId": {
"description": "The ID of the ExternalTask.",
"type": "string"
},
"topic": {
"description": "The topic of the ExternalTask.",
"type": "string"
},
"isSingleTry": {
"description": "Flag indicating whether the ExternalTask is a SingleTry ExternalTask.",
"type": "boolean"
}
}
}
]
},
"ExternalTaskLockedMessage": {
"description": "Message that is sent whenever an ExternalTask was locked by a worker.",
"allOf": [
{
"$ref": "#/components/schemas/ExternalTaskCreatedMessage"
},
{
"type": "object",
"required": ["workerId", "lockExpirationTime"],
"properties": {
"workerId": {
"description": "The ID of the worker that locked the ExternalTask.",
"type": "string"
},
"lockExpirationTime": {
"description": "The time when the lock expires.",
"type": "string"
}
}
}
]
},
"ExternalTaskUnlockedMessage": {
"description": "Message that is sent whenever an ExternalTask lock expires.",
"allOf": [
{
"$ref": "#/components/schemas/ExternalTaskCreatedMessage"
},
{
"type": "object",
"required": ["externalTaskId", "topic"],
"properties": {
"externalTaskId": {
"description": "The ID of the ExternalTask.",
"type": "string"
},
"topic": {
"description": "The topic of the ExternalTask.",
"type": "string"
}
}
}
]
},
"ExternalTaskExpiredMessage": {
"description": "Message that is sent whenever an ExternalTask expires.",
"allOf": [
{
"$ref": "#/components/schemas/ExternalTaskCreatedMessage"
},
{
"type": "object",
"required": ["externalTaskId", "topic"],
"properties": {
"externalTaskId": {
"description": "The ID of the ExternalTask.",
"type": "string"
},
"topic": {
"description": "The topic of the ExternalTask.",
"type": "string"
}
}
}
]
},
"ExternalTaskErrorMessage": {
"description": "Message that is sent whenever an ExternalTask encountered an error.",
"allOf": [
{
"$ref": "#/components/schemas/ExternalTaskCreatedMessage"
},
{
"type": "object",
"required": ["error"],
"properties": {
"error": {
"description": "The error that occurred.",
"$ref": "#/components/schemas/ExternalTaskReusableError"
}
}
}
]
},
"ExternalTaskSuccessMessage": {
"description": "Message that is sent whenever an ExternalTask encountered an error.",
"allOf": [
{
"$ref": "#/components/schemas/ExternalTaskCreatedMessage"
},
{
"type": "object",
"required": ["result"],
"properties": {
"result": {
"description": "The result of the ExternalTask.",
"type": "object"
}
}
}
]
},
"MetadataChangedMessage": {
"description": "Message that is sent whenever the metadata of a Correlation or Process Instance was changed by a Flow Node Instance.",
"allOf": [
{
"$ref": "#/components/schemas/EventMessage"
},
{
"type": "object",
"properties": {
"changedMetadata": {
"description": "The changed metadata.",
"type": "object",
"additionalProperties": {
"type": "string"
}
}
}
}
]
},
"ProcessDeploymentMessage": {
"description": "Message that is sent whenever a Process was deployed or undeployed.",
"type": "object",
"required": ["processDefinitionId"],
"properties": {
"processDefinitionId": {
"description": "The ID or the list of IDs of the deployed/undeployed process(es).",
"oneOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
}
}
},
"ProcessIsExecutableChangedMessage": {
"description": "The message that is sent whenever a Process was flagged as executable or not executable.",
"type": "object",
"required": ["processModelId", "isExecutable"],
"properties": {
"processModelId": {
"description": "Contains the ID of the Process Model whose executable state was changed.",
"type": "string"
},
"isExecutable": {
"description": "Contains the new state of the isExecutable flag.",
"type": "boolean"
}
}
},
"BpmnType": {
"description": "The type of a BPMN element.",
"type": "string",
"enum": [
"bpmn:Task",
"bpmn:BusinessRuleTask",
"bpmn:UserTask",
"bpmn:ExclusiveGateway",
"bpmn:ParallelGateway",
"bpmn:ServiceTask",
"bpmn:StartEvent",
"bpmn:EndEv