UNPKG

@5minds/processcube_engine

Version:

The ProcessCube Engine. Stores and executes BPMNs.

1,393 lines • 144 kB
{ "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