diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..1d953f4 --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use nix diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3c36aa1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +.cache/ +.direnv/ +.idea/ +env +dist/ +result +node_modules +result +__pycache__ +carrot-rcc diff --git a/@types/neodoc/index.d.ts b/@types/neodoc/index.d.ts new file mode 100644 index 0000000..756e8df --- /dev/null +++ b/@types/neodoc/index.d.ts @@ -0,0 +1 @@ +declare module 'neodoc'; diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..e69de29 diff --git a/Camunda.ts b/Camunda.ts new file mode 100644 index 0000000..4179a76 --- /dev/null +++ b/Camunda.ts @@ -0,0 +1,18457 @@ +/** + * This file was auto-generated by openapi-typescript. + * Do not make direct changes to the file. + */ + +export interface paths { + "/batch": { + /** + * Queries for batches that fulfill given parameters. Parameters may be the properties of batches, such as the id or type. + * The size of the result set can be retrieved by using the + * [Get Batch Count](https://docs.camunda.org/manual/latest/reference/rest/batch/get-query-count/) method. + */ + get: operations["getBatches"]; + }; + "/batch/count": { + /** + * Requests the number of batches that fulfill the query criteria. + * Takes the same filtering parameters as the [Get Batches](https://docs.camunda.org/manual/latest/reference/rest/batch/get-query/) method. + */ + get: operations["getBatchesCount"]; + }; + "/batch/statistics": { + /** + * Queries for batch statistics that fulfill given parameters. + * Parameters may be the properties of batches, such as the id or type. + * The size of the result set can be retrieved by using the + * [Get Batch Statistics Count](https://docs.camunda.org/manual/latest/reference/rest/batch/get-statistics-query-count/) method. + */ + get: operations["getBatchStatistics"]; + }; + "/batch/statistics/count": { + /** + * Requests the number of batch statistics that fulfill the query criteria. + * Takes the same filtering parameters as the + * [Get Batch Statistics](https://docs.camunda.org/manual/latest/reference/rest/batch/get-statistics-query/) method. + */ + get: operations["getBatchStatisticsCount"]; + }; + "/batch/{id}": { + /** Retrieves a batch by id, according to the Batch interface in the engine. */ + get: operations["getBatch"]; + /** + * Deletes a batch by id, including all related jobs and job definitions. + * Optionally also deletes the batch history. + */ + delete: operations["deleteBatch"]; + }; + "/batch/{id}/suspended": { + /** Activates or suspends a batch by id. */ + put: operations["updateBatchSuspensionState"]; + }; + "/condition": { + /** + * Triggers evaluation of conditions for conditional start event(s). + * Internally this maps to the engines condition evaluation builder method ConditionEvaluationBuilder#evaluateStartConditions(). + * For more information see the [Conditional Start Events](https://docs.camunda.org/manual/latest/reference/bpmn20/events/conditional-events/#conditional-start-event) + * section of the [BPMN 2.0 Implementation Reference](https://docs.camunda.org/manual/latest/reference/bpmn20/). + */ + post: operations["evaluateCondition"]; + }; + "/decision-definition": { + /** + * Queries for decision definitions that fulfill given parameters. + * Parameters may be the properties of decision definitions, such as the name, key or version. + * The size of the result set can be retrieved by using + * the [Get Decision Definition Count](https://docs.camunda.org/manual/latest/reference/rest/decision-definition/get-query-count/) method. + */ + get: operations["getDecisionDefinitions"]; + }; + "/decision-definition/count": { + /** + * Requests the number of decision definitions that fulfill the query criteria. + * Takes the same filtering parameters as the + * [Get Decision Definition](https://docs.camunda.org/manual/latest/reference/rest/decision-definition/get-query/) method. + */ + get: operations["getDecisionDefinitionsCount"]; + }; + "/decision-definition/key/{key}": { + /** Retrieves the latest version of the decision definition which belongs to no tenant. */ + get: operations["getDecisionDefinitionByKey"]; + }; + "/decision-definition/key/{key}/diagram": { + /** Returns the diagram for the latest version of the decision definition which belongs to no tenant */ + get: operations["getDecisionDefinitionDiagramByKey"]; + }; + "/decision-definition/key/{key}/evaluate": { + /** + * Evaluates the latest version of the decision definition which belongs to no tenant. + * The input values of the decision have to be supplied in the request body. + */ + post: operations["evaluateDecisionByKey"]; + }; + "/decision-definition/key/{key}/history-time-to-live": { + /** + * Updates the latest version of the decision definition which belongs to no tenant. + * The field is used within [History cleanup](https://docs.camunda.org/manual/latest/user-guide/process-engine/history/#history-cleanup). + */ + put: operations["updateHistoryTimeToLiveByDecisionDefinitionKey"]; + }; + "/decision-definition/key/{key}/tenant-id/{tenant-id}": { + /** Retrieves the latest version of the decision definition for tenant */ + get: operations["getDecisionDefinitionByKeyAndTenantId"]; + }; + "/decision-definition/key/{key}/tenant-id/{tenant-id}/diagram": { + /** Returns the XML of the latest version of the decision definition for tenant. */ + get: operations["getDecisionDefinitionDiagramByKeyAndTenant"]; + }; + "/decision-definition/key/{key}/tenant-id/{tenant-id}/evaluate": { + /** + * Evaluates the latest version of the decision definition for tenant. + * The input values of the decision have to be supplied in the request body. + */ + post: operations["evaluateDecisionByKeyAndTenant"]; + }; + "/decision-definition/key/{key}/tenant-id/{tenant-id}/history-time-to-live": { + /** + * Updates the latest version of the decision definition for tenant. + * The field is used within [History cleanup](https://docs.camunda.org/manual/latest/user-guide/process-engine/history/#history-cleanup). + */ + put: operations["updateHistoryTimeToLiveByDecisionDefinitionKeyAndTenant"]; + }; + "/decision-definition/key/{key}/tenant-id/{tenant-id}/xml": { + /** Retrieves the XML of the latest version of the decision definition for tenant */ + get: operations["getDecisionDefinitionDmnXmlByKeyAndTenant"]; + }; + "/decision-definition/key/{key}/xml": { + /** Retrieves the XML for the latest version of the decision definition which belongs to no tenant. */ + get: operations["getDecisionDefinitionDmnXmlByKey"]; + }; + "/decision-definition/{id}": { + /** Retrieves a decision definition by id, according to the `DecisionDefinition` interface in the engine. */ + get: operations["getDecisionDefinitionById"]; + }; + "/decision-definition/{id}/diagram": { + /** Retrieves the diagram of a decision definition. */ + get: operations["getDecisionDefinitionDiagram"]; + }; + "/decision-definition/{id}/evaluate": { + /** + * Evaluates a given decision and returns the result. + * The input values of the decision have to be supplied in the request body. + */ + post: operations["evaluateDecisionById"]; + }; + "/decision-definition/{id}/history-time-to-live": { + /** + * Updates history time to live for decision definition. + * The field is used within [History cleanup](https://docs.camunda.org/manual/latest/user-guide/process-engine/history/#history-cleanup). + */ + put: operations["updateHistoryTimeToLiveByDecisionDefinitionId"]; + }; + "/decision-definition/{id}/xml": { + /** Retrieves the DMN XML of a decision definition. */ + get: operations["getDecisionDefinitionDmnXmlById"]; + }; + "/deployment": { + /** + * Queries for deployments that fulfill given parameters. Parameters may be the properties of deployments, + * such as the id or name or a range of the deployment time. The size of the result set can be retrieved by + * using the [Get Deployment count](https://docs.camunda.org/manual/latest/reference/rest/deployment/get-query-count/) method. + */ + get: operations["getDeployments"]; + }; + "/deployment/count": { + /** + * Queries for the number of deployments that fulfill given parameters. Takes the same parameters as the + * [Get Deployments](https://docs.camunda.org/manual/latest/reference/rest/deployment/get-query/) method. + */ + get: operations["getDeploymentsCount"]; + }; + "/deployment/create": { + /** + * Creates a deployment. + * + * **Security Consideration** + * + * Deployments can contain custom code in form of scripts or EL expressions to customize process behavior. + * This may be abused for remote execution of arbitrary code. + */ + post: operations["createDeployment"]; + }; + "/deployment/{id}": { + /** Retrieves a deployment by id, according to the `Deployment` interface of the engine. */ + get: operations["getDeployment"]; + /** Deletes a deployment by id. */ + delete: operations["deleteDeployment"]; + }; + "/deployment/{id}/redeploy": { + /** + * Re-deploys an existing deployment. + * + * The deployment resources to re-deploy can be restricted by using the properties `resourceIds` or + * `resourceNames`. If no deployment resources to re-deploy are passed then all existing resources of the + * given deployment are re-deployed. + * + * **Warning**: Deployments can contain custom code in form of scripts or EL expressions to customize + * process behavior. This may be abused for remote execution of arbitrary code. See the section on + * [security considerations for custom code](https://docs.camunda.org/manual/latest/user-guide/process-engine/securing-custom-code/) in + * the user guide for details. + */ + post: operations["redeploy"]; + }; + "/deployment/{id}/resources": { + /** Retrieves all deployment resources of a given deployment. */ + get: operations["getDeploymentResources"]; + }; + "/deployment/{id}/resources/{resourceId}": { + /** Retrieves a deployment resource by resource id for the given deployment. */ + get: operations["getDeploymentResource"]; + }; + "/deployment/{id}/resources/{resourceId}/data": { + /** Retrieves the binary content of a deployment resource for the given deployment by id. */ + get: operations["getDeploymentResourceData"]; + }; + "/engine": { + /** + * Retrieves the names of all process engines available on your platform. + * **Note**: You cannot prepend `/engine/{name}` to this method. + */ + get: operations["getProcessEngineNames"]; + }; + "/event-subscription": { + /** + * Queries for event subscriptions that fulfill given parameters. + * The size of the result set can be retrieved by using the + * [Get Event Subscriptions count](https://docs.camunda.org/manual/latest/reference/rest/event-subscription/get-query-count/) method. + */ + get: operations["getEventSubscriptions"]; + }; + "/event-subscription/count": { + /** + * Queries for the number of event subscriptions that fulfill given parameters. + * Takes the same parameters as the + * [Get Event Subscriptions](https://docs.camunda.org/manual/latest/reference/rest/event-subscription/get-query/) method. + */ + get: operations["getEventSubscriptionsCount"]; + }; + "/execution": { + /** + * Queries for the executions that fulfill given parameters. + * Parameters may be static as well as dynamic runtime properties of + * executions. + * The size of the result set can be retrieved by using the [Get + * Execution Count](https://docs.camunda.org/manual/latest/reference/rest/execution/get-query-count/) + * method. + */ + get: operations["getExecutions"]; + /** + * Queries for executions that fulfill given parameters through a JSON object. + * This method is slightly more powerful than the [Get + * Executions](https://docs.camunda.org/manual/latest/reference/rest/execution/get-query/) method + * because it allows + * to filter by multiple instance and execution variables of types + * `String`, `Number` or `Boolean`. + */ + post: operations["queryExecutions"]; + }; + "/execution/count": { + /** + * Queries for the number of executions that fulfill given parameters. + * Takes the same parameters as the [Get + * Executions](https://docs.camunda.org/manual/latest/reference/rest/execution/get-query/) method. + */ + get: operations["getExecutionsCount"]; + /** + * Queries for the number of executions that fulfill given parameters. This method + * takes the same message body as the [Get Executions + * POST](https://docs.camunda.org/manual/latest/reference/rest/execution/post-query/) method and + * therefore it is slightly more powerful than the [Get Execution + * Count](https://docs.camunda.org/manual/latest/reference/rest/execution/get-query-count/) method. + */ + post: operations["queryExecutionsCount"]; + }; + "/execution/{id}": { + /** + * Retrieves an execution by id, according to the `Execution` interface in the + * engine. + */ + get: operations["getExecution"]; + }; + "/execution/{id}/create-incident": { + /** Creates a custom incident with given properties. */ + post: operations["createIncident"]; + }; + "/execution/{id}/localVariables": { + /** Retrieves all variables of a given execution by id. */ + get: operations["getLocalExecutionVariables"]; + /** + * Updates or deletes the variables in the context of an execution by id. The updates + * do not propagate upwards in the execution hierarchy. + * Updates precede deletions. So, if a variable is updated AND deleted, + * the deletion overrides the update. + */ + post: operations["modifyLocalExecutionVariables"]; + }; + "/execution/{id}/localVariables/{varName}": { + /** + * Retrieves a variable from the context of a given execution by id. Does not traverse + * the parent execution hierarchy. + */ + get: operations["getLocalExecutionVariable"]; + /** + * Sets a variable in the context of a given execution by id. Update does not + * propagate upwards in the execution hierarchy. + */ + put: operations["putLocalExecutionVariable"]; + /** + * Deletes a variable in the context of a given execution by id. Deletion does not + * propagate upwards in the execution hierarchy. + */ + delete: operations["deleteLocalExecutionVariable"]; + }; + "/execution/{id}/localVariables/{varName}/data": { + /** + * Retrieves a binary variable from the context of a given execution by id. Does not + * traverse the parent execution hierarchy. Applicable for byte array and + * file variables. + */ + get: operations["getLocalExecutionVariableBinary"]; + /** + * Sets the serialized value for a binary variable or the binary value for a file + * variable in the context of a given execution by id. + */ + post: operations["setLocalExecutionVariableBinary"]; + }; + "/execution/{id}/messageSubscriptions/{messageName}": { + /** + * Retrieves a message event subscription for a given execution by id and a message + * name. + */ + get: operations["getMessageEventSubscription"]; + }; + "/execution/{id}/messageSubscriptions/{messageName}/trigger": { + /** + * Delivers a message to a specific execution by id, to trigger an existing message + * event subscription. Inject process variables as the message's + * payload. + */ + post: operations["triggerEvent"]; + }; + "/execution/{id}/signal": { + /** + * Signals an execution by id. Can for example be used to explicitly skip user tasks + * or signal asynchronous continuations. + */ + post: operations["signalExecution"]; + }; + "/external-task": { + /** + * Queries for the external tasks that fulfill given parameters. Parameters may be static as well as dynamic + * runtime properties of executions. The size of the result set can be retrieved by using the + * [Get External Task Count](https://docs.camunda.org/manual/latest/reference/rest/external-task/get-query-count/) method. + */ + get: operations["getExternalTasks"]; + /** + * Queries for external tasks that fulfill given parameters in the form of a JSON object. + * + * This method is slightly more powerful than the + * [Get External Tasks](https://docs.camunda.org/manual/latest/reference/rest/external-task/get-query/) method because it allows to + * specify a hierarchical result sorting. + */ + post: operations["queryExternalTasks"]; + }; + "/external-task/count": { + /** + * Queries for the number of external tasks that fulfill given parameters. Takes the same parameters as the + * [Get External Tasks](https://docs.camunda.org/manual/latest/reference/rest/external-task/get-query/) method. + */ + get: operations["getExternalTasksCount"]; + /** + * Queries for the number of external tasks that fulfill given parameters. This method takes the same message + * body as the [Get External Tasks (POST)](https://docs.camunda.org/manual/latest/reference/rest/external-task/post-query/) method. + */ + post: operations["queryExternalTasksCount"]; + }; + "/external-task/fetchAndLock": { + /** + * Fetches and locks a specific number of external tasks for execution by a worker. Query can be restricted + * to specific task topics and for each task topic an individual lock time can be provided. + */ + post: operations["fetchAndLock"]; + }; + "/external-task/retries": { + /** + * Sets the number of retries left to execute external tasks by id synchronously. If retries are set to 0, + * an incident is created. + */ + put: operations["setExternalTaskRetries"]; + }; + "/external-task/retries-async": { + /** + * Sets the number of retries left to execute external tasks by id asynchronously. If retries are set to 0, + * an incident is created. + */ + post: operations["setExternalTaskRetriesAsyncOperation"]; + }; + "/external-task/topic-names": { + /** + * Queries for distinct topic names of external tasks that fulfill given parameters. + * Query can be restricted to only tasks with retries left, tasks that are locked, or tasks + * that are unlocked. The parameters withLockedTasks and withUnlockedTasks are + * exclusive. Setting them both to true will return an empty list. + * Providing no parameters will return a list of all distinct topic names with external tasks. + */ + get: operations["getTopicNames"]; + }; + "/external-task/{id}": { + /** Retrieves an external task by id, corresponding to the `ExternalTask` interface in the engine. */ + get: operations["getExternalTask"]; + }; + "/external-task/{id}/bpmnError": { + /** + * Reports a business error in the context of a running external task by id. The error code must be specified + * to identify the BPMN error handler. + */ + post: operations["handleExternalTaskBpmnError"]; + }; + "/external-task/{id}/complete": { + /** Completes an external task by id and updates process variables. */ + post: operations["completeExternalTaskResource"]; + }; + "/external-task/{id}/errorDetails": { + /** Retrieves the error details in the context of a running external task by id. */ + get: operations["getExternalTaskErrorDetails"]; + }; + "/external-task/{id}/extendLock": { + /** Extends the timeout of the lock by a given amount of time. */ + post: operations["extendLock"]; + }; + "/external-task/{id}/failure": { + /** + * Reports a failure to execute an external task by id. A number of retries and a timeout until the task can + * be retried can be specified. If retries are set to 0, an incident for this task is created. + */ + post: operations["handleFailure"]; + }; + "/external-task/{id}/lock": { + /** Lock an external task by a given id for a specified worker and amount of time. */ + post: operations["lock"]; + }; + "/external-task/{id}/priority": { + /** Sets the priority of an existing external task by id. The default value of a priority is 0. */ + put: operations["setExternalTaskResourcePriority"]; + }; + "/external-task/{id}/retries": { + /** + * Sets the number of retries left to execute an external task by id. If retries are set to 0, an + * incident is created. + */ + put: operations["setExternalTaskResourceRetries"]; + }; + "/external-task/{id}/unlock": { + /** Unlocks an external task by id. Clears the task's lock expiration time and worker id. */ + post: operations["unlock"]; + }; + "/group": { + /** + * Queries for a list of groups using a list of parameters. The size of the result set can be retrieved + * by using the [Get Group Count](https://docs.camunda.org/manual/latest/reference/rest/group/get-query-count) method. + */ + get: operations["getQueryGroups"]; + /** + * Queries for a list of groups using a list of parameters. + * The size of the result set can be retrieved by using the + * [Get Group Count (POST)](https://docs.camunda.org/manual/latest/reference/rest/group/post-query-count/) method. + */ + post: operations["postQueryGroups"]; + /** + * The `/group` resource supports two custom OPTIONS requests, this one for the resource as such and one for + * individual group instances. The OPTIONS request allows checking for the set of available operations that + * the currently authenticated user can perform on the `/group` resource. If the user can perform an operation + * or not may depend on various things, including the users authorizations to interact with this resource and + * the internal configuration of the process engine. + */ + options: operations["availableGroupOperations"]; + }; + "/group/count": { + /** Queries for groups using a list of parameters and retrieves the count. */ + get: operations["getGroupCount"]; + /** Queries for groups using a list of parameters and retrieves the count. */ + post: operations["queryGroupCount"]; + }; + "/group/create": { + /** Creates a new group. */ + post: operations["createGroup"]; + }; + "/group/{id}": { + /** Retrieves a group by id. */ + get: operations["getGroup"]; + /** Updates a given group by id. */ + put: operations["updateGroup"]; + /** Deletes a group by id. */ + delete: operations["deleteGroup"]; + /** + * The `/group` resource supports two custom OPTIONS requests, one for the resource as such and this one for individual group instances. + * The OPTIONS request allows checking for the set of available operations that the currently authenticated user can perform on the + * `/group/{id}` resource instance. If the user can perform an operation or not may depend on various things, including the users authorizations + * to interact with this resource and the internal configuration of the process engine. + */ + options: operations["availableGroupInstanceOperations"]; + }; + "/group/{id}/members": { + /** + * The OPTIONS request allows checking for the set of available operations that the currently authenticated + * user can perform on the resource. If the user can perform an operation or not may depend on various + * things, including the users authorizations to interact with this resource and the internal configuration + * of the process engine. + */ + options: operations["availableGroupMembersOperations"]; + }; + "/group/{id}/members/{userId}": { + /** Adds a member to a group. */ + put: operations["createGroupMember"]; + /** Removes a member from a group. */ + delete: operations["deleteGroupMember"]; + }; + "/history/activity-instance": { + /** + * Queries for historic activity instances that fulfill the given parameters. + * The size of the result set can be retrieved by using the + * [Get Historic Activity Instance Count](https://docs.camunda.org/manual/latest/reference/rest/history/activity-instance/get-activity-instance-query-count/) method. + */ + get: operations["getHistoricActivityInstances"]; + /** + * Queries for historic activity instances that fulfill the given parameters. + * The size of the result set can be retrieved by using the + * [Get Historic Activity Instance Count](https://docs.camunda.org/manual/latest/reference/rest/history/activity-instance/get-activity-instance-query-count/) method. + */ + post: operations["queryHistoricActivityInstances"]; + }; + "/history/activity-instance/count": { + /** + * Queries for the number of historic activity instances that fulfill the given parameters. + * Takes the same parameters as the [Get Historic Activity Instance](https://docs.camunda.org/manual/latest/reference/rest/history/activity-instance/get-activity-instance-query/) method. + */ + get: operations["getHistoricActivityInstancesCount"]; + /** Queries for the number of historic activity instances that fulfill the given parameters. */ + post: operations["queryHistoricActivityInstancesCount"]; + }; + "/history/activity-instance/{id}": { + /** Retrieves a historic activity instance by id, according to the `HistoricActivityInstance` interface in the engine. */ + get: operations["getHistoricActivityInstance"]; + }; + "/history/process-instance": { + /** + * Queries for historic process instances that fulfill the given parameters. + * The size of the result set can be retrieved by using the + * [Get Process Instance Count](https://docs.camunda.org/manual/latest/reference/rest/history/process-instance/get-process-instance-query-count/) method. + */ + get: operations["getHistoricProcessInstances"]; + /** + * Queries for historic process instances that fulfill the given parameters. + * This method is slightly more powerful than the + * [Get Process Instance](https://docs.camunda.org/manual/latest/reference/rest/history/process-instance/get-process-instance-query/) + * because it allows filtering by multiple process variables of types `String`, `Number` or `Boolean`. + */ + post: operations["queryHistoricProcessInstances"]; + }; + "/history/process-instance/count": { + /** + * Queries for the number of historic process instances that fulfill the given parameters. + * Takes the same parameters as the [Get Process Instances](https://docs.camunda.org/manual/latest/reference/rest/history/process-instance/get-process-instance-query/) method. + */ + get: operations["getHistoricProcessInstancesCount"]; + /** + * Queries for the number of historic process instances that fulfill the given parameters. + * This method takes the same message body as the [Get Process Instances (POST)](https://docs.camunda.org/manual/latest/reference/rest/history/process-instance/get-process-instance-query/) method and + * therefore it is slightly more powerful than the [Get Process Instance Count](https://docs.camunda.org/manual/latest/reference/rest/history/process-instance/post-process-instance-query-count/) method. + */ + post: operations["queryHistoricProcessInstancesCount"]; + }; + "/history/process-instance/delete": { + /** + * Delete multiple historic process instances asynchronously (batch). + * At least `historicProcessInstanceIds` or `historicProcessInstanceQuery` has to be provided. + * If both are provided then all instances matching query criterion and instances from the list will be deleted. + */ + post: operations["deleteHistoricProcessInstancesAsync"]; + }; + "/history/process-instance/report": { + /** + * Retrieves a report about the duration of completed process instances, grouped by a period. + * These reports include the maximum, minimum and average duration of all completed process instances which were started in a given period. + * + * **Note:** This only includes historic data. + */ + get: operations["getHistoricProcessInstanceDurationReport"]; + }; + "/history/process-instance/set-removal-time": { + /** + * Sets the removal time to multiple historic process instances asynchronously (batch). + * + * At least `historicProcessInstanceIds` or `historicProcessInstanceQuery` has to be provided. + * If both are provided, all instances matching query criterion and instances from the list will be updated with a removal time. + */ + post: operations["setRemovalTimeAsync"]; + }; + "/history/process-instance/{id}": { + /** Retrieves a historic process instance by id, according to the `HistoricProcessInstance` interface in the engine. */ + get: operations["getHistoricProcessInstance"]; + /** Deletes a process instance from the history by id. */ + delete: operations["deleteHistoricProcessInstance"]; + }; + "/history/process-instance/{id}/variable-instances": { + /** Deletes all variables of a process instance from the history by id. */ + delete: operations["deleteHistoricVariableInstancesOfHistoricProcessInstance"]; + }; + "/identity/groups": { + /** + * Gets the groups of a user by id and includes all users that share a group with the + * given user. + */ + get: operations["getGroupInfo"]; + }; + "/identity/password-policy": { + /** + * A password policy consists of a list of rules that new passwords must follow to be + * policy compliant. This end point returns a JSON representation of the + * list of policy rules. More information on password policies in Camunda can be found in the password policy + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/password-policy/) and in + * the [security instructions](https://docs.camunda.org/manual/latest/user-guide/security/). + */ + get: operations["getPasswordPolicy"]; + /** + * A password policy consists of a list of rules that new passwords must follow to be + * policy compliant. A password can be checked for compliancy via this + * end point. More information on password policies in Camunda can be found in the password policy + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/password-policy/) and in + * the [security instructions](https://docs.camunda.org/manual/latest/user-guide/security/). + */ + post: operations["checkPassword"]; + }; + "/identity/verify": { + /** Verifies that user credentials are valid. */ + post: operations["verifyUser"]; + }; + "/incident": { + /** + * Queries for incidents that fulfill given parameters. The size of the result set can be retrieved by using + * the [Get Incident Count](https://docs.camunda.org/manual/latest/reference/rest/incident/get-query-count/) method. + */ + get: operations["getIncidents"]; + }; + "/incident/count": { + /** + * Queries for the number of incidents that fulfill given parameters. Takes the same parameters as the + * [Get Incidents](https://docs.camunda.org/manual/latest/reference/rest/incident/get-query/) method. + */ + get: operations["getIncidentsCount"]; + }; + "/incident/{id}": { + /** Retrieves an incident by ID. */ + get: operations["getIncident"]; + /** Resolves an incident with given id. */ + delete: operations["resolveIncident"]; + }; + "/incident/{id}/annotation": { + /** Sets the annotation of an incident with given id. */ + put: operations["setIncidentAnnotation"]; + /** Clears the annotation of an incident with given id. */ + delete: operations["clearIncidentAnnotation"]; + }; + "/job": { + /** + * Queries for jobs that fulfill given parameters. + * The size of the result set can be retrieved by using the [Get Job + * Count](https://docs.camunda.org/manual/latest/reference/rest/job/get-query-count/) method. + */ + get: operations["getJobs"]; + /** + * Queries for jobs that fulfill given parameters. This method is slightly more + * powerful than the [Get Jobs](https://docs.camunda.org/manual/latest/reference/rest/job/get-query/) + * method because it allows filtering by multiple jobs of types `String`, + * `Number` or `Boolean`. + */ + post: operations["queryJobs"]; + }; + "/job/count": { + /** + * Queries for the number of jobs that fulfill given parameters. + * Takes the same parameters as the [Get + * Jobs](https://docs.camunda.org/manual/latest/reference/rest/job/get-query/) method. + */ + get: operations["getJobsCount"]; + /** + * Queries for jobs that fulfill given parameters. This method takes the same message + * body as the [Get Jobs POST](https://docs.camunda.org/manual/latest/reference/rest/job/post- + * query/) method and therefore it is slightly more powerful than the + * [Get Job Count](https://docs.camunda.org/manual/latest/reference/rest/job/get-query-count/) + * method. + */ + post: operations["queryJobsCount"]; + }; + "/job/retries": { + /** Create a batch to set retries of jobs asynchronously. */ + post: operations["setJobRetriesAsyncOperation"]; + }; + "/job/suspended": { + /** + * Activates or suspends jobs matching the given criterion. + * This can only be on of: + * * `jobDefinitionId` + * * `processDefinitionId` + * * `processInstanceId` + * * `processDefinitionKey` + */ + put: operations["updateSuspensionStateBy"]; + }; + "/job/{id}": { + /** Retrieves a job by id, according to the `Job` interface in the engine. */ + get: operations["getJob"]; + }; + "/job/{id}/duedate": { + /** Updates the due date of a job by id. */ + put: operations["setJobDuedate"]; + }; + "/job/{id}/duedate/recalculate": { + /** Recalculates the due date of a job by id. */ + post: operations["recalculateDuedate"]; + }; + "/job/{id}/execute": { + /** + * Executes a job by id. **Note:** The execution of the job happens synchronously in + * the same thread. + */ + post: operations["executeJob"]; + }; + "/job/{id}/priority": { + /** Sets the execution priority of a job by id. */ + put: operations["setJobPriority"]; + }; + "/job/{id}/retries": { + /** Sets the retries of the job to the given number of retries by id. */ + put: operations["setJobRetries"]; + }; + "/job/{id}/stacktrace": { + /** Retrieves the exception stacktrace corresponding to the passed job id. */ + get: operations["getStacktrace"]; + }; + "/job/{id}/suspended": { + /** Activates or suspends a given job by id. */ + put: operations["updateJobSuspensionState"]; + }; + "/message": { + /** + * Correlates a message to the process engine to either trigger a message start event or an intermediate message + * catching event. Internally this maps to the engine's message correlation builder methods + * `MessageCorrelationBuilder#correlateWithResult()` and `MessageCorrelationBuilder#correlateAllWithResult()`. + * For more information about the correlation behavior, see the [Message Events](https://docs.camunda.org/manual/latest/bpmn20/events/message-events/) + * section of the [BPMN 2.0 Implementation Reference](https://docs.camunda.org/manual/latest/reference/bpmn20/). + */ + post: operations["deliverMessage"]; + }; + "/metrics": { + /** Retrieves a list of metrics, aggregated for a given interval. */ + get: operations["interval"]; + }; + "/metrics/task-worker": { + /** Deletes all task worker metrics prior to the given date or all if no date is provided. */ + delete: operations["deleteTaskMetrics"]; + }; + "/metrics/{metrics-name}/sum": { + /** Retrieves the `sum` (count) for a given metric. */ + get: operations["getMetrics"]; + }; + "/process-definition": { + /** + * Queries for process definitions that fulfill given parameters. Parameters may be the properties of + * process definitions, such as the name, key or version. The size of the result set can be retrieved + * by using the [Get Definition Count](https://docs.camunda.org/manual/latest/reference/rest/process-definition/get-query-count/) method. + */ + get: operations["getProcessDefinitions"]; + }; + "/process-definition/count": { + /** + * Requests the number of process definitions that fulfill the query criteria. + * Takes the same filtering parameters as the [Get Definitions](https://docs.camunda.org/manual/latest/reference/rest/process-definition/get-query/) method. + */ + get: operations["getProcessDefinitionsCount"]; + }; + "/process-definition/key/{key}": { + /** Retrieves the latest version of the process definition which belongs to no tenant according to the `ProcessDefinition` interface in the engine. */ + get: operations["getProcessDefinitionByKey"]; + /** Deletes process definitions by a given key which belong to no tenant id. */ + delete: operations["deleteProcessDefinitionsByKey"]; + }; + "/process-definition/key/{key}/deployed-start-form": { + /** + * Retrieves the deployed form that can be referenced from a start event. + * For further information please refer to [User Guide](https://docs.camunda.org/manual/latest/user-guide/task-forms/#embedded-task-forms). + */ + get: operations["getDeployedStartFormByKey"]; + }; + "/process-definition/key/{key}/diagram": { + /** + * Retrieves the diagram for the latest version of the process definition which belongs to no tenant. + * + * If the process definition's deployment contains an image resource with the same file name + * as the process definition, the deployed image will be returned by the Get Diagram endpoint. + * Example: `someProcess.bpmn` and `someProcess.png`. + * Supported file extentions for the image are: `svg`, `png`, `jpg`, and `gif`. + */ + get: operations["getProcessDefinitionDiagramByKey"]; + }; + "/process-definition/key/{key}/form-variables": { + /** + * Retrieves the start form variables for the latest process definition which belongs to no tenant + * (only if they are defined via the + * [Generated Task Form](https://docs.camunda.org/manual/latest/user-guide/task-forms/#generated-task-forms) approach). + * The start form variables take form data specified on the start event into account. + * If form fields are defined, the variable types and default values + * of the form fields are taken into account. + */ + get: operations["getStartFormVariablesByKey"]; + }; + "/process-definition/key/{key}/history-time-to-live": { + /** + * Updates history time to live for the latest version of the process definition which belongs to no tenant. + * The field is used within [History cleanup](https://docs.camunda.org/manual/latest/user-guide/process-engine/history/#history-cleanup). + */ + put: operations["updateHistoryTimeToLiveByProcessDefinitionKey"]; + }; + "/process-definition/key/{key}/rendered-form": { + /** + * Retrieves the rendered form for the latest version of the process definition which belongs to no tenant. + * This method can be used to get the HTML rendering of a + * [Generated Task Form](https://docs.camunda.org/manual/latest/user-guide/task-forms/#generated-task-forms). + */ + get: operations["getRenderedStartFormByKey"]; + }; + "/process-definition/key/{key}/start": { + /** + * Instantiates a given process definition, starts the latest version of the process definition + * which belongs to no tenant. + * Process variables and business key may be supplied in the request body. + */ + post: operations["startProcessInstanceByKey"]; + }; + "/process-definition/key/{key}/startForm": { + /** + * Retrieves the key of the start form for the latest version of the process definition + * which belongs to no tenant. + * The form key corresponds to the `FormData#formKey` property in the engine. + */ + get: operations["getStartFormByKey"]; + }; + "/process-definition/key/{key}/statistics": { + /** + * Retrieves runtime statistics of the latest version of the given process definition + * which belongs to no tenant, grouped by activities. + * These statistics include the number of running activity instances, optionally the number of failed jobs + * and also optionally the number of incidents either grouped by incident types or + * for a specific incident type. + * **Note**: This does not include historic data. + */ + get: operations["getActivityStatisticsByProcessDefinitionKey"]; + }; + "/process-definition/key/{key}/submit-form": { + /** + * Starts the latest version of the process definition which belongs to no tenant + * using a set of process variables and the business key. + * If the start event has Form Field Metadata defined, the process engine will perform backend validation + * for any form fields which have validators defined. + * See [Documentation on Generated Task Forms](https://docs.camunda.org/manual/latest/user-guide/task-forms/#generated-task-forms). + */ + post: operations["submitFormByKey"]; + }; + "/process-definition/key/{key}/suspended": { + /** + * Activates or suspends a given process definition by latest version of process definition key + * which belongs to no tenant. + */ + put: operations["updateProcessDefinitionSuspensionStateByKey"]; + }; + "/process-definition/key/{key}/tenant-id/{tenant-id}": { + /** + * Retrieves the latest version of the process definition for tenant according to + * the `ProcessDefinition` interface in the engine. + */ + get: operations["getLatestProcessDefinitionByTenantId"]; + /** Deletes process definitions by a given key and which belong to a tenant id. */ + delete: operations["deleteProcessDefinitionsByKeyAndTenantId"]; + }; + "/process-definition/key/{key}/tenant-id/{tenant-id}/deployed-start-form": { + /** + * Retrieves the deployed form that can be referenced from a start event. + * For further information please refer to [User Guide](https://docs.camunda.org/manual/latest/user-guide/task-forms/#embedded-task-forms). + */ + get: operations["getDeployedStartFormByKeyAndTenantId"]; + }; + "/process-definition/key/{key}/tenant-id/{tenant-id}/diagram": { + /** + * Retrieves the diagram for the latest version of the process definition for tenant. + * + * If the process definition's deployment contains an image resource with the same file name + * as the process definition, the deployed image will be returned by the Get Diagram endpoint. + * Example: `someProcess.bpmn` and `someProcess.png`. + * Supported file extentions for the image are: `svg`, `png`, `jpg`, and `gif`. + */ + get: operations["getProcessDefinitionDiagramByKeyAndTenantId"]; + }; + "/process-definition/key/{key}/tenant-id/{tenant-id}/form-variables": { + /** + * Retrieves the start form variables for the latest process definition for a tenant + * (only if they are defined via the + * [Generated Task Form](https://docs.camunda.org/manual/latest/user-guide/task-forms/#generated-task-forms) approach). + * The start form variables take form data specified on the start event into account. + * If form fields are defined, the variable types and default values + * of the form fields are taken into account. + */ + get: operations["getStartFormVariablesByKeyAndTenantId"]; + }; + "/process-definition/key/{key}/tenant-id/{tenant-id}/history-time-to-live": { + /** + * Updates history time to live for the latest version of the process definition for a tenant. + * The field is used within [History cleanup](https://docs.camunda.org/manual/latest/user-guide/process-engine/history/#history-cleanup). + */ + put: operations["updateHistoryTimeToLiveByProcessDefinitionKeyAndTenantId"]; + }; + "/process-definition/key/{key}/tenant-id/{tenant-id}/rendered-form": { + /** + * Retrieves the rendered form for the latest version of the process definition for a tenant. + * This method can be used to get the HTML rendering of a + * [Generated Task Form](https://docs.camunda.org/manual/latest/user-guide/task-forms/#generated-task-forms). + */ + get: operations["getRenderedStartFormByKeyAndTenantId"]; + }; + "/process-definition/key/{key}/tenant-id/{tenant-id}/start": { + /** + * Instantiates a given process definition, starts the latest version of the process definition for tenant. + * Process variables and business key may be supplied in the request body. + */ + post: operations["startProcessInstanceByKeyAndTenantId"]; + }; + "/process-definition/key/{key}/tenant-id/{tenant-id}/startForm": { + /** + * Retrieves the key of the start form for the latest version of the process definition for a tenant. + * The form key corresponds to the `FormData#formKey` property in the engine. + */ + get: operations["getStartFormByKeyAndTenantId"]; + }; + "/process-definition/key/{key}/tenant-id/{tenant-id}/statistics": { + /** + * Retrieves runtime statistics of the latest version of the given process definition for a tenant, + * grouped by activities. + * These statistics include the number of running activity instances, optionally the number of failed jobs + * and also optionally the number of incidents either grouped by incident types or + * for a specific incident type. + * **Note**: This does not include historic data. + */ + get: operations["getActivityStatisticsByProcessDefinitionKeyAndTenantId"]; + }; + "/process-definition/key/{key}/tenant-id/{tenant-id}/submit-form": { + /** + * Starts the latest version of the process definition for a tenant + * using a set of process variables and the business key. + * If the start event has Form Field Metadata defined, the process engine will perform backend validation + * for any form fields which have validators defined. + * See [Documentation on Generated Task Forms](https://docs.camunda.org/manual/latest/user-guide/task-forms/#generated-task-forms). + */ + post: operations["submitFormByKeyAndTenantId"]; + }; + "/process-definition/key/{key}/tenant-id/{tenant-id}/suspended": { + /** + * Activates or suspends a given process definition by the latest version of + * the process definition for tenant. + */ + put: operations["updateProcessDefinitionSuspensionStateByKeyAndTenantId"]; + }; + "/process-definition/key/{key}/tenant-id/{tenant-id}/xml": { + /** + * Retrieves latest version the BPMN 2.0 XML of a process definition. + * Returns the XML for the latest version of the process definition for tenant. + */ + get: operations["getProcessDefinitionBpmn20XmlByKeyAndTenantId"]; + }; + "/process-definition/key/{key}/xml": { + /** Retrieves latest version the BPMN 2.0 XML of a process definition. */ + get: operations["getProcessDefinitionBpmn20XmlByKey"]; + }; + "/process-definition/statistics": { + /** + * Retrieves runtime statistics of the process engine, grouped by process definitions. + * These statistics include the number of running process instances, optionally the number of failed jobs + * and also optionally the number of incidents either grouped by incident types or + * for a specific incident type. + * **Note**: This does not include historic data. + */ + get: operations["getProcessDefinitionStatistics"]; + }; + "/process-definition/suspended": { + /** Activates or suspends process definitions with the given process definition key. */ + put: operations["updateProcessDefinitionSuspensionState"]; + }; + "/process-definition/{id}": { + /** Retrieves a process definition according to the `ProcessDefinition` interface in the engine. */ + get: operations["getProcessDefinition"]; + /** Deletes a running process instance by id. */ + delete: operations["deleteProcessDefinition"]; + }; + "/process-definition/{id}/deployed-start-form": { + /** + * Retrieves the deployed form that can be referenced from a start event. + * For further information please refer to [User Guide](https://docs.camunda.org/manual/latest/user-guide/task-forms/#embedded-task-forms). + */ + get: operations["getDeployedStartForm"]; + }; + "/process-definition/{id}/diagram": { + /** + * Retrieves the diagram of a process definition. + * + * If the process definition's deployment contains an image resource with the same file name + * as the process definition, the deployed image will be returned by the Get Diagram endpoint. + * Example: `someProcess.bpmn` and `someProcess.png`. + * Supported file extentions for the image are: `svg`, `png`, `jpg`, and `gif`. + */ + get: operations["getProcessDefinitionDiagram"]; + }; + "/process-definition/{id}/form-variables": { + /** + * Retrieves the start form variables for a process definition + * (only if they are defined via the + * [Generated Task Form](https://docs.camunda.org/manual/latest/user-guide/task-forms/#generated-task-forms) approach). + * The start form variables take form data specified on the start event into account. + * If form fields are defined, the variable types and default values + * of the form fields are taken into account. + */ + get: operations["getStartFormVariables"]; + }; + "/process-definition/{id}/history-time-to-live": { + /** + * Updates history time to live for process definition. + * The field is used within [History cleanup](https://docs.camunda.org/manual/latest/user-guide/process-engine/history/#history-cleanup). + */ + put: operations["updateHistoryTimeToLiveByProcessDefinitionId"]; + }; + "/process-definition/{id}/rendered-form": { + /** + * Retrieves the rendered form for a process definition. + * This method can be used to get the HTML rendering of a + * [Generated Task Form](https://docs.camunda.org/manual/latest/user-guide/task-forms/#generated-task-forms). + */ + get: operations["getRenderedStartForm"]; + }; + "/process-definition/{id}/restart": { + /** + * Restarts process instances that were canceled or terminated synchronously. + * Can also restart completed process instances. + * It will create a new instance using the original instance information. + * To execute the restart asynchronously, use the + * [Restart Process Instance Async](https://docs.camunda.org/manual/latest/reference/rest/process-definition/post-restart-process-instance-async/) method. + * + * For more information about the difference between synchronous and asynchronous execution, + * please refer to the related section of the + * [User Guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/process-instance-restart/#execution). + */ + post: operations["restartProcessInstance"]; + }; + "/process-definition/{id}/restart-async": { + /** + * Restarts process instances that were canceled or terminated asynchronously. + * Can also restart completed process instances. + * It will create a new instance using the original instance information. + * To execute the restart asynchronously, use the + * [Restart Process Instance](https://docs.camunda.org/manual/latest/reference/rest/process-definition/post-restart-process-instance-sync/) method. + * + * For more information about the difference between synchronous and asynchronous execution, + * please refer to the related section of the + * [User Guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/process-instance-restart/#execution). + */ + post: operations["restartProcessInstanceAsyncOperation"]; + }; + "/process-definition/{id}/start": { + /** + * Instantiates a given process definition. + * Process variables and business key may be supplied in the request body. + */ + post: operations["startProcessInstance"]; + }; + "/process-definition/{id}/startForm": { + /** + * Retrieves the key of the start form for a process definition. + * The form key corresponds to the `FormData#formKey` property in the engine. + */ + get: operations["getStartForm"]; + }; + "/process-definition/{id}/statistics": { + /** + * Retrieves runtime statistics of a given process definition, grouped by activities. + * These statistics include the number of running activity instances, optionally the number of failed jobs + * and also optionally the number of incidents either grouped by incident types or for a specific incident type. + * **Note**: This does not include historic data. + */ + get: operations["getActivityStatistics"]; + }; + "/process-definition/{id}/submit-form": { + /** + * Starts a process instance using a set of process variables and the business key. + * If the start event has Form Field Metadata defined, the process engine will perform backend validation + * for any form fields which have validators defined. + * See [Documentation on Generated Task Forms](https://docs.camunda.org/manual/latest/user-guide/task-forms/#generated-task-forms). + */ + post: operations["submitForm"]; + }; + "/process-definition/{id}/suspended": { + /** Activates or suspends a given process definition by id. */ + put: operations["updateProcessDefinitionSuspensionStateById"]; + }; + "/process-definition/{id}/xml": { + /** Retrieves the BPMN 2.0 XML of a process definition. */ + get: operations["getProcessDefinitionBpmn20Xml"]; + }; + "/process-instance": { + /** + * Queries for process instances that fulfill given parameters. + * Parameters may be static as well as dynamic runtime properties of process instances. + * The size of the result set can be retrieved by using the Get Instance Count method. + */ + get: operations["getProcessInstances"]; + /** + * Queries for process instances that fulfill given parameters through a JSON object. + * This method is slightly more powerful than the Get Instances method because + * it allows filtering by multiple process variables of types `string`, `number` or `boolean`. + */ + post: operations["queryProcessInstances"]; + }; + "/process-instance/count": { + /** Queries for the number of process instances that fulfill given parameters. */ + get: operations["getProcessInstancesCount"]; + /** + * Queries for the number of process instances that fulfill the given parameters. + * This method takes the same message body as the Get Instances (POST) method and + * therefore it is slightly more powerful than the Get Instance Count method. + */ + post: operations["queryProcessInstancesCount"]; + }; + "/process-instance/delete": { + /** Deletes multiple process instances asynchronously (batch). */ + post: operations["deleteProcessInstancesAsyncOperation"]; + }; + "/process-instance/delete-historic-query-based": { + /** Deletes a set of process instances asynchronously (batch) based on a historic process instance query. */ + post: operations["deleteAsyncHistoricQueryBased"]; + }; + "/process-instance/job-retries": { + /** Create a batch to set retries of jobs associated with given processes asynchronously. */ + post: operations["setRetriesByProcess"]; + }; + "/process-instance/job-retries-historic-query-based": { + /** Create a batch to set retries of jobs asynchronously based on a historic process instance query. */ + post: operations["setRetriesByProcessHistoricQueryBased"]; + }; + "/process-instance/suspended": { + /** + * Activates or suspends process instances by providing certain criteria: + * + * # Activate/Suspend Process Instance By Process Definition Id + * * `suspend` + * * `processDefinitionId` + * + * # Activate/Suspend Process Instance By Process Definition Key + * + * * `suspend` + * * `processDefinitionKey` + * * `processDefinitionTenantId` + * * `processDefinitionWithoutTenantId` + * + * # Activate/Suspend Process Instance In Group + * * `suspend` + * * `processInstanceIds` + * * `processInstanceQuery` + * * `historicProcessInstanceQuery` + */ + put: operations["updateSuspensionState"]; + }; + "/process-instance/suspended-async": { + /** + * Activates or suspends process instances asynchronously with a list of process instance ids, + * a process instance query, and/or a historical process instance query. + */ + post: operations["updateSuspensionStateAsyncOperation"]; + }; + "/process-instance/variables-async": { + /** Update or create runtime process variables in the root scope of process instances. */ + post: operations["setVariablesAsyncOperation"]; + }; + "/process-instance/{id}": { + /** Retrieves a process instance by id, according to the `ProcessInstance` interface in the engine. */ + get: operations["getProcessInstance"]; + /** Deletes a running process instance by id. */ + delete: operations["deleteProcessInstance"]; + }; + "/process-instance/{id}/activity-instances": { + /** Retrieves an Activity Instance (Tree) for a given process instance by id. */ + get: operations["getActivityInstanceTree"]; + }; + "/process-instance/{id}/modification": { + /** + * Submits a list of modification instructions to change a process instance's execution state. + * A modification instruction is one of the following: + * + * * Starting execution before an activity + * * Starting execution after an activity on its single outgoing sequence flow + * * Starting execution on a specific sequence flow + * * Canceling an activity instance, transition instance, or all instances (activity or transition) for an activity + * + * Instructions are executed immediately and in the order they are provided in this request's body. + * Variables can be provided with every starting instruction. + * + * The exact semantics of modification can be read about in the [User guide](https://docs.camunda.org/manual/develop/user-guide/process-engine/process-instance-modification/). + */ + post: operations["modifyProcessInstance"]; + }; + "/process-instance/{id}/modification-async": { + /** + * Submits a list of modification instructions to change a process instance's execution state async. + * A modification instruction is one of the following: + * + * * Starting execution before an activity + * * Starting execution after an activity on its single outgoing sequence flow + * * Starting execution on a specific sequence flow + * * Cancelling an activity instance, transition instance, or all instances (activity or transition) for an activity + * + * Instructions are executed asynchronous and in the order they are provided in this request's body. + * Variables can be provided with every starting instruction. + * + * The exact semantics of modification can be read about in the + * [User guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/process-instance-modification/). + */ + post: operations["modifyProcessInstanceAsyncOperation"]; + }; + "/process-instance/{id}/suspended": { + /** Activates or suspends a given process instance by id. */ + put: operations["updateSuspensionStateById"]; + }; + "/process-instance/{id}/variables": { + /** Retrieves all variables of a given process instance by id. */ + get: operations["getProcessInstanceVariables"]; + /** + * Updates or deletes the variables of a process instance by id. Updates precede deletions. + * So, if a variable is updated AND deleted, the deletion overrides the update. + */ + post: operations["modifyProcessInstanceVariables"]; + }; + "/process-instance/{id}/variables/{varName}": { + /** Retrieves a variable of a given process instance by id. */ + get: operations["getProcessInstanceVariable"]; + /** Sets a variable of a given process instance by id. */ + put: operations["setProcessInstanceVariable"]; + /** Deletes a variable of a process instance by id. */ + delete: operations["deleteProcessInstanceVariable"]; + }; + "/process-instance/{id}/variables/{varName}/data": { + /** + * Retrieves the content of a Process Variable by the Process Instance id and the Process Variable name. + * Applicable for byte array or file Process Variables. + */ + get: operations["getProcessInstanceVariableBinary"]; + /** Sets the serialized value for a binary variable or the binary value for a file variable. */ + post: operations["setProcessInstanceVariableBinary"]; + }; + "/schema/log": { + /** Queries for schema log entries that fulfill given parameters. */ + get: operations["getSchemaLog"]; + /** Queries for schema log entries that fulfill given parameters. */ + post: operations["querySchemaLog"]; + }; + "/signal": { + /** + * A signal is an event of global scope (broadcast semantics) and is delivered to all + * active handlers. Internally this maps to the engine's signal event received builder + * method `RuntimeService#createSignalEvent()`. For more information about the signal + * behavior, see the [Signal Events](https://docs.camunda.org/manual/latest/reference/bpmn20/events/signal-events/) + * section of the [BPMN 2.0 Implementation Reference](https://docs.camunda.org/manual/latest/reference/bpmn20/). + */ + post: operations["throwSignal"]; + }; + "/task": { + /** + * Queries for tasks that fulfill a given filter. The size of the result set can be + * retrieved by using the Get Task Count method. + * + * **Security Consideration:** There are several query parameters (such as + * assigneeExpression) for specifying an EL expression. These are disabled by default to + * prevent remote code execution. See the section on + * [security considerations](https://docs.camunda.org/manual/latest/user-guide/process-engine/securing-custom-code/) + * for custom code in the user guide for details. + */ + get: operations["getTasks"]; + /** + * Queries for tasks that fulfill a given filter. This method is slightly more powerful + * than the [Get Tasks](https://docs.camunda.org/manual/latest/reference/rest/task/get-query/) method because it + * allows filtering by multiple process or task variables of types `String`, `Number` + * or `Boolean`. The size of the result set can be retrieved by using the + * [Get Task Count (POST)](https://docs.camunda.org/manual/latest/reference/rest/task/post-query-count/) method. + * + * **Security Consideration**: + * There are several parameters (such as `assigneeExpression`) for specifying an EL + * expression. These are disabled by default to prevent remote code execution. See the + * section on + * [security considerations for custom code](https://docs.camunda.org/manual/latest/user-guide/process-engine/securing-custom-code/) + * in the user guide for details. + */ + post: operations["queryTasks"]; + }; + "/task/count": { + /** + * Retrieves the number of tasks that fulfill a provided filter. Corresponds to the size + * of the result set when using the [Get Tasks](https://docs.camunda.org/manual/latest/reference/rest/task/) method. + * + * **Security Consideration:** There are several query parameters (such as + * assigneeExpression) for specifying an EL expression. These are disabled by default to + * prevent remote code execution. See the section on + * [security considerations](https://docs.camunda.org/manual/latest/user-guide/process-engine/securing-custom-code/) + * for custom code in the user guide for details. + */ + get: operations["getTasksCount"]; + /** + * Retrieves the number of tasks that fulfill the given filter. Corresponds to the size + * of the result set of the [Get Tasks (POST)](https://docs.camunda.org/manual/latest/reference/rest/task/post-query/) + * method and takes the same parameters. + * + * **Security Consideration**: + * There are several parameters (such as `assigneeExpression`) for specifying an EL + * expression. These are disabled by default to prevent remote code execution. See the + * section on + * [security considerations for custom code](https://docs.camunda.org/manual/latest/user-guide/process-engine/securing-custom-code/) + * in the user guide for details. + */ + post: operations["queryTasksCount"]; + }; + "/task/create": { + /** Creates a new task. */ + post: operations["createTask"]; + }; + "/task/{id}": { + /** Retrieves a task by id. */ + get: operations["getTask"]; + /** Updates a task. */ + put: operations["updateTask"]; + /** Removes a task by id. */ + delete: operations["deleteTask"]; + }; + "/task/{id}/assignee": { + /** + * Changes the assignee of a task to a specific user. + * + * **Note:** The difference with the [Claim Task](https://docs.camunda.org/manual/latest/reference/rest/task/post-claim/) + * method is that this method does not check if the task already has a user + * assigned to it. + */ + post: operations["setAssignee"]; + }; + "/task/{id}/attachment": { + /** Gets the attachments for a task. */ + get: operations["getAttachments"]; + }; + "/task/{id}/attachment/create": { + /** Creates an attachment for a task. */ + post: operations["addAttachment"]; + }; + "/task/{id}/attachment/{attachmentId}": { + /** Retrieves a task attachment by task id and attachment id. */ + get: operations["getAttachment"]; + /** Removes an attachment from a task by id. */ + delete: operations["deleteAttachment"]; + }; + "/task/{id}/attachment/{attachmentId}/data": { + /** Retrieves the binary content of a task attachment by task id and attachment id. */ + get: operations["getAttachmentData"]; + }; + "/task/{id}/bpmnError": { + /** + * Reports a business error in the context of a running task by id. The error code must + * be specified to identify the BPMN error handler. See the documentation for + * [Reporting Bpmn Error](https://docs.camunda.org/manual/latest/reference/bpmn20/tasks/user-task/#reporting-bpmn-error) + * in User Tasks. + */ + post: operations["handleBpmnError"]; + }; + "/task/{id}/bpmnEscalation": { + /** + * Reports an escalation in the context of a running task by id. The escalation code must + * be specified to identify the escalation handler. See the documentation for + * [Reporting Bpmn Escalation](https://docs.camunda.org/manual/latest/reference/bpmn20/tasks/user-task/#reporting-bpmn-escalation) + * in User Tasks. + */ + post: operations["handleEscalation"]; + }; + "/task/{id}/claim": { + /** + * Claims a task for a specific user. + * + * **Note:** The difference with the + * [Set Assignee](https://docs.camunda.org/manual/latest/reference/rest/task/post-assignee/) + * method is that here a check is performed to see if the task already has a user + * assigned to it. + */ + post: operations["claim"]; + }; + "/task/{id}/comment": { + /** Gets the comments for a task by id. */ + get: operations["getComments"]; + }; + "/task/{id}/comment/create": { + /** Creates a comment for a task by id. */ + post: operations["createComment"]; + }; + "/task/{id}/comment/{commentId}": { + /** Retrieves a task comment by task id and comment id. */ + get: operations["getComment"]; + }; + "/task/{id}/complete": { + /** Completes a task and updates process variables. */ + post: operations["complete"]; + }; + "/task/{id}/delegate": { + /** Delegates a task to another user. */ + post: operations["delegateTask"]; + }; + "/task/{id}/deployed-form": { + /** + * Retrieves the deployed form that is referenced from a given task. For further + * information please refer to the + * [User Guide](https://docs.camunda.org/manual/latest/user-guide/task-forms/#embedded-task-forms). + */ + get: operations["getDeployedForm"]; + }; + "/task/{id}/form": { + /** + * Retrieves the form key for a task. The form key corresponds to the `FormData#formKey` + * property in the engine. This key can be used to do task-specific form rendering in + * client applications. Additionally, the context path of the containing process + * application is returned. + */ + get: operations["getForm"]; + }; + "/task/{id}/form-variables": { + /** + * Retrieves the form variables for a task. The form variables take form data specified + * on the task into account. If form fields are defined, the variable types and default + * values of the form fields are taken into account. + */ + get: operations["getFormVariables"]; + }; + "/task/{id}/identity-links": { + /** + * Gets the identity links for a task by id, which are the users and groups that are in + * *some* relation to it (including assignee and owner). + */ + get: operations["getIdentityLinks"]; + /** + * Adds an identity link to a task by id. Can be used to link any user or group to a task + * and specify a relation. + */ + post: operations["addIdentityLink"]; + }; + "/task/{id}/identity-links/delete": { + /** Removes an identity link from a task by id */ + post: operations["deleteIdentityLink"]; + }; + "/task/{id}/localVariables": { + /** Retrieves all variables of a given task by id. */ + get: operations["getTaskLocalVariables"]; + /** + * Updates or deletes the variables in the context of a task. Updates precede deletions. So, if a variable is + * updated AND deleted, the deletion overrides the update. + */ + post: operations["modifyTaskLocalVariables"]; + }; + "/task/{id}/localVariables/{varName}": { + /** Retrieves a variable from the context of a given task by id. */ + get: operations["getTaskLocalVariable"]; + /** Sets a variable in the context of a given task. */ + put: operations["putTaskLocalVariable"]; + /** Removes a local variable from a task by id. */ + delete: operations["deleteTaskLocalVariable"]; + }; + "/task/{id}/localVariables/{varName}/data": { + /** + * Retrieves a binary variable from the context of a given task by id. Applicable for byte array and file + * variables. + */ + get: operations["getTaskLocalVariableBinary"]; + /** Sets the serialized value for a binary variable or the binary value for a file variable. */ + post: operations["setBinaryTaskLocalVariable"]; + }; + "/task/{id}/rendered-form": { + /** + * Retrieves the rendered form for a task. This method can be used to get the HTML + * rendering of a + * [Generated Task Form](https://docs.camunda.org/manual/latest/user-guide/task-forms/#generated-task-forms). + */ + get: operations["getRenderedForm"]; + }; + "/task/{id}/resolve": { + /** + * Resolves a task and updates execution variables. + * + * Resolving a task marks that the assignee is done with the task delegated to them, and + * that it can be sent back to the owner. Can only be executed when the task has been + * delegated. The assignee will be set to the owner, who performed the delegation. + */ + post: operations["resolve"]; + }; + "/task/{id}/submit-form": { + /** + * Completes a task and updates process variables using a form submit. There are two + * difference between this method and the `complete` method: + * + * * If the task is in state `PENDING` - i.e., has been delegated before, it is not + * completed but resolved. Otherwise it will be completed. + * * If the task has Form Field Metadata defined, the process engine will perform backend + * validation for any form fields which have validators defined. + * See the + * [Generated Task Forms](https://docs.camunda.org/manual/latest/user-guide/task-forms/_index/#generated-task-forms) + * section of the [User Guide](https://docs.camunda.org/manual/latest/user-guide/) for more information. + */ + post: operations["submit"]; + }; + "/task/{id}/unclaim": { + /** Resets a task's assignee. If successful, the task is not assigned to a user. */ + post: operations["unclaim"]; + }; + "/task/{id}/variables": { + /** + * Retrieves all variables visible from the task. A variable is visible from the task if it is a local task + * variable or declared in a parent scope of the task. See documentation on + * [visiblity of variables](https://docs.camunda.org/manual/latest/user-guide/process-engine/variables/). + */ + get: operations["getTaskVariables"]; + /** + * Updates or deletes the variables visible from the task. Updates precede deletions. So, if a variable is + * updated AND deleted, the deletion overrides the update. A variable is visible from the task if it is a + * local task variable or declared in a parent scope of the task. See documentation on + * [visiblity of variables](https://docs.camunda.org/manual/latest/user-guide/process-engine/variables/). + */ + post: operations["modifyTaskVariables"]; + }; + "/task/{id}/variables/{varName}": { + /** + * Retrieves a variable from the context of a given task. + * The variable must be visible from the task. It is visible from the task if it is a local task variable or + * declared in a parent scope of the task. See documentation on + * [visiblity of variables](https://docs.camunda.org/manual/latest/user-guide/process-engine/variables/). + */ + get: operations["getTaskVariable"]; + /** + * Updates a process variable that is visible from the Task scope. A variable is visible from the task if it + * is a local task variable, or declared in a parent scope of the task. See the documentation on + * [variable scopes and visibility](https://docs.camunda.org/manual/latest/user-guide/process-engine/variables#variable-scopes-and-variable-visibility). + * + * **Note**: If a variable doesn't exist, the variable is created in the top-most scope + * visible from the task. + */ + put: operations["putTaskVariable"]; + /** + * Removes a variable that is visible to a task. A variable is visible to a task if it is a local task + * variable or declared in a parent scope of the task. See documentation on + * [visiblity of variables](https://docs.camunda.org/manual/latest/user-guide/process-engine/variables/). + */ + delete: operations["deleteTaskVariable"]; + }; + "/task/{id}/variables/{varName}/data": { + /** + * Retrieves a binary variable from the context of a given task. Applicable for byte array and file + * variables. The variable must be visible from the task. It is visible from the task if it is a local task + * variable or declared in a parent scope of the task. See documentation on + * [visiblity of variables](https://docs.camunda.org/manual/latest/user-guide/process-engine/variables/). + */ + get: operations["getTaskVariableBinary"]; + /** + * Sets the serialized value for a binary variable or the binary value for a file variable visible from the + * task. A variable is visible from the task if it is a local task variable or declared in a parent scope of + * the task. See documentation on + * [visiblity of variables](https://docs.camunda.org/manual/latest/user-guide/process-engine/variables/). + */ + post: operations["setBinaryTaskVariable"]; + }; + "/telemetry/configuration": { + /** Fetches Telemetry Configuration. */ + get: operations["getTelemetryConfiguration"]; + /** Configures whether Camunda receives data collection of the process engine setup and usage. */ + post: operations["configureTelemetry"]; + }; + "/tenant": { + /** + * Query for a list of tenants using a list of parameters. The size of the result set + * can be retrieved by using the [Get Tenant + * Count](https://docs.camunda.org/manual/latest/reference/rest/tenant/get-query-count/) method. + */ + get: operations["queryTenants"]; + /** + * The `/tenant` resource supports two custom OPTIONS requests, this one for the resource + * as such and one for individual tenant instances. The OPTIONS request + * allows checking for the set of available operations that the currently + * authenticated user can perform on the `/tenant` resource. If the user + * can perform an operation or not may depend on various things, + * including the users authorizations to interact with this resource and + * the internal configuration of the process engine. + */ + options: operations["availableTenantResourceOperations"]; + }; + "/tenant/count": { + /** Query for tenants using a list of parameters and retrieves the count. */ + get: operations["getTenantCount"]; + }; + "/tenant/create": { + /** Create a new tenant. */ + post: operations["createTenant"]; + }; + "/tenant/{id}": { + /** Retrieves a tenant. */ + get: operations["getTenant"]; + /** Updates a given tenant. */ + put: operations["updateTenant"]; + /** Deletes a tenant by id. */ + delete: operations["deleteTenant"]; + /** + * The `/tenant` resource supports two custom OPTIONS requests, one for the resource as such and this one for + * individual tenant instances. The OPTIONS request allows checking for the set of available operations that + * the currently authenticated user can perform on the `/tenant/{id}` resource. If the user can perform an + * operation or not may depend on various things, including the users authorizations to interact with this + * resource and the internal configuration of the process engine. + */ + options: operations["availableTenantInstanceOperations"]; + }; + "/tenant/{id}/group-members": { + /** + * The OPTIONS request allows checking for the set of available operations that the + * currently authenticated user can perform on the resource. If the user + * can perform an operation or not may depend on various things, + * including the users authorizations to interact with this resource and + * the internal configuration of the process engine. + */ + options: operations["availableTenantGroupMembersOperations"]; + }; + "/tenant/{id}/group-members/{groupId}": { + /** Creates a membership between a tenant and a group. */ + put: operations["createGroupMembership"]; + /** Creates a membership between a tenant and a group. */ + delete: operations["deleteGroupMembership"]; + }; + "/tenant/{id}/user-members": { + /** + * The OPTIONS request allows checking for the set of available operations that the + * currently authenticated user can perform on the resource. If the user + * can perform an operation or not may depend on various things, + * including the users authorizations to interact with this resource and + * the internal configuration of the process engine. + */ + options: operations["availableTenantUserMembersOperations"]; + }; + "/tenant/{id}/user-members/{userId}": { + /** Creates a membership between a tenant and an user. */ + put: operations["createUserMembership"]; + /** Deletes a membership between a tenant and an user. */ + delete: operations["deleteUserMembership"]; + }; + "/user": { + /** + * Query for a list of users using a list of parameters. + * The size of the result set can be retrieved by using the Get User Count method. + * [Get User Count](https://docs.camunda.org/manual/latest/reference/rest/user/get-query-count/) method. + */ + get: operations["getUsers"]; + /** + * The `/user` resource supports two custom `OPTIONS` requests, one for the resource as such + * and one for individual user instances. The `OPTIONS` request allows checking for the set of + * available operations that the currently authenticated user can perform on the /user resource. + * If the user can perform an operation or not may depend on various things, including the user's + * authorizations to interact with this resource and the internal configuration of the process + * engine. `OPTIONS /user` returns available interactions on the resource. + */ + options: operations["availableOperations"]; + }; + "/user/count": { + /** + * Queries for the number of deployments that fulfill given parameters. Takes the same parameters as the + * [Get Users](https://docs.camunda.org/manual/latest/reference/rest/user/get-query/) method. + */ + get: operations["getUserCount"]; + }; + "/user/create": { + /** Create a new user. */ + post: operations["createUser"]; + }; + "/user/{id}": { + /** Deletes a user by id. */ + delete: operations["deleteUser"]; + /** + * The `/user` resource supports two custom `OPTIONS` requests, one for the resource as such + * and one for individual user instances. The `OPTIONS` request allows checking for the set of + * available operations that the currently authenticated user can perform on the /user resource. + * If the user can perform an operation or not may depend on various things, including the user's + * authorizations to interact with this resource and the internal configuration of the process + * engine. `OPTIONS /user/{id}` returns available interactions on a resource instance. + */ + options: operations["availableUserOperations"]; + }; + "/user/{id}/credentials": { + /** Updates a user's credentials (password) */ + put: operations["updateCredentials"]; + }; + "/user/{id}/profile": { + /** Retrieves a user's profile. */ + get: operations["getUserProfile"]; + /** Updates the profile information of an already existing user. */ + put: operations["updateProfile"]; + }; + "/user/{id}/unlock": { + /** Unlocks a user by id. */ + post: operations["unlockUser"]; + }; + "/variable-instance": { + /** + * Query for variable instances that fulfill given parameters. Parameters may be the + * properties of variable instances, such as the name or type. The size + * of the result set can be retrieved by using the [Get Variable Instance + * Count](https://docs.camunda.org/manual/latest/reference/rest/variable-instance/get-query-count/) + * method. + */ + get: operations["getVariableInstances"]; + /** + * Query for variable instances that fulfill given parameters through a JSON object. + * This method is slightly more powerful than the + * [Get Variable Instances](https://docs.camunda.org/manual/latest/reference/rest/variable- + * instance/get-query/) method because it allows filtering by multiple + * variable instances of types `String`, `Number` or `Boolean`. + */ + post: operations["queryVariableInstances"]; + }; + "/variable-instance/count": { + /** + * Query for the number of variable instances that fulfill given parameters. Takes the + * same parameters as the [Get Variable + * Instances](https://docs.camunda.org/manual/latest/reference/rest/variable-instance/get-query/) + * method. + */ + get: operations["getVariableInstancesCount"]; + /** + * Query for the number of variable instances that fulfill given parameters. This + * method takes the same message body as the + * [Get Variable Instances POST](https://docs.camunda.org/manual/latest/reference/rest/variable- + * instance/post-query/) method and therefore it is slightly more + * powerful than the [Get Variable Instance + * Count](https://docs.camunda.org/manual/latest/reference/rest/variable-instance/get-query-count/) + * method. + */ + post: operations["queryVariableInstancesCount"]; + }; + "/variable-instance/{id}": { + /** Retrieves a variable by id. */ + get: operations["getVariableInstance"]; + }; + "/variable-instance/{id}/data": { + /** + * Retrieves the content of a variable by id. Applicable for byte array and file + * variables. + */ + get: operations["getVariableInstanceBinary"]; + }; + "/version": { + /** Retrieves the version of the Rest API. */ + get: operations["getRestAPIVersion"]; + }; +} + +export interface components { + schemas: { + AbstractSetRemovalTimeDto: { + /** + * The date for which the instances shall be removed. Value may not be `null`. + * + * **Note:** Cannot be set in conjunction with `clearedRemovalTime` or `calculatedRemovalTime`. + */ + absoluteRemovalTime?: string | null; + /** + * Sets the removal time to `null`. Value may only be `true`, as `false` is the default behavior. + * + * **Note:** Cannot be set in conjunction with `absoluteRemovalTime` or `calculatedRemovalTime`. + */ + clearedRemovalTime?: boolean | null; + /** + * The removal time is calculated based on the engine's configuration settings. Value may only be `true`, as `false` is the default behavior. + * + * **Note:** Cannot be set in conjunction with `absoluteRemovalTime` or `clearedRemovalTime`. + */ + calculatedRemovalTime?: boolean | null; + }; + /** A JSON object corresponding to the Activity Instance tree of the given process instance. */ + ActivityInstanceDto: { + /** The id of the activity instance. */ + id?: string | null; + /** The id of the parent activity instance, for example a sub process instance. */ + parentActivityInstanceId?: string | null; + /** The id of the activity. */ + activityId?: string | null; + /** The name of the activity */ + activityName?: string | null; + /** The type of activity (corresponds to the XML element name in the BPMN 2.0, e.g., 'userTask') */ + activityType?: string | null; + /** The id of the process instance this activity instance is part of. */ + processInstanceId?: string | null; + /** The id of the process definition. */ + processDefinitionId?: string | null; + /** A list of child activity instances. */ + childActivityInstances?: + | components["schemas"]["ActivityInstanceDto"][] + | null; + /** + * A list of child transition instances. + * A transition instance represents an execution waiting in an asynchronous continuation. + */ + childTransitionInstances?: + | components["schemas"]["TransitionInstanceDto"][] + | null; + /** A list of execution ids. */ + executionIds?: string[] | null; + /** A list of incident ids. */ + incidentIds?: string[] | null; + /** + * A list of JSON objects containing incident specific properties: + * * `id`: the id of the incident + * * `activityId`: the activity id in which the incident occurred + */ + incidents?: components["schemas"]["ActivityInstanceIncidentDto"][] | null; + }; + /** An activity instance, incident pair. */ + ActivityInstanceIncidentDto: { + /** The id of the incident. */ + id?: string | null; + /** The activity id in which the incident happened. */ + parentActivityInstanceId?: string | null; + }; + ActivityStatisticsResultDto: { + /** The id of the activity the results are aggregated for. */ + id?: string | null; + /** The total number of running process instances of this activity. */ + instances?: number; + /** + * The total number of failed jobs for the running instances. + * **Note**: Will be `0` (not `null`), if failed jobs were excluded. + */ + failedJobs?: number; + /** + * Each item in the resulting array is an object which contains `incidentType` and `incidentCount`. + * **Note**: Will be an empty array, if `incidents` or `incidentsForType` were excluded. + * Furthermore, the array will be also empty if no incidents were found. + */ + incidents?: components["schemas"]["IncidentStatisticsResultDto"][] | null; + }; + AnnotationDto: { + /** The annotation value to put. */ + annotation?: string | null; + }; + AtomLink: { + /** The relation of the link to the object that belongs to. */ + rel?: string | null; + /** The url of the link. */ + href?: string | null; + /** The http method. */ + method?: string | null; + }; + AttachmentDto: { + /** The id of the task attachment. */ + id?: string | null; + /** The name of the task attachment. */ + name?: string | null; + /** The description of the task attachment. */ + description?: string | null; + /** The id of the task to which the attachment belongs. */ + taskId?: string | null; + /** + * Indication of the type of content that this attachment refers to. + * Can be MIME type or any other indication. + */ + type?: string | null; + /** The url to the remote content of the task attachment. */ + url?: string | null; + /** + * The time the variable was inserted. + * [Default format](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/) + * `yyyy-MM-dd'T'HH:mm:ss.SSSZ`. + */ + createTime?: string | null; + /** + * The time after which the attachment should be removed by the History Cleanup job. + * [Default format](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/) + * `yyyy-MM-dd'T'HH:mm:ss.SSSZ`. + */ + removalTime?: string | null; + /** The process instance id of the root process instance that initiated the process containing the task. */ + rootProcessInstanceId?: string | null; + } & components["schemas"]["LinkableDto"]; + AuthenticationResult: { + /** An id of authenticated user. */ + authenticatedUser?: string | null; + /** A flag indicating if user is authenticated. */ + isAuthenticated?: boolean | null; + /** Will be null. */ + tenants?: string[] | null; + /** Will be null. */ + groups?: string[] | null; + }; + AuthorizationExceptionDto: { + /** The id of the user that does not have expected permissions */ + userId?: string | null; + missingAuthorizations?: + | components["schemas"]["MissingAuthorizationDto"][] + | null; + } & components["schemas"]["ExceptionDto"]; + BasicUserCredentialsDto: { + /** The username of a user. */ + username?: string | null; + /** A password of a user. */ + password?: string | null; + }; + BatchDto: { + /** The id of the batch. */ + id?: string | null; + /** + * The type of the batch. + * See the [User Guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/batch/#creating-a-batch) + * for more information about batch types. + */ + type?: string | null; + /** The total jobs of a batch is the number of batch execution jobs required to complete the batch. */ + totalJobs?: number | null; + /** The number of batch execution jobs already created by the seed job. */ + jobsCreated?: number | null; + /** + * The number of batch execution jobs created per seed job invocation. + * The batch seed job is invoked until it has created all batch execution jobs required by the batch + * (see `totalJobs` property). + */ + batchJobsPerSeed?: number | null; + /** + * Every batch execution job invokes the command executed by the batch `invocationsPerBatchJob` times. + * E.g., for a process instance migration batch this specifies the number of process instances which are migrated per batch execution job. + */ + invocationsPerBatchJob?: number | null; + /** The job definition id for the seed jobs of this batch. */ + seedJobDefinitionId?: string | null; + /** The job definition id for the monitor jobs of this batch. */ + monitorJobDefinitionId?: string | null; + /** The job definition id for the batch execution jobs of this batch. */ + batchJobDefinitionId?: string | null; + /** Indicates whether this batch is suspended or not. */ + suspended?: boolean | null; + /** The tenant id of the batch. */ + tenantId?: string | null; + /** The id of the user that created the batch. */ + createUserId?: string | null; + }; + BatchStatisticsDto: { + /** + * The number of remaining batch execution jobs. This does include failed batch execution jobs and + * batch execution jobs which still have to be created by the seed job. + */ + remainingJobs?: number | null; + /** The number of completed batch execution jobs. This does include aborted/deleted batch execution jobs. */ + completedJobs?: number | null; + /** The number of failed batch execution jobs. This does not include aborted or deleted batch execution jobs. */ + failedJobs?: number | null; + } & components["schemas"]["BatchDto"]; + CaseDefinitionDto: { + /** The id of the case definition */ + id?: string | null; + /** The key of the case definition, i.e., the id of the CMMN 2.0 XML case definition. */ + key?: string | null; + /** The category of the case definition. */ + category?: string | null; + /** The name of the case definition. */ + name?: string | null; + /** The version of the case definition that the engine assigned to it. */ + version?: number | null; + /** The file name of the case definition. */ + resource?: string | null; + /** The deployment id of the case definition. */ + deploymentId?: string | null; + /** The tenant id of the case definition. */ + tenantId?: string | null; + /** + * History time to live value of the case definition. + * Is used within [History cleanup](https://docs.camunda.org/manual/latest/user-guide/process-engine/history/#history-cleanup). + */ + historyTimeToLive?: number | null; + }; + CheckPasswordPolicyResultDto: { + /** `true` if the password is compliant with the policy, otherwise `false`. */ + valid?: boolean | null; + } & components["schemas"]["PasswordPolicyDto"]; + CheckPasswordPolicyRuleDto: { + /** `true` if the password is compliant with this rule, otherwise `false`. */ + valid?: boolean | null; + } & components["schemas"]["PasswordPolicyRuleDto"]; + CommentDto: { + /** The id of the task comment. */ + id?: string | null; + /** The id of the user who created the comment. */ + userId?: string | null; + /** The id of the task to which the comment belongs. */ + taskId?: string | null; + /** + * The time when the comment was created. + * [Default format]($(docsUrl)/reference/rest/overview/date-format/) + * `yyyy-MM-dd'T'HH:mm:ss.SSSZ`. + */ + time?: string | null; + /** The content of the comment. */ + message?: string | null; + /** + * The time after which the comment should be removed by the History Cleanup job. + * [Default format]($(docsUrl)/reference/rest/overview/date-format/) + * `yyyy-MM-dd'T'HH:mm:ss.SSSZ`. + */ + removalTime?: string | null; + /** + * The process instance id of the root process instance that initiated the process + * containing the task. + */ + rootProcessInstanceId?: string | null; + } & components["schemas"]["LinkableDto"]; + CompleteExternalTaskDto: { + /** A JSON object containing variable key-value pairs. Each key is a variable name and each value a JSON variable value object with the following properties: */ + variables?: { + [key: string]: components["schemas"]["VariableValueDto"]; + } | null; + /** A JSON object containing local variable key-value pairs. Local variables are set only in the scope of external task. Each key is a variable name and each value a JSON variable value object with the following properties: */ + localVariables?: { + [key: string]: components["schemas"]["VariableValueDto"]; + } | null; + } & components["schemas"]["HandleExternalTaskDto"]; + CompleteTaskDto: { + /** A JSON object containing variable key-value pairs. */ + variables?: { + [key: string]: components["schemas"]["VariableValueDto"]; + } | null; + /** + * Indicates whether the response should contain the process variables or not. The + * default is `false` with a response code of `204`. If set to `true` the response + * contains the process variables and has a response code of `200`. If the task is not + * associated with a process instance (e.g. if it's part of a case instance) no + * variables will be returned. + */ + withVariablesInReturn?: boolean | null; + }; + ConditionQueryParameterDto: { + /** Comparison operator to be used */ + operator?: ("eq" | "neq" | "gt" | "gteq" | "lt" | "lteq" | "like") | null; + /** The variable value, could be of type boolean, string or number */ + value?: { [key: string]: any }; + }; + CorrelationMessageDto: { + /** The name of the message to deliver. */ + messageName?: string | null; + /** + * Used for correlation of process instances that wait for incoming messages. + * Will only correlate to executions that belong to a process instance with the provided business key. + */ + businessKey?: string | null; + /** + * Used to correlate the message for a tenant with the given id. + * Will only correlate to executions and process definitions which belong to the tenant. + * Must not be supplied in conjunction with a `withoutTenantId`. + */ + tenantId?: string | null; + /** + * A Boolean value that indicates whether the message should only be correlated to executions + * and process definitions which belong to no tenant or not. Value may only be `true`, as `false` + * is the default behavior. + * Must not be supplied in conjunction with a `tenantId`. + */ + withoutTenantId?: boolean | null; + /** Used to correlate the message to the process instance with the given id. */ + processInstanceId?: string | null; + /** + * Used for correlation of process instances that wait for incoming messages. + * Has to be a JSON object containing key-value pairs that are matched against process instance variables + * during correlation. Each key is a variable name and each value a JSON variable value object with the + * following properties. + */ + correlationKeys?: { + [key: string]: components["schemas"]["VariableValueDto"]; + } | null; + /** + * Local variables used for correlation of executions (process instances) that wait for incoming messages. + * Has to be a JSON object containing key-value pairs that are matched against local variables during correlation. + * Each key is a variable name and each value a JSON variable value object with the following properties. + */ + localCorrelationKeys?: { + [key: string]: components["schemas"]["VariableValueDto"]; + } | null; + /** + * A map of variables that is injected into the triggered execution or process instance after the message + * has been delivered. Each key is a variable name and each value a JSON variable value object with + * the following properties. + */ + processVariables?: { + [key: string]: components["schemas"]["VariableValueDto"]; + } | null; + /** + * A map of local variables that is injected into the triggered execution or process instance after the + * message has been delivered. Each key is a variable name and each value a JSON variable value object + * with the following properties. + */ + processVariablesLocal?: { + [key: string]: components["schemas"]["VariableValueDto"]; + } | null; + /** + * A Boolean value that indicates whether the message should be correlated to exactly one entity or multiple entities. + * If the value is set to `false`, the message will be correlated to exactly one entity (execution or process definition). + * If the value is set to `true`, the message will be correlated to multiple executions and a process definition that + * can be instantiated by this message in one go. + */ + all?: boolean | null; + /** + * A Boolean value that indicates whether the result of the correlation should be returned or not. + * If this property is set to `true`, there will be returned a list of message correlation result objects. Depending on the + * all property, there will be either one ore more returned results in the list. + * + * The default value is `false`, which means no result will be returned. + */ + resultEnabled?: boolean | null; + /** + * A Boolean value that indicates whether the result of the correlation should contain process variables or not. + * The parameter resultEnabled should be set to `true` in order to use this it. + * + * The default value is `false`, which means the variables will not be returned. + */ + variablesInResultEnabled?: boolean | null; + }; + CountResultDto: { + /** The number of matching instances. */ + count?: number; + }; + CreateIncidentDto: { + /** A type of the new incident. */ + incidentType?: string | null; + /** A configuration for the new incident. */ + configuration?: string | null; + /** A message for the new incident. */ + message?: string | null; + }; + DecisionDefinitionDiagramDto: { + /** The id of the decision definition. */ + id?: string | null; + /** + * An escaped XML string containing the XML that this decision definition was deployed with. + * Carriage returns, line feeds and quotation marks are escaped. + */ + dmnXml?: string | null; + }; + DecisionDefinitionDto: { + /** The id of the decision definition */ + id?: string | null; + /** The key of the decision definition, i.e., the id of the DMN 1.0 XML decision definition. */ + key?: string | null; + /** The category of the decision definition. */ + category?: string | null; + /** The name of the decision definition. */ + name?: string | null; + /** The version of the decision definition that the engine assigned to it. */ + version?: number | null; + /** The file name of the decision definition. */ + resource?: string | null; + /** The deployment id of the decision definition. */ + deploymentId?: string | null; + /** The tenant id of the decision definition. */ + tenantId?: string | null; + /** The id of the decision requirements definition this decision definition belongs to. */ + decisionRequirementsDefinitionId?: string | null; + /** The key of the decision requirements definition this decision definition belongs to. */ + decisionRequirementsDefinitionKey?: string | null; + /** + * History time to live value of the decision definition. + * Is used within [History cleanup](https://docs.camunda.org/manual/latest/user-guide/process-engine/history/#history-cleanup). + */ + historyTimeToLive?: number | null; + /** The version tag of the decision definition. */ + versionTag?: string | null; + }; + DecisionRequirementsDefinitionDto: { + /** The id of the decision requirements definition */ + id?: string | null; + /** The key of the decision requirements definition, i.e., the id of the DMN 1.0 XML decision definition. */ + key?: string | null; + /** The name of the decision requirements definition. */ + name?: string | null; + /** The category of the decision requirements definition. */ + category?: string | null; + /** The version of the decision requirements definition that the engine assigned to it. */ + version?: number | null; + /** The file name of the decision requirements definition. */ + resource?: string | null; + /** The deployment id of the decision requirements definition. */ + deploymentId?: string | null; + /** The tenant id of the decisionrequirements definition. */ + tenantId?: string | null; + }; + DeleteHistoricProcessInstancesDto: { + /** A list historic process instance ids to delete. */ + historicProcessInstanceIds?: string[] | null; + historicProcessInstanceQuery?: components["schemas"]["HistoricProcessInstanceQueryDto"]; + /** A string with delete reason. */ + deleteReason?: string | null; + /** If set to `false`, the request will still be successful if one ore more of the process ids are not found. */ + failIfNotExists?: boolean | null; + }; + DeleteProcessInstancesDto: { + /** A list process instance ids to delete. */ + processInstanceIds?: string[] | null; + /** A string with delete reason. */ + deleteReason?: string | null; + /** Skip execution listener invocation for activities that are started or ended as part of this request. */ + skipCustomListeners?: boolean | null; + /** Skip deletion of the subprocesses related to deleted processes as part of this request. */ + skipSubprocesses?: boolean | null; + processInstanceQuery?: components["schemas"]["ProcessInstanceQueryDto"]; + historicProcessInstanceQuery?: components["schemas"]["HistoricProcessInstanceQueryDto"]; + }; + DeploymentDto: { + /** The id of the deployment. */ + id?: string | null; + /** The tenant id of the deployment. */ + tenantId?: string | null; + /** The time when the deployment was created. */ + deploymentTime?: string | null; + /** The source of the deployment. */ + source?: string | null; + /** The name of the deployment. */ + name?: string | null; + } & components["schemas"]["LinkableDto"]; + /** + * A JSON object corresponding to the `Resource` interface in the engine. + * Its properties are as follows: + */ + DeploymentResourceDto: { + /** The id of the deployment resource. */ + id?: string | null; + /** The name of the deployment resource */ + name?: string | null; + /** The id of the deployment. */ + deploymentId?: string | null; + }; + DeploymentWithDefinitionsDto: { + /** + * A JSON Object containing a property for each of the process definitions, + * which are successfully deployed with that deployment. + * The key is the process definition id, the value is a JSON Object corresponding to the process definition. + */ + deployedProcessDefinitions?: { + [key: string]: components["schemas"]["ProcessDefinitionDto"]; + } | null; + /** + * A JSON Object containing a property for each of the decision definitions, + * which are successfully deployed with that deployment. + * The key is the decision definition id, the value is a JSON Object corresponding to the decision definition. + */ + deployedDecisionDefinitions?: { + [key: string]: components["schemas"]["DecisionDefinitionDto"]; + } | null; + /** + * A JSON Object containing a property for each of the decision requirements definitions, + * which are successfully deployed with that deployment. + * The key is the decision requirements definition id, the value is a JSON Object corresponding to the decision requirements definition. + */ + deployedDecisionRequirementsDefinitions?: { + [ + key: string + ]: components["schemas"]["DecisionRequirementsDefinitionDto"]; + } | null; + /** + * A JSON Object containing a property for each of the case definitions, + * which are successfully deployed with that deployment. + * The key is the case definition id, the value is a JSON Object corresponding to the case definition. + */ + deployedCaseDefinitions?: { + [key: string]: components["schemas"]["CaseDefinitionDto"]; + } | null; + } & components["schemas"]["DeploymentDto"]; + DurationReportResultDto: { + /** + * Specifies a timespan within a year. + * **Note:** The period must be interpreted in conjunction with the returned `periodUnit`. + */ + period?: number | null; + /** The unit of the given period. Possible values are `MONTH` and `QUARTER`. */ + periodUnit?: ("MONTH" | "QUARTER") | null; + /** The smallest duration in milliseconds of all completed process instances which were started in the given period. */ + minimum?: number | null; + /** The greatest duration in milliseconds of all completed process instances which were started in the given period. */ + maximum?: number | null; + /** The average duration in milliseconds of all completed process instances which were started in the given period. */ + average?: number | null; + }; + EvaluateDecisionDto: { + variables?: { + [key: string]: components["schemas"]["VariableValueDto"]; + } | null; + }; + EvaluationConditionDto: { + /** + * A map of variables which are used for evaluation of the conditions and are injected into the process instances which have been triggered. + * Each key is a variable name and each value a JSON variable value object with the following properties. + */ + variables?: { + [key: string]: components["schemas"]["VariableValueDto"]; + } | null; + /** Used for the process instances that have been triggered after the evaluation. */ + businessKey?: string | null; + /** + * Used to evaluate a condition for a tenant with the given id. + * Will only evaluate conditions of process definitions which belong to the tenant. + */ + tenantId?: string | null; + /** + * A Boolean value that indicates whether the conditions should only be evaluated of process definitions which belong to no tenant or not. + * Value may only be true, as false is the default behavior. + */ + withoutTenantId?: boolean | null; + /** Used to evaluate conditions of the process definition with the given id. */ + processDefinitionId?: string | null; + }; + EventSubscriptionDto: { + /** The id of the event subscription. */ + id?: string | null; + /** The type of the event subscription. */ + eventType?: string | null; + /** The name of the event this subscription belongs to as defined in the process model. */ + eventName?: string | null; + /** The execution that is subscribed on the referenced event. */ + executionId?: string | null; + /** The process instance this subscription belongs to. */ + processInstanceId?: string | null; + /** + * The identifier of the activity that this event subscription belongs to. + * This could for example be the id of a receive task. + */ + activityId?: string | null; + /** The time this event subscription was created. */ + createdDate?: string | null; + /** + * The id of the tenant this event subscription belongs to. + * Can be `null` if the subscription belongs to no single tenant. + */ + tenantId?: string | null; + }; + /** A event subscription query which retrieves a list of event subscriptions */ + EventSubscriptionQueryDto: { + /** The id of the event subscription. */ + eventSubscriptionId?: string | null; + /** The name of the event this subscription belongs to as defined in the process model. */ + eventName?: string | null; + /** The type of the event subscription. */ + eventType?: ("message" | "signal" | "compensate" | "conditional") | null; + /** The execution that is subscribed on the referenced event. */ + executionId?: string | null; + /** The process instance this subscription belongs to. */ + processInstanceId?: string | null; + /** + * The identifier of the activity that this event subscription belongs to. + * This could for example be the id of a receive task. + */ + activityId?: string | null; + /** + * Filter by a comma-separated list of tenant ids. + * Only select subscriptions that belong to one of the given tenant ids. + */ + tenantIdIn?: string[] | null; + /** + * Only select subscriptions which have no tenant id. + * Value may only be `true`, as `false` is the default behavior. + */ + withoutTenantId?: boolean | null; + /** + * Select event subscriptions which have no tenant id. + * Can be used in combination with tenantIdIn parameter. + * Value may only be `true`, as `false` is the default behavior. + */ + includeEventSubscriptionsWithoutTenantId?: boolean | null; + /** Apply sorting of the result */ + sorting?: { + /** + * Sort the results lexicographically by a given criterion. + * Must be used in conjunction with the sortOrder parameter. + */ + sortBy?: ("created" | "tenantId") | null; + /** + * Sort the results in a given order. Values may be `asc` for ascending order or `desc` for + * descending order. Must be used in conjunction with the sortBy parameter. + */ + sortOrder?: ("asc" | "desc") | null; + }[]; + }; + ExceptionDto: { + /** An exception class indicating the occurred error. */ + type?: string | null; + /** A detailed message of the error. */ + message?: string | null; + }; + ExecutionDto: { + /** The id of the Execution. */ + id?: string | null; + /** The id of the root of the execution tree representing the process instance. */ + processInstanceId?: string | null; + /** Indicates if the execution is ended. */ + ended?: boolean | null; + /** + * The id of the tenant this execution belongs to. Can be `null` + * if the execution belongs to no single tenant. + */ + tenantId?: string | null; + }; + /** A Execution instance query which defines a list of Execution instances */ + ExecutionQueryDto: { + /** Filter by the business key of the process instances the executions belong to. */ + businessKey?: string | null; + /** Filter by the process definition the executions run on. */ + processDefinitionId?: string | null; + /** Filter by the key of the process definition the executions run on. */ + processDefinitionKey?: string | null; + /** Filter by the id of the process instance the execution belongs to. */ + processInstanceId?: string | null; + /** Filter by the id of the activity the execution currently executes. */ + activityId?: string | null; + /** Select only those executions that expect a signal of the given name. */ + signalEventSubscriptionName?: string | null; + /** Select only those executions that expect a message of the given name. */ + messageEventSubscriptionName?: string | null; + /** + * Only include active executions. Value may only be `true`, as `false` is the default + * behavior. + */ + active?: boolean | null; + /** + * Only include suspended executions. Value may only be `true`, as `false` is the default + * behavior. + */ + suspended?: boolean | null; + /** Filter by the incident id. */ + incidentId?: string | null; + /** Filter by the incident type. See the [User Guide](/manual/develop/user-guide/process-engine/incidents/#incident-types) for a list of incident types. */ + incidentType?: string | null; + /** Filter by the incident message. Exact match. */ + incidentMessage?: string | null; + /** Filter by the incident message that the parameter is a substring of. */ + incidentMessageLike?: string | null; + /** + * Filter by a list of tenant ids. An execution must have one of the given + * tenant ids. + */ + tenantIdIn?: string[] | null; + /** + * An array to only include executions that have variables with certain values. + * + * The array consists of objects with the three properties `name`, `operator` + * and `value`. + * `name (String)` is the variable name, `operator (String)` is the comparison + * operator to be used and `value` the variable value. + * `value` may be `String`, `Number` or `Boolean`. + * + * Valid operator values are: `eq` - equal to; `neq` - not equal to; `gt` - + * greater than; + * `gteq` - greater than or equal to; `lt` - lower than; `lteq` - lower than or + * equal to; + * `like`. + */ + variables?: components["schemas"]["VariableQueryParameterDto"][] | null; + /** + * An array to only include executions that belong to a process instance with variables + * with certain values. + * + * The array consists of objects with the three properties `name`, `operator` + * and `value`. + * `name (String)` is the variable name, `operator (String)` is the comparison + * operator to be used and `value` the variable value. + * `value` may be `String`, `Number` or `Boolean`. + * + * Valid operator values are: `eq` - equal to; `neq` - not equal to. + */ + processVariables?: + | components["schemas"]["VariableQueryParameterDto"][] + | null; + /** + * Match all variable names provided in `variables` and `processVariables` case- + * insensitively. If set to `true` **variableName** and **variablename** are + * treated as equal. + */ + variableNamesIgnoreCase?: boolean | null; + /** + * Match all variable values provided in `variables` and `processVariables` case- + * insensitively. If set to `true` **variableValue** and **variablevalue** are + * treated as equal. + */ + variableValuesIgnoreCase?: boolean | null; + /** + * An array of criteria to sort the result by. Each element of the array is + * an object that specifies one ordering. The position in the array + * identifies the rank of an ordering, i.e., whether it is primary, secondary, + * etc. Has no effect for the `/count` endpoint + */ + sorting?: { + /** + * Sort the results lexicographically by a given criterion. + * Must be used in conjunction with the sortOrder parameter. + */ + sortBy?: + | ("instanceId" | "definitionKey" | "definitionId" | "tenantId") + | null; + /** + * Sort the results in a given order. Values may be `asc` for ascending order or `desc` for + * descending order. Must be used in conjunction with the sortBy parameter. + */ + sortOrder?: ("asc" | "desc") | null; + }[]; + }; + ExecutionTriggerDto: { + /** + * A JSON object containing variable key-value pairs. Each key is a variable name and + * each value a JSON variable value object. + */ + variables?: { + [key: string]: components["schemas"]["VariableValueDto"]; + } | null; + }; + ExtendLockOnExternalTaskDto: { + /** + * An amount of time (in milliseconds). This is the new lock duration starting from the + * current moment. + */ + newDuration?: number | null; + } & components["schemas"]["HandleExternalTaskDto"]; + ExternalTaskBpmnError: { + /** + * The id of the worker that reports the failure. Must match the id of the worker who has most recently + * locked the task. + */ + workerId?: string | null; + } & components["schemas"]["TaskBpmnErrorDto"]; + /** An External Task object with the following properties */ + ExternalTaskDto: { + /** The id of the activity that this external task belongs to. */ + activityId?: string | null; + /** The id of the activity instance that the external task belongs to. */ + activityInstanceId?: string | null; + /** + * The full error message submitted with the latest reported failure executing this task; `null` if no + * failure was reported previously or if no error message was submitted + */ + errorMessage?: string | null; + /** The id of the execution that the external task belongs to. */ + executionId?: string | null; + /** The id of the external task. */ + id?: string | null; + /** The date that the task's most recent lock expires or has expired. */ + lockExpirationTime?: string | null; + /** The id of the process definition the external task is defined in. */ + processDefinitionId?: string | null; + /** The key of the process definition the external task is defined in. */ + processDefinitionKey?: string | null; + /** The version tag of the process definition the external task is defined in. */ + processDefinitionVersionTag?: string | null; + /** The id of the process instance the external task belongs to. */ + processInstanceId?: string | null; + /** The id of the tenant the external task belongs to. */ + tenantId?: string | null; + /** The number of retries the task currently has left. */ + retries?: number | null; + /** A flag indicating whether the external task is suspended or not. */ + suspended?: boolean | null; + /** The id of the worker that posesses or posessed the most recent lock. */ + workerId?: string | null; + /** The topic name of the external task. */ + topicName?: string | null; + /** The priority of the external task. */ + priority?: number | null; + /** The business key of the process instance the external task belongs to. */ + businessKey?: string | null; + }; + ExternalTaskFailureDto: { + /** An message indicating the reason of the failure. */ + errorMessage?: string | null; + /** A detailed error description. */ + errorDetails?: string | null; + /** + * A number of how often the task should be retried. Must be >= 0. If this is 0, an incident is created and + * the task cannot be fetched anymore unless the retries are increased again. The incident's message is set + * to the `errorMessage` parameter. + */ + retries?: number | null; + /** A timeout in milliseconds before the external task becomes available again for fetching. Must be >= 0. */ + retryTimeout?: number | null; + /** A JSON object containing variable key-value pairs. Each key is a variable name and each value a JSON variable value object with the following properties: */ + variables?: { + [key: string]: components["schemas"]["VariableValueDto"]; + } | null; + /** A JSON object containing local variable key-value pairs. Local variables are set only in the scope of external task. Each key is a variable name and each value a JSON variable value object with the following properties: */ + localVariables?: { + [key: string]: components["schemas"]["VariableValueDto"]; + } | null; + } & components["schemas"]["HandleExternalTaskDto"]; + /** A JSON object with the following properties: */ + ExternalTaskQueryDto: { + /** Filter by an external task's id. */ + externalTaskId?: string | null; + /** Filter by the comma-separated list of external task ids. */ + externalTaskIdIn?: string[] | null; + /** Filter by an external task topic. */ + topicName?: string | null; + /** Filter by the id of the worker that the task was most recently locked by. */ + workerId?: string | null; + /** + * Only include external tasks that are currently locked (i.e., they have a lock time and it has not expired). + * Value may only be `true`, as `false` matches any external task. + */ + locked?: boolean | null; + /** + * Only include external tasks that are currently not locked (i.e., they have no lock or it has expired). + * Value may only be `true`, as `false` matches any external task. + */ + notLocked?: boolean | null; + /** + * Only include external tasks that have a positive (> 0) number of retries (or `null`). Value may only be + * `true`, as `false` matches any external task. + */ + withRetriesLeft?: boolean | null; + /** + * Only include external tasks that have 0 retries. Value may only be `true`, as `false` matches any + * external task. + */ + noRetriesLeft?: boolean | null; + /** + * Restrict to external tasks that have a lock that expires after a given date. By + * [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the format + * `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + lockExpirationAfter?: string | null; + /** + * Restrict to external tasks that have a lock that expires before a given date. By + * [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the format + * `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + lockExpirationBefore?: string | null; + /** Filter by the id of the activity that an external task is created for. */ + activityId?: string | null; + /** Filter by the comma-separated list of ids of the activities that an external task is created for. */ + activityIdIn?: string[] | null; + /** Filter by the id of the execution that an external task belongs to. */ + executionId?: string | null; + /** Filter by the id of the process instance that an external task belongs to. */ + processInstanceId?: string | null; + /** Filter by a comma-separated list of process instance ids that an external task may belong to. */ + processInstanceIdIn?: string[] | null; + /** Filter by the id of the process definition that an external task belongs to. */ + processDefinitionId?: string | null; + /** + * Filter by a comma-separated list of tenant ids. + * An external task must have one of the given tenant ids. + */ + tenantIdIn?: string[] | null; + /** Only include active tasks. Value may only be `true`, as `false` matches any external task. */ + active?: boolean | null; + /** Only include suspended tasks. Value may only be `true`, as `false` matches any external task. */ + suspended?: boolean | null; + /** + * Only include jobs with a priority higher than or equal to the given value. + * Value must be a valid `long` value. + */ + priorityHigherThanOrEquals?: number | null; + /** + * Only include jobs with a priority lower than or equal to the given value. + * Value must be a valid `long` value. + */ + priorityLowerThanOrEquals?: number | null; + /** + * A JSON array of criteria to sort the result by. Each element of the array is a JSON object that + * specifies one ordering. The position in the array identifies the rank of an ordering, i.e., whether + * it is primary, secondary, etc. The ordering objects have the following properties: + * + * **Note:** The `sorting` properties will not be applied to the External Task count query. + */ + sorting?: { + /** + * Sort the results lexicographically by a given criterion. + * Must be used in conjunction with the sortOrder parameter. + */ + sortBy?: + | ( + | "id" + | "lockExpirationTime" + | "processInstanceId" + | "processDefinitionId" + | "processDefinitionKey" + | "taskPriority" + | "tenantId" + ) + | null; + /** + * Sort the results in a given order. Values may be `asc` for ascending order or `desc` for + * descending order. Must be used in conjunction with the sortBy parameter. + */ + sortOrder?: ("asc" | "desc") | null; + }[]; + }; + FetchExternalTaskTopicDto: { + /** **Mandatory.** The topic's name. */ + topicName: string; + /** **Mandatory.** The duration to lock the external tasks for in milliseconds. */ + lockDuration: number | null; + /** + * A JSON array of `String` values that represent variable names. For each result task belonging to this + * topic, the given variables are returned as well if they are accessible from the external task's + * execution. If not provided - all variables will be fetched. + */ + variables?: string[] | null; + /** If `true` only local variables will be fetched. */ + localVariables?: boolean | null; + /** A `String` value which enables the filtering of tasks based on process instance business key. */ + businessKey?: string | null; + /** Filter tasks based on process definition id. */ + processDefinitionId?: string | null; + /** Filter tasks based on process definition ids. */ + processDefinitionIdIn?: string[] | null; + /** Filter tasks based on process definition key. */ + processDefinitionKey?: string | null; + /** Filter tasks based on process definition keys. */ + processDefinitionKeyIn?: string[] | null; + /** Filter tasks based on process definition version tag. */ + processDefinitionVersionTag?: string | null; + /** Filter tasks without tenant id. */ + withoutTenantId?: boolean | null; + /** Filter tasks based on tenant ids. */ + tenantIdIn?: string[] | null; + /** + * A `JSON` object used for filtering tasks based on process instance variable values. A property name of + * the object represents a process variable name, while the property value represents the process variable + * value to filter tasks by. + */ + processVariables?: { [key: string]: any }; + /** + * Determines whether serializable variable values (typically variables that store custom Java objects) + * should be deserialized on server side (default `false`). + * + * If set to `true`, a serializable variable will be deserialized on server side and transformed to JSON + * using [Jackson's](https://github.com/FasterXML/jackson) POJO/bean property introspection feature. Note + * that this requires the Java classes of the variable value to be on the REST API's classpath. + * + * If set to `false`, a serializable variable will be returned in its serialized format. For example, a + * variable that is serialized as XML will be returned as a JSON string containing XML. + */ + deserializeValues?: boolean | null; + /** + * Determines whether custom extension properties defined in the BPMN activity of the external task (e.g. + * via the Extensions tab in the Camunda modeler) should be included in the response. Default: false + */ + includeExtensionProperties?: boolean | null; + }; + FetchExternalTasksDto: { + /** + * **Mandatory.** The id of the worker on which behalf tasks are fetched. The returned tasks are locked for + * that worker and can only be completed when providing the same worker id. + */ + workerId: string; + /** **Mandatory.** The maximum number of tasks to return. */ + maxTasks: number | null; + /** + * A `boolean` value, which indicates whether the task should be fetched based on its priority + * or arbitrarily. + */ + usePriority?: boolean | null; + /** + * The [Long Polling](https://docs.camunda.org/manual/latest/user-guide/process-engine/external-tasks/#long-polling-to-fetch-and-lock-external-tasks) + * timeout in milliseconds. + * + * **Note:** The value cannot be set larger than 1.800.000 milliseconds (corresponds to 30 minutes). + */ + asyncResponseTimeout?: number | null; + /** + * A JSON array of topic objects for which external tasks should be fetched. The returned tasks may be + * arbitrarily distributed among these topics. Each topic object has the following properties: + */ + topics?: components["schemas"]["FetchExternalTaskTopicDto"][] | null; + }; + FormDto: { + /** The form key. */ + key?: string | null; + /** + * The context path of the process application. If the task (or the process definition) does not + * belong to a process application deployment or a process definition at all, this + * property is not set. + */ + contextPath?: string | null; + }; + GroupDto: { + /** The id of the group. */ + id?: string | null; + /** The name of the group. */ + name?: string | null; + /** The type of the group. */ + type?: string | null; + }; + /** A group instance query which defines a list of group instances */ + GroupQueryDto: { + /** Filter by the id of the group. */ + id?: string | null; + /** Filter by a JSON string array of group ids. */ + idIn?: string[] | null; + /** Filter by the name of the group. */ + name?: string | null; + /** Filter by the name that the parameter is a substring of. */ + nameLike?: string | null; + /** Filter by the type of the group. */ + type?: string | null; + /** Only retrieve groups where the given user id is a member of. */ + member?: string | null; + /** Only retrieve groups which are members of the given tenant. */ + memberOfTenant?: string | null; + /** Apply sorting of the result */ + sorting?: { + /** + * Sort the results lexicographically by a given criterion. + * Must be used in conjunction with the sortOrder parameter. + */ + sortBy?: ("id" | "name" | "type") | null; + /** + * Sort the results in a given order. Values may be `asc` for ascending order or `desc` for + * descending order. Must be used in conjunction with the sortBy parameter. + */ + sortOrder?: ("asc" | "desc") | null; + }[]; + }; + HandleExternalTaskDto: { + /** + * **Mandatory.** The ID of the worker who is performing the operation on the external task. + * If the task is already locked, must match the id of the worker who has most recently + * locked the task. + */ + workerId?: string; + }; + HistoricActivityInstanceDto: { + /** The id of the activity instance. */ + id?: string | null; + /** The id of the parent activity instance, for example a sub process instance. */ + parentActivityInstanceId?: string | null; + /** The id of the activity that this object is an instance of. */ + activityId?: string | null; + /** The name of the activity that this object is an instance of. */ + activityName?: string | null; + /** The type of the activity that this object is an instance of. */ + activityType?: string | null; + /** The key of the process definition that this activity instance belongs to. */ + processDefinitionKey?: string | null; + /** The id of the process definition that this activity instance belongs to. */ + processDefinitionId?: string | null; + /** The id of the process instance that this activity instance belongs to. */ + processInstanceId?: string | null; + /** The id of the execution that executed this activity instance. */ + executionId?: string | null; + /** The id of the task that is associated to this activity instance. Is only set if the activity is a user task. */ + taskId?: string | null; + /** The assignee of the task that is associated to this activity instance. Is only set if the activity is a user task. */ + assignee?: string | null; + /** The id of the called process instance. Is only set if the activity is a call activity and the called instance a process instance. */ + calledProcessInstanceId?: string | null; + /** The id of the called case instance. Is only set if the activity is a call activity and the called instance a case instance. */ + calledCaseInstanceId?: string | null; + /** + * The time the instance was started. By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), + * the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + startTime?: string | null; + /** + * The time the instance ended. By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), + * the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + endTime?: string | null; + /** The time the instance took to finish (in milliseconds). */ + durationInMillis?: number | null; + /** If `true`, this activity instance is canceled. */ + canceled?: boolean | null; + /** If `true`, this activity instance did complete a BPMN 2.0 scope. */ + completeScope?: boolean | null; + /** The tenant id of the activity instance. */ + tenantId?: string | null; + /** + * The time after which the activity instance should be removed by the History Cleanup job. By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), + * the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + removalTime?: string | null; + /** The process instance id of the root process instance that initiated the process containing this activity instance. */ + rootProcessInstanceId?: string | null; + }; + /** A historic activity instance query which defines a group of historic activity instances */ + HistoricActivityInstanceQueryDto: { + /** Filter by activity instance id. */ + activityInstanceId?: string | null; + /** Filter by process instance id. */ + processInstanceId?: string | null; + /** Filter by process definition id. */ + processDefinitionId?: string | null; + /** Filter by the id of the execution that executed the activity instance. */ + executionId?: string | null; + /** Filter by the activity id (according to BPMN 2.0 XML). */ + activityId?: string | null; + /** Filter by the activity name (according to BPMN 2.0 XML). */ + activityName?: string | null; + /** Filter by activity type. */ + activityType?: string | null; + /** Only include activity instances that are user tasks and assigned to a given user. */ + taskAssignee?: string | null; + /** + * Only include finished activity instances. + * Value may only be `true`, as `false` behaves the same as when the property is not set. + */ + finished?: boolean | null; + /** + * Only include unfinished activity instances. + * Value may only be `true`, as `false` behaves the same as when the property is not set. + */ + unfinished?: boolean | null; + /** + * Only include canceled activity instances. + * Value may only be `true`, as `false` behaves the same as when the property is not set. + */ + canceled?: boolean | null; + /** + * Only include activity instances which completed a scope. + * Value may only be `true`, as `false` behaves the same as when the property is not set. + */ + completeScope?: boolean | null; + /** + * Restrict to instances that were started before the given date. By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), + * the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + startedBefore?: string | null; + /** + * Restrict to instances that were started after the given date. By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), + * the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + startedAfter?: string | null; + /** + * Restrict to instances that were finished before the given date. By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), + * the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + finishedBefore?: string | null; + /** + * Restrict to instances that were finished after the given date. By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), + * the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + finishedAfter?: string | null; + /** Must be a JSON array of Strings. An activity instance must have one of the given tenant ids. */ + tenantIdIn?: string[] | null; + /** Only include historic activity instances that belong to no tenant. Value may only be `true`, as `false` is the default behavior. */ + withoutTenantId?: boolean | null; + /** Apply sorting of the result */ + sorting?: { + /** + * Sort the results lexicographically by a given criterion. + * Must be used in conjunction with the sortOrder parameter. + */ + sortBy?: + | ( + | "activityInstanceId" + | "instanceId" + | "executionId" + | "activityId" + | "activityName" + | "activityType" + | "startTime" + | "endTime" + | "duration" + | "definitionId" + | "occurrence" + | "tenantId" + ) + | null; + /** + * Sort the results in a given order. Values may be `asc` for ascending order or `desc` for + * descending order. Must be used in conjunction with the sortBy parameter. + */ + sortOrder?: ("asc" | "desc") | null; + }[]; + }; + HistoricProcessInstanceDto: { + /** The id of the process instance. */ + id?: string | null; + /** The process instance id of the root process instance that initiated the process. */ + rootProcessInstanceId?: string | null; + /** The id of the parent process instance, if it exists. */ + superProcessInstanceId?: string | null; + /** The id of the parent case instance, if it exists. */ + superCaseInstanceId?: string | null; + /** The id of the parent case instance, if it exists. */ + caseInstanceId?: string | null; + /** The name of the process definition that this process instance belongs to. */ + processDefinitionName?: string | null; + /** The key of the process definition that this process instance belongs to. */ + processDefinitionKey?: string | null; + /** The version of the process definition that this process instance belongs to. */ + processDefinitionVersion?: number | null; + /** The id of the process definition that this process instance belongs to. */ + processDefinitionId?: string | null; + /** The business key of the process instance. */ + businessKey?: string | null; + /** The time the instance was started. Default [format](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/) `yyyy-MM-dd'T'HH:mm:ss.SSSZ`. */ + startTime?: string | null; + /** The time the instance ended. Default [format](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/) `yyyy-MM-dd'T'HH:mm:ss.SSSZ`. */ + endTime?: string | null; + /** The time after which the instance should be removed by the History Cleanup job. Default [format](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/) `yyyy-MM-dd'T'HH:mm:ss.SSSZ`. */ + removalTime?: string | null; + /** The time the instance took to finish (in milliseconds). */ + durationInMillis?: number | null; + /** The id of the user who started the process instance. */ + startUserId?: string | null; + /** The id of the initial activity that was executed (e.g., a start event). */ + startActivityId?: string | null; + /** The provided delete reason in case the process instance was canceled during execution. */ + deleteReason?: string | null; + /** The tenant id of the process instance. */ + tenantId?: string | null; + /** + * Last state of the process instance, possible values are: + * + * `ACTIVE` - running process instance + * + * `SUSPENDED` - suspended process instances + * + * `COMPLETED` - completed through normal end event + * + * `EXTERNALLY_TERMINATED` - terminated externally, for instance through REST API + * + * `INTERNALLY_TERMINATED` - terminated internally, for instance by terminating boundary event + */ + state?: + | ( + | "ACTIVE" + | "SUSPENDED" + | "COMPLETED" + | "EXTERNALLY_TERMINATED" + | "INTERNALLY_TERMINATED" + ) + | null; + }; + /** A historic process instance query which defines a group of historic process instances */ + HistoricProcessInstanceQueryDto: { + /** Filter by process instance id. */ + processInstanceId?: string | null; + /** Filter by process instance ids. Must be a JSON array of `Strings`. */ + processInstanceIds?: string[] | null; + /** Filter by the process definition the instances run on. */ + processDefinitionId?: string | null; + /** Filter by the key of the process definition the instances run on. */ + processDefinitionKey?: string | null; + /** Filter by a list of process definition keys. A process instance must have one of the given process definition keys. Must be a JSON array of `Strings`. */ + processDefinitionKeyIn?: string[] | null; + /** Filter by the name of the process definition the instances run on. */ + processDefinitionName?: string | null; + /** Filter by process definition names that the parameter is a substring of. */ + processDefinitionNameLike?: string | null; + /** Exclude instances that belong to a set of process definitions. Must be a JSON array of `Strings`. */ + processDefinitionKeyNotIn?: string[] | null; + /** Filter by process instance business key. */ + processInstanceBusinessKey?: string | null; + /** Filter by process instance business key that the parameter is a substring of. */ + processInstanceBusinessKeyLike?: string | null; + /** Restrict the query to all process instances that are top level process instances. */ + rootProcessInstances?: boolean | null; + /** + * Only include finished process instances. This flag includes all process instances + * that are completed or terminated. Value may only be `true`, as `false` is the default behavior. + */ + finished?: boolean | null; + /** Only include unfinished process instances. Value may only be `true`, as `false` is the default behavior. */ + unfinished?: boolean | null; + /** Only include process instances which have an incident. Value may only be `true`, as `false` is the default behavior. */ + withIncidents?: boolean | null; + /** Only include process instances which have a root incident. Value may only be `true`, as `false` is the default behavior. */ + withRootIncidents?: boolean | null; + /** Filter by the incident type. See the [User Guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/incidents/#incident-types) for a list of incident types. */ + incidentType?: string | null; + /** Only include process instances which have an incident in status either open or resolved. To get all process instances, use the query parameter withIncidents. */ + incidentStatus?: ("open" | "resolved") | null; + /** Filter by the incident message. Exact match. */ + incidentMessage?: string | null; + /** Filter by the incident message that the parameter is a substring of. */ + incidentMessageLike?: string | null; + /** + * Restrict to instances that were started before the given date. + * By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + startedBefore?: string | null; + /** + * Restrict to instances that were started after the given date. + * By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + startedAfter?: string | null; + /** + * Restrict to instances that were finished before the given date. + * By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + finishedBefore?: string | null; + /** + * Restrict to instances that were finished after the given date. + * By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + finishedAfter?: string | null; + /** + * Restrict to instances that executed an activity after the given date (inclusive). + * By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + executedActivityAfter?: string | null; + /** + * Restrict to instances that executed an activity before the given date (inclusive). + * By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + executedActivityBefore?: string | null; + /** + * Restrict to instances that executed an job after the given date (inclusive). + * By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + executedJobAfter?: string | null; + /** + * Restrict to instances that executed an job before the given date (inclusive). + * By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + executedJobBefore?: string | null; + /** Only include process instances that were started by the given user. */ + startedBy?: string | null; + /** Restrict query to all process instances that are sub process instances of the given process instance. Takes a process instance id. */ + superProcessInstanceId?: string | null; + /** Restrict query to one process instance that has a sub process instance with the given id. */ + subProcessInstanceId?: string | null; + /** Restrict query to all process instances that are sub process instances of the given case instance. Takes a case instance id. */ + superCaseInstanceId?: string | null; + /** Restrict query to one process instance that has a sub case instance with the given id. */ + subCaseInstanceId?: string | null; + /** Restrict query to all process instances that are sub process instances of the given case instance. Takes a case instance id. */ + caseInstanceId?: string | null; + /** Filter by a list of tenant ids. A process instance must have one of the given tenant ids. Must be a JSON array of `Strings` */ + tenantIdIn?: string[] | null; + /** Only include historic process instances which belong to no tenant. Value may only be `true`, as `false` is the default behavior. */ + withoutTenantId?: boolean | null; + /** Restrict to instances that executed an activity with one of given ids. Must be a JSON array of `Strings` */ + executedActivityIdIn?: string[] | null; + /** Restrict to instances that have an active activity with one of given ids. Must be a JSON array of `Strings` */ + activeActivityIdIn?: string[] | null; + /** Restrict to instances that are active. */ + active?: boolean | null; + /** Restrict to instances that are suspended. */ + suspended?: boolean | null; + /** Restrict to instances that are completed. */ + completed?: boolean | null; + /** Restrict to instances that are externallyTerminated. */ + externallyTerminated?: boolean | null; + /** Restrict to instances that are internallyTerminated. */ + internallyTerminated?: boolean | null; + /** + * A JSON array to only include process instances that have/had variables with certain values. + * The array consists of objects with the three properties `name`, `operator` and `value`. `name` (`String`) is the variable name, + * `operator` (`String`) is the comparison operator to be used and `value` the variable value. + * + * Value may be `String`, `Number` or `Boolean`. + * + * Valid operator values are: `eq` - equal to; `neq` - not equal to; `gt` - greater than; `gteq` - greater than or equal to; `lt` - lower than; `lteq` - lower than or equal to; `like`. + */ + variables?: components["schemas"]["VariableQueryParameterDto"][] | null; + /** Match all variable names provided in variables case-insensitively. If set to `true` variableName and variablename are treated as equal. */ + variableNamesIgnoreCase?: boolean | null; + /** Match all variable values provided in variables case-insensitively. If set to `true` variableValue and variablevalue are treated as equal. */ + variableValuesIgnoreCase?: boolean | null; + /** + * A JSON array of nested historic process instance queries with OR semantics. + * + * A process instance matches a nested query if it fulfills at least one of the query's predicates. + * + * With multiple nested queries, a process instance must fulfill at least one predicate of each query + * ([Conjunctive Normal Form](https://en.wikipedia.org/wiki/Conjunctive_normal_form)). + * + * All process instance query properties can be used except for: `sorting` + * + * See the [User Guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/process-engine-api/#or-queries) for more information about OR queries. + */ + orQueries?: + | components["schemas"]["HistoricProcessInstanceQueryDto"][] + | null; + /** Apply sorting of the result */ + sorting?: { + /** + * Sort the results lexicographically by a given criterion. + * Must be used in conjunction with the sortOrder parameter. + */ + sortBy?: + | ( + | "instanceId" + | "definitionId" + | "definitionKey" + | "definitionName" + | "definitionVersion" + | "businessKey" + | "startTime" + | "endTime" + | "duration" + | "tenantId" + ) + | null; + /** + * Sort the results in a given order. Values may be `asc` for ascending order or `desc` for + * descending order. Must be used in conjunction with the sortBy parameter. + */ + sortOrder?: ("asc" | "desc") | null; + }[]; + }; + HistoryTimeToLiveDto: { + /** + * New value for historyTimeToLive field of the definition. + * Can be `null`. Can not be negative. + */ + historyTimeToLive?: number | null; + }; + IdentityLinkDto: { + /** The id of the user participating in this link. Either `userId` or `groupId` is set. */ + userId?: string | null; + /** The id of the group participating in this link. Either `groupId` or `userId` is set. */ + groupId?: string | null; + /** + * The type of the identity link. The value of the this property can be user-defined. The Process Engine + * provides three pre-defined Identity Link `type`s: + * + * * `candidate` + * * `assignee` - reserved for the task assignee + * * `owner` - reserved for the task owner + * + * **Note**: When adding or removing an Identity Link, the `type` property must be defined. + */ + type: string | null; + }; + IdentityServiceGroupDto: { + /** The id of the group. */ + id?: string | null; + /** The name of the group. */ + name?: string | null; + }; + IdentityServiceGroupInfoDto: { + /** An array of group objects. */ + groups?: components["schemas"]["IdentityServiceGroupDto"][] | null; + /** An array that contains all users that are member in one of the groups. */ + groupUsers?: components["schemas"]["IdentityServiceUserDto"][] | null; + }; + IdentityServiceUserDto: { + /** The id of the user. */ + id?: string | null; + /** The firstname of the user. */ + firstName?: string | null; + /** The lastname of the user. */ + lastName?: string | null; + /** The displayName is generated from the id or firstName and lastName if available. */ + displayName?: string | null; + }; + IncidentDto: { + /** The id of the incident. */ + id?: string | null; + /** The id of the process definition this incident is associated with. */ + processDefinitionId?: string | null; + /** The id of the process instance this incident is associated with. */ + processInstanceId?: string | null; + /** The id of the execution this incident is associated with. */ + executionId?: string | null; + /** + * The time this incident happened. By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), + * the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + incidentTimestamp?: string | null; + /** + * The type of incident, for example: `failedJobs` will be returned in case of an incident which identified + * a failed job during the execution of a process instance. See the + * [User Guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/incidents/#incident-types) for a list of incident types. + */ + incidentType?: string | null; + /** The id of the activity this incident is associated with. */ + activityId?: string | null; + /** The id of the activity on which the last exception occurred. */ + failedActivityId?: string | null; + /** The id of the associated cause incident which has been triggered. */ + causeIncidentId?: string | null; + /** The id of the associated root cause incident which has been triggered. */ + rootCauseIncidentId?: string | null; + /** The payload of this incident. */ + configuration?: string | null; + /** The id of the tenant this incident is associated with. */ + tenantId?: string | null; + /** The message of this incident. */ + incidentMessage?: string | null; + /** The job definition id the incident is associated with. */ + jobDefinitionId?: string | null; + /** The annotation set to the incident. */ + annotation?: string | null; + }; + IncidentStatisticsResultDto: { + /** + * The type of the incident the number of incidents is aggregated for. + * See the [User Guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/incidents/#incident-types) for a list of incident types. + */ + incidentType?: string | null; + /** The total number of incidents for the corresponding incident type. */ + incidentCount?: number | null; + }; + JobConditionQueryParameterDto: { + /** Comparison operator to be used. */ + operator?: ("gt" | "lt") | null; + /** Date value to compare with. */ + value?: string | null; + }; + JobDto: { + /** The id of the job. */ + id?: string | null; + /** The id of the associated job definition. */ + jobDefinitionId?: string | null; + /** The date on which this job is supposed to be processed. */ + dueDate?: string | null; + /** The id of the process instance which execution created the job. */ + processInstanceId?: string | null; + /** The specific execution id on which the job was created. */ + executionId?: string | null; + /** The id of the process definition which this job belongs to. */ + processDefinitionId?: string | null; + /** The key of the process definition which this job belongs to. */ + processDefinitionKey?: string | null; + /** The number of retries this job has left. */ + retries?: number | null; + /** + * The message of the exception that occurred, the last time the job was executed. Is + * null when no exception occurred. + */ + exceptionMessage?: string | null; + /** + * The id of the activity on which the last exception occurred, the last time the job + * was executed. Is null when no exception occurred. + */ + failedActivityId?: string | null; + /** A flag indicating whether the job is suspended or not. */ + suspended?: boolean | null; + /** The job's priority for execution. */ + priority?: number | null; + /** The id of the tenant which this job belongs to. */ + tenantId?: string | null; + /** The date on which this job has been created. */ + createTime?: string | null; + }; + JobDuedateDto: { + /** The date to set when the job has the next execution. */ + duedate?: string | null; + /** + * A boolean value to indicate if modifications to the due date should cascade to + * subsequent jobs. (e.g. Modify the due date of a timer by +15 + * minutes. This flag indicates if a +15 minutes should be applied to all + * subsequent timers.) This flag only affects timer jobs and only works if due date + * is not null. Default: `false` + */ + cascade?: boolean | null; + }; + /** A Job instance query which defines a list of Job instances */ + JobQueryDto: { + /** Filter by job id. */ + jobId?: string | null; + /** Filter by a list of job ids. */ + jobIds?: string[] | null; + /** Only select jobs which exist for the given job definition. */ + jobDefinitionId?: string | null; + /** Only select jobs which exist for the given process instance. */ + processInstanceId?: string | null; + /** Only select jobs which exist for the given list of process instance ids. */ + processInstanceIds?: string[] | null; + /** Only select jobs which exist for the given execution. */ + executionId?: string | null; + /** Filter by the id of the process definition the jobs run on. */ + processDefinitionId?: string | null; + /** Filter by the key of the process definition the jobs run on. */ + processDefinitionKey?: string | null; + /** Only select jobs which exist for an activity with the given id. */ + activityId?: string | null; + /** + * Only select jobs which have retries left. Value may only be `true`, as `false` is the + * default behavior. + */ + withRetriesLeft?: boolean | null; + /** + * Only select jobs which are executable, i.e., retries > 0 and due date is `null` or due + * date is in the past. Value may only be `true`, as `false` is the default + * behavior. + */ + executable?: boolean | null; + /** + * Only select jobs that are timers. Cannot be used together with `messages`. Value may only + * be `true`, as `false` is the default behavior. + */ + timers?: boolean | null; + /** + * Only select jobs that are messages. Cannot be used together with `timers`. Value may only + * be `true`, as `false` is the default behavior. + */ + messages?: boolean | null; + /** Only select jobs where the due date is lower or higher than the given date. */ + dueDates?: + | components["schemas"]["JobConditionQueryParameterDto"][] + | null; + /** Only select jobs created before or after the given date. */ + createTimes?: + | components["schemas"]["JobConditionQueryParameterDto"][] + | null; + /** + * Only select jobs that failed due to an exception. Value may only be `true`, as `false` is + * the default behavior. + */ + withException?: boolean | null; + /** Only select jobs that failed due to an exception with the given message. */ + exceptionMessage?: string | null; + /** Only select jobs that failed due to an exception at an activity with the given id. */ + failedActivityId?: string | null; + /** + * Only select jobs which have no retries left. Value may only be `true`, as `false` is the + * default behavior. + */ + noRetriesLeft?: boolean | null; + /** Only include active jobs. Value may only be `true`, as `false` is the default behavior. */ + active?: boolean | null; + /** Only include suspended jobs. Value may only be `true`, as `false` is the default behavior. */ + suspended?: boolean | null; + /** + * Only include jobs with a priority lower than or equal to the given value. Value must be a + * valid `long` value. + */ + priorityLowerThanOrEquals?: number | null; + /** + * Only include jobs with a priority higher than or equal to the given value. Value must be a + * valid `long` value. + */ + priorityHigherThanOrEquals?: number | null; + /** Only include jobs which belong to one of the passed tenant ids. */ + tenantIdIn?: string[] | null; + /** + * Only include jobs which belong to no tenant. Value may only be `true`, as `false` is the + * default behavior. + */ + withoutTenantId?: boolean | null; + /** + * Include jobs which belong to no tenant. Can be used in combination with `tenantIdIn`. + * Value may only be `true`, as `false` is the default behavior. + */ + includeJobsWithoutTenantId?: boolean | null; + /** + * An array of criteria to sort the result by. Each element of the array is + * an object that specifies one ordering. The position in the array + * identifies the rank of an ordering, i.e., whether it is primary, secondary, + * etc. Does not have an effect for the `count` endpoint. + */ + sorting?: { + /** + * Sort the results lexicographically by a given criterion. + * Must be used in conjunction with the sortOrder parameter. + */ + sortBy?: + | ( + | "jobId" + | "executionId" + | "processInstanceId" + | "processDefinitionId" + | "processDefinitionKey" + | "jobPriority" + | "jobRetries" + | "jobDueDate" + | "tenantId" + ) + | null; + /** + * Sort the results in a given order. Values may be `asc` for ascending order or `desc` for + * descending order. Must be used in conjunction with the sortBy parameter. + */ + sortOrder?: ("asc" | "desc") | null; + }[]; + }; + JobSuspensionStateDto: { + /** The job definition id of the jobs to activate or suspend. */ + "jobDefinitionId "?: string | null; + /** The process definition id of the jobs to activate or suspend. */ + processDefinitionId?: string | null; + /** The process instance id of the jobs to activate or suspend. */ + processInstanceId?: string | null; + /** The process definition key of the jobs to activate or suspend. */ + processDefinitionKey?: string | null; + /** + * Only activate or suspend jobs of a process definition which belongs to a tenant + * with the given id. Works only when selecting with `processDefinitionKey`. + */ + processDefinitionTenantId?: string | null; + /** + * Only activate or suspend jobs of a process definition which belongs to no tenant. + * Value may only be `true`, as `false` is the default behavior. Works only when selecting with `processDefinitionKey`. + */ + processDefinitionWithoutTenantId?: boolean | null; + } & components["schemas"]["SuspensionStateDto"]; + LinkableDto: { + /** The links associated to this resource, with `method`, `href` and `rel`. */ + links?: components["schemas"]["AtomLink"][] | null; + }; + LockExternalTaskDto: { + /** + * The duration to lock the external task for in milliseconds. + * **Note:** Attempting to lock an already locked external task with the same `workerId` + * will succeed and a new lock duration will be set, starting from the current moment. + */ + lockDuration?: number; + } & components["schemas"]["HandleExternalTaskDto"]; + LockedExternalTaskDto: { + /** The id of the activity that this external task belongs to. */ + activityId?: string | null; + /** The id of the activity instance that the external task belongs to. */ + activityInstanceId?: string | null; + /** + * The full error message submitted with the latest reported failure executing this task;`null` if no failure + * was reported previously or if no error message was submitted + */ + errorMessage?: string | null; + /** + * The error details submitted with the latest reported failure executing this task.`null` if no failure was + * reported previously or if no error details was submitted + */ + errorDetails?: string | null; + /** The id of the execution that the external task belongs to. */ + executionId?: string | null; + /** The id of the external task. */ + id?: string | null; + /** The date that the task's most recent lock expires or has expired. */ + lockExpirationTime?: string | null; + /** The id of the process definition the external task is defined in. */ + processDefinitionId?: string | null; + /** The key of the process definition the external task is defined in. */ + processDefinitionKey?: string | null; + /** The version tag of the process definition the external task is defined in. */ + processDefinitionVersionTag?: string | null; + /** The id of the process instance the external task belongs to. */ + processInstanceId?: string | null; + /** The id of the tenant the external task belongs to. */ + tenantId?: string | null; + /** The number of retries the task currently has left. */ + retries?: number | null; + /** Whether the process instance the external task belongs to is suspended. */ + suspended?: boolean | null; + /** The id of the worker that posesses or posessed the most recent lock. */ + workerId?: string | null; + /** The priority of the external task. */ + priority?: number | null; + /** The topic name of the external task. */ + topicName?: string | null; + /** The business key of the process instance the external task belongs to. */ + businessKey?: string | null; + /** + * A JSON object containing a property for each of the requested variables. The key is the variable name, + * the value is a JSON object of serialized variable values with the following properties: + */ + variables?: { + [key: string]: components["schemas"]["VariableValueDto"]; + } | null; + }; + /** + * The `processInstance` property only has a value if the resultType is set to `ProcessDefinition`. + * The processInstance with the properties as described in the + * [get single instance](https://docs.camunda.org/manual/latest/reference/rest/process-instance/get/) method. + * + * The `execution` property only has a value if the resultType is set to `Execution`. + * The execution with the properties as described in the + * [get single execution](https://docs.camunda.org/manual/latest/reference/rest/execution/get/) method. + */ + MessageCorrelationResultWithVariableDto: { + /** + * Indicates if the message was correlated to a message start event or an + * intermediate message catching event. In the first case, the resultType is + * `ProcessDefinition` and otherwise `Execution`. + */ + resultType?: ("Execution" | "ProcessDefinition") | null; + processInstance?: components["schemas"]["ProcessInstanceDto"]; + execution?: components["schemas"]["ExecutionDto"]; + /** + * This property is returned if the `variablesInResultEnabled` is set to `true`. + * Contains a list of the process variables. + */ + variables?: { + [key: string]: components["schemas"]["VariableValueDto"]; + } | null; + }; + MetricsIntervalResultDto: { + /** The interval timestamp. */ + timestamp?: string | null; + /** The name of the metric. */ + name?: string | null; + /** The reporter of the metric. `null` if the metrics are aggregated by reporter. */ + reporter?: string | null; + /** The value of the metric aggregated by the interval. */ + value?: number | null; + }; + MetricsResultDto: { + /** The current sum (count) for the selected metric. */ + result?: number | null; + }; + MissingAuthorizationDto: { + /** The permission name that the user is missing. */ + permissionName?: string | null; + /** The name of the resource that the user is missing permission for. */ + resourceName?: string | null; + /** The id of the resource that the user is missing permission for. */ + resourceId?: string | null; + }; + MultiFormAttachmentDto: { + /** The name of the attachment. */ + "attachment-name"?: string | null; + /** The description of the attachment. */ + "attachment-description"?: string | null; + /** The type of the attachment. */ + "attachment-type"?: string | null; + /** The url to the remote content of the attachment. */ + url?: string | null; + /** The content of the attachment. */ + content?: string | null; + }; + MultiFormDeploymentDto: { + /** The tenant id for the deployment to be created. */ + "tenant-id"?: string | null; + /** The source for the deployment to be created. */ + "deployment-source"?: string | null; + /** + * A flag indicating whether the process engine should perform duplicate checking on a per-resource basis. + * If set to true, only those resources that have actually changed are deployed. + * Checks are made against resources included previous deployments of the same name and only against the latest versions of those resources. + * If set to true, the option enable-duplicate-filtering is overridden and set to true. + */ + "deploy-changed-only"?: boolean | null; + /** + * A flag indicating whether the process engine should perform duplicate checking for the deployment or not. + * This allows you to check if a deployment with the same name and the same resouces already exists and + * if true, not create a new deployment but instead return the existing deployment. The default value is false. + */ + "enable-duplicate-filtering"?: boolean | null; + /** The name for the deployment to be created. */ + "deployment-name"?: string | null; + /** + * The binary data to create the deployment resource. + * It is possible to have more than one form part with different form part names for the binary data to create a deployment. + */ + data?: string | null; + }; + MultiFormVariableBinaryDto: { + /** + * The binary data to be set. + * For File variables, this multipart can contain the filename, binary value and MIME type of the file variable to be set + * Only the filename is mandatory. + */ + data?: string | null; + /** The name of the variable type. Either Bytes for a byte array variable or File for a file variable. */ + valueType?: ("Bytes" | "File") | null; + }; + ParseExceptionDto: { + /** A JSON Object containing list of errors and warnings occurred during deployment. */ + details?: { + [key: string]: components["schemas"]["ResourceReportDto"]; + } | null; + } & components["schemas"]["ExceptionDto"]; + PasswordPolicyDto: { + /** An array of password policy rules. Each element of the array is representing one rule of the policy. */ + rules?: components["schemas"]["PasswordPolicyRuleDto"][] | null; + }; + PasswordPolicyRequestDto: { + /** The candidate password to be check against the password policy. */ + password?: string | null; + profile?: components["schemas"]["UserProfileDto"]; + }; + /** Describes a rule of a password policy. */ + PasswordPolicyRuleDto: { + /** A placeholder string that contains the name of a password policy rule. */ + placeholder?: string | null; + /** A map that describes the characteristics of a password policy rule, such as the minimum number of digits. */ + parameter?: { [key: string]: string }; + }; + PatchVariablesDto: { + /** A JSON object containing variable key-value pairs. */ + modifications?: { + [key: string]: components["schemas"]["VariableValueDto"]; + } | null; + /** An array of String keys of variables to be deleted. */ + deletions?: string[] | null; + }; + PriorityDto: { + /** The priority of the resource. */ + priority?: number | null; + }; + ProblemDto: { + /** The message of the problem. */ + message?: string | null; + /** The line where the problem occurred. */ + line?: number | null; + /** The column where the problem occurred. */ + column?: number | null; + /** The main element id where the problem occurred. */ + mainElementId?: string | null; + /** A list of element id affected by the problem. */ + elementIds?: string[] | null; + }; + ProcessDefinitionDiagramDto: { + /** The id of the process definition. */ + id?: string | null; + /** + * An escaped XML string containing the XML that this definition was deployed with. + * Carriage returns, line feeds and quotation marks are escaped. + */ + bpmn20Xml?: string | null; + }; + ProcessDefinitionDto: { + /** The id of the process definition */ + id?: string | null; + /** The key of the process definition, i.e., the id of the BPMN 2.0 XML process definition. */ + key?: string | null; + /** The category of the process definition. */ + category?: string | null; + /** The description of the process definition. */ + description?: string | null; + /** The name of the process definition. */ + name?: string | null; + /** The version of the process definition that the engine assigned to it. */ + version?: number | null; + /** The file name of the process definition. */ + resource?: string | null; + /** The deployment id of the process definition. */ + deploymentId?: string | null; + /** The file name of the process definition diagram, if it exists. */ + diagram?: string | null; + /** A flag indicating whether the definition is suspended or not. */ + suspended?: boolean | null; + /** The tenant id of the process definition. */ + tenantId?: string | null; + /** The version tag of the process definition. */ + versionTag?: string | null; + /** + * History time to live value of the process definition. + * Is used within [History cleanup](https://docs.camunda.org/manual/latest/user-guide/process-engine/history/#history-cleanup). + */ + historyTimeToLive?: number | null; + /** A flag indicating whether the process definition is startable in Tasklist or not. */ + startableInTasklist?: boolean | null; + }; + ProcessDefinitionStatisticsResultDto: { + /** The id of the process definition the results are aggregated for. */ + id?: string | null; + /** The total number of running process instances of this process definition. */ + instances?: number; + /** + * The total number of failed jobs for the running instances. + * **Note**: Will be `0` (not `null`), if failed jobs were excluded. + */ + failedJobs?: number; + /** + * Each item in the resulting array is an object which contains `incidentType` and `incidentCount`. + * **Note**: Will be an empty array, if `incidents` or `incidentsForType` were excluded. + * Furthermore, the array will be also empty if no incidents were found. + */ + incidents?: components["schemas"]["IncidentStatisticsResultDto"][] | null; + definition?: components["schemas"]["ProcessDefinitionDto"]; + }; + ProcessDefinitionSuspensionStateDto: { + /** + * A `Boolean` value which indicates whether to activate or suspend all process definitions with the given key. + * When the value is set to `true`, all process definitions with the given key will be suspended and + * when the value is set to `false`, all process definitions with the given key will be activated. + */ + suspended?: boolean | null; + /** The id of the process definitions to activate or suspend. */ + processDefinitionId?: string | null; + /** The key of the process definitions to activate or suspend. */ + processDefinitionKey?: string | null; + /** + * A `Boolean` value which indicates whether to activate or suspend also all process instances of + * the process definitions with the given key. + * When the value is set to `true`, all process instances of the process definitions with the given key + * will be activated or suspended and when the value is set to `false`, the suspension state of + * all process instances of the process definitions with the given key will not be updated. + */ + includeProcessInstances?: boolean | null; + /** + * The date on which all process definitions with the given key will be activated or suspended. + * If `null`, the suspension state of all process definitions with the given key is updated immediately. + * By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), + * the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + executionDate?: string | null; + }; + ProcessEngineDto: { + /** The name of the process engine. */ + name?: string | null; + }; + ProcessInstanceDto: { + /** The id of the process instance. */ + id?: string | null; + /** The id of the process definition that this process instance belongs to. */ + definitionId?: string | null; + /** The business key of the process instance. */ + businessKey?: string | null; + /** The id of the case instance associated with the process instance. */ + caseInstanceId?: string | null; + /** A flag indicating whether the process instance has ended or not. Deprecated: will always be false! */ + ended?: boolean | null; + /** A flag indicating whether the process instance is suspended or not. */ + suspended?: boolean | null; + /** The tenant id of the process instance. */ + tenantId?: string | null; + } & components["schemas"]["LinkableDto"]; + ProcessInstanceModificationDto: { + /** Skip execution listener invocation for activities that are started or ended as part of this request. */ + skipCustomListeners?: boolean | null; + /** + * Skip execution of [input/output variable mappings](https://docs.camunda.org/manual/latest/user-guide/process-engine/variables/#input-output-variable-mapping) + * for activities that are started or ended as part of this request. + */ + skipIoMappings?: boolean | null; + /** JSON array of modification instructions. The instructions are executed in the order they are in. */ + instructions?: + | components["schemas"]["ProcessInstanceModificationInstructionDto"][] + | null; + /** An arbitrary text annotation set by a user for auditing reasons. */ + annotation?: string | null; + }; + ProcessInstanceModificationInstructionDto: { + /** + * **Mandatory**. One of the following values: `cancel`, `startBeforeActivity`, `startAfterActivity`, `startTransition`. + * + * * A cancel instruction requests cancellation of a single activity instance or all instances of one activity. + * * A startBeforeActivity instruction requests to enter a given activity. + * * A startAfterActivity instruction requests to execute the single outgoing sequence flow of a given activity. + * * A startTransition instruction requests to execute a specific sequence flow. + */ + type: + | "cancel" + | "startBeforeActivity" + | "startAfterActivity" + | "startTransition"; + variables?: components["schemas"]["TriggerVariableValueDto"]; + /** Can be used with instructions of types `startTransition`. Specifies the sequence flow to start. */ + activityId?: string | null; + /** Can be used with instructions of types `startTransition`. Specifies the sequence flow to start. */ + transitionId?: string | null; + /** + * Can be used with instructions of type `cancel`. Specifies the activity instance to cancel. + * Valid values are the activity instance IDs supplied by the [Get Activity Instance request](https://docs.camunda.org/manual/latest/reference/rest/process-instance/get-activity-instances/). + */ + activityInstanceId?: string | null; + /** + * Can be used with instructions of type `cancel`. Specifies the transition instance to cancel. + * Valid values are the transition instance IDs supplied by the [Get Activity Instance request](https://docs.camunda.org/manual/latest/reference/rest/process-instance/get-activity-instances/). + */ + transitionInstanceId?: string | null; + /** + * Can be used with instructions of type `startBeforeActivity`, `startAfterActivity`, and `startTransition`. + * Valid values are the activity instance IDs supplied by the Get Activity Instance request. + * If there are multiple parent activity instances of the targeted activity, + * this specifies the ancestor scope in which hierarchy the activity/transition is to be instantiated. + * + * Example: When there are two instances of a subprocess and an activity contained in the subprocess is to be started, + * this parameter allows to specifiy under which subprocess instance the activity should be started. + */ + ancestorActivityInstanceId?: string | null; + /** Can be used with instructions of type cancel. Prevents the deletion of new created activity instances. */ + cancelCurrentActiveActivityInstances?: boolean | null; + }; + /** A process instance query which defines a group of process instances */ + ProcessInstanceQueryDto: { + /** Filter by the deployment the id belongs to. */ + deploymentId?: string | null; + /** Filter by the process definition the instances run on. */ + processDefinitionId?: string | null; + /** Filter by the key of the process definition the instances run on. */ + processDefinitionKey?: string | null; + /** + * Filter by a list of process definition keys. + * A process instance must have one of the given process definition keys. Must be a JSON array of Strings. + */ + processDefinitionKeyIn?: string[] | null; + /** + * Exclude instances by a list of process definition keys. + * A process instance must not have one of the given process definition keys. Must be a JSON array of Strings. + */ + processDefinitionKeyNotIn?: string[] | null; + /** Filter by process instance business key. */ + businessKey?: string | null; + /** Filter by process instance business key that the parameter is a substring of. */ + businessKeyLike?: string | null; + /** Filter by case instance id. */ + caseInstanceId?: string | null; + /** + * Restrict query to all process instances that are sub process instances of the given process instance. + * Takes a process instance id. + */ + superProcessInstance?: string | null; + /** + * Restrict query to all process instances that have the given process instance as a sub process instance. + * Takes a process instance id. + */ + subProcessInstance?: string | null; + /** + * Restrict query to all process instances that are sub process instances of the given case instance. + * Takes a case instance id. + */ + superCaseInstance?: string | null; + /** + * Restrict query to all process instances that have the given case instance as a sub case instance. + * Takes a case instance id. + */ + subCaseInstance?: string | null; + /** Only include active process instances. Value may only be true, as false is the default behavior. */ + active?: boolean | null; + /** Only include suspended process instances. Value may only be true, as false is the default behavior. */ + suspended?: boolean | null; + /** Filter by a list of process instance ids. Must be a JSON array of Strings. */ + processInstanceIds?: string[] | null; + /** Filter by presence of incidents. Selects only process instances that have an incident. */ + withIncident?: boolean | null; + /** Filter by the incident id. */ + incidentId?: string | null; + /** Filter by the incident type. See the User Guide for a list of incident types. */ + incidentType?: string | null; + /** Filter by the incident message. Exact match. */ + incidentMessage?: string | null; + /** Filter by the incident message that the parameter is a substring of. */ + incidentMessageLike?: string | null; + /** + * Filter by a list of tenant ids. A process instance must have one of the given tenant ids. + * Must be a JSON array of Strings. + */ + tenantIdIn?: string[] | null; + /** + * Only include process instances which belong to no tenant. + * Value may only be true, as false is the default behavior. + */ + withoutTenantId?: boolean | null; + /** Only include process instances which process definition has no tenant id. */ + processDefinitionWithoutTenantId?: boolean | null; + /** + * Filter by a list of activity ids. + * A process instance must currently wait in a leaf activity with one of the given activity ids. + */ + activityIdIn?: string[] | null; + /** Restrict the query to all process instances that are top level process instances. */ + rootProcessInstances?: boolean | null; + /** Restrict the query to all process instances that are leaf instances. (i.e. don't have any sub instances) */ + leafProcessInstances?: boolean | null; + /** + * A JSON array to only include process instances that have variables with certain values. + * The array consists of objects with the three properties `name`, `operator` and `value`. + * `name` (String) is the variable name, + * `operator` (String) is the comparison operator to be used and `value` the variable value. + * The `value` may be String, Number or Boolean. + * + * Valid operator values are: `eq` - equal to; `neq` - not equal to; `gt` - greater than; + * `gteq` - greater than or equal to; `lt` - lower than; `lteq` - lower than or equal to; `like`. + */ + variables?: components["schemas"]["VariableQueryParameterDto"][] | null; + /** + * Match all variable names in this query case-insensitively. + * If set to true variableName and variablename are treated as equal. + */ + variableNamesIgnoreCase?: boolean | null; + /** + * Match all variable values in this query case-insensitively. + * If set to true variableValue and variablevalue are treated as equal. + */ + variableValuesIgnoreCase?: boolean | null; + /** + * A JSON array of nested process instance queries with OR semantics. + * A process instance matches a nested query if it fulfills at least one of the query's predicates. + * With multiple nested queries, a process instance must fulfill at least one predicate of each query (Conjunctive Normal Form). + * All process instance query properties can be used except for: `sorting` + * See the [User guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/process-engine-api/#or-queries) for more information about OR queries. + */ + orQueries?: components["schemas"]["ProcessInstanceQueryDto"][] | null; + /** Apply sorting of the result */ + sorting?: { + /** + * Sort the results lexicographically by a given criterion. + * Must be used in conjunction with the sortOrder parameter. + */ + sortBy?: + | ( + | "instanceId" + | "definitionId" + | "definitionKey" + | "businessKey" + | "tenantId" + ) + | null; + /** + * Sort the results in a given order. Values may be `asc` for ascending order or `desc` for + * descending order. Must be used in conjunction with the sortBy parameter. + */ + sortOrder?: ("asc" | "desc") | null; + }[]; + }; + ProcessInstanceSuspensionStateAsyncDto: { + /** + * A list of process instance ids which defines a group of process instances + * which will be activated or suspended by the operation. + */ + processInstanceIds?: string[] | null; + processInstanceQuery?: components["schemas"]["ProcessInstanceQueryDto"]; + historicProcessInstanceQuery?: components["schemas"]["HistoricProcessInstanceQueryDto"]; + } & components["schemas"]["SuspensionStateDto"]; + ProcessInstanceSuspensionStateDto: { + /** + * The process definition id of the process instances to activate or suspend. + * + * **Note**: This parameter can be used only with combination of `suspended`. + */ + processDefinitionId?: string | null; + /** + * The process definition key of the process instances to activate or suspend. + * + * **Note**: This parameter can be used only with combination of `suspended`, `processDefinitionTenantId`, and `processDefinitionWithoutTenantId`. + */ + processDefinitionKey?: string | null; + /** + * Only activate or suspend process instances of a process definition which belongs to a tenant with the given id. + * + * **Note**: This parameter can be used only with combination of `suspended`, `processDefinitionKey`, and `processDefinitionWithoutTenantId`. + */ + processDefinitionTenantId?: string | null; + /** + * Only activate or suspend process instances of a process definition which belongs to no tenant. + * Value may only be true, as false is the default behavior. + * + * **Note**: This parameter can be used only with combination of `suspended`, `processDefinitionKey`, and `processDefinitionTenantId`. + */ + processDefinitionWithoutTenantId?: boolean | null; + /** + * A list of process instance ids which defines a group of process instances + * which will be activated or suspended by the operation. + * + * **Note**: This parameter can be used only with combination of `suspended`, `processInstanceQuery`, and `historicProcessInstanceQuery`. + */ + processInstanceIds?: string[] | null; + processInstanceQuery?: components["schemas"]["ProcessInstanceQueryDto"]; + historicProcessInstanceQuery?: components["schemas"]["HistoricProcessInstanceQueryDto"]; + } & components["schemas"]["SuspensionStateDto"]; + ProcessInstanceWithVariablesDto: { + /** The id of the process instance. */ + variables?: { + [key: string]: components["schemas"]["VariableValueDto"]; + } | null; + } & components["schemas"]["ProcessInstanceDto"]; + /** A JSON object with the following properties: */ + RedeploymentDto: { + /** A list of deployment resource ids to re-deploy. */ + resourceIds?: string[] | null; + /** A list of deployment resource names to re-deploy. */ + resourceNames?: string[] | null; + /** Sets the source of the deployment. */ + source?: string | null; + }; + ResourceOptionsDto: { + [key: string]: any; + } & components["schemas"]["LinkableDto"]; + ResourceReportDto: { + /** A list of errors occurred during parsing. */ + errors?: components["schemas"]["ProblemDto"][] | null; + /** A list of warnings occurred during parsing. */ + warnings?: components["schemas"]["ProblemDto"][] | null; + }; + RestartProcessInstanceDto: { + /** A list of process instance ids to restart. */ + processInstanceIds?: string[] | null; + historicProcessInstanceQuery?: components["schemas"]["HistoricProcessInstanceQueryDto"]; + /** Skip execution listener invocation for activities that are started as part of this request. */ + skipCustomListeners?: boolean | null; + /** + * Skip execution of + * [input/output variable mappings](https://docs.camunda.org/manual/latest/user-guide/process-engine/variables/#input-output-variable-mapping) + * for activities that are started as part of this request. + */ + skipIoMappings?: boolean | null; + /** Set the initial set of variables during restart. By default, the last set of variables is used. */ + initialVariables?: boolean | null; + /** Do not take over the business key of the historic process instance. */ + withoutBusinessKey?: boolean | null; + /** + * **Optional**. A JSON array of instructions that specify which activities to start the process instance at. + * If this property is omitted, the process instance starts at its default blank start event. + */ + instructions?: + | components["schemas"]["RestartProcessInstanceModificationInstructionDto"][] + | null; + }; + RestartProcessInstanceModificationInstructionDto: { + /** + * **Mandatory**. One of the following values: `startBeforeActivity`, `startAfterActivity`, `startTransition`. + * + * * A `startBeforeActivity` instruction requests to enter a given activity. + * * A `startAfterActivity` instruction requests to execute the single outgoing sequence flow of a given activity. + * * A `startTransition` instruction requests to execute a specific sequence flow. + */ + type: "startBeforeActivity" | "startAfterActivity" | "startTransition"; + /** + * **Can be used with instructions of types** `startBeforeActivity` + * and `startAfterActivity`. Specifies the sequence flow to start. + */ + activityId?: string | null; + /** + * **Can be used with instructions of types** `startTransition`. + * Specifies the sequence flow to start. + */ + transitionId?: string | null; + }; + RetriesDto: { + /** + * The number of retries to set for the resource. Must be >= 0. If this is 0, an incident is created + * and the task, or job, cannot be fetched, or acquired anymore unless the retries are increased again. + * Can not be null. + */ + retries?: number | null; + }; + SchemaLogEntryDto: { + /** The id of the schema log entry. */ + id?: string | null; + /** The date and time of the schema update. */ + timestamp?: string | null; + /** The version of the schema. */ + version?: string | null; + }; + SchemaLogQueryDto: { + /** The version of the schema. */ + version?: string | null; + /** + * A JSON array of criteria to sort the result by. Each element of the array is + * a JSON object that specifies one ordering. The position in the array + * identifies the rank of an ordering, i.e., whether it is primary, secondary, + * etc. + */ + sorting?: { + /** + * Sort the results lexicographically by a given criterion. + * Must be used in conjunction with the sortOrder parameter. + */ + sortBy?: "timestamp" | null; + /** + * Sort the results in a given order. Values may be `asc` for ascending order or `desc` for + * descending order. Must be used in conjunction with the sortBy parameter. + */ + sortOrder?: ("asc" | "desc") | null; + }[]; + }; + SetJobRetriesByProcessDto: { + /** A list of process instance ids to fetch jobs, for which retries will be set. */ + processInstances?: string[] | null; + /** An integer representing the number of retries. Please note that the value cannot be negative or null. */ + retries?: number | null; + processInstanceQuery?: components["schemas"]["ProcessInstanceQueryDto"]; + historicProcessInstanceQuery?: components["schemas"]["HistoricProcessInstanceQueryDto"]; + }; + /** + * Defines the number of retries for a selection of jobs. + * Please note that if both jobIds and jobQuery are provided, + * then retries will be set on the union of these sets. + */ + SetJobRetriesDto: { + /** A list of job ids to set retries for. */ + jobIds?: string[] | null; + jobQuery?: components["schemas"]["JobQueryDto"]; + /** + * An integer representing the number of retries. Please note that the value cannot be + * negative or null. + */ + retries?: number | null; + }; + SetRemovalTimeToHistoricProcessInstancesDto: { + /** The id of the process instance. */ + historicProcessInstanceIds?: string[] | null; + historicProcessInstanceQuery?: components["schemas"]["HistoricProcessInstanceQueryDto"]; + /** + * Sets the removal time to all historic process instances in the hierarchy. + * Value may only be `true`, as `false` is the default behavior. + */ + hierarchical?: boolean | null; + } & components["schemas"]["AbstractSetRemovalTimeDto"]; + SetRetriesForExternalTasksDto: { + /** + * The number of retries to set for the external task. Must be >= 0. If this is 0, an incident is created + * and the task cannot be fetched anymore unless the retries are increased again. Can not be null. + */ + retries?: number | null; + /** The ids of the external tasks to set the number of retries for. */ + externalTaskIds?: string[] | null; + /** The ids of process instances containing the tasks to set the number of retries for. */ + processInstanceIds?: string[] | null; + externalTaskQuery?: components["schemas"]["ExternalTaskQueryDto"]; + processInstanceQuery?: components["schemas"]["ProcessInstanceQueryDto"]; + historicProcessInstanceQuery?: components["schemas"]["HistoricProcessInstanceQueryDto"]; + }; + SetVariablesAsyncDto: { + /** + * A list of process instance ids that define a group of process instances + * to which the operation will set variables. + * + * Please note that if `processInstanceIds`, `processInstanceQuery` and `historicProcessInstanceQuery` + * are defined, the resulting operation will be performed on the union of these sets. + */ + processInstanceIds?: string[] | null; + processInstanceQuery?: components["schemas"]["ProcessInstanceQueryDto"]; + historicProcessInstanceQuery?: components["schemas"]["HistoricProcessInstanceQueryDto"]; + /** A variables the operation will set in the root scope of the process instances. */ + variables?: { + [key: string]: components["schemas"]["VariableValueDto"]; + } | null; + }; + SignalDto: { + /** + * The name of the signal to deliver. + * + * **Note**: This property is mandatory. + */ + name?: string; + /** + * Optionally specifies a single execution which is notified by the signal. + * + * **Note**: If no execution id is defined the signal is broadcasted to all subscribed + * handlers. + */ + executionId?: string | null; + /** + * A JSON object containing variable key-value pairs. Each key is a variable name and + * each value a JSON variable value object. + */ + variables?: { + [key: string]: components["schemas"]["VariableValueDto"]; + } | null; + /** + * Specifies a tenant to deliver the signal. The signal can only be received on + * executions or process definitions which belongs to the given tenant. + * + * **Note**: Cannot be used in combination with executionId. + */ + tenantId?: string | null; + /** + * If true the signal can only be received on executions or process definitions which + * belongs to no tenant. Value may not be false as this is the default behavior. + * + * **Note**: Cannot be used in combination with `executionId`. + */ + withoutTenantId?: boolean | null; + }; + /** + * Mandatory when `sortBy` is one of the following values: `processVariable`, `executionVariable`, + * `taskVariable`, `caseExecutionVariable` or `caseInstanceVariable`. Must be a JSON object with the properties + * `variable` and `type` where `variable` is a variable name and `type` is the name of a variable value type. + */ + SortTaskQueryParametersDto: { + /** The name of the variable to sort by. */ + variable?: string | null; + /** The name of the type of the variable value. */ + type?: string | null; + }; + StartProcessInstanceDto: { + /** The business key of the process instance. */ + businessKey?: string | null; + variables?: { + [key: string]: components["schemas"]["VariableValueDto"]; + } | null; + /** The case instance id the process instance is to be initialized with. */ + caseInstanceId?: string | null; + /** + * **Optional**. A JSON array of instructions that specify which activities to start the process instance at. + * If this property is omitted, the process instance starts at its default blank start event. + */ + startInstructions?: + | components["schemas"]["ProcessInstanceModificationInstructionDto"][] + | null; + /** + * Skip execution listener invocation for activities that are started or ended as part of this request. + * **Note**: This option is currently only respected when start instructions are submitted + * via the `startInstructions` property. + */ + skipCustomListeners?: boolean | null; + /** + * Skip execution of + * [input/output variable mappings](https://docs.camunda.org/manual/latest/user-guide/process-engine/variables/#input-output-variable-mapping) + * for activities that are started or ended as part of this request. + * **Note**: This option is currently only respected when start instructions are submitted + * via the `startInstructions` property. + */ + skipIoMappings?: boolean | null; + /** + * Indicates if the variables, which was used by the process instance during execution, should be returned. + * Default value: `false` + */ + withVariablesInReturn?: boolean | null; + }; + StartProcessInstanceFormDto: { + variables?: { + [key: string]: components["schemas"]["VariableValueDto"]; + } | null; + /** + * The business key the process instance is to be initialized with. + * The business key uniquely identifies the process instance in the context of the given process definition. + */ + businessKey?: string | null; + }; + SuspensionStateDto: { + /** + * A Boolean value which indicates whether to activate or suspend a given instance (e.g. process instance, job, or batch). + * When the value is set to true, the given instance will be suspended and when the value is set to false, + * the given instance will be activated. + */ + suspended?: boolean | null; + }; + TaskBpmnErrorDto: { + /** + * An error code that indicates the predefined error. It is used to identify the BPMN + * error handler. + */ + errorCode?: string | null; + /** An error message that describes the error. */ + errorMessage?: string | null; + /** A JSON object containing variable key-value pairs. */ + variables?: { + [key: string]: components["schemas"]["VariableValueDto"]; + } | null; + }; + TaskDto: { + /** The task id. */ + id?: string | null; + /** The task name. */ + name?: string | null; + /** The assignee's id. */ + assignee?: string | null; + /** The owner's id. */ + owner?: string | null; + /** + * The date the task was created on. + * [Default format](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/) + * `yyyy-MM-dd'T'HH:mm:ss.SSSZ`. + */ + created?: string | null; + /** + * The task's due date. + * [Default format](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/) + * `yyyy-MM-dd'T'HH:mm:ss.SSSZ`. + */ + due?: string | null; + /** + * The follow-up date for the task. + * [Default format](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/) + * `yyyy-MM-dd'T'HH:mm:ss.SSSZ`. + */ + followUp?: string | null; + /** The task's delegation state. Possible values are `PENDING` and `RESOLVED`. */ + delegationState?: ("PENDING" | "RESOLVED") | null; + /** The task's description. */ + description?: string | null; + /** The id of the execution the task belongs to. */ + executionId?: string | null; + /** The id the parent task, if this task is a subtask. */ + parentTaskId?: string | null; + /** The task's priority. */ + priority?: number | null; + /** The id of the process definition the task belongs to. */ + processDefinitionId?: string | null; + /** The id of the process instance the task belongs to. */ + processInstanceId?: string | null; + /** The id of the case execution the task belongs to. */ + caseExecutionId?: string | null; + /** The id of the case definition the task belongs to. */ + caseDefinitionId?: string | null; + /** The id of the case instance the task belongs to. */ + caseInstanceId?: string | null; + /** The task's key. */ + taskDefinitionKey?: string | null; + /** Whether the task belongs to a process instance that is suspended. */ + suspended?: boolean | null; + /** If not `null`, the form key for the task. */ + formKey?: string | null; + /** If not `null`, the tenant id of the task. */ + tenantId?: string | null; + }; + TaskEscalationDto: { + /** + * An escalation code that indicates the predefined escalation. It is used to identify + * the BPMN escalation handler. + */ + escalationCode?: string | null; + /** A JSON object containing variable key-value pairs. */ + variables?: { + [key: string]: components["schemas"]["VariableValueDto"]; + } | null; + }; + /** A Task query which defines a group of Tasks. */ + TaskQueryDto: { + /** Restrict to tasks that belong to process instances with the given id. */ + processInstanceId?: string | null; + /** Restrict to tasks that belong to process instances with the given ids. */ + processInstanceIdIn?: string[] | null; + /** Restrict to tasks that belong to process instances with the given business key. */ + processInstanceBusinessKey?: string | null; + /** + * Restrict to tasks that belong to process instances with the given business key which + * is described by an expression. See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. + */ + processInstanceBusinessKeyExpression?: string | null; + /** + * Restrict to tasks that belong to process instances with one of the give business keys. + * The keys need to be in a comma-separated list. + */ + processInstanceBusinessKeyIn?: string[] | null; + /** + * Restrict to tasks that have a process instance business key that has the parameter + * value as a substring. + */ + processInstanceBusinessKeyLike?: string | null; + /** + * Restrict to tasks that have a process instance business key that has the parameter + * value as a substring and is described by an expression. See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. + */ + processInstanceBusinessKeyLikeExpression?: string | null; + /** Restrict to tasks that belong to a process definition with the given id. */ + processDefinitionId?: string | null; + /** Restrict to tasks that belong to a process definition with the given key. */ + processDefinitionKey?: string | null; + /** + * Restrict to tasks that belong to a process definition with one of the given keys. The + * keys need to be in a comma-separated list. + */ + processDefinitionKeyIn?: string[] | null; + /** Restrict to tasks that belong to a process definition with the given name. */ + processDefinitionName?: string | null; + /** + * Restrict to tasks that have a process definition name that has the parameter value as + * a substring. + */ + processDefinitionNameLike?: string | null; + /** Restrict to tasks that belong to an execution with the given id. */ + executionId?: string | null; + /** Restrict to tasks that belong to case instances with the given id. */ + caseInstanceId?: string | null; + /** Restrict to tasks that belong to case instances with the given business key. */ + caseInstanceBusinessKey?: string | null; + /** + * Restrict to tasks that have a case instance business key that has the parameter value + * as a substring. + */ + caseInstanceBusinessKeyLike?: string | null; + /** Restrict to tasks that belong to a case definition with the given id. */ + caseDefinitionId?: string | null; + /** Restrict to tasks that belong to a case definition with the given key. */ + caseDefinitionKey?: string | null; + /** Restrict to tasks that belong to a case definition with the given name. */ + caseDefinitionName?: string | null; + /** + * Restrict to tasks that have a case definition name that has the parameter value as a + * substring. + */ + caseDefinitionNameLike?: string | null; + /** Restrict to tasks that belong to a case execution with the given id. */ + caseExecutionId?: string | null; + /** + * Only include tasks which belong to one of the passed and comma-separated activity + * instance ids. + */ + activityInstanceIdIn?: string[] | null; + /** + * Only include tasks which belong to one of the passed and comma-separated + * tenant ids. + */ + tenantIdIn?: string[] | null; + /** + * Only include tasks which belong to no tenant. Value may only be `true`, + * as `false` is the default behavior. + */ + withoutTenantId?: boolean | null; + /** Restrict to tasks that the given user is assigned to. */ + assignee?: string | null; + /** + * Restrict to tasks that the user described by the given expression is assigned to. See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. + */ + assigneeExpression?: string | null; + /** + * Restrict to tasks that have an assignee that has the parameter + * value as a substring. + */ + assigneeLike?: string | null; + /** + * Restrict to tasks that have an assignee that has the parameter value described by the + * given expression as a substring. See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. + */ + assigneeLikeExpression?: string | null; + /** Only include tasks which are assigned to one of the passed and comma-separated user ids. */ + assigneeIn?: string[] | null; + /** Restrict to tasks that the given user owns. */ + owner?: string | null; + /** + * Restrict to tasks that the user described by the given expression owns. See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. + */ + ownerExpression?: string | null; + /** Only include tasks that are offered to the given group. */ + candidateGroup?: string | null; + /** + * Only include tasks that are offered to the group described by the given expression. + * See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. + */ + candidateGroupExpression?: string | null; + /** Only include tasks that are offered to the given user or to one of his groups. */ + candidateUser?: string | null; + /** + * Only include tasks that are offered to the user described by the given expression. + * See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. + */ + candidateUserExpression?: string | null; + /** + * Also include tasks that are assigned to users in candidate queries. Default is to only + * include tasks that are not assigned to any user if you query by candidate user or + * group(s). + */ + includeAssignedTasks?: boolean | null; + /** + * Only include tasks that the given user is involved in. A user is involved in a task if + * an identity link exists between task and user (e.g., the user is the assignee). + */ + involvedUser?: string | null; + /** + * Only include tasks that the user described by the given expression is involved in. + * A user is involved in a task if an identity link exists between task and user + * (e.g., the user is the assignee). See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. + */ + involvedUserExpression?: string | null; + /** If set to `true`, restricts the query to all tasks that are assigned. */ + assigned?: boolean | null; + /** If set to `true`, restricts the query to all tasks that are unassigned. */ + unassigned?: boolean | null; + /** Restrict to tasks that have the given key. */ + taskDefinitionKey?: string | null; + /** Restrict to tasks that have one of the given keys. The keys need to be in a comma-separated list. */ + taskDefinitionKeyIn?: string[] | null; + /** Restrict to tasks that have a key that has the parameter value as a substring. */ + taskDefinitionKeyLike?: string | null; + /** Restrict to tasks that have the given name. */ + name?: string | null; + /** Restrict to tasks that do not have the given name. */ + nameNotEqual?: string | null; + /** Restrict to tasks that have a name with the given parameter value as substring. */ + nameLike?: string | null; + /** + * Restrict to tasks that do not have a name with the given parameter + * value as substring. + */ + nameNotLike?: string | null; + /** Restrict to tasks that have the given description. */ + description?: string | null; + /** + * Restrict to tasks that have a description that has the parameter + * value as a substring. + */ + descriptionLike?: string | null; + /** Restrict to tasks that have the given priority. */ + priority?: number | null; + /** Restrict to tasks that have a lower or equal priority. */ + maxPriority?: number | null; + /** Restrict to tasks that have a higher or equal priority. */ + minPriority?: number | null; + /** + * Restrict to tasks that are due on the given date. By + * [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the format + * `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.546+0200`. + */ + dueDate?: string | null; + /** + * Restrict to tasks that are due on the date described by the given expression. See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. The expression must evaluate to a + * `java.util.Date` or `org.joda.time.DateTime` object. + */ + dueDateExpression?: string | null; + /** + * Restrict to tasks that are due after the given date. By + * [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have + * the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.435+0200`. + */ + dueAfter?: string | null; + /** + * Restrict to tasks that are due after the date described by the given expression. + * See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. The expression must evaluate to a + * `java.util.Date` or `org.joda.time.DateTime` object. + */ + dueAfterExpression?: string | null; + /** + * Restrict to tasks that are due before the given date. By + * [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have + * the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.243+0200`. + */ + dueBefore?: string | null; + /** + * Restrict to tasks that are due before the date described by the given expression. + * See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. The expression must evaluate to a + * `java.util.Date` or `org.joda.time.DateTime` object. + */ + dueBeforeExpression?: string | null; + /** + * Only include tasks which have no due date. Value may only be `true`, + * as `false` is the default behavior. + */ + withoutDueDate?: boolean | null; + /** + * Restrict to tasks that have a followUp date on the given date. By + * [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date + * must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.342+0200`. + */ + followUpDate?: string | null; + /** + * Restrict to tasks that have a followUp date on the date described by the given + * expression. See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. The expression must evaluate to a + * `java.util.Date` or `org.joda.time.DateTime` object. + */ + followUpDateExpression?: string | null; + /** + * Restrict to tasks that have a followUp date after the given date. By + * [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have + * the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.542+0200`. + */ + followUpAfter?: string | null; + /** + * Restrict to tasks that have a followUp date after the date described by the given + * expression. See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. The expression must evaluate to a + * `java.util.Date` or `org.joda.time.DateTime` object. + */ + followUpAfterExpression?: string | null; + /** + * Restrict to tasks that have a followUp date before the given date. By + * [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have + * the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.234+0200`. + */ + followUpBefore?: string | null; + /** + * Restrict to tasks that have a followUp date before the date described by the given + * expression. See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. The expression must evaluate to a + * `java.util.Date` or `org.joda.time.DateTime` object. + */ + followUpBeforeExpression?: string | null; + /** + * Restrict to tasks that have no followUp date or a followUp date before the given date. + * By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have + * the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.432+0200`. The typical use case + * is to query all `active` tasks for a user for a given date. + */ + followUpBeforeOrNotExistent?: string | null; + /** + * Restrict to tasks that have no followUp date or a followUp date before the date + * described by the given expression. See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. The expression must evaluate to a + * `java.util.Date` or `org.joda.time.DateTime` object. + */ + followUpBeforeOrNotExistentExpression?: string | null; + /** + * Restrict to tasks that were created on the given date. By + * [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have + * the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.324+0200`. + */ + createdOn?: string | null; + /** + * Restrict to tasks that were created on the date described by the given expression. + * See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. The expression must evaluate to a + * `java.util.Date` or `org.joda.time.DateTime` object. + */ + createdOnExpression?: string | null; + /** + * Restrict to tasks that were created after the given date. By + * [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must + * have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.342+0200`. + */ + createdAfter?: string | null; + /** + * Restrict to tasks that were created after the date described by the given expression. + * See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. The expression must evaluate to a + * `java.util.Date` or `org.joda.time.DateTime` object. + */ + createdAfterExpression?: string | null; + /** + * Restrict to tasks that were created before the given date. By + * [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must + * have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.332+0200`. + */ + createdBefore?: string | null; + /** + * Restrict to tasks that were created before the date described by the given expression. + * See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. The expression must evaluate to a + * `java.util.Date` or `org.joda.time.DateTime` object. + */ + createdBeforeExpression?: string | null; + /** + * Restrict to tasks that are in the given delegation state. Valid values are + * `PENDING` and `RESOLVED`. + */ + delegationState?: ("PENDING" | "RESOLVED") | null; + /** + * Restrict to tasks that are offered to any of the given candidate groups. Takes a + * comma-separated list of group names, so for example + * `developers,support,sales`. + */ + candidateGroups?: string[] | null; + /** + * Restrict to tasks that are offered to any of the candidate groups described by the + * given expression. See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. The expression must evaluate to + * `java.util.List` of Strings. + */ + candidateGroupsExpression?: string | null; + /** + * Only include tasks which have a candidate group. Value may only be `true`, + * as `false` is the default behavior. + */ + withCandidateGroups?: boolean | null; + /** + * Only include tasks which have no candidate group. Value may only be `true`, + * as `false` is the default behavior. + */ + withoutCandidateGroups?: boolean | null; + /** + * Only include tasks which have a candidate user. Value may only be `true`, + * as `false` is the default behavior. + */ + withCandidateUsers?: boolean | null; + /** + * Only include tasks which have no candidate users. Value may only be `true`, + * as `false` is the default behavior. + */ + withoutCandidateUsers?: boolean | null; + /** + * Only include active tasks. Value may only be `true`, as `false` + * is the default behavior. + */ + active?: boolean | null; + /** + * Only include suspended tasks. Value may only be `true`, as + * `false` is the default behavior. + */ + suspended?: boolean | null; + /** + * A JSON array to only include tasks that have variables with certain values. The + * array consists of JSON objects with three properties `name`, `operator` and `value`. + * `name` is the variable name, `operator` is the comparison operator to be used and + * `value` the variable value. `value` may be of type `String`, `Number` or `Boolean`. + * + * Valid `operator` values are: + * `eq` - equal to; + * `neq` - not equal to; + * `gt` - greater than; + * `gteq` - greater than or equal to; + * `lt` - lower than; + * `lteq` - lower than or equal to; + * `like`. + * `key` and `value` may not contain underscore or comma characters. + */ + taskVariables?: + | components["schemas"]["VariableQueryParameterDto"][] + | null; + /** + * A JSON array to only include tasks that belong to a process instance with variables + * with certain values. The array consists of JSON objects with three properties + * `name`, `operator` and `value`. `name` is the variable name, `operator` is the + * comparison operator to be used and `value` the variable value. `value` may be of + * type `String`, `Number` or `Boolean`. + * + * Valid `operator` values are: + * `eq` - equal to; + * `neq` - not equal to; + * `gt` - greater than; + * `gteq` - greater than or equal to; + * `lt` - lower than; + * `lteq` - lower than or equal to; + * `like`; + * `notLike`. + * `key` and `value` may not contain underscore or comma characters. + */ + processVariables?: + | components["schemas"]["VariableQueryParameterDto"][] + | null; + /** + * A JSON array to only include tasks that belong to a case instance with variables + * with certain values. The array consists of JSON objects with three properties + * `name`, `operator` and `value`. `name` is the variable name, `operator` is the + * comparison operator to be used and `value` the variable value. `value` may be of + * type `String`, `Number` or `Boolean`. + * + * Valid `operator` values are: + * `eq` - equal to; + * `neq` - not equal to; + * `gt` - greater than; + * `gteq` - greater than or equal to; + * `lt` - lower than; + * `lteq` - lower than or equal to; + * `like`. + * `key` and `value` may not contain underscore or comma characters. + */ + caseInstanceVariables?: + | components["schemas"]["VariableQueryParameterDto"][] + | null; + /** + * Match all variable names in this query case-insensitively. If set + * `variableName` and `variablename` are treated as equal. + */ + variableNamesIgnoreCase?: boolean | null; + /** + * Match all variable values in this query case-insensitively. If set + * `variableValue` and `variablevalue` are treated as equal. + */ + variableValuesIgnoreCase?: boolean | null; + /** Restrict query to all tasks that are sub tasks of the given task. Takes a task id. */ + parentTaskId?: string | null; + /** + * A JSON array of nested task queries with OR semantics. A task matches a nested query if it fulfills + * *at least one* of the query's predicates. With multiple nested queries, a task must fulfill at least one predicate of *each* query ([Conjunctive Normal Form](https://en.wikipedia.org/wiki/Conjunctive_normal_form)). + * + * All task query properties can be used except for: `sorting`, `withCandidateGroups`, + * `withoutCandidateGroups`, `withCandidateUsers`, `withoutCandidateUsers` + * + * See the [User guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/process-engine-api/#or-queries) + * for more information about OR queries. + */ + orQueries?: components["schemas"]["TaskQueryDto"][] | null; + /** Apply sorting of the result */ + sorting?: { + /** + * Sort the results lexicographically by a given criterion. + * Must be used in conjunction with the sortOrder parameter. + */ + sortBy?: + | ( + | "instanceId" + | "caseInstanceId" + | "dueDate" + | "executionId" + | "caseExecutionId" + | "assignee" + | "created" + | "description" + | "id" + | "name" + | "nameCaseInsensitive" + | "priority" + | "processVariable" + | "executionVariable" + | "taskVariable" + | "caseExecutionVariable" + | "caseInstanceVariable" + ) + | null; + /** + * Sort the results in a given order. Values may be `asc` for ascending order or `desc` for + * descending order. Must be used in conjunction with the sortBy parameter. + */ + sortOrder?: ("asc" | "desc") | null; + parameters?: components["schemas"]["SortTaskQueryParametersDto"]; + }[]; + }; + TelemetryConfigurationDto: { + /** Specifies if the telemetry data should be sent or not. */ + enableTelemetry?: boolean | null; + }; + TenantDto: { + /** The id of the tenant. */ + id?: string | null; + /** The name of the tenant. */ + name?: string | null; + }; + /** A JSON object corresponding to the Activity Instance tree of the given process instance. */ + TransitionInstanceDto: { + /** The id of the transition instance. */ + id?: string | null; + /** The id of the parent activity instance, for example a sub process instance. */ + parentActivityInstanceId?: string | null; + /** The id of the activity that this instance enters (asyncBefore job) or leaves (asyncAfter job) */ + activityId?: string | null; + /** The name of the activity that this instance enters (asyncBefore job) or leaves (asyncAfter job) */ + activityName?: string | null; + /** The type of the activity that this instance enters (asyncBefore job) or leaves (asyncAfter job) */ + activityType?: string | null; + /** The id of the process instance this instance is part of. */ + processInstanceId?: string | null; + /** The id of the process definition. */ + processDefinitionId?: string | null; + /** The execution id. */ + executionId?: string | null; + /** A list of incident ids. */ + incidentIds?: string[] | null; + /** + * A list of JSON objects containing incident specific properties: + * * `id`: the id of the incident + * * `activityId`: the activity id in which the incident occurred + */ + incidents?: components["schemas"]["ActivityInstanceIncidentDto"][] | null; + }; + TriggerVariableValueDto: { + /** + * Indicates whether the variable should be a local variable or not. + * If set to true, the variable becomes a local variable of the execution + * entering the target activity. + */ + local?: boolean | null; + } & components["schemas"]["VariableValueDto"]; + UserCredentialsDto: { + /** The users new password. */ + password?: string | null; + /** + * The password of the authenticated user who changes the password of the user + * (i.e., the user with passed id as path parameter). + */ + authenticatedUserPassword?: string | null; + }; + UserDto: { + profile?: components["schemas"]["UserProfileDto"]; + credentials?: components["schemas"]["UserCredentialsDto"]; + }; + UserIdDto: { + /** The id of the user that the current action refers to. */ + userId?: string | null; + }; + UserProfileDto: { + /** The id of the user. */ + id?: string | null; + /** The first name of the user. */ + firstName?: string | null; + /** The first name of the user. */ + lastName?: string | null; + /** The email of the user. */ + email?: string | null; + }; + VariableInstanceDto: { + /** The id of the variable instance. */ + id?: string | null; + /** The name of the variable instance. */ + name?: string | null; + /** The id of the process definition that this variable instance belongs to. */ + processDefinitionId?: string | null; + /** The id of the process instance that this variable instance belongs to. */ + processInstanceId?: string | null; + /** The id of the execution that this variable instance belongs to. */ + executionId?: string | null; + /** The id of the case instance that this variable instance belongs to. */ + caseInstanceId?: string | null; + /** The id of the case execution that this variable instance belongs to. */ + caseExecutionId?: string | null; + /** The id of the task that this variable instance belongs to. */ + taskId?: string | null; + /** The id of the batch that this variable instance belongs to.< */ + batchId?: string | null; + /** The id of the activity instance that this variable instance belongs to. */ + activityInstanceId?: string | null; + /** The id of the tenant that this variable instance belongs to. */ + tenantId?: string | null; + /** An error message in case a Java Serialized Object could not be de-serialized. */ + errorMessage?: string | null; + } & components["schemas"]["VariableValueDto"]; + /** A variable instance query which defines a list of variable instances */ + VariableInstanceQueryDto: { + /** Filter by variable instance name. */ + variableName?: string | null; + /** + * Filter by the variable instance name. The parameter can include the wildcard `%` to + * express like-strategy such as: starts with (`%`name), ends with (name`%`) or + * contains (`%`name`%`). + */ + variableNameLike?: string | null; + /** + * Only include variable instances which belong to one of the passed + * process instance ids. + */ + processInstanceIdIn?: string[] | null; + /** + * Only include variable instances which belong to one of the passed + * execution ids. + */ + executionIdIn?: string[] | null; + /** Only include variable instances which belong to one of the passed case instance ids. */ + caseInstanceIdIn?: string[] | null; + /** Only include variable instances which belong to one of the passed case execution ids. */ + caseExecutionIdIn?: string[] | null; + /** + * Only include variable instances which belong to one of the passed task + * ids. + */ + taskIdIn?: string[] | null; + /** + * Only include variable instances which belong to one of the passed + * batch ids. + */ + batchIdIn?: string[] | null; + /** + * Only include variable instances which belong to one of the passed + * activity instance ids. + */ + activityInstanceIdIn?: string[] | null; + /** + * Only include variable instances which belong to one of the passed + * tenant ids. + */ + tenantIdIn?: string[] | null; + /** + * An array to only include variable instances that have the certain values. + * The array consists of objects with the three properties `name`, `operator` and `value`. `name (String)` is the + * variable name, `operator (String)` is the comparison operator to be used and `value` the variable value. + * `value` may be `String`, `Number` or `Boolean`. + * + * Valid operator values are: `eq` - equal to; `neq` - not equal to; `gt` - greater than; `gteq` - greater + * than or equal to; `lt` - lower than; `lteq` - lower than or equal to; `like` + */ + variableValues?: + | components["schemas"]["VariableQueryParameterDto"][] + | null; + /** + * Match all variable names provided in `variableValues` case-insensitively. If set to `true` + * **variableName** and **variablename** are treated as equal. + */ + variableNamesIgnoreCase?: boolean | null; + /** + * Match all variable values provided in `variableValues` case-insensitively. If set to + * `true` **variableValue** and **variablevalue** are treated as equal. + */ + variableValuesIgnoreCase?: boolean | null; + /** + * An array of criteria to sort the result by. Each element of the array is an object that specifies one ordering. + * The position in the array identifies the rank of an ordering, i.e., whether it is primary, secondary, etc. + * Sorting has no effect for `count` endpoints + */ + sorting?: { + /** + * Sort the results lexicographically by a given criterion. + * Must be used in conjunction with the sortOrder parameter. + */ + sortBy?: + | ( + | "variableName" + | "variableType" + | "activityInstanceId" + | "tenantId" + ) + | null; + /** + * Sort the results in a given order. Values may be `asc` for ascending order or `desc` for + * descending order. Must be used in conjunction with the sortBy parameter. + */ + sortOrder?: ("asc" | "desc") | null; + }[]; + }; + VariableQueryParameterDto: { + /** Variable name */ + name?: string | null; + } & components["schemas"]["ConditionQueryParameterDto"]; + VariableValueDto: { + /** The variable's value. Value differs depending on the variable's type and on the deserializeValues parameter. */ + value?: any; + /** The value type of the variable. */ + type?: string | null; + /** + * A JSON object containing additional, value-type-dependent properties. + * For serialized variables of type Object, the following properties can be provided: + * + * * `objectTypeName`: A string representation of the object's type name. + * * `serializationDataFormat`: The serialization format used to store the variable. + * + * For serialized variables of type File, the following properties can be provided: + * + * * `filename`: The name of the file. This is not the variable name but the name that will be used when downloading the file again. + * * `mimetype`: The MIME type of the file that is being uploaded. + * * `encoding`: The encoding of the file that is being uploaded. + * + * The following property can be provided for all value types: + * + * * `transient`: Indicates whether the variable should be transient or + * not. See [documentation](https://docs.camunda.org/manual/latest/user-guide/process-engine/variables#transient-variables) for more informations. + * (Not applicable for `decision-definition` and ` /process-instance/variables-async` endpoints) + */ + valueInfo?: { [key: string]: any }; + }; + VersionDto: { + /** The version of the Rest API. */ + version?: string | null; + }; + }; +} + +export interface operations { + /** + * Queries for batches that fulfill given parameters. Parameters may be the properties of batches, such as the id or type. + * The size of the result set can be retrieved by using the + * [Get Batch Count](https://docs.camunda.org/manual/latest/reference/rest/batch/get-query-count/) method. + */ + getBatches: { + parameters: { + query: { + /** + * Sort the results lexicographically by a given criterion. + * Must be used in conjunction with the sortOrder parameter. + */ + sortBy?: "batchId" | "tenantId"; + /** + * Sort the results in a given order. Values may be asc for ascending order or desc for descending order. + * Must be used in conjunction with the sortBy parameter. + */ + sortOrder?: "asc" | "desc"; + /** Pagination of results. Specifies the index of the first result to return. */ + firstResult?: number; + /** + * Pagination of results. Specifies the maximum number of results to return. + * Will return less results if there are no more results left. + */ + maxResults?: number; + /** Filter by batch id. */ + batchId?: string; + /** + * Filter by batch type. + * See the [User Guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/batch/#creating-a-batch) + * for more information about batch types. + */ + type?: string; + /** Filter by a comma-separated list of `Strings`. A batch matches if it has one of the given tenant ids. */ + tenantIdIn?: string; + /** + * Only include batches which belong to no tenant. + * Value can effectively only be `true`, as `false` is the default behavior. + */ + withoutTenantId?: boolean; + /** + * A `Boolean` value which indicates whether only active or suspended batches should be included. + * When the value is set to `true`, only suspended batches will be returned and + * when the value is set to `false`, only active batches will be returned. + */ + suspended?: boolean; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["BatchDto"][]; + }; + }; + /** + * Returned if some of the query parameters are invalid, + * for example if a `sortOrder` parameter is supplied, but no `sortBy`. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Requests the number of batches that fulfill the query criteria. + * Takes the same filtering parameters as the [Get Batches](https://docs.camunda.org/manual/latest/reference/rest/batch/get-query/) method. + */ + getBatchesCount: { + parameters: { + query: { + /** Filter by batch id. */ + batchId?: string; + /** + * Filter by batch type. + * See the [User Guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/batch/#creating-a-batch) + * for more information about batch types. + */ + type?: string; + /** Filter by a comma-separated list of `Strings`. A batch matches if it has one of the given tenant ids. */ + tenantIdIn?: string; + /** + * Only include batches which belong to no tenant. + * Value can effectively only be `true`, as `false` is the default behavior. + */ + withoutTenantId?: boolean; + /** + * A `Boolean` value which indicates whether only active or suspended batches should be included. + * When the value is set to `true`, only suspended batches will be returned and + * when the value is set to `false`, only active batches will be returned. + */ + suspended?: boolean; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["CountResultDto"]; + }; + }; + /** + * Returned if some of the query parameters are invalid. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Queries for batch statistics that fulfill given parameters. + * Parameters may be the properties of batches, such as the id or type. + * The size of the result set can be retrieved by using the + * [Get Batch Statistics Count](https://docs.camunda.org/manual/latest/reference/rest/batch/get-statistics-query-count/) method. + */ + getBatchStatistics: { + parameters: { + query: { + /** + * Sort the results lexicographically by a given criterion. + * Must be used in conjunction with the sortOrder parameter. + */ + sortBy?: "batchId" | "tenantId"; + /** + * Sort the results in a given order. Values may be asc for ascending order or desc for descending order. + * Must be used in conjunction with the sortBy parameter. + */ + sortOrder?: "asc" | "desc"; + /** Pagination of results. Specifies the index of the first result to return. */ + firstResult?: number; + /** + * Pagination of results. Specifies the maximum number of results to return. + * Will return less results if there are no more results left. + */ + maxResults?: number; + /** Filter by batch id. */ + batchId?: string; + /** + * Filter by batch type. + * See the [User Guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/batch/#creating-a-batch) + * for more information about batch types. + */ + type?: string; + /** Filter by a comma-separated list of `Strings`. A batch matches if it has one of the given tenant ids. */ + tenantIdIn?: string; + /** + * Only include batches which belong to no tenant. + * Value can effectively only be `true`, as `false` is the default behavior. + */ + withoutTenantId?: boolean; + /** + * A `Boolean` value which indicates whether only active or suspended batches should be included. + * When the value is set to `true`, only suspended batches will be returned and + * when the value is set to `false`, only active batches will be returned. + */ + suspended?: boolean; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["BatchStatisticsDto"][]; + }; + }; + /** + * Returned if some of the query parameters are invalid, + * for example if a `sortOrder` parameter is supplied, but no `sortBy`. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Requests the number of batch statistics that fulfill the query criteria. + * Takes the same filtering parameters as the + * [Get Batch Statistics](https://docs.camunda.org/manual/latest/reference/rest/batch/get-statistics-query/) method. + */ + getBatchStatisticsCount: { + parameters: { + query: { + /** Filter by batch id. */ + batchId?: string; + /** + * Filter by batch type. + * See the [User Guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/batch/#creating-a-batch) + * for more information about batch types. + */ + type?: string; + /** Filter by a comma-separated list of `Strings`. A batch matches if it has one of the given tenant ids. */ + tenantIdIn?: string; + /** + * Only include batches which belong to no tenant. + * Value can effectively only be `true`, as `false` is the default behavior. + */ + withoutTenantId?: boolean; + /** + * A `Boolean` value which indicates whether only active or suspended batches should be included. + * When the value is set to `true`, only suspended batches will be returned and + * when the value is set to `false`, only active batches will be returned. + */ + suspended?: boolean; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["CountResultDto"]; + }; + }; + /** + * Returned if some of the query parameters are invalid. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Retrieves a batch by id, according to the Batch interface in the engine. */ + getBatch: { + parameters: { + path: { + /** The id of the batch to be retrieved. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["BatchDto"]; + }; + }; + /** + * Batch with given id does not exist. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Deletes a batch by id, including all related jobs and job definitions. + * Optionally also deletes the batch history. + */ + deleteBatch: { + parameters: { + path: { + /** The id of the batch to be deleted. */ + id: string; + }; + query: { + /** `true`, if the historic batch and historic job logs for this batch should also be deleted. */ + cascade?: boolean; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * Batch with given id does not exist. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Activates or suspends a batch by id. */ + updateBatchSuspensionState: { + parameters: { + path: { + /** The id of the batch to activate or suspend. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * Returned if the batch cannot be suspended or activated. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["SuspensionStateDto"]; + }; + }; + }; + /** + * Triggers evaluation of conditions for conditional start event(s). + * Internally this maps to the engines condition evaluation builder method ConditionEvaluationBuilder#evaluateStartConditions(). + * For more information see the [Conditional Start Events](https://docs.camunda.org/manual/latest/reference/bpmn20/events/conditional-events/#conditional-start-event) + * section of the [BPMN 2.0 Implementation Reference](https://docs.camunda.org/manual/latest/reference/bpmn20/). + */ + evaluateCondition: { + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["ProcessInstanceDto"][]; + }; + }; + /** If both tenantId and withoutTenantId are supplied. */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** If the user is not allowed to start the process instance of the process definition, which start condition was evaluated to `true`. */ + 403: { + content: { + "application/json": components["schemas"]["AuthorizationExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["EvaluationConditionDto"]; + }; + }; + }; + /** + * Queries for decision definitions that fulfill given parameters. + * Parameters may be the properties of decision definitions, such as the name, key or version. + * The size of the result set can be retrieved by using + * the [Get Decision Definition Count](https://docs.camunda.org/manual/latest/reference/rest/decision-definition/get-query-count/) method. + */ + getDecisionDefinitions: { + parameters: { + query: { + /** + * Sort the results lexicographically by a given criterion. + * Must be used in conjunction with the sortOrder parameter. + */ + sortBy?: + | "category" + | "decisionRequirementsDefinitionKey" + | "key" + | "id" + | "name" + | "version" + | "deploymentId" + | "deployTime" + | "versionTag" + | "tenantId"; + /** + * Sort the results in a given order. Values may be asc for ascending order or desc for descending order. + * Must be used in conjunction with the sortBy parameter. + */ + sortOrder?: "asc" | "desc"; + /** Pagination of results. Specifies the index of the first result to return. */ + firstResult?: number; + /** + * Pagination of results. Specifies the maximum number of results to return. + * Will return less results if there are no more results left. + */ + maxResults?: number; + /** Filter by decision definition id. */ + decisionDefinitionId?: string; + /** Filter by decision definition ids. */ + decisionDefinitionIdIn?: string; + /** Filter by decision definition name. */ + name?: string; + /** Filter by decision definition names that the parameter is a substring of. */ + nameLike?: string; + /** Filter by the deployment the id belongs to. */ + deploymentId?: string; + /** + * Filter by the deploy time of the deployment the decision definition belongs to. + * Only selects decision definitions that have been deployed after (exclusive) a specific time. + */ + deployedAfter?: string; + /** + * Filter by the deploy time of the deployment the decision definition belongs to. + * Only selects decision definitions that have been deployed at a specific time (exact match). + */ + deployedAt?: string; + /** Filter by decision definition key, i.e., the id in the DMN 1.0 XML. Exact match. */ + key?: string; + /** Filter by decision definition keys that the parameter is a substring of. */ + keyLike?: string; + /** Filter by decision definition category. Exact match. */ + category?: string; + /** Filter by decision definition categories that the parameter is a substring of. */ + categoryLike?: string; + /** Filter by decision definition version. */ + version?: number; + /** + * Only include those decision definitions that are latest versions. + * Value may only be `true`, as `false` is the default behavior. + */ + latestVersion?: boolean; + /** Filter by the name of the decision definition resource. Exact match. */ + resourceName?: string; + /** Filter by names of those decision definition resources that the parameter is a substring of. */ + resourceNameLike?: string; + /** Filter by the id of the decision requirements definition this decision definition belongs to. */ + decisionRequirementsDefinitionId?: string; + /** Filter by the key of the decision requirements definition this decision definition belongs to. */ + decisionRequirementsDefinitionKey?: string; + /** + * Only include decision definitions which does not belongs to any decision requirements definition. + * Value may only be `true`, as `false` is the default behavior. + */ + withoutDecisionRequirementsDefinition?: boolean; + /** Filter by a comma-separated list of `Strings`. A decision definition must have one of the given tenant ids. */ + tenantIdIn?: string; + /** + * Only include decision definitions which belong to no tenant. + * Value can effectively only be `true`, as `false` is the default behavior. + */ + withoutTenantId?: boolean; + /** + * Include decision definitions which belong to no tenant. + * Can be used in combination with `tenantIdIn`. + * Value may only be `true`, as `false` is the default behavior. + */ + includeDecisionDefinitionsWithoutTenantId?: boolean; + /** Filter by the version tag. */ + versionTag?: string; + /** Filter by the version tags of those decision definition resources that the parameter is a substring of. */ + versionTagLike?: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["DecisionDefinitionDto"][]; + }; + }; + /** + * Returned if some of the query parameters are invalid, + * for example if a `sortOrder` parameter is supplied, but no `sortBy`. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Requests the number of decision definitions that fulfill the query criteria. + * Takes the same filtering parameters as the + * [Get Decision Definition](https://docs.camunda.org/manual/latest/reference/rest/decision-definition/get-query/) method. + */ + getDecisionDefinitionsCount: { + parameters: { + query: { + /** Filter by decision definition id. */ + decisionDefinitionId?: string; + /** Filter by decision definition ids. */ + decisionDefinitionIdIn?: string; + /** Filter by decision definition name. */ + name?: string; + /** Filter by decision definition names that the parameter is a substring of. */ + nameLike?: string; + /** Filter by the deployment the id belongs to. */ + deploymentId?: string; + /** + * Filter by the deploy time of the deployment the decision definition belongs to. + * Only selects decision definitions that have been deployed after (exclusive) a specific time. + */ + deployedAfter?: string; + /** + * Filter by the deploy time of the deployment the decision definition belongs to. + * Only selects decision definitions that have been deployed at a specific time (exact match). + */ + deployedAt?: string; + /** Filter by decision definition key, i.e., the id in the DMN 1.0 XML. Exact match. */ + key?: string; + /** Filter by decision definition keys that the parameter is a substring of. */ + keyLike?: string; + /** Filter by decision definition category. Exact match. */ + category?: string; + /** Filter by decision definition categories that the parameter is a substring of. */ + categoryLike?: string; + /** Filter by decision definition version. */ + version?: number; + /** + * Only include those decision definitions that are latest versions. + * Value may only be `true`, as `false` is the default behavior. + */ + latestVersion?: boolean; + /** Filter by the name of the decision definition resource. Exact match. */ + resourceName?: string; + /** Filter by names of those decision definition resources that the parameter is a substring of. */ + resourceNameLike?: string; + /** Filter by the id of the decision requirements definition this decision definition belongs to. */ + decisionRequirementsDefinitionId?: string; + /** Filter by the key of the decision requirements definition this decision definition belongs to. */ + decisionRequirementsDefinitionKey?: string; + /** + * Only include decision definitions which does not belongs to any decision requirements definition. + * Value may only be `true`, as `false` is the default behavior. + */ + withoutDecisionRequirementsDefinition?: boolean; + /** Filter by a comma-separated list of `Strings`. A decision definition must have one of the given tenant ids. */ + tenantIdIn?: string; + /** + * Only include decision definitions which belong to no tenant. + * Value can effectively only be `true`, as `false` is the default behavior. + */ + withoutTenantId?: boolean; + /** + * Include decision definitions which belong to no tenant. + * Can be used in combination with `tenantIdIn`. + * Value may only be `true`, as `false` is the default behavior. + */ + includeDecisionDefinitionsWithoutTenantId?: boolean; + /** Filter by the version tag. */ + versionTag?: string; + /** Filter by the version tags of those decision definition resources that the parameter is a substring of. */ + versionTagLike?: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["CountResultDto"]; + }; + }; + /** + * Returned if some of the query parameters are invalid. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Retrieves the latest version of the decision definition which belongs to no tenant. */ + getDecisionDefinitionByKey: { + parameters: { + path: { + /** The key of the decision definition (the latest version thereof) to be retrieved. */ + key: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["DecisionDefinitionDto"]; + }; + }; + /** + * Decision definition with given key does not exist. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Returns the diagram for the latest version of the decision definition which belongs to no tenant */ + getDecisionDefinitionDiagramByKey: { + parameters: { + path: { + /** The key of the decision definition (the latest version thereof) to be retrieved. */ + key: string; + }; + }; + responses: { + /** Request successful. The image diagram of this process. */ + 200: { + content: { + "application/octet-stream": string; + "*/*": string; + }; + }; + /** The decision definition doesn't have an associated diagram. */ + 204: never; + /** + * Decision definition with given key does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Evaluates the latest version of the decision definition which belongs to no tenant. + * The input values of the decision have to be supplied in the request body. + */ + evaluateDecisionByKey: { + parameters: { + path: { + /** The key of the decision definition (the latest version thereof) to be evaluated. */ + key: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": { + [key: string]: components["schemas"]["VariableValueDto"]; + }[]; + }; + }; + /** + * Decision definition with given key does not exist. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["EvaluateDecisionDto"]; + }; + }; + }; + /** + * Updates the latest version of the decision definition which belongs to no tenant. + * The field is used within [History cleanup](https://docs.camunda.org/manual/latest/user-guide/process-engine/history/#history-cleanup). + */ + updateHistoryTimeToLiveByDecisionDefinitionKey: { + parameters: { + path: { + /** The key of the decision definitions to change history time to live. */ + key: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * Returned if some of the request parameters are invalid. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Decision definition with given key does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["HistoryTimeToLiveDto"]; + }; + }; + }; + /** Retrieves the latest version of the decision definition for tenant */ + getDecisionDefinitionByKeyAndTenantId: { + parameters: { + path: { + /** The key of the decision definition (the latest version thereof) to be retrieved. */ + key: string; + /** The id of the tenant the decision definition belongs to. */ + "tenant-id": string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["DecisionDefinitionDto"]; + }; + }; + /** + * Decision definition with given key does not exist. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Returns the XML of the latest version of the decision definition for tenant. */ + getDecisionDefinitionDiagramByKeyAndTenant: { + parameters: { + path: { + /** The key of the decision definition (the latest version thereof) to be retrieved. */ + key: string; + /** The id of the tenant the decision definition belongs to. */ + "tenant-id": string; + }; + }; + responses: { + /** Request successful. The image diagram of this process. */ + 200: { + content: { + "application/octet-stream": string; + "*/*": string; + }; + }; + /** The decision definition doesn't have an associated diagram. */ + 204: never; + /** + * Decision definition with given key does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Evaluates the latest version of the decision definition for tenant. + * The input values of the decision have to be supplied in the request body. + */ + evaluateDecisionByKeyAndTenant: { + parameters: { + path: { + /** The key of the decision definition (the latest version thereof) to be evaluated. */ + key: string; + /** The id of the tenant the decision definition belongs to. */ + "tenant-id": string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": { + [key: string]: components["schemas"]["VariableValueDto"]; + }[]; + }; + }; + /** + * Decision definition with given key does not exist. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["EvaluateDecisionDto"]; + }; + }; + }; + /** + * Updates the latest version of the decision definition for tenant. + * The field is used within [History cleanup](https://docs.camunda.org/manual/latest/user-guide/process-engine/history/#history-cleanup). + */ + updateHistoryTimeToLiveByDecisionDefinitionKeyAndTenant: { + parameters: { + path: { + /** The key of the decision definitions to change history time to live. */ + key: string; + /** The id of the tenant the decision definition belongs to. */ + "tenant-id": string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * Returned if some of the request parameters are invalid. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Decision definition with given key does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["HistoryTimeToLiveDto"]; + }; + }; + }; + /** Retrieves the XML of the latest version of the decision definition for tenant */ + getDecisionDefinitionDmnXmlByKeyAndTenant: { + parameters: { + path: { + /** The key of the decision definition (the latest version thereof). */ + key: string; + /** The id of the tenant the decision definition belongs to. */ + "tenant-id": string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["DecisionDefinitionDiagramDto"]; + }; + }; + /** + * Decision definition with given key does not exist. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Retrieves the XML for the latest version of the decision definition which belongs to no tenant. */ + getDecisionDefinitionDmnXmlByKey: { + parameters: { + path: { + /** The key of the decision definition (the latest version thereof). */ + key: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["DecisionDefinitionDiagramDto"]; + }; + }; + /** + * Decision definition with given key does not exist. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Retrieves a decision definition by id, according to the `DecisionDefinition` interface in the engine. */ + getDecisionDefinitionById: { + parameters: { + path: { + /** The id of the decision definition to be retrieved. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["DecisionDefinitionDto"]; + }; + }; + /** + * Decision definition with given id does not exist. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Retrieves the diagram of a decision definition. */ + getDecisionDefinitionDiagram: { + parameters: { + path: { + /** The id of the process definition. */ + id: string; + }; + }; + responses: { + /** Request successful. The image diagram of this process. */ + 200: { + content: { + "application/octet-stream": string; + "*/*": string; + }; + }; + /** The decision definition doesn't have an associated diagram. */ + 204: never; + /** + * Decision definition with given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Evaluates a given decision and returns the result. + * The input values of the decision have to be supplied in the request body. + */ + evaluateDecisionById: { + parameters: { + path: { + /** The id of the decision definition to be evaluated. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": { + [key: string]: components["schemas"]["VariableValueDto"]; + }[]; + }; + }; + /** + * Decision definition with given id does not exist. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["EvaluateDecisionDto"]; + }; + }; + }; + /** + * Updates history time to live for decision definition. + * The field is used within [History cleanup](https://docs.camunda.org/manual/latest/user-guide/process-engine/history/#history-cleanup). + */ + updateHistoryTimeToLiveByDecisionDefinitionId: { + parameters: { + path: { + /** The id of the decision definition to change history time to live. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * Returned if some of the request parameters are invalid. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Decision definition with given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["HistoryTimeToLiveDto"]; + }; + }; + }; + /** Retrieves the DMN XML of a decision definition. */ + getDecisionDefinitionDmnXmlById: { + parameters: { + path: { + /** The id of the decision definition. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["DecisionDefinitionDiagramDto"]; + }; + }; + /** + * Decision definition with given id does not exist. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Queries for deployments that fulfill given parameters. Parameters may be the properties of deployments, + * such as the id or name or a range of the deployment time. The size of the result set can be retrieved by + * using the [Get Deployment count](https://docs.camunda.org/manual/latest/reference/rest/deployment/get-query-count/) method. + */ + getDeployments: { + parameters: { + query: { + /** Filter by deployment id */ + id?: string; + /** Filter by the deployment name. Exact match. */ + name?: string; + /** + * Filter by the deployment name that the parameter is a substring of. The parameter can include the + * wildcard `%` to express like-strategy such as: starts with (`%`name), ends with (name`%`) or contains + * (`%`name`%`). + */ + nameLike?: string; + /** Filter by the deployment source. */ + source?: string; + /** Filter by the deployment source whereby source is equal to `null`. */ + withoutSource?: boolean; + /** Filter by a comma-separated list of tenant ids. A deployment must have one of the given tenant ids. */ + tenantIdIn?: string; + /** + * Only include deployments which belong to no tenant. Value may only be `true`, as `false` is the default + * behavior. + */ + withoutTenantId?: boolean; + /** + * Include deployments which belong to no tenant. Can be used in combination with `tenantIdIn`. Value may + * only be `true`, as `false` is the default behavior. + */ + includeDeploymentsWithoutTenantId?: boolean; + /** + * Restricts to all deployments after the given date. + * By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the format + * `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + after?: string; + /** + * Restricts to all deployments before the given date. + * By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the format + * `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + before?: string; + /** + * Sort the results lexicographically by a given criterion. + * Must be used in conjunction with the sortOrder parameter. + */ + sortBy?: "id" | "name" | "deploymentTime" | "tenantId"; + /** + * Sort the results in a given order. Values may be asc for ascending order or desc for descending order. + * Must be used in conjunction with the sortBy parameter. + */ + sortOrder?: "asc" | "desc"; + /** Pagination of results. Specifies the index of the first result to return. */ + firstResult?: number; + /** + * Pagination of results. Specifies the maximum number of results to return. + * Will return less results if there are no more results left. + */ + maxResults?: number; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["DeploymentDto"][]; + }; + }; + /** + * Returned if some of the query parameters are invalid, for example if a `sortOrder` parameter is supplied, + * but no `sortBy`, or if an invalid operator for variable comparison is used. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Queries for the number of deployments that fulfill given parameters. Takes the same parameters as the + * [Get Deployments](https://docs.camunda.org/manual/latest/reference/rest/deployment/get-query/) method. + */ + getDeploymentsCount: { + parameters: { + query: { + /** Filter by deployment id */ + id?: string; + /** Filter by the deployment name. Exact match. */ + name?: string; + /** + * Filter by the deployment name that the parameter is a substring of. The parameter can include the + * wildcard `%` to express like-strategy such as: starts with (`%`name), ends with (name`%`) or contains + * (`%`name`%`). + */ + nameLike?: string; + /** Filter by the deployment source. */ + source?: string; + /** Filter by the deployment source whereby source is equal to `null`. */ + withoutSource?: boolean; + /** Filter by a comma-separated list of tenant ids. A deployment must have one of the given tenant ids. */ + tenantIdIn?: string; + /** + * Only include deployments which belong to no tenant. Value may only be `true`, as `false` is the default + * behavior. + */ + withoutTenantId?: boolean; + /** + * Include deployments which belong to no tenant. Can be used in combination with `tenantIdIn`. Value may + * only be `true`, as `false` is the default behavior. + */ + includeDeploymentsWithoutTenantId?: boolean; + /** + * Restricts to all deployments after the given date. + * By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the format + * `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + after?: string; + /** + * Restricts to all deployments before the given date. + * By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the format + * `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + before?: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["CountResultDto"]; + }; + }; + /** + * Returned if some of the query parameters are invalid, for example, if an invalid operator for variable + * comparison is used. See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Creates a deployment. + * + * **Security Consideration** + * + * Deployments can contain custom code in form of scripts or EL expressions to customize process behavior. + * This may be abused for remote execution of arbitrary code. + */ + createDeployment: { + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["DeploymentWithDefinitionsDto"]; + }; + }; + /** + * Bad Request. In case one of the bpmn resources cannot be parsed. + * + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#parse-exceptions) for + * the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ParseExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "multipart/form-data": components["schemas"]["MultiFormDeploymentDto"]; + }; + }; + }; + /** Retrieves a deployment by id, according to the `Deployment` interface of the engine. */ + getDeployment: { + parameters: { + path: { + /** The id of the deployment. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["DeploymentDto"]; + }; + }; + /** + * Deployment with given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Deletes a deployment by id. */ + deleteDeployment: { + parameters: { + path: { + /** The id of the deployment to be deleted. */ + id: string; + }; + query: { + /** + * `true`, if all process instances, historic process instances and jobs for this deployment + * should be deleted. + */ + cascade?: boolean; + /** `true`, if only the built-in ExecutionListeners should be notified with the end event. */ + skipCustomListeners?: boolean; + /** `true`, if all input/output mappings should not be invoked. */ + skipIoMappings?: boolean; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * A Deployment with the provided id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Re-deploys an existing deployment. + * + * The deployment resources to re-deploy can be restricted by using the properties `resourceIds` or + * `resourceNames`. If no deployment resources to re-deploy are passed then all existing resources of the + * given deployment are re-deployed. + * + * **Warning**: Deployments can contain custom code in form of scripts or EL expressions to customize + * process behavior. This may be abused for remote execution of arbitrary code. See the section on + * [security considerations for custom code](https://docs.camunda.org/manual/latest/user-guide/process-engine/securing-custom-code/) in + * the user guide for details. + */ + redeploy: { + parameters: { + path: { + /** The id of the deployment to re-deploy. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["DeploymentWithDefinitionsDto"]; + }; + }; + /** + * Deployment or a deployment resource for the given deployment does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["RedeploymentDto"]; + }; + }; + }; + /** Retrieves all deployment resources of a given deployment. */ + getDeploymentResources: { + parameters: { + path: { + /** The id of the deployment to retrieve the deployment resources for. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["DeploymentResourceDto"][]; + }; + }; + /** + * Deployment resources for the given deployment do not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Retrieves a deployment resource by resource id for the given deployment. */ + getDeploymentResource: { + parameters: { + path: { + /** The id of the deployment */ + id: string; + /** The id of the deployment resource */ + resourceId: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["DeploymentResourceDto"]; + }; + }; + /** + * Deployment Resource with given resource id or deployment id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Retrieves the binary content of a deployment resource for the given deployment by id. */ + getDeploymentResourceData: { + parameters: { + path: { + /** The id of the deployment. */ + id: string; + /** The id of the deployment resource. */ + resourceId: string; + }; + }; + responses: { + /** Request successful. The media type of the response depends on the filename. */ + 200: { + content: { + "application/octet-stream": string; + "*/*": string; + }; + }; + /** + * Deployment Resource with given resource id or deployment id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Retrieves the names of all process engines available on your platform. + * **Note**: You cannot prepend `/engine/{name}` to this method. + */ + getProcessEngineNames: { + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["ProcessEngineDto"][]; + }; + }; + }; + }; + /** + * Queries for event subscriptions that fulfill given parameters. + * The size of the result set can be retrieved by using the + * [Get Event Subscriptions count](https://docs.camunda.org/manual/latest/reference/rest/event-subscription/get-query-count/) method. + */ + getEventSubscriptions: { + parameters: { + query: { + /** Only select subscription with the given id. */ + eventSubscriptionId?: string; + /** Only select subscriptions for events with the given name. */ + eventName?: string; + /** + * Only select subscriptions for events with the given type. + * Valid values: `message`, `signal`, `compensate` and `conditional`. + */ + eventType?: "message" | "signal" | "compensate" | "conditional"; + /** Only select subscriptions that belong to an execution with the given id. */ + executionId?: string; + /** Only select subscriptions that belong to a process instance with the given id. */ + processInstanceId?: string; + /** Only select subscriptions that belong to an activity with the given id. */ + activityId?: string; + /** + * Filter by a comma-separated list of tenant ids. + * Only select subscriptions that belong to one of the given tenant ids. + */ + tenantIdIn?: string; + /** + * Only select subscriptions which have no tenant id. + * Value may only be `true`, as `false` is the default behavior. + */ + withoutTenantId?: boolean; + /** + * Select event subscriptions which have no tenant id. + * Can be used in combination with tenantIdIn parameter. + * Value may only be `true`, as `false` is the default behavior. + */ + includeEventSubscriptionsWithoutTenantId?: boolean; + /** + * Sort the results lexicographically by a given criterion. + * Must be used in conjunction with the sortOrder parameter. + */ + sortBy?: "created" | "tenantId"; + /** + * Sort the results in a given order. Values may be asc for ascending order or desc for descending order. + * Must be used in conjunction with the sortBy parameter. + */ + sortOrder?: "asc" | "desc"; + /** Pagination of results. Specifies the index of the first result to return. */ + firstResult?: number; + /** + * Pagination of results. Specifies the maximum number of results to return. + * Will return less results if there are no more results left. + */ + maxResults?: number; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["EventSubscriptionDto"][]; + }; + }; + /** + * Bad Request + * Returned if some of the query parameters are invalid, + * for example if a `sortOrder` parameter is supplied, but no `sortBy`. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Queries for the number of event subscriptions that fulfill given parameters. + * Takes the same parameters as the + * [Get Event Subscriptions](https://docs.camunda.org/manual/latest/reference/rest/event-subscription/get-query/) method. + */ + getEventSubscriptionsCount: { + parameters: { + query: { + /** Only select subscription with the given id. */ + eventSubscriptionId?: string; + /** Only select subscriptions for events with the given name. */ + eventName?: string; + /** + * Only select subscriptions for events with the given type. + * Valid values: `message`, `signal`, `compensate` and `conditional`. + */ + eventType?: "message" | "signal" | "compensate" | "conditional"; + /** Only select subscriptions that belong to an execution with the given id. */ + executionId?: string; + /** Only select subscriptions that belong to a process instance with the given id. */ + processInstanceId?: string; + /** Only select subscriptions that belong to an activity with the given id. */ + activityId?: string; + /** + * Filter by a comma-separated list of tenant ids. + * Only select subscriptions that belong to one of the given tenant ids. + */ + tenantIdIn?: string; + /** + * Only select subscriptions which have no tenant id. + * Value may only be `true`, as `false` is the default behavior. + */ + withoutTenantId?: boolean; + /** + * Select event subscriptions which have no tenant id. + * Can be used in combination with tenantIdIn parameter. + * Value may only be `true`, as `false` is the default behavior. + */ + includeEventSubscriptionsWithoutTenantId?: boolean; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["CountResultDto"]; + }; + }; + /** + * Returned if some of the query parameters are invalid. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Queries for the executions that fulfill given parameters. + * Parameters may be static as well as dynamic runtime properties of + * executions. + * The size of the result set can be retrieved by using the [Get + * Execution Count](https://docs.camunda.org/manual/latest/reference/rest/execution/get-query-count/) + * method. + */ + getExecutions: { + parameters: { + query: { + /** Filter by the business key of the process instances the executions belong to. */ + businessKey?: string; + /** Filter by the process definition the executions run on. */ + processDefinitionId?: string; + /** Filter by the key of the process definition the executions run on. */ + processDefinitionKey?: string; + /** Filter by the id of the process instance the execution belongs to. */ + processInstanceId?: string; + /** Filter by the id of the activity the execution currently executes. */ + activityId?: string; + /** Select only those executions that expect a signal of the given name. */ + signalEventSubscriptionName?: string; + /** Select only those executions that expect a message of the given name. */ + messageEventSubscriptionName?: string; + /** + * Only include active executions. Value may only be `true`, as `false` is the default + * behavior. + */ + active?: boolean; + /** + * Only include suspended executions. Value may only be `true`, as `false` is the default + * behavior. + */ + suspended?: boolean; + /** Filter by the incident id. */ + incidentId?: string; + /** Filter by the incident type. See the [User Guide](/manual/develop/user-guide/process-engine/incidents/#incident-types) for a list of incident types. */ + incidentType?: string; + /** Filter by the incident message. Exact match. */ + incidentMessage?: string; + /** Filter by the incident message that the parameter is a substring of. */ + incidentMessageLike?: string; + /** + * Filter by a comma-separated list of tenant ids. An execution must have one of the given + * tenant ids. + */ + tenantIdIn?: string; + /** + * Only include executions that have variables with certain values. + * Variable filtering expressions are comma-separated and are structured as + * follows: + * + * A valid parameter value has the form `key_operator_value`. + * `key` is the variable name, `operator` is the comparison operator to be used + * and `value` the variable value. + * **Note:** Values are always treated as `String` objects on server side. + * + * Valid operator values are: `eq` - equal to; `neq` - not equal to; `gt` - + * greater than; + * `gteq` - greater than or equal to; `lt` - lower than; `lteq` - lower than or + * equal to; + * `like`. + * `key` and `value` may not contain underscore or comma characters. + */ + variables?: string; + /** + * Only include executions that belong to a process instance with variables with certain + * values. + * Variable filtering expressions are comma-separated and are structured as + * follows: + * + * A valid parameter value has the form `key_operator_value`. + * `key` is the variable name, `operator` is the comparison operator to be used + * and `value` the variable value. + * **Note:** Values are always treated as `String` objects on server side. + * + * Valid operator values are: `eq` - equal to; `neq` - not equal to. + * `key` and `value` may not contain underscore or comma characters. + */ + processVariables?: string; + /** + * Match all variable names provided in `variables` and `processVariables` case- + * insensitively. If set to `true` **variableName** and **variablename** are + * treated as equal. + */ + variableNamesIgnoreCase?: boolean; + /** + * Match all variable values provided in `variables` and `processVariables` case- + * insensitively. If set to `true` **variableValue** and **variablevalue** are + * treated as equal. + */ + variableValuesIgnoreCase?: boolean; + /** + * Sort the results lexicographically by a given criterion. + * Must be used in conjunction with the sortOrder parameter. + */ + sortBy?: "instanceId" | "definitionKey" | "definitionId" | "tenantId"; + /** + * Sort the results in a given order. Values may be asc for ascending order or desc for descending order. + * Must be used in conjunction with the sortBy parameter. + */ + sortOrder?: "asc" | "desc"; + /** Pagination of results. Specifies the index of the first result to return. */ + firstResult?: number; + /** + * Pagination of results. Specifies the maximum number of results to return. + * Will return less results if there are no more results left. + */ + maxResults?: number; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["ExecutionDto"][]; + }; + }; + /** + * Returned if some of the query parameters are invalid, for example if a `sortOrder` + * parameter is supplied, but no `sortBy`, or if an invalid operator + * for variable comparison is used. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Queries for executions that fulfill given parameters through a JSON object. + * This method is slightly more powerful than the [Get + * Executions](https://docs.camunda.org/manual/latest/reference/rest/execution/get-query/) method + * because it allows + * to filter by multiple instance and execution variables of types + * `String`, `Number` or `Boolean`. + */ + queryExecutions: { + parameters: { + query: { + /** Pagination of results. Specifies the index of the first result to return. */ + firstResult?: number; + /** + * Pagination of results. Specifies the maximum number of results to return. + * Will return less results if there are no more results left. + */ + maxResults?: number; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["ExecutionDto"][]; + }; + }; + /** + * Returned if some of the query parameters are invalid, for example if a `sortOrder` + * parameter is supplied, but no `sortBy`, or if an invalid operator + * for variable comparison is used. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["ExecutionQueryDto"]; + }; + }; + }; + /** + * Queries for the number of executions that fulfill given parameters. + * Takes the same parameters as the [Get + * Executions](https://docs.camunda.org/manual/latest/reference/rest/execution/get-query/) method. + */ + getExecutionsCount: { + parameters: { + query: { + /** Filter by the business key of the process instances the executions belong to. */ + businessKey?: string; + /** Filter by the process definition the executions run on. */ + processDefinitionId?: string; + /** Filter by the key of the process definition the executions run on. */ + processDefinitionKey?: string; + /** Filter by the id of the process instance the execution belongs to. */ + processInstanceId?: string; + /** Filter by the id of the activity the execution currently executes. */ + activityId?: string; + /** Select only those executions that expect a signal of the given name. */ + signalEventSubscriptionName?: string; + /** Select only those executions that expect a message of the given name. */ + messageEventSubscriptionName?: string; + /** + * Only include active executions. Value may only be `true`, as `false` is the default + * behavior. + */ + active?: boolean; + /** + * Only include suspended executions. Value may only be `true`, as `false` is the default + * behavior. + */ + suspended?: boolean; + /** Filter by the incident id. */ + incidentId?: string; + /** Filter by the incident type. See the [User Guide](/manual/develop/user-guide/process-engine/incidents/#incident-types) for a list of incident types. */ + incidentType?: string; + /** Filter by the incident message. Exact match. */ + incidentMessage?: string; + /** Filter by the incident message that the parameter is a substring of. */ + incidentMessageLike?: string; + /** + * Filter by a comma-separated list of tenant ids. An execution must have one of the given + * tenant ids. + */ + tenantIdIn?: string; + /** + * Only include executions that have variables with certain values. + * Variable filtering expressions are comma-separated and are structured as + * follows: + * + * A valid parameter value has the form `key_operator_value`. + * `key` is the variable name, `operator` is the comparison operator to be used + * and `value` the variable value. + * **Note:** Values are always treated as `String` objects on server side. + * + * Valid operator values are: `eq` - equal to; `neq` - not equal to; `gt` - + * greater than; + * `gteq` - greater than or equal to; `lt` - lower than; `lteq` - lower than or + * equal to; + * `like`. + * `key` and `value` may not contain underscore or comma characters. + */ + variables?: string; + /** + * Only include executions that belong to a process instance with variables with certain + * values. + * Variable filtering expressions are comma-separated and are structured as + * follows: + * + * A valid parameter value has the form `key_operator_value`. + * `key` is the variable name, `operator` is the comparison operator to be used + * and `value` the variable value. + * **Note:** Values are always treated as `String` objects on server side. + * + * Valid operator values are: `eq` - equal to; `neq` - not equal to. + * `key` and `value` may not contain underscore or comma characters. + */ + processVariables?: string; + /** + * Match all variable names provided in `variables` and `processVariables` case- + * insensitively. If set to `true` **variableName** and **variablename** are + * treated as equal. + */ + variableNamesIgnoreCase?: boolean; + /** + * Match all variable values provided in `variables` and `processVariables` case- + * insensitively. If set to `true` **variableValue** and **variablevalue** are + * treated as equal. + */ + variableValuesIgnoreCase?: boolean; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["CountResultDto"]; + }; + }; + /** + * Returned if some of the query parameters are invalid, for example if an invalid operator + * for variable comparison is used. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Queries for the number of executions that fulfill given parameters. This method + * takes the same message body as the [Get Executions + * POST](https://docs.camunda.org/manual/latest/reference/rest/execution/post-query/) method and + * therefore it is slightly more powerful than the [Get Execution + * Count](https://docs.camunda.org/manual/latest/reference/rest/execution/get-query-count/) method. + */ + queryExecutionsCount: { + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["CountResultDto"]; + }; + }; + /** + * Returned if some of the query parameters are invalid, for example if an invalid operator + * for variable comparison is used. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["ExecutionQueryDto"]; + }; + }; + }; + /** + * Retrieves an execution by id, according to the `Execution` interface in the + * engine. + */ + getExecution: { + parameters: { + path: { + /** The id of the execution to be retrieved. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["ExecutionDto"]; + }; + }; + /** + * Execution with given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Creates a custom incident with given properties. */ + createIncident: { + parameters: { + path: { + /** The id of the execution to create a new incident for. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["IncidentDto"]; + }; + }; + /** + * Returned if the incident type is null, the execution does not exist or the + * execution is not related to any activity. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["CreateIncidentDto"]; + }; + }; + }; + /** Retrieves all variables of a given execution by id. */ + getLocalExecutionVariables: { + parameters: { + path: { + /** The id of the execution to retrieve the variables from. */ + id: string; + }; + query: { + /** + * Determines whether serializable variable values (typically + * variables that store custom Java objects) should be deserialized + * on server side (default `true`). + * + * If set to `true`, a serializable variable will be deserialized on + * server side and transformed to JSON using + * [Jackson's](https://github.com/FasterXML/jackson) POJO/bean + * property introspection feature. Note that this requires the Java + * classes of the variable value to be on the REST API's classpath. + * + * If set to `false`, a serializable variable will be returned in its + * serialized format. For example, a variable that is serialized as + * XML will be returned as a JSON string containing XML. + * + * **Note:** While `true` is the default value for reasons of + * backward compatibility, we recommend setting this parameter to + * `false` when developing web applications that are independent of + * the Java process applications deployed to the engine. + */ + deserializeValues?: boolean; + }; + }; + responses: { + /** Request successful. Returns A JSON object of variables key-value pairs. Each key is a variable name and each value a VariableValueDto */ + 200: { + content: { + "application/json": { + [key: string]: components["schemas"]["VariableValueDto"]; + }; + }; + }; + /** + * Execution with given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Updates or deletes the variables in the context of an execution by id. The updates + * do not propagate upwards in the execution hierarchy. + * Updates precede deletions. So, if a variable is updated AND deleted, + * the deletion overrides the update. + */ + modifyLocalExecutionVariables: { + parameters: { + path: { + /** The id of the execution to set variables for. */ + id: string; + }; + }; + responses: { + /** Request successful. This method returns no content. */ + 204: never; + /** + * The variable value or type is invalid, for example if the value could not be parsed + * to an Integer value or the passed variable type is not supported. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error- + * handling) for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Update or delete could not be executed, for example because the execution does not + * exist. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["PatchVariablesDto"]; + }; + }; + }; + /** + * Retrieves a variable from the context of a given execution by id. Does not traverse + * the parent execution hierarchy. + */ + getLocalExecutionVariable: { + parameters: { + path: { + /** The id of the execution to retrieve the variable from. */ + id: string; + /** The name of the variable to get. */ + varName: string; + }; + query: { + /** + * Determines whether serializable variable values (typically + * variables that store custom Java objects) should be deserialized + * on server side (default `true`). + * + * If set to `true`, a serializable variable will be deserialized on + * server side and transformed to JSON using + * [Jackson's](https://github.com/FasterXML/jackson) POJO/bean + * property introspection feature. Note that this requires the Java + * classes of the variable value to be on the REST API's classpath. + * If set to `false`, a serializable variable will be returned in its + * serialized format. For example, a variable that is serialized as + * XML will be returned as a JSON string containing XML. + * + * **Note:** While `true` is the default value for reasons of + * backward compatibility, we recommend setting this parameter to + * `false` when developing web applications that are independent of + * the Java process applications deployed to the engine. + */ + deserializeValue?: boolean; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["VariableValueDto"]; + }; + }; + /** + * Variable with given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Sets a variable in the context of a given execution by id. Update does not + * propagate upwards in the execution hierarchy. + */ + putLocalExecutionVariable: { + parameters: { + path: { + /** The id of the execution to set the variable for. */ + id: string; + /** The name of the variable to set. */ + varName: string; + }; + }; + responses: { + /** Request successful. This method returns no content. */ + 204: never; + /** + * The variable value or type is invalid, for example if the value could not be parsed + * to an Integer value or the passed variable type is not supported. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error- + * handling) for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["VariableValueDto"]; + }; + }; + }; + /** + * Deletes a variable in the context of a given execution by id. Deletion does not + * propagate upwards in the execution hierarchy. + */ + deleteLocalExecutionVariable: { + parameters: { + path: { + /** The id of the execution to delete the variable from. */ + id: string; + /** The name of the variable to delete. */ + varName: string; + }; + }; + responses: { + /** Request successful. This method returns no content. */ + 204: never; + }; + }; + /** + * Retrieves a binary variable from the context of a given execution by id. Does not + * traverse the parent execution hierarchy. Applicable for byte array and + * file variables. + */ + getLocalExecutionVariableBinary: { + parameters: { + path: { + /** The id of the execution to retrieve the variable from. */ + id: string; + /** The name of the variable to get. */ + varName: string; + }; + }; + responses: { + /** + * Request successful. + * For binary variables or files without any MIME type information, a byte stream is returned. + * File variables with MIME type information are returned as the saved type. + * Additionally, for file variables the Content-Disposition header will be set. + */ + 200: { + content: { + "application/octet-stream": string; + "text/plain": string; + }; + }; + /** + * Variable instance with given id exists but is not a binary variable. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Variable instance with given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Sets the serialized value for a binary variable or the binary value for a file + * variable in the context of a given execution by id. + */ + setLocalExecutionVariableBinary: { + parameters: { + path: { + /** The id of the execution to set the variable for. */ + id: string; + /** The name of the variable to set. */ + varName: string; + }; + }; + responses: { + /** Request successful. This method returns no content. */ + 204: never; + /** + * The variable value or type is invalid, for example if no filename is set. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "multipart/form-data": components["schemas"]["MultiFormVariableBinaryDto"]; + }; + }; + }; + /** + * Retrieves a message event subscription for a given execution by id and a message + * name. + */ + getMessageEventSubscription: { + parameters: { + path: { + /** The id of the execution that holds the subscription. */ + id: string; + /** The name of the message that the subscription corresponds to. */ + messageName: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["EventSubscriptionDto"]; + }; + }; + /** + * A message subscription for the given name and execution does not exist. + * This may either mean that the execution does not exist, or that + * it is not subscribed on such a message. + * See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Delivers a message to a specific execution by id, to trigger an existing message + * event subscription. Inject process variables as the message's + * payload. + */ + triggerEvent: { + parameters: { + path: { + /** The id of the execution to submit the message to. */ + id: string; + /** The name of the message that the addressed subscription corresponds to. */ + messageName: string; + }; + }; + responses: { + /** Request successful. This method returns no content. */ + 204: never; + /** + * The variable value or type is invalid, for example if the value could not be parsed + * to an Integer value or the passed variable type is not supported. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * The addressed execution has no pending message subscriptions for the given message. + * See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["ExecutionTriggerDto"]; + }; + }; + }; + /** + * Signals an execution by id. Can for example be used to explicitly skip user tasks + * or signal asynchronous continuations. + */ + signalExecution: { + parameters: { + path: { + /** The id of the execution to signal. */ + id: string; + }; + }; + responses: { + /** Request successful. This method returns no content. */ + 204: never; + /** + * The variable value or type is invalid, for example if the value could not be parsed + * to an Integer value or the passed variable type is not supported. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["ExecutionTriggerDto"]; + }; + }; + }; + /** + * Queries for the external tasks that fulfill given parameters. Parameters may be static as well as dynamic + * runtime properties of executions. The size of the result set can be retrieved by using the + * [Get External Task Count](https://docs.camunda.org/manual/latest/reference/rest/external-task/get-query-count/) method. + */ + getExternalTasks: { + parameters: { + query: { + /** Filter by an external task's id. */ + externalTaskId?: string; + /** Filter by the comma-separated list of external task ids. */ + externalTaskIdIn?: string; + /** Filter by an external task topic. */ + topicName?: string; + /** Filter by the id of the worker that the task was most recently locked by. */ + workerId?: string; + /** + * Only include external tasks that are currently locked (i.e., they have a lock time and it has not expired). + * Value may only be `true`, as `false` matches any external task. + */ + locked?: boolean; + /** + * Only include external tasks that are currently not locked (i.e., they have no lock or it has expired). + * Value may only be `true`, as `false` matches any external task. + */ + notLocked?: boolean; + /** + * Only include external tasks that have a positive (> 0) number of retries (or `null`). Value may only be + * `true`, as `false` matches any external task. + */ + withRetriesLeft?: boolean; + /** + * Only include external tasks that have 0 retries. Value may only be `true`, as `false` matches any + * external task. + */ + noRetriesLeft?: boolean; + /** + * Restrict to external tasks that have a lock that expires after a given date. By + * [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the format + * `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + lockExpirationAfter?: string; + /** + * Restrict to external tasks that have a lock that expires before a given date. By + * [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the format + * `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + lockExpirationBefore?: string; + /** Filter by the id of the activity that an external task is created for. */ + activityId?: string; + /** Filter by the comma-separated list of ids of the activities that an external task is created for. */ + activityIdIn?: string; + /** Filter by the id of the execution that an external task belongs to. */ + executionId?: string; + /** Filter by the id of the process instance that an external task belongs to. */ + processInstanceId?: string; + /** Filter by a comma-separated list of process instance ids that an external task may belong to. */ + processInstanceIdIn?: string; + /** Filter by the id of the process definition that an external task belongs to. */ + processDefinitionId?: string; + /** + * Filter by a comma-separated list of tenant ids. + * An external task must have one of the given tenant ids. + */ + tenantIdIn?: string; + /** Only include active tasks. Value may only be `true`, as `false` matches any external task. */ + active?: boolean; + /** Only include suspended tasks. Value may only be `true`, as `false` matches any external task. */ + suspended?: boolean; + /** + * Only include jobs with a priority higher than or equal to the given value. + * Value must be a valid `long` value. + */ + priorityHigherThanOrEquals?: number; + /** + * Only include jobs with a priority lower than or equal to the given value. + * Value must be a valid `long` value. + */ + priorityLowerThanOrEquals?: number; + /** + * Sort the results lexicographically by a given criterion. + * Must be used in conjunction with the sortOrder parameter. + */ + sortBy?: + | "id" + | "lockExpirationTime" + | "processInstanceId" + | "processDefinitionId" + | "processDefinitionKey" + | "taskPriority" + | "tenantId"; + /** + * Sort the results in a given order. Values may be asc for ascending order or desc for descending order. + * Must be used in conjunction with the sortBy parameter. + */ + sortOrder?: "asc" | "desc"; + /** Pagination of results. Specifies the index of the first result to return. */ + firstResult?: number; + /** + * Pagination of results. Specifies the maximum number of results to return. + * Will return less results if there are no more results left. + */ + maxResults?: number; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["ExternalTaskDto"][]; + }; + }; + /** + * Returned if some of the query parameters are invalid, for example if a `sortOrder` parameter is supplied, + * but no `sortBy`. See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Queries for external tasks that fulfill given parameters in the form of a JSON object. + * + * This method is slightly more powerful than the + * [Get External Tasks](https://docs.camunda.org/manual/latest/reference/rest/external-task/get-query/) method because it allows to + * specify a hierarchical result sorting. + */ + queryExternalTasks: { + parameters: { + query: { + /** Pagination of results. Specifies the index of the first result to return. */ + firstResult?: number; + /** + * Pagination of results. Specifies the maximum number of results to return. + * Will return less results if there are no more results left. + */ + maxResults?: number; + }; + }; + responses: { + /** Request successful. The Response is a JSON array of external task objects. */ + 200: { + content: { + "application/json": components["schemas"]["ExternalTaskDto"][]; + }; + }; + /** + * Returned if some of the query parameters are invalid, for example if a `sortOrder` parameter is supplied, + * but no `sortBy`. See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["ExternalTaskQueryDto"]; + }; + }; + }; + /** + * Queries for the number of external tasks that fulfill given parameters. Takes the same parameters as the + * [Get External Tasks](https://docs.camunda.org/manual/latest/reference/rest/external-task/get-query/) method. + */ + getExternalTasksCount: { + parameters: { + query: { + /** Filter by an external task's id. */ + externalTaskId?: string; + /** Filter by the comma-separated list of external task ids. */ + externalTaskIdIn?: string; + /** Filter by an external task topic. */ + topicName?: string; + /** Filter by the id of the worker that the task was most recently locked by. */ + workerId?: string; + /** + * Only include external tasks that are currently locked (i.e., they have a lock time and it has not expired). + * Value may only be `true`, as `false` matches any external task. + */ + locked?: boolean; + /** + * Only include external tasks that are currently not locked (i.e., they have no lock or it has expired). + * Value may only be `true`, as `false` matches any external task. + */ + notLocked?: boolean; + /** + * Only include external tasks that have a positive (> 0) number of retries (or `null`). Value may only be + * `true`, as `false` matches any external task. + */ + withRetriesLeft?: boolean; + /** + * Only include external tasks that have 0 retries. Value may only be `true`, as `false` matches any + * external task. + */ + noRetriesLeft?: boolean; + /** + * Restrict to external tasks that have a lock that expires after a given date. By + * [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the format + * `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + lockExpirationAfter?: string; + /** + * Restrict to external tasks that have a lock that expires before a given date. By + * [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the format + * `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + lockExpirationBefore?: string; + /** Filter by the id of the activity that an external task is created for. */ + activityId?: string; + /** Filter by the comma-separated list of ids of the activities that an external task is created for. */ + activityIdIn?: string; + /** Filter by the id of the execution that an external task belongs to. */ + executionId?: string; + /** Filter by the id of the process instance that an external task belongs to. */ + processInstanceId?: string; + /** Filter by a comma-separated list of process instance ids that an external task may belong to. */ + processInstanceIdIn?: string; + /** Filter by the id of the process definition that an external task belongs to. */ + processDefinitionId?: string; + /** + * Filter by a comma-separated list of tenant ids. + * An external task must have one of the given tenant ids. + */ + tenantIdIn?: string; + /** Only include active tasks. Value may only be `true`, as `false` matches any external task. */ + active?: boolean; + /** Only include suspended tasks. Value may only be `true`, as `false` matches any external task. */ + suspended?: boolean; + /** + * Only include jobs with a priority higher than or equal to the given value. + * Value must be a valid `long` value. + */ + priorityHigherThanOrEquals?: number; + /** + * Only include jobs with a priority lower than or equal to the given value. + * Value must be a valid `long` value. + */ + priorityLowerThanOrEquals?: number; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["CountResultDto"]; + }; + }; + /** + * Returned if some of the query parameters are invalid. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Queries for the number of external tasks that fulfill given parameters. This method takes the same message + * body as the [Get External Tasks (POST)](https://docs.camunda.org/manual/latest/reference/rest/external-task/post-query/) method. + */ + queryExternalTasksCount: { + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["CountResultDto"]; + }; + }; + /** + * Returned if some of the query parameters are invalid. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["ExternalTaskQueryDto"]; + }; + }; + }; + /** + * Fetches and locks a specific number of external tasks for execution by a worker. Query can be restricted + * to specific task topics and for each task topic an individual lock time can be provided. + */ + fetchAndLock: { + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["LockedExternalTaskDto"][]; + }; + }; + /** + * Bad Request. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["FetchExternalTasksDto"]; + }; + }; + }; + /** + * Sets the number of retries left to execute external tasks by id synchronously. If retries are set to 0, + * an incident is created. + */ + setExternalTaskRetries: { + responses: { + /** Request successful. */ + 204: never; + /** + * In case the number of retries is negative or null, an exception of type `InvalidRequestException` is + * returned. See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Returned if the task does not exist. This could indicate a wrong task id as well as a cancelled task, + * e.g., due to a caught BPMN boundary event. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["SetRetriesForExternalTasksDto"]; + }; + }; + }; + /** + * Sets the number of retries left to execute external tasks by id asynchronously. If retries are set to 0, + * an incident is created. + */ + setExternalTaskRetriesAsyncOperation: { + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["BatchDto"]; + }; + }; + /** + * If neither externalTaskIds nor externalTaskQuery are present or externalTaskIds contains null value or + * the number of retries is negative or null, an exception of type `InvalidRequestException` is returned. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Returned if the task does not exist. This could indicate a wrong task id as well as a cancelled task, + * e.g., due to a caught BPMN boundary event. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["SetRetriesForExternalTasksDto"]; + }; + }; + }; + /** + * Queries for distinct topic names of external tasks that fulfill given parameters. + * Query can be restricted to only tasks with retries left, tasks that are locked, or tasks + * that are unlocked. The parameters withLockedTasks and withUnlockedTasks are + * exclusive. Setting them both to true will return an empty list. + * Providing no parameters will return a list of all distinct topic names with external tasks. + */ + getTopicNames: { + parameters: { + query: { + /** + * Only include external tasks that are currently locked (i.e., they have a lock time and it has not expired). + * Value may only be `true`, as `false` matches any external task. + */ + withLockedTasks?: boolean; + /** + * Only include external tasks that are currently not locked (i.e., they have no lock or it has expired). + * Value may only be `true`, as `false` matches any external task. + */ + withUnlockedTasks?: boolean; + /** + * Only include external tasks that have a positive (> 0) number of retries (or `null`). Value may only be + * `true`, as `false` matches any external task. + */ + withRetriesLeft?: boolean; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": string[]; + }; + }; + /** Returned if some of the query parameters are invalid. */ + 400: { + content: { + "application/json": { [key: string]: any }; + }; + }; + }; + }; + /** Retrieves an external task by id, corresponding to the `ExternalTask` interface in the engine. */ + getExternalTask: { + parameters: { + path: { + /** The id of the external task to be retrieved. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["ExternalTaskDto"]; + }; + }; + /** + * External task with the given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Reports a business error in the context of a running external task by id. The error code must be specified + * to identify the BPMN error handler. + */ + handleExternalTaskBpmnError: { + parameters: { + path: { + /** The id of the external task in which context a BPMN error is reported. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * Returned if the task's most recent lock was not acquired by the provided worker. + * + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Returned if the task does not exist. This could indicate a wrong task id as well as a cancelled task, + * e.g., due to a caught BPMN boundary event. + * + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Returned if the corresponding process instance could not be resumed successfully. + * + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["ExternalTaskBpmnError"]; + }; + }; + }; + /** Completes an external task by id and updates process variables. */ + completeExternalTaskResource: { + parameters: { + path: { + /** The id of the task to complete. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * Returned if the task's most recent lock was not acquired by the provided worker. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Returned if the task does not exist. This could indicate a wrong task id as well as a cancelled task, + * e.g., due to a caught BPMN boundary event. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Returned if the corresponding process instance could not be resumed successfully. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["CompleteExternalTaskDto"]; + }; + }; + }; + /** Retrieves the error details in the context of a running external task by id. */ + getExternalTaskErrorDetails: { + parameters: { + path: { + /** The id of the external task for which the error details should be retrieved. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "text/plain": string; + }; + }; + /** Request successful. In case the external task has no error details. */ + 204: never; + /** + * An external task with the given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Extends the timeout of the lock by a given amount of time. */ + extendLock: { + parameters: { + path: { + /** The id of the external task. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * In case the new lock duration is negative or the external task is not locked by the given worker or not + * locked at all, an exception of type `InvalidRequestException` is returned. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Returned if the task does not exist. This could indicate a wrong task id as well as a cancelled task, + * e.g., due to a caught BPMN boundary event. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["ExtendLockOnExternalTaskDto"]; + }; + }; + }; + /** + * Reports a failure to execute an external task by id. A number of retries and a timeout until the task can + * be retried can be specified. If retries are set to 0, an incident for this task is created. + */ + handleFailure: { + parameters: { + path: { + /** The id of the external task to report a failure for. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * Returned if the task's most recent lock was not acquired by the provided worker. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Returned if the task does not exist. This could indicate a wrong task id as well as a cancelled task, + * e.g., due to a caught BPMN boundary event. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Returned if the corresponding process instance could not be resumed successfully. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["ExternalTaskFailureDto"]; + }; + }; + }; + /** Lock an external task by a given id for a specified worker and amount of time. */ + lock: { + parameters: { + path: { + /** The id of the external task. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * In case the lock duration is negative or the external task is already locked by + * a different worker, an exception of type `InvalidRequestException` is returned. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Returned if the task does not exist. This could indicate a wrong task id as well as a cancelled task, + * e.g., due to a caught BPMN boundary event. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["LockExternalTaskDto"]; + }; + }; + }; + /** Sets the priority of an existing external task by id. The default value of a priority is 0. */ + setExternalTaskResourcePriority: { + parameters: { + path: { + /** The id of the external task to set the priority for. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * Returned if the task does not exist. This could indicate a wrong task id as well as a cancelled task, + * e.g., due to a caught BPMN boundary event. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["PriorityDto"]; + }; + }; + }; + /** + * Sets the number of retries left to execute an external task by id. If retries are set to 0, an + * incident is created. + */ + setExternalTaskResourceRetries: { + parameters: { + path: { + /** The id of the external task to set the number of retries for. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * Returned if the task does not exist. This could indicate a wrong task id as well as a cancelled task, + * e.g., due to a caught BPMN boundary event. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * In case the number of retries is negative or null, an exception of type `InvalidRequestException` + * is returned. See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["RetriesDto"]; + }; + }; + }; + /** Unlocks an external task by id. Clears the task's lock expiration time and worker id. */ + unlock: { + parameters: { + path: { + /** The id of the external task to unlock. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * Returned if the task does not exist. This could indicate a wrong task id as well as a cancelled task, + * e.g., due to a caught BPMN boundary event. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Queries for a list of groups using a list of parameters. The size of the result set can be retrieved + * by using the [Get Group Count](https://docs.camunda.org/manual/latest/reference/rest/group/get-query-count) method. + */ + getQueryGroups: { + parameters: { + query: { + /** + * Sort the results lexicographically by a given criterion. + * Must be used in conjunction with the sortOrder parameter. + */ + sortBy?: "id" | "name" | "type"; + /** + * Sort the results in a given order. Values may be asc for ascending order or desc for descending order. + * Must be used in conjunction with the sortBy parameter. + */ + sortOrder?: "asc" | "desc"; + /** Pagination of results. Specifies the index of the first result to return. */ + firstResult?: number; + /** + * Pagination of results. Specifies the maximum number of results to return. + * Will return less results if there are no more results left. + */ + maxResults?: number; + /** Filter by the id of the group. */ + id?: string; + /** Filter by a comma seperated list of group ids. */ + idIn?: string; + /** Filter by the name of the group. */ + name?: string; + /** Filter by the name that the parameter is a substring of. */ + nameLike?: string; + /** Filter by the type of the group. */ + type?: string; + /** Only retrieve groups where the given user id is a member of. */ + member?: string; + /** Only retrieve groups which are members of the given tenant. */ + memberOfTenant?: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["GroupDto"][]; + }; + }; + /** + * Returned if some of the query parameters are invalid, for example if a `sortOrder` parameter is supplied, + * but no `sortBy` is specified. See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Queries for a list of groups using a list of parameters. + * The size of the result set can be retrieved by using the + * [Get Group Count (POST)](https://docs.camunda.org/manual/latest/reference/rest/group/post-query-count/) method. + */ + postQueryGroups: { + parameters: { + query: { + /** Pagination of results. Specifies the index of the first result to return. */ + firstResult?: number; + /** + * Pagination of results. Specifies the maximum number of results to return. + * Will return less results if there are no more results left. + */ + maxResults?: number; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["GroupDto"][]; + }; + }; + /** + * Returned if some of the query parameters are invalid, for example if a `sortOrder` parameter is supplied, + * but no `sortBy` is specified. See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["GroupQueryDto"]; + }; + }; + }; + /** + * The `/group` resource supports two custom OPTIONS requests, this one for the resource as such and one for + * individual group instances. The OPTIONS request allows checking for the set of available operations that + * the currently authenticated user can perform on the `/group` resource. If the user can perform an operation + * or not may depend on various things, including the users authorizations to interact with this resource and + * the internal configuration of the process engine. + */ + availableGroupOperations: { + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["ResourceOptionsDto"]; + }; + }; + }; + }; + /** Queries for groups using a list of parameters and retrieves the count. */ + getGroupCount: { + parameters: { + query: { + /** Filter by the id of the group. */ + id?: string; + /** Filter by a comma seperated list of group ids. */ + idIn?: string; + /** Filter by the name of the group. */ + name?: string; + /** Filter by the name that the parameter is a substring of. */ + nameLike?: string; + /** Filter by the type of the group. */ + type?: string; + /** Only retrieve groups where the given user id is a member of. */ + member?: string; + /** Only retrieve groups which are members of the given tenant. */ + memberOfTenant?: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["CountResultDto"]; + }; + }; + /** + * Returned if some of the query parameters are invalid. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error response + * format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Queries for groups using a list of parameters and retrieves the count. */ + queryGroupCount: { + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["CountResultDto"]; + }; + }; + /** + * Returned if some of the query parameters are invalid. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error response + * format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["GroupQueryDto"]; + }; + }; + }; + /** Creates a new group. */ + createGroup: { + responses: { + /** Request successful. This method returns no content. */ + 204: never; + /** Identity service is read-only (Cannot modify users / groups / memberships). */ + 403: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * The group could not be created due to an internal server error. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the + * error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["GroupDto"]; + }; + }; + }; + /** Retrieves a group by id. */ + getGroup: { + parameters: { + path: { + /** The id of the group to be retrieved. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["GroupDto"]; + }; + }; + /** + * Group with given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Updates a given group by id. */ + updateGroup: { + parameters: { + path: { + /** The id of the group. */ + id: string; + }; + }; + responses: { + /** Request successful. No content. */ + 204: never; + /** Identity service is read-only (Cannot modify users / groups / memberships). */ + 403: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** If the group with the requested Id cannot be found. */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * The group could not be updated due to an internal server error. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error + * response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["GroupDto"]; + }; + }; + }; + /** Deletes a group by id. */ + deleteGroup: { + parameters: { + path: { + /** The id of the group to be deleted. */ + id: string; + }; + }; + responses: { + /** Request successful. This method returns no content. */ + 204: never; + /** Identity service is read-only (Cannot modify users / groups / memberships). */ + 403: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Group cannot be found. See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for + * the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * The `/group` resource supports two custom OPTIONS requests, one for the resource as such and this one for individual group instances. + * The OPTIONS request allows checking for the set of available operations that the currently authenticated user can perform on the + * `/group/{id}` resource instance. If the user can perform an operation or not may depend on various things, including the users authorizations + * to interact with this resource and the internal configuration of the process engine. + */ + availableGroupInstanceOperations: { + parameters: { + path: { + /** The id of the group. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["ResourceOptionsDto"]; + }; + }; + }; + }; + /** + * The OPTIONS request allows checking for the set of available operations that the currently authenticated + * user can perform on the resource. If the user can perform an operation or not may depend on various + * things, including the users authorizations to interact with this resource and the internal configuration + * of the process engine. + */ + availableGroupMembersOperations: { + parameters: { + path: { + /** The id of the group. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["ResourceOptionsDto"]; + }; + }; + }; + }; + /** Adds a member to a group. */ + createGroupMember: { + parameters: { + path: { + /** The id of the group. */ + id: string; + /** The id of user to add to the group. */ + userId: string; + }; + }; + responses: { + /** Request successful. This method returns no content. */ + 204: never; + /** Identity service is read-only (Cannot modify users / groups / memberships). */ + 403: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * In case an internal error occurs. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Removes a member from a group. */ + deleteGroupMember: { + parameters: { + path: { + /** The id of the group. */ + id: string; + /** The id of user to remove from the group. */ + userId: string; + }; + }; + responses: { + /** Request successful. This method returns no content. */ + 204: never; + /** Identity service is read-only (Cannot modify users / groups / memberships). */ + 403: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * In case an error occurs. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Queries for historic activity instances that fulfill the given parameters. + * The size of the result set can be retrieved by using the + * [Get Historic Activity Instance Count](https://docs.camunda.org/manual/latest/reference/rest/history/activity-instance/get-activity-instance-query-count/) method. + */ + getHistoricActivityInstances: { + parameters: { + query: { + /** + * Sort the results lexicographically by a given criterion. + * Must be used in conjunction with the sortOrder parameter. + */ + sortBy?: + | "activityInstanceId" + | "instanceId" + | "executionId" + | "activityId" + | "activityName" + | "activityType" + | "startTime" + | "endTime" + | "duration" + | "definitionId" + | "occurrence" + | "tenantId"; + /** + * Sort the results in a given order. Values may be asc for ascending order or desc for descending order. + * Must be used in conjunction with the sortBy parameter. + */ + sortOrder?: "asc" | "desc"; + /** Pagination of results. Specifies the index of the first result to return. */ + firstResult?: number; + /** + * Pagination of results. Specifies the maximum number of results to return. + * Will return less results if there are no more results left. + */ + maxResults?: number; + /** Filter by activity instance id. */ + activityInstanceId?: string; + /** Filter by process instance id. */ + processInstanceId?: string; + /** Filter by process definition id. */ + processDefinitionId?: string; + /** Filter by the id of the execution that executed the activity instance. */ + executionId?: string; + /** Filter by the activity id (according to BPMN 2.0 XML). */ + activityId?: string; + /** Filter by the activity name (according to BPMN 2.0 XML). */ + activityName?: string; + /** Filter by activity type. */ + activityType?: string; + /** Only include activity instances that are user tasks and assigned to a given user. */ + taskAssignee?: string; + /** + * Only include finished activity instances. + * Value may only be `true`, as `false` behaves the same as when the property is not set. + */ + finished?: boolean; + /** + * Only include unfinished activity instances. + * Value may only be `true`, as `false` behaves the same as when the property is not set. + */ + unfinished?: boolean; + /** + * Only include canceled activity instances. + * Value may only be `true`, as `false` behaves the same as when the property is not set. + */ + canceled?: boolean; + /** + * Only include activity instances which completed a scope. + * Value may only be `true`, as `false` behaves the same as when the property is not set. + */ + completeScope?: boolean; + /** + * Restrict to instances that were started before the given date. By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), + * the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + startedBefore?: string; + /** + * Restrict to instances that were started after the given date. By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), + * the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + startedAfter?: string; + /** + * Restrict to instances that were finished before the given date. By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), + * the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + finishedBefore?: string; + /** + * Restrict to instances that were finished after the given date. By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), + * the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + finishedAfter?: string; + /** Filter by a comma-separated list of ids. An activity instance must have one of the given tenant ids. */ + tenantIdIn?: string; + /** Only include historic activity instances that belong to no tenant. Value may only be `true`, as `false` is the default behavior. */ + withoutTenantId?: boolean; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["HistoricActivityInstanceDto"][]; + }; + }; + /** + * Bad Request + * Returned if some of the query parameters are invalid, for example if a sortOrder parameter is supplied, but no sortBy. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Queries for historic activity instances that fulfill the given parameters. + * The size of the result set can be retrieved by using the + * [Get Historic Activity Instance Count](https://docs.camunda.org/manual/latest/reference/rest/history/activity-instance/get-activity-instance-query-count/) method. + */ + queryHistoricActivityInstances: { + parameters: { + query: { + /** Pagination of results. Specifies the index of the first result to return. */ + firstResult?: number; + /** + * Pagination of results. Specifies the maximum number of results to return. + * Will return less results if there are no more results left. + */ + maxResults?: number; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["HistoricActivityInstanceDto"][]; + }; + }; + /** + * Bad Request + * Returned if some of the query parameters are invalid, for example if a sortOrder parameter is supplied, but no sortBy. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["HistoricActivityInstanceQueryDto"]; + }; + }; + }; + /** + * Queries for the number of historic activity instances that fulfill the given parameters. + * Takes the same parameters as the [Get Historic Activity Instance](https://docs.camunda.org/manual/latest/reference/rest/history/activity-instance/get-activity-instance-query/) method. + */ + getHistoricActivityInstancesCount: { + parameters: { + query: { + /** Filter by activity instance id. */ + activityInstanceId?: string; + /** Filter by process instance id. */ + processInstanceId?: string; + /** Filter by process definition id. */ + processDefinitionId?: string; + /** Filter by the id of the execution that executed the activity instance. */ + executionId?: string; + /** Filter by the activity id (according to BPMN 2.0 XML). */ + activityId?: string; + /** Filter by the activity name (according to BPMN 2.0 XML). */ + activityName?: string; + /** Filter by activity type. */ + activityType?: string; + /** Only include activity instances that are user tasks and assigned to a given user. */ + taskAssignee?: string; + /** + * Only include finished activity instances. + * Value may only be `true`, as `false` behaves the same as when the property is not set. + */ + finished?: boolean; + /** + * Only include unfinished activity instances. + * Value may only be `true`, as `false` behaves the same as when the property is not set. + */ + unfinished?: boolean; + /** + * Only include canceled activity instances. + * Value may only be `true`, as `false` behaves the same as when the property is not set. + */ + canceled?: boolean; + /** + * Only include activity instances which completed a scope. + * Value may only be `true`, as `false` behaves the same as when the property is not set. + */ + completeScope?: boolean; + /** + * Restrict to instances that were started before the given date. By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), + * the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + startedBefore?: string; + /** + * Restrict to instances that were started after the given date. By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), + * the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + startedAfter?: string; + /** + * Restrict to instances that were finished before the given date. By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), + * the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + finishedBefore?: string; + /** + * Restrict to instances that were finished after the given date. By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), + * the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + finishedAfter?: string; + /** Filter by a comma-separated list of ids. An activity instance must have one of the given tenant ids. */ + tenantIdIn?: string; + /** Only include historic activity instances that belong to no tenant. Value may only be `true`, as `false` is the default behavior. */ + withoutTenantId?: boolean; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["CountResultDto"]; + }; + }; + /** + * Bad Request + * Returned if some of the query parameters are invalid. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Queries for the number of historic activity instances that fulfill the given parameters. */ + queryHistoricActivityInstancesCount: { + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["CountResultDto"]; + }; + }; + /** + * Bad Request + * Returned if some of the query parameters are invalid. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["HistoricActivityInstanceQueryDto"]; + }; + }; + }; + /** Retrieves a historic activity instance by id, according to the `HistoricActivityInstance` interface in the engine. */ + getHistoricActivityInstance: { + parameters: { + path: { + /** The id of the historic activity instance to be retrieved. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["HistoricActivityInstanceDto"]; + }; + }; + /** + * Not Found + * Historic activity instance with given id does not exist. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Queries for historic process instances that fulfill the given parameters. + * The size of the result set can be retrieved by using the + * [Get Process Instance Count](https://docs.camunda.org/manual/latest/reference/rest/history/process-instance/get-process-instance-query-count/) method. + */ + getHistoricProcessInstances: { + parameters: { + query: { + /** + * Sort the results lexicographically by a given criterion. + * Must be used in conjunction with the sortOrder parameter. + */ + sortBy?: + | "instanceId" + | "definitionId" + | "definitionKey" + | "definitionName" + | "definitionVersion" + | "businessKey" + | "startTime" + | "endTime" + | "duration" + | "tenantId"; + /** + * Sort the results in a given order. Values may be asc for ascending order or desc for descending order. + * Must be used in conjunction with the sortBy parameter. + */ + sortOrder?: "asc" | "desc"; + /** Pagination of results. Specifies the index of the first result to return. */ + firstResult?: number; + /** + * Pagination of results. Specifies the maximum number of results to return. + * Will return less results if there are no more results left. + */ + maxResults?: number; + /** Filter by process instance id. */ + processInstanceId?: string; + /** Filter by process instance ids. Filter by a comma-separated list of `Strings`. */ + processInstanceIds?: string; + /** Filter by the process definition the instances run on. */ + processDefinitionId?: string; + /** Filter by the key of the process definition the instances run on. */ + processDefinitionKey?: string; + /** Filter by a list of process definition keys. A process instance must have one of the given process definition keys. Filter by a comma-separated list of `Strings`. */ + processDefinitionKeyIn?: string; + /** Filter by the name of the process definition the instances run on. */ + processDefinitionName?: string; + /** Filter by process definition names that the parameter is a substring of. */ + processDefinitionNameLike?: string; + /** Exclude instances that belong to a set of process definitions. Filter by a comma-separated list of `Strings`. */ + processDefinitionKeyNotIn?: string; + /** Filter by process instance business key. */ + processInstanceBusinessKey?: string; + /** Filter by process instance business key that the parameter is a substring of. */ + processInstanceBusinessKeyLike?: string; + /** Restrict the query to all process instances that are top level process instances. */ + rootProcessInstances?: boolean; + /** + * Only include finished process instances. This flag includes all process instances + * that are completed or terminated. Value may only be `true`, as `false` is the default behavior. + */ + finished?: boolean; + /** Only include unfinished process instances. Value may only be `true`, as `false` is the default behavior. */ + unfinished?: boolean; + /** Only include process instances which have an incident. Value may only be `true`, as `false` is the default behavior. */ + withIncidents?: boolean; + /** Only include process instances which have a root incident. Value may only be `true`, as `false` is the default behavior. */ + withRootIncidents?: boolean; + /** Filter by the incident type. See the [User Guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/incidents/#incident-types) for a list of incident types. */ + incidentType?: string; + /** Only include process instances which have an incident in status either open or resolved. To get all process instances, use the query parameter withIncidents. */ + incidentStatus?: "open" | "resolved"; + /** Filter by the incident message. Exact match. */ + incidentMessage?: string; + /** Filter by the incident message that the parameter is a substring of. */ + incidentMessageLike?: string; + /** + * Restrict to instances that were started before the given date. + * By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + startedBefore?: string; + /** + * Restrict to instances that were started after the given date. + * By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + startedAfter?: string; + /** + * Restrict to instances that were finished before the given date. + * By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + finishedBefore?: string; + /** + * Restrict to instances that were finished after the given date. + * By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + finishedAfter?: string; + /** + * Restrict to instances that executed an activity after the given date (inclusive). + * By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + executedActivityAfter?: string; + /** + * Restrict to instances that executed an activity before the given date (inclusive). + * By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + executedActivityBefore?: string; + /** + * Restrict to instances that executed an job after the given date (inclusive). + * By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + executedJobAfter?: string; + /** + * Restrict to instances that executed an job before the given date (inclusive). + * By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + executedJobBefore?: string; + /** Only include process instances that were started by the given user. */ + startedBy?: string; + /** Restrict query to all process instances that are sub process instances of the given process instance. Takes a process instance id. */ + superProcessInstanceId?: string; + /** Restrict query to one process instance that has a sub process instance with the given id. */ + subProcessInstanceId?: string; + /** Restrict query to all process instances that are sub process instances of the given case instance. Takes a case instance id. */ + superCaseInstanceId?: string; + /** Restrict query to one process instance that has a sub case instance with the given id. */ + subCaseInstanceId?: string; + /** Restrict query to all process instances that are sub process instances of the given case instance. Takes a case instance id. */ + caseInstanceId?: string; + /** Filter by a list of tenant ids. A process instance must have one of the given tenant ids. Filter by a comma-separated list of `Strings` */ + tenantIdIn?: string; + /** Only include historic process instances which belong to no tenant. Value may only be `true`, as `false` is the default behavior. */ + withoutTenantId?: boolean; + /** Restrict to instances that executed an activity with one of given ids. Filter by a comma-separated list of `Strings` */ + executedActivityIdIn?: string; + /** Restrict to instances that have an active activity with one of given ids. Filter by a comma-separated list of `Strings` */ + activeActivityIdIn?: string; + /** Restrict to instances that are active. */ + active?: boolean; + /** Restrict to instances that are suspended. */ + suspended?: boolean; + /** Restrict to instances that are completed. */ + completed?: boolean; + /** Restrict to instances that are externallyTerminated. */ + externallyTerminated?: boolean; + /** Restrict to instances that are internallyTerminated. */ + internallyTerminated?: boolean; + /** + * Only include process instances that have/had variables with certain values. + * Variable filtering expressions are comma-separated and are structured as follows: + * A valid parameter value has the form `key_operator_value`. `key` is the variable name, `operator` is the comparison operator to be used and `value` the variable value. + * + * **Note:** Values are always treated as String objects on server side. + * + * Valid operator values are: `eq` - equal to; `neq` - not equal to; `gt` - greater than; `gteq` - greater than or equal to; `lt` - lower than; `lteq` - lower than or equal to; `like`. + * + * Key and value may not contain underscore or comma characters. + */ + variables?: string; + /** Match all variable names provided in variables case-insensitively. If set to `true` variableName and variablename are treated as equal. */ + variableNamesIgnoreCase?: boolean; + /** Match all variable values provided in variables case-insensitively. If set to `true` variableValue and variablevalue are treated as equal. */ + variableValuesIgnoreCase?: boolean; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["HistoricProcessInstanceDto"][]; + }; + }; + /** + * Bad Request + * Returned if some of the query parameters are invalid, for example if a sortOrder parameter is supplied, but no sortBy. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Queries for historic process instances that fulfill the given parameters. + * This method is slightly more powerful than the + * [Get Process Instance](https://docs.camunda.org/manual/latest/reference/rest/history/process-instance/get-process-instance-query/) + * because it allows filtering by multiple process variables of types `String`, `Number` or `Boolean`. + */ + queryHistoricProcessInstances: { + parameters: { + query: { + /** Pagination of results. Specifies the index of the first result to return. */ + firstResult?: number; + /** + * Pagination of results. Specifies the maximum number of results to return. + * Will return less results if there are no more results left. + */ + maxResults?: number; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["HistoricProcessInstanceDto"][]; + }; + }; + /** + * Bad Request + * Returned if some of the query parameters are invalid, for example if a sortOrder parameter is supplied, but no sortBy. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["HistoricProcessInstanceQueryDto"]; + }; + }; + }; + /** + * Queries for the number of historic process instances that fulfill the given parameters. + * Takes the same parameters as the [Get Process Instances](https://docs.camunda.org/manual/latest/reference/rest/history/process-instance/get-process-instance-query/) method. + */ + getHistoricProcessInstancesCount: { + parameters: { + query: { + /** Filter by process instance id. */ + processInstanceId?: string; + /** Filter by process instance ids. Filter by a comma-separated list of `Strings`. */ + processInstanceIds?: string; + /** Filter by the process definition the instances run on. */ + processDefinitionId?: string; + /** Filter by the key of the process definition the instances run on. */ + processDefinitionKey?: string; + /** Filter by a list of process definition keys. A process instance must have one of the given process definition keys. Filter by a comma-separated list of `Strings`. */ + processDefinitionKeyIn?: string; + /** Filter by the name of the process definition the instances run on. */ + processDefinitionName?: string; + /** Filter by process definition names that the parameter is a substring of. */ + processDefinitionNameLike?: string; + /** Exclude instances that belong to a set of process definitions. Filter by a comma-separated list of `Strings`. */ + processDefinitionKeyNotIn?: string; + /** Filter by process instance business key. */ + processInstanceBusinessKey?: string; + /** Filter by process instance business key that the parameter is a substring of. */ + processInstanceBusinessKeyLike?: string; + /** Restrict the query to all process instances that are top level process instances. */ + rootProcessInstances?: boolean; + /** + * Only include finished process instances. This flag includes all process instances + * that are completed or terminated. Value may only be `true`, as `false` is the default behavior. + */ + finished?: boolean; + /** Only include unfinished process instances. Value may only be `true`, as `false` is the default behavior. */ + unfinished?: boolean; + /** Only include process instances which have an incident. Value may only be `true`, as `false` is the default behavior. */ + withIncidents?: boolean; + /** Only include process instances which have a root incident. Value may only be `true`, as `false` is the default behavior. */ + withRootIncidents?: boolean; + /** Filter by the incident type. See the [User Guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/incidents/#incident-types) for a list of incident types. */ + incidentType?: string; + /** Only include process instances which have an incident in status either open or resolved. To get all process instances, use the query parameter withIncidents. */ + incidentStatus?: "open" | "resolved"; + /** Filter by the incident message. Exact match. */ + incidentMessage?: string; + /** Filter by the incident message that the parameter is a substring of. */ + incidentMessageLike?: string; + /** + * Restrict to instances that were started before the given date. + * By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + startedBefore?: string; + /** + * Restrict to instances that were started after the given date. + * By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + startedAfter?: string; + /** + * Restrict to instances that were finished before the given date. + * By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + finishedBefore?: string; + /** + * Restrict to instances that were finished after the given date. + * By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + finishedAfter?: string; + /** + * Restrict to instances that executed an activity after the given date (inclusive). + * By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + executedActivityAfter?: string; + /** + * Restrict to instances that executed an activity before the given date (inclusive). + * By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + executedActivityBefore?: string; + /** + * Restrict to instances that executed an job after the given date (inclusive). + * By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + executedJobAfter?: string; + /** + * Restrict to instances that executed an job before the given date (inclusive). + * By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + executedJobBefore?: string; + /** Only include process instances that were started by the given user. */ + startedBy?: string; + /** Restrict query to all process instances that are sub process instances of the given process instance. Takes a process instance id. */ + superProcessInstanceId?: string; + /** Restrict query to one process instance that has a sub process instance with the given id. */ + subProcessInstanceId?: string; + /** Restrict query to all process instances that are sub process instances of the given case instance. Takes a case instance id. */ + superCaseInstanceId?: string; + /** Restrict query to one process instance that has a sub case instance with the given id. */ + subCaseInstanceId?: string; + /** Restrict query to all process instances that are sub process instances of the given case instance. Takes a case instance id. */ + caseInstanceId?: string; + /** Filter by a list of tenant ids. A process instance must have one of the given tenant ids. Filter by a comma-separated list of `Strings` */ + tenantIdIn?: string; + /** Only include historic process instances which belong to no tenant. Value may only be `true`, as `false` is the default behavior. */ + withoutTenantId?: boolean; + /** Restrict to instances that executed an activity with one of given ids. Filter by a comma-separated list of `Strings` */ + executedActivityIdIn?: string; + /** Restrict to instances that have an active activity with one of given ids. Filter by a comma-separated list of `Strings` */ + activeActivityIdIn?: string; + /** Restrict to instances that are active. */ + active?: boolean; + /** Restrict to instances that are suspended. */ + suspended?: boolean; + /** Restrict to instances that are completed. */ + completed?: boolean; + /** Restrict to instances that are externallyTerminated. */ + externallyTerminated?: boolean; + /** Restrict to instances that are internallyTerminated. */ + internallyTerminated?: boolean; + /** + * Only include process instances that have/had variables with certain values. + * Variable filtering expressions are comma-separated and are structured as follows: + * A valid parameter value has the form `key_operator_value`. `key` is the variable name, `operator` is the comparison operator to be used and `value` the variable value. + * + * **Note:** Values are always treated as String objects on server side. + * + * Valid operator values are: `eq` - equal to; `neq` - not equal to; `gt` - greater than; `gteq` - greater than or equal to; `lt` - lower than; `lteq` - lower than or equal to; `like`. + * + * Key and value may not contain underscore or comma characters. + */ + variables?: string; + /** Match all variable names provided in variables case-insensitively. If set to `true` variableName and variablename are treated as equal. */ + variableNamesIgnoreCase?: boolean; + /** Match all variable values provided in variables case-insensitively. If set to `true` variableValue and variablevalue are treated as equal. */ + variableValuesIgnoreCase?: boolean; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["CountResultDto"]; + }; + }; + /** + * Bad Request + * Returned if some of the query parameters are invalid. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Queries for the number of historic process instances that fulfill the given parameters. + * This method takes the same message body as the [Get Process Instances (POST)](https://docs.camunda.org/manual/latest/reference/rest/history/process-instance/get-process-instance-query/) method and + * therefore it is slightly more powerful than the [Get Process Instance Count](https://docs.camunda.org/manual/latest/reference/rest/history/process-instance/post-process-instance-query-count/) method. + */ + queryHistoricProcessInstancesCount: { + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["CountResultDto"]; + }; + }; + /** + * Bad Request + * Returned if some of the query parameters are invalid. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["HistoricProcessInstanceQueryDto"]; + }; + }; + }; + /** + * Delete multiple historic process instances asynchronously (batch). + * At least `historicProcessInstanceIds` or `historicProcessInstanceQuery` has to be provided. + * If both are provided then all instances matching query criterion and instances from the list will be deleted. + */ + deleteHistoricProcessInstancesAsync: { + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["BatchDto"]; + }; + }; + /** + * Returned if some of the query parameters are invalid, i.e. neither historicProcessInstanceIds, + * nor historicProcessInstanceQuery is present. See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["DeleteHistoricProcessInstancesDto"]; + }; + }; + }; + /** + * Retrieves a report about the duration of completed process instances, grouped by a period. + * These reports include the maximum, minimum and average duration of all completed process instances which were started in a given period. + * + * **Note:** This only includes historic data. + */ + getHistoricProcessInstanceDurationReport: { + parameters: { + query: { + /** + * **Mandatory.** Specifies the type of the report to retrieve. + * To retrieve a report about the duration of process instances, the value must be set to `duration`. + */ + reportType: string; + /** **Mandatory.** Specifies the granularity of the report. Valid values are `month` and `quarter`. */ + periodUnit: "month" | "quarter"; + /** Filter by process definition ids. Must be a comma-separated list of process definition ids. */ + processDefinitionIdIn?: string; + /** Filter by process definition keys. Must be a comma-separated list of process definition keys. */ + processDefinitionKeyIn?: string; + /** + * Restrict to instances that were started before the given date. + * By [default](), the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2016-01-23T14:42:45.000+0200`. + */ + startedBefore?: string; + /** + * Restrict to instances that were started after the given date. + * By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2016-01-23T14:42:45.000+0200`. + */ + startedAfter?: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["DurationReportResultDto"][]; + "application/csv": { [key: string]: any }; + "text/csv": { [key: string]: any }; + }; + }; + /** + * Returned if some of the query parameters are invalid or mandatory parameters are not supplied. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * If the authenticated user is unauthorized to read the history. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error response format. + */ + 403: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Sets the removal time to multiple historic process instances asynchronously (batch). + * + * At least `historicProcessInstanceIds` or `historicProcessInstanceQuery` has to be provided. + * If both are provided, all instances matching query criterion and instances from the list will be updated with a removal time. + */ + setRemovalTimeAsync: { + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["BatchDto"]; + }; + }; + /** + * Bad Request + * Request was unsuccessfull due to a bad user request. This occurs if some of the query parameters are invalid, + * e. g. if neither `historicProcessInstances` nor `historicProcessInstanceQuery` is present or if no mode is specified. + * + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["SetRemovalTimeToHistoricProcessInstancesDto"]; + }; + }; + }; + /** Retrieves a historic process instance by id, according to the `HistoricProcessInstance` interface in the engine. */ + getHistoricProcessInstance: { + parameters: { + path: { + /** The id of the historic process instance to be retrieved. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["HistoricProcessInstanceDto"]; + }; + }; + /** + * Not Found + * Historic process instance with given id does not exist. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Deletes a process instance from the history by id. */ + deleteHistoricProcessInstance: { + parameters: { + path: { + /** The id of the historic process instance to be deleted. */ + id: string; + }; + query: { + /** If set to `false`, the request will still be successful if the process id is not found. */ + failIfNotExists?: boolean; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * Not found + * Historic process instance with given id does not exist. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Deletes all variables of a process instance from the history by id. */ + deleteHistoricVariableInstancesOfHistoricProcessInstance: { + parameters: { + path: { + /** The id of the process instance for which all historic variables are to be deleted. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * Not found + * Historic process instance with given id does not exist. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#parse-exceptions) for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Gets the groups of a user by id and includes all users that share a group with the + * given user. + */ + getGroupInfo: { + parameters: { + query: { + /** The id of the user to get the groups for. */ + userId: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["IdentityServiceGroupInfoDto"]; + }; + }; + /** + * If the `userId` query parameter is missing. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * A password policy consists of a list of rules that new passwords must follow to be + * policy compliant. This end point returns a JSON representation of the + * list of policy rules. More information on password policies in Camunda can be found in the password policy + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/password-policy/) and in + * the [security instructions](https://docs.camunda.org/manual/latest/user-guide/security/). + */ + getPasswordPolicy: { + responses: { + /** + * Request successful. This example uses the built-in password policy that enforces a minimum password length, + * and some complexity rules. + */ + 200: { + content: { + "application/json": components["schemas"]["PasswordPolicyDto"]; + }; + }; + /** No password policy was found. */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * A password policy consists of a list of rules that new passwords must follow to be + * policy compliant. A password can be checked for compliancy via this + * end point. More information on password policies in Camunda can be found in the password policy + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/password-policy/) and in + * the [security instructions](https://docs.camunda.org/manual/latest/user-guide/security/). + */ + checkPassword: { + responses: { + /** + * Request successful. This example uses the built-in password policy that enforces a minimum password length, and + * some complexity rules. The checked password is myPassword which is not complex enough to match all of + * the policy rules. + */ + 200: { + content: { + "application/json": components["schemas"]["CheckPasswordPolicyResultDto"]; + }; + }; + /** No password policy was found to check the password against. */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["PasswordPolicyRequestDto"]; + }; + }; + }; + /** Verifies that user credentials are valid. */ + verifyUser: { + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["AuthenticationResult"]; + }; + }; + /** If body does not contain username or password. */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["BasicUserCredentialsDto"]; + }; + }; + }; + /** + * Queries for incidents that fulfill given parameters. The size of the result set can be retrieved by using + * the [Get Incident Count](https://docs.camunda.org/manual/latest/reference/rest/incident/get-query-count/) method. + */ + getIncidents: { + parameters: { + query: { + /** Restricts to incidents that have the given id. */ + incidentId?: string; + /** + * Restricts to incidents that belong to the given incident type. See the + * [User Guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/incidents/#incident-types) for a list of incident + * types. + */ + incidentType?: string; + /** Restricts to incidents that have the given incident message. */ + incidentMessage?: string; + /** + * Restricts to incidents that incidents message is a substring of the given value. The string can include + * the wildcard character '%' to express like-strategy: starts with (`string%`), ends with (`%string`) or + * contains (`%string%`). + */ + incidentMessageLike?: string; + /** Restricts to incidents that belong to a process definition with the given id. */ + processDefinitionId?: string; + /** + * Restricts to incidents that belong to a process definition with the given keys. Must be a + * comma-separated list. + */ + processDefinitionKeyIn?: string; + /** Restricts to incidents that belong to a process instance with the given id. */ + processInstanceId?: string; + /** Restricts to incidents that belong to an execution with the given id. */ + executionId?: string; + /** + * Restricts to incidents that have an incidentTimestamp date before the given date. By default, the date + * must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + incidentTimestampBefore?: string; + /** + * Restricts to incidents that have an incidentTimestamp date after the given date. By default*, the date + * must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + incidentTimestampAfter?: string; + /** Restricts to incidents that belong to an activity with the given id. */ + activityId?: string; + /** Restricts to incidents that were created due to the failure of an activity with the given id. */ + failedActivityId?: string; + /** Restricts to incidents that have the given incident id as cause incident. */ + causeIncidentId?: string; + /** Restricts to incidents that have the given incident id as root cause incident. */ + rootCauseIncidentId?: string; + /** Restricts to incidents that have the given parameter set as configuration. */ + configuration?: string; + /** Restricts to incidents that have one of the given comma-separated tenant ids. */ + tenantIdIn?: string; + /** Restricts to incidents that have one of the given comma-separated job definition ids. */ + jobDefinitionIdIn?: string; + /** + * Sort the results lexicographically by a given criterion. + * Must be used in conjunction with the sortOrder parameter. + */ + sortBy?: + | "incidentId" + | "incidentMessage" + | "incidentTimestamp" + | "incidentType" + | "executionId" + | "activityId" + | "processInstanceId" + | "processDefinitionId" + | "causeIncidentId" + | "rootCauseIncidentId" + | "configuration" + | "tenantId"; + /** + * Sort the results in a given order. Values may be asc for ascending order or desc for descending order. + * Must be used in conjunction with the sortBy parameter. + */ + sortOrder?: "asc" | "desc"; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["IncidentDto"][]; + }; + }; + /** + * Returned if some of the query parameters are invalid, for example if a `sortOrder` parameter is supplied, + * but no `sortBy`. See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error + * response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Queries for the number of incidents that fulfill given parameters. Takes the same parameters as the + * [Get Incidents](https://docs.camunda.org/manual/latest/reference/rest/incident/get-query/) method. + */ + getIncidentsCount: { + parameters: { + query: { + /** Restricts to incidents that have the given id. */ + incidentId?: string; + /** + * Restricts to incidents that belong to the given incident type. See the + * [User Guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/incidents/#incident-types) for a list of incident + * types. + */ + incidentType?: string; + /** Restricts to incidents that have the given incident message. */ + incidentMessage?: string; + /** + * Restricts to incidents that incidents message is a substring of the given value. The string can include + * the wildcard character '%' to express like-strategy: starts with (`string%`), ends with (`%string`) or + * contains (`%string%`). + */ + incidentMessageLike?: string; + /** Restricts to incidents that belong to a process definition with the given id. */ + processDefinitionId?: string; + /** + * Restricts to incidents that belong to a process definition with the given keys. Must be a + * comma-separated list. + */ + processDefinitionKeyIn?: string; + /** Restricts to incidents that belong to a process instance with the given id. */ + processInstanceId?: string; + /** Restricts to incidents that belong to an execution with the given id. */ + executionId?: string; + /** + * Restricts to incidents that have an incidentTimestamp date before the given date. By default, the date + * must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + incidentTimestampBefore?: string; + /** + * Restricts to incidents that have an incidentTimestamp date after the given date. By default*, the date + * must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.000+0200`. + */ + incidentTimestampAfter?: string; + /** Restricts to incidents that belong to an activity with the given id. */ + activityId?: string; + /** Restricts to incidents that were created due to the failure of an activity with the given id. */ + failedActivityId?: string; + /** Restricts to incidents that have the given incident id as cause incident. */ + causeIncidentId?: string; + /** Restricts to incidents that have the given incident id as root cause incident. */ + rootCauseIncidentId?: string; + /** Restricts to incidents that have the given parameter set as configuration. */ + configuration?: string; + /** Restricts to incidents that have one of the given comma-separated tenant ids. */ + tenantIdIn?: string; + /** Restricts to incidents that have one of the given comma-separated job definition ids. */ + jobDefinitionIdIn?: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["CountResultDto"][]; + }; + }; + /** + * Returned if some of the query parameters are invalid. See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error + * response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Retrieves an incident by ID. */ + getIncident: { + parameters: { + path: { + /** The id of the incident to be retrieved. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["IncidentDto"]; + }; + }; + /** Returned if an incident with given id does not exist. */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Resolves an incident with given id. */ + resolveIncident: { + parameters: { + path: { + /** The id of the incident to be resolved. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * Returned if an incident is not related to any execution or an incident is of type `failedJob` or + * `failedExternalTask`. To resolve such an incident, please refer to the + * [Incident Types](https://docs.camunda.org/manual/latest/user-guide/process-engine/incidents/#incident-types) section. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** Returned if an incident with given id does not exist. */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Sets the annotation of an incident with given id. */ + setIncidentAnnotation: { + parameters: { + path: { + /** The id of the incident to clear the annotation at. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** Returned if no incident can be found for the given id. */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["AnnotationDto"]; + }; + }; + }; + /** Clears the annotation of an incident with given id. */ + clearIncidentAnnotation: { + parameters: { + path: { + /** The id of the incident to clear the annotation at. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** Returned if no incident can be found for the given id. */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Queries for jobs that fulfill given parameters. + * The size of the result set can be retrieved by using the [Get Job + * Count](https://docs.camunda.org/manual/latest/reference/rest/job/get-query-count/) method. + */ + getJobs: { + parameters: { + query: { + /** Filter by job id. */ + jobId?: string; + /** Filter by a comma-separated list of job ids. */ + jobIds?: string; + /** Only select jobs which exist for the given job definition. */ + jobDefinitionId?: string; + /** Only select jobs which exist for the given process instance. */ + processInstanceId?: string; + /** Only select jobs which exist for the given comma-separated list of process instance ids. */ + processInstanceIds?: string; + /** Only select jobs which exist for the given execution. */ + executionId?: string; + /** Filter by the id of the process definition the jobs run on. */ + processDefinitionId?: string; + /** Filter by the key of the process definition the jobs run on. */ + processDefinitionKey?: string; + /** Only select jobs which exist for an activity with the given id. */ + activityId?: string; + /** + * Only select jobs which have retries left. Value may only be `true`, as `false` is the + * default behavior. + */ + withRetriesLeft?: boolean; + /** + * Only select jobs which are executable, i.e., retries > 0 and due date is `null` or due + * date is in the past. Value may only be `true`, as `false` is the default + * behavior. + */ + executable?: boolean; + /** + * Only select jobs that are timers. Cannot be used together with `messages`. Value may only + * be `true`, as `false` is the default behavior. + */ + timers?: boolean; + /** + * Only select jobs that are messages. Cannot be used together with `timers`. Value may only + * be `true`, as `false` is the default behavior. + */ + messages?: boolean; + /** + * Only select jobs where the due date is lower or higher than the given date. + * Due date expressions are comma-separated and are structured as follows: + * + * A valid condition value has the form `operator_value`. + * `operator` is the comparison operator to be used and `value` the date value + * as string. + * + * Valid operator values are: `gt` - greater than; `lt` - lower than. + * `value` may not contain underscore or comma characters. + */ + dueDates?: string; + /** + * Only select jobs created before or after the given date. + * + * Create time expressions are comma-separated and are structured as + * follows: + * + * A valid condition value has the form `operator_value`. + * `operator` is the comparison operator to be used and `value` the date value + * as string. + * + * Valid operator values are: `gt` - greater than; `lt` - lower than. + * `value` may not contain underscore or comma characters. + */ + createTimes?: string; + /** + * Only select jobs that failed due to an exception. Value may only be `true`, as `false` is + * the default behavior. + */ + withException?: boolean; + /** Only select jobs that failed due to an exception with the given message. */ + exceptionMessage?: string; + /** Only select jobs that failed due to an exception at an activity with the given id. */ + failedActivityId?: string; + /** + * Only select jobs which have no retries left. Value may only be `true`, as `false` is the + * default behavior. + */ + noRetriesLeft?: boolean; + /** Only include active jobs. Value may only be `true`, as `false` is the default behavior. */ + active?: boolean; + /** Only include suspended jobs. Value may only be `true`, as `false` is the default behavior. */ + suspended?: boolean; + /** + * Only include jobs with a priority lower than or equal to the given value. Value must be a + * valid `long` value. + */ + priorityLowerThanOrEquals?: number; + /** + * Only include jobs with a priority higher than or equal to the given value. Value must be a + * valid `long` value. + */ + priorityHigherThanOrEquals?: number; + /** Only include jobs which belong to one of the passed comma-separated tenant ids. */ + tenantIdIn?: string; + /** + * Only include jobs which belong to no tenant. Value may only be `true`, as `false` is the + * default behavior. + */ + withoutTenantId?: boolean; + /** + * Include jobs which belong to no tenant. Can be used in combination with `tenantIdIn`. + * Value may only be `true`, as `false` is the default behavior. + */ + includeJobsWithoutTenantId?: boolean; + /** + * Sort the results lexicographically by a given criterion. + * Must be used in conjunction with the sortOrder parameter. + */ + sortBy?: + | "jobId" + | "executionId" + | "processInstanceId" + | "processDefinitionId" + | "processDefinitionKey" + | "jobPriority" + | "jobRetries" + | "jobDueDate" + | "tenantId"; + /** + * Sort the results in a given order. Values may be asc for ascending order or desc for descending order. + * Must be used in conjunction with the sortBy parameter. + */ + sortOrder?: "asc" | "desc"; + /** Pagination of results. Specifies the index of the first result to return. */ + firstResult?: number; + /** + * Pagination of results. Specifies the maximum number of results to return. + * Will return less results if there are no more results left. + */ + maxResults?: number; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["JobDto"][]; + }; + }; + /** + * Returned if some of the query parameters are invalid, for example if a `sortOrder` + * parameter is supplied, but no `sortBy`, or if an invalid operator + * for due date comparison is used. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Queries for jobs that fulfill given parameters. This method is slightly more + * powerful than the [Get Jobs](https://docs.camunda.org/manual/latest/reference/rest/job/get-query/) + * method because it allows filtering by multiple jobs of types `String`, + * `Number` or `Boolean`. + */ + queryJobs: { + parameters: { + query: { + /** Pagination of results. Specifies the index of the first result to return. */ + firstResult?: number; + /** + * Pagination of results. Specifies the maximum number of results to return. + * Will return less results if there are no more results left. + */ + maxResults?: number; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["JobDto"][]; + }; + }; + /** + * Returned if some of the query parameters are invalid, for example if a `sortOrder` + * parameter is supplied, but no `sortBy`, or if an invalid operator + * for due date comparison is used. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["JobQueryDto"]; + }; + }; + }; + /** + * Queries for the number of jobs that fulfill given parameters. + * Takes the same parameters as the [Get + * Jobs](https://docs.camunda.org/manual/latest/reference/rest/job/get-query/) method. + */ + getJobsCount: { + parameters: { + query: { + /** Filter by job id. */ + jobId?: string; + /** Filter by a comma-separated list of job ids. */ + jobIds?: string; + /** Only select jobs which exist for the given job definition. */ + jobDefinitionId?: string; + /** Only select jobs which exist for the given process instance. */ + processInstanceId?: string; + /** Only select jobs which exist for the given comma-separated list of process instance ids. */ + processInstanceIds?: string; + /** Only select jobs which exist for the given execution. */ + executionId?: string; + /** Filter by the id of the process definition the jobs run on. */ + processDefinitionId?: string; + /** Filter by the key of the process definition the jobs run on. */ + processDefinitionKey?: string; + /** Only select jobs which exist for an activity with the given id. */ + activityId?: string; + /** + * Only select jobs which have retries left. Value may only be `true`, as `false` is the + * default behavior. + */ + withRetriesLeft?: boolean; + /** + * Only select jobs which are executable, i.e., retries > 0 and due date is `null` or due + * date is in the past. Value may only be `true`, as `false` is the default + * behavior. + */ + executable?: boolean; + /** + * Only select jobs that are timers. Cannot be used together with `messages`. Value may only + * be `true`, as `false` is the default behavior. + */ + timers?: boolean; + /** + * Only select jobs that are messages. Cannot be used together with `timers`. Value may only + * be `true`, as `false` is the default behavior. + */ + messages?: boolean; + /** + * Only select jobs where the due date is lower or higher than the given date. + * Due date expressions are comma-separated and are structured as follows: + * + * A valid condition value has the form `operator_value`. + * `operator` is the comparison operator to be used and `value` the date value + * as string. + * + * Valid operator values are: `gt` - greater than; `lt` - lower than. + * `value` may not contain underscore or comma characters. + */ + dueDates?: string; + /** + * Only select jobs created before or after the given date. + * + * Create time expressions are comma-separated and are structured as + * follows: + * + * A valid condition value has the form `operator_value`. + * `operator` is the comparison operator to be used and `value` the date value + * as string. + * + * Valid operator values are: `gt` - greater than; `lt` - lower than. + * `value` may not contain underscore or comma characters. + */ + createTimes?: string; + /** + * Only select jobs that failed due to an exception. Value may only be `true`, as `false` is + * the default behavior. + */ + withException?: boolean; + /** Only select jobs that failed due to an exception with the given message. */ + exceptionMessage?: string; + /** Only select jobs that failed due to an exception at an activity with the given id. */ + failedActivityId?: string; + /** + * Only select jobs which have no retries left. Value may only be `true`, as `false` is the + * default behavior. + */ + noRetriesLeft?: boolean; + /** Only include active jobs. Value may only be `true`, as `false` is the default behavior. */ + active?: boolean; + /** Only include suspended jobs. Value may only be `true`, as `false` is the default behavior. */ + suspended?: boolean; + /** + * Only include jobs with a priority lower than or equal to the given value. Value must be a + * valid `long` value. + */ + priorityLowerThanOrEquals?: number; + /** + * Only include jobs with a priority higher than or equal to the given value. Value must be a + * valid `long` value. + */ + priorityHigherThanOrEquals?: number; + /** Only include jobs which belong to one of the passed comma-separated tenant ids. */ + tenantIdIn?: string; + /** + * Only include jobs which belong to no tenant. Value may only be `true`, as `false` is the + * default behavior. + */ + withoutTenantId?: boolean; + /** + * Include jobs which belong to no tenant. Can be used in combination with `tenantIdIn`. + * Value may only be `true`, as `false` is the default behavior. + */ + includeJobsWithoutTenantId?: boolean; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["CountResultDto"]; + }; + }; + /** + * Returned if some of the query parameters are invalid, for example, if an invalid operator + * for due date comparison is used. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Queries for jobs that fulfill given parameters. This method takes the same message + * body as the [Get Jobs POST](https://docs.camunda.org/manual/latest/reference/rest/job/post- + * query/) method and therefore it is slightly more powerful than the + * [Get Job Count](https://docs.camunda.org/manual/latest/reference/rest/job/get-query-count/) + * method. + */ + queryJobsCount: { + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["CountResultDto"]; + }; + }; + /** + * Returned if some of the query parameters are invalid, for example, if an invalid operator + * for due date comparison is used. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["JobQueryDto"]; + }; + }; + }; + /** Create a batch to set retries of jobs asynchronously. */ + setJobRetriesAsyncOperation: { + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["BatchDto"]; + }; + }; + /** + * Returned if some of the query parameters are invalid, for example if neither + * processInstanceIds nor processInstanceQuery is present. Or if the + * retry count is not specified. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["SetJobRetriesDto"]; + }; + }; + }; + /** + * Activates or suspends jobs matching the given criterion. + * This can only be on of: + * * `jobDefinitionId` + * * `processDefinitionId` + * * `processInstanceId` + * * `processDefinitionKey` + */ + updateSuspensionStateBy: { + responses: { + /** Request successful. This method returns no content. */ + 204: never; + /** + * Returned if the request parameters are invalid, for example, if `jobDefinitionId` and + * `processDefinitionId` are both specified. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["JobSuspensionStateDto"]; + }; + }; + }; + /** Retrieves a job by id, according to the `Job` interface in the engine. */ + getJob: { + parameters: { + path: { + /** The id of the job to be retrieved. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["JobDto"]; + }; + }; + /** + * Job with given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Updates the due date of a job by id. */ + setJobDuedate: { + parameters: { + path: { + /** The id of the job to be updated. */ + id: string; + }; + }; + responses: { + /** Request successful. This method returns no content. */ + 204: never; + /** + * Job with given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * The due date could not be set successfully. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["JobDuedateDto"]; + }; + }; + }; + /** Recalculates the due date of a job by id. */ + recalculateDuedate: { + parameters: { + path: { + /** The id of the job to be updated. */ + id: string; + }; + query: { + /** + * Recalculate the due date based on the creation date of the job or the current date. + * Value may only be `false`, as `true` is the default behavior. + */ + creationDateBased?: boolean; + }; + }; + responses: { + /** Request successful. This method returns no content. */ + 204: never; + /** + * Job with given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * The due date could not be recalculated successfully. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Executes a job by id. **Note:** The execution of the job happens synchronously in + * the same thread. + */ + executeJob: { + parameters: { + path: { + /** The id of the job to be executed. */ + id: string; + }; + }; + responses: { + /** Request successful. This method returns no content. */ + 204: never; + /** + * Job with given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * The job could not be executed successfully. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Sets the execution priority of a job by id. */ + setJobPriority: { + parameters: { + path: { + /** The id of the job to be updated. */ + id: string; + }; + }; + responses: { + /** Request successful. This method returns no content. */ + 204: never; + /** + * Job with given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * The priority could not be set successfully. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["PriorityDto"]; + }; + }; + }; + /** Sets the retries of the job to the given number of retries by id. */ + setJobRetries: { + parameters: { + path: { + /** The id of the job to be updated. */ + id: string; + }; + }; + responses: { + /** Request successful. This method returns no content. */ + 204: never; + /** + * Job with given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * The retries could not be set successfully. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["RetriesDto"]; + }; + }; + }; + /** Retrieves the exception stacktrace corresponding to the passed job id. */ + getStacktrace: { + parameters: { + path: { + /** The id of the job to get the exception stacktrace for. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "text/plain": { [key: string]: any }; + }; + }; + /** + * Job with given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Activates or suspends a given job by id. */ + updateJobSuspensionState: { + parameters: { + path: { + /** The id of the job to activate or suspend. */ + id: string; + }; + }; + responses: { + /** Request successful. This method returns no content. */ + 204: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["SuspensionStateDto"]; + }; + }; + }; + /** + * Correlates a message to the process engine to either trigger a message start event or an intermediate message + * catching event. Internally this maps to the engine's message correlation builder methods + * `MessageCorrelationBuilder#correlateWithResult()` and `MessageCorrelationBuilder#correlateAllWithResult()`. + * For more information about the correlation behavior, see the [Message Events](https://docs.camunda.org/manual/latest/bpmn20/events/message-events/) + * section of the [BPMN 2.0 Implementation Reference](https://docs.camunda.org/manual/latest/reference/bpmn20/). + */ + deliverMessage: { + responses: { + /** + * Request successful. The property `resultEnabled` in the request body was `true`. + * The `variables` property is only returned, if the property variablesInResultEnable` + * was set to `true` in the request. + */ + 200: { + content: { + "application/json": components["schemas"]["MessageCorrelationResultWithVariableDto"][]; + }; + }; + /** Request successful. The property `resultEnabled` in the request body was `false` (Default). */ + 204: never; + /** + * Returned if: + * * no `messageName` was supplied + * * both `tenantId` and `withoutTenantId` are supplied + * * the message has not been correlated to exactly one entity (execution or process definition) + * * the variable value or type is invalid, for example if the value could not be parsed to an Integer value or the passed variable type is not supported. + * + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["CorrelationMessageDto"]; + }; + }; + }; + /** Retrieves a list of metrics, aggregated for a given interval. */ + interval: { + parameters: { + query: { + /** The name of the metric. */ + name?: + | "activity-instance-start" + | "activity-instance-end" + | "job-acquisition-attempt" + | "job-acquired-success" + | "job-acquired-failure" + | "job-execution-rejected" + | "job-successful" + | "job-failed" + | "job-locked-exclusive" + | "executed-decision-elements" + | "history-cleanup-removed-process-instances" + | "history-cleanup-removed-case-instances" + | "history-cleanup-removed-decision-instances" + | "history-cleanup-removed-batch-operations" + | "history-cleanup-removed-task-metrics"; + /** + * The name of the reporter (host), on which the metrics was logged. This will have + * value provided by the [hostname configuration property](https://docs.camunda.org/manual/latest/reference/deployment-descriptors/tags/process-engine/#hostname). + */ + reporter?: string; + /** The start date (inclusive). */ + startDate?: string; + /** The end date (exclusive). */ + endDate?: string; + /** Pagination of results. Specifies the index of the first result to return. */ + firstResult?: number; + /** + * Pagination of results. Specifies the maximum number of results to return. + * Will return less results if there are no more results left. + */ + maxResults?: number; + /** + * The interval for which the metrics should be aggregated. Time unit is seconds. + * Default: The interval is set to 15 minutes (900 seconds). + */ + interval?: string; + /** Aggregate metrics by reporter. */ + aggregateByReporter?: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["MetricsIntervalResultDto"][]; + }; + }; + /** Returned if some of the query parameters are invalid. */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Deletes all task worker metrics prior to the given date or all if no date is provided. */ + deleteTaskMetrics: { + parameters: { + query: { + /** The date prior to which all task worker metrics should be deleted. */ + date?: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** If the user who performs the operation is not a camunda-admin user. */ + 403: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Retrieves the `sum` (count) for a given metric. */ + getMetrics: { + parameters: { + path: { + /** The name of the metric. */ + "metrics-name": + | "activity-instance-start" + | "activity-instance-end" + | "job-acquisition-attempt" + | "job-acquired-success" + | "job-acquired-failure" + | "job-execution-rejected" + | "job-successful" + | "job-failed" + | "job-locked-exclusive" + | "executed-decision-elements" + | "history-cleanup-removed-process-instances" + | "history-cleanup-removed-case-instances" + | "history-cleanup-removed-decision-instances" + | "history-cleanup-removed-batch-operations" + | "history-cleanup-removed-task-metrics" + | "unique-task-workers"; + }; + query: { + /** The start date (inclusive). */ + startDate?: string; + /** The end date (exclusive). */ + endDate?: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["MetricsResultDto"]; + }; + }; + }; + }; + /** + * Queries for process definitions that fulfill given parameters. Parameters may be the properties of + * process definitions, such as the name, key or version. The size of the result set can be retrieved + * by using the [Get Definition Count](https://docs.camunda.org/manual/latest/reference/rest/process-definition/get-query-count/) method. + */ + getProcessDefinitions: { + parameters: { + query: { + /** Filter by process definition id. */ + processDefinitionId?: string; + /** Filter by a comma-separated list of process definition ids. */ + processDefinitionIdIn?: string; + /** Filter by process definition name. */ + name?: string; + /** Filter by process definition names that the parameter is a substring of. */ + nameLike?: string; + /** Filter by the deployment the id belongs to. */ + deploymentId?: string; + /** + * Filter by the deploy time of the deployment the process definition belongs to. + * Only selects process definitions that have been deployed after (exclusive) a specific time. + * By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the + * format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., + * `2013-01-23T14:42:45.546+0200`. + */ + deployedAfter?: string; + /** + * Filter by the deploy time of the deployment the process definition belongs to. + * Only selects process definitions that have been deployed at a specific time (exact match). + * By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the + * format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., + * `2013-01-23T14:42:45.546+0200`. + */ + deployedAt?: string; + /** Filter by process definition key, i.e., the id in the BPMN 2.0 XML. Exact match. */ + key?: string; + /** Filter by a comma-separated list of process definition keys. */ + keysIn?: string; + /** Filter by process definition keys that the parameter is a substring of. */ + keyLike?: string; + /** Filter by process definition category. Exact match. */ + category?: string; + /** Filter by process definition categories that the parameter is a substring of. */ + categoryLike?: string; + /** Filter by process definition version. */ + version?: number; + /** + * Only include those process definitions that are latest versions. + * Value may only be `true`, as `false` is the default behavior. + */ + latestVersion?: boolean; + /** Filter by the name of the process definition resource. Exact match. */ + resourceName?: string; + /** Filter by names of those process definition resources that the parameter is a substring of. */ + resourceNameLike?: string; + /** Filter by a user name who is allowed to start the process. */ + startableBy?: string; + /** + * Only include active process definitions. + * Value may only be `true`, as `false` is the default behavior. + */ + active?: boolean; + /** + * Only include suspended process definitions. + * Value may only be `true`, as `false` is the default behavior. + */ + suspended?: boolean; + /** Filter by the incident id. */ + incidentId?: string; + /** + * Filter by the incident type. + * See the [User Guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/incidents/#incident-types) + * for a list of incident types. + */ + incidentType?: string; + /** Filter by the incident message. Exact match. */ + incidentMessage?: string; + /** Filter by the incident message that the parameter is a substring of. */ + incidentMessageLike?: string; + /** + * Filter by a comma-separated list of tenant ids. + * A process definition must have one of the given tenant ids. + */ + tenantIdIn?: string; + /** + * Only include process definitions which belong to no tenant. + * Value may only be true, as false is the default behavior. + */ + withoutTenantId?: boolean; + /** + * Include process definitions which belong to no tenant. Can be used in combination with `tenantIdIn`. + * Value may only be `true`, as `false` is the default behavior. + */ + includeProcessDefinitionsWithoutTenantId?: boolean; + /** Filter by the version tag. */ + versionTag?: string; + /** Filter by the version tag that the parameter is a substring of. */ + versionTagLike?: string; + /** Only include process definitions without a `versionTag`. */ + withoutVersionTag?: boolean; + /** Filter by process definitions which are startable in Tasklist.. */ + startableInTasklist?: boolean; + /** Filter by process definitions which are not startable in Tasklist. */ + notStartableInTasklist?: boolean; + /** + * Filter by process definitions which the user is allowed to start in Tasklist. + * If the user doesn't have these permissions the result will be empty list. + * The permissions are: + * * `CREATE` permission for all Process instances + * * `CREATE_INSTANCE` and `READ` permission on Process definition level + */ + startablePermissionCheck?: boolean; + /** + * Sort the results lexicographically by a given criterion. + * Must be used in conjunction with the sortOrder parameter. + */ + sortBy?: + | "category" + | "key" + | "id" + | "name" + | "version" + | "deploymentId" + | "deployTime" + | "tenantId " + | "versionTag"; + /** + * Sort the results in a given order. Values may be asc for ascending order or desc for descending order. + * Must be used in conjunction with the sortBy parameter. + */ + sortOrder?: "asc" | "desc"; + /** Pagination of results. Specifies the index of the first result to return. */ + firstResult?: number; + /** + * Pagination of results. Specifies the maximum number of results to return. + * Will return less results if there are no more results left. + */ + maxResults?: number; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["ProcessDefinitionDto"][]; + }; + }; + /** + * Returned if some of the query parameters are invalid, for example if a `sortOrder` parameter is supplied, + * but no `sortBy`. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Requests the number of process definitions that fulfill the query criteria. + * Takes the same filtering parameters as the [Get Definitions](https://docs.camunda.org/manual/latest/reference/rest/process-definition/get-query/) method. + */ + getProcessDefinitionsCount: { + parameters: { + query: { + /** Filter by process definition id. */ + processDefinitionId?: string; + /** Filter by a comma-separated list of process definition ids. */ + processDefinitionIdIn?: string; + /** Filter by process definition name. */ + name?: string; + /** Filter by process definition names that the parameter is a substring of. */ + nameLike?: string; + /** Filter by the deployment the id belongs to. */ + deploymentId?: string; + /** + * Filter by the deploy time of the deployment the process definition belongs to. + * Only selects process definitions that have been deployed after (exclusive) a specific time. + * By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the + * format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., + * `2013-01-23T14:42:45.546+0200`. + */ + deployedAfter?: string; + /** + * Filter by the deploy time of the deployment the process definition belongs to. + * Only selects process definitions that have been deployed at a specific time (exact match). + * By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the + * format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., + * `2013-01-23T14:42:45.546+0200`. + */ + deployedAt?: string; + /** Filter by process definition key, i.e., the id in the BPMN 2.0 XML. Exact match. */ + key?: string; + /** Filter by a comma-separated list of process definition keys. */ + keysIn?: string; + /** Filter by process definition keys that the parameter is a substring of. */ + keyLike?: string; + /** Filter by process definition category. Exact match. */ + category?: string; + /** Filter by process definition categories that the parameter is a substring of. */ + categoryLike?: string; + /** Filter by process definition version. */ + version?: number; + /** + * Only include those process definitions that are latest versions. + * Value may only be `true`, as `false` is the default behavior. + */ + latestVersion?: boolean; + /** Filter by the name of the process definition resource. Exact match. */ + resourceName?: string; + /** Filter by names of those process definition resources that the parameter is a substring of. */ + resourceNameLike?: string; + /** Filter by a user name who is allowed to start the process. */ + startableBy?: string; + /** + * Only include active process definitions. + * Value may only be `true`, as `false` is the default behavior. + */ + active?: boolean; + /** + * Only include suspended process definitions. + * Value may only be `true`, as `false` is the default behavior. + */ + suspended?: boolean; + /** Filter by the incident id. */ + incidentId?: string; + /** + * Filter by the incident type. + * See the [User Guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/incidents/#incident-types) + * for a list of incident types. + */ + incidentType?: string; + /** Filter by the incident message. Exact match. */ + incidentMessage?: string; + /** Filter by the incident message that the parameter is a substring of. */ + incidentMessageLike?: string; + /** + * Filter by a comma-separated list of tenant ids. + * A process definition must have one of the given tenant ids. + */ + tenantIdIn?: string; + /** + * Only include process definitions which belong to no tenant. + * Value may only be true, as false is the default behavior. + */ + withoutTenantId?: boolean; + /** + * Include process definitions which belong to no tenant. Can be used in combination with `tenantIdIn`. + * Value may only be `true`, as `false` is the default behavior. + */ + includeProcessDefinitionsWithoutTenantId?: boolean; + /** Filter by the version tag. */ + versionTag?: string; + /** Filter by the version tag that the parameter is a substring of. */ + versionTagLike?: string; + /** Only include process definitions without a `versionTag`. */ + withoutVersionTag?: boolean; + /** Filter by process definitions which are startable in Tasklist.. */ + startableInTasklist?: boolean; + /** Filter by process definitions which are not startable in Tasklist. */ + notStartableInTasklist?: boolean; + /** + * Filter by process definitions which the user is allowed to start in Tasklist. + * If the user doesn't have these permissions the result will be empty list. + * The permissions are: + * * `CREATE` permission for all Process instances + * * `CREATE_INSTANCE` and `READ` permission on Process definition level + */ + startablePermissionCheck?: boolean; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["CountResultDto"]; + }; + }; + /** + * Returned if some of the query parameters are invalid. + * See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Retrieves the latest version of the process definition which belongs to no tenant according to the `ProcessDefinition` interface in the engine. */ + getProcessDefinitionByKey: { + parameters: { + path: { + /** The key of the process definition (the latest version thereof) to be retrieved. */ + key: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["ProcessDefinitionDto"]; + }; + }; + /** + * Process definition with given `key` does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Deletes process definitions by a given key which belong to no tenant id. */ + deleteProcessDefinitionsByKey: { + parameters: { + path: { + /** The key of the process definitions to be deleted. */ + key: string; + }; + query: { + /** + * `true`, if all process instances, historic process instances and jobs + * for this process definition should be deleted. + */ + cascade?: boolean; + /** `true`, if only the built-in ExecutionListeners should be notified with the end event. */ + skipCustomListeners?: boolean; + /** + * A boolean value to control whether input/output mappings should be executed during deletion. + * `true`, if input/output mappings should not be invoked. + */ + skipIoMappings?: boolean; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * Forbidden + * The process definitions with the given `key` cannot be deleted due to missing permissions. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 403: { + content: { + "application/json": components["schemas"]["AuthorizationExceptionDto"]; + }; + }; + /** + * Not found + * Process definition with given `key` does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Retrieves the deployed form that can be referenced from a start event. + * For further information please refer to [User Guide](https://docs.camunda.org/manual/latest/user-guide/task-forms/#embedded-task-forms). + */ + getDeployedStartFormByKey: { + parameters: { + path: { + /** The key of the process definition (the latest version thereof) to be retrieved. */ + key: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/xhtml+xml": string; + }; + }; + /** + * The form key has wrong format. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * The deployed start form cannot be retrieved due to missing permissions on process definition resource. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 403: { + content: { + "application/json": components["schemas"]["AuthorizationExceptionDto"]; + }; + }; + /** + * No deployed start form for a given process definition exists. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Retrieves the diagram for the latest version of the process definition which belongs to no tenant. + * + * If the process definition's deployment contains an image resource with the same file name + * as the process definition, the deployed image will be returned by the Get Diagram endpoint. + * Example: `someProcess.bpmn` and `someProcess.png`. + * Supported file extentions for the image are: `svg`, `png`, `jpg`, and `gif`. + */ + getProcessDefinitionDiagramByKey: { + parameters: { + path: { + /** The key of the process definition. */ + key: string; + }; + }; + responses: { + /** Request successful. The image diagram of this process. */ + 200: { + content: { + "application/octet-stream": string; + "*/*": string; + }; + }; + /** The process definition doesn't have an associated diagram. */ + 204: never; + /** + * Process definition with given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Retrieves the start form variables for the latest process definition which belongs to no tenant + * (only if they are defined via the + * [Generated Task Form](https://docs.camunda.org/manual/latest/user-guide/task-forms/#generated-task-forms) approach). + * The start form variables take form data specified on the start event into account. + * If form fields are defined, the variable types and default values + * of the form fields are taken into account. + */ + getStartFormVariablesByKey: { + parameters: { + path: { + /** The key of the process definition (the latest version thereof) to be retrieved. */ + key: string; + }; + query: { + /** + * A comma-separated list of variable names. Allows restricting the list of requested + * variables to the variable names in the list. It is best practice to restrict the + * list of variables to the variables actually required by the form in order to + * minimize fetching of data. If the query parameter is ommitted all variables are + * fetched. If the query parameter contains non-existent variable names, the variable + * names are ignored. + */ + variableNames?: string; + /** + * Determines whether serializable variable values (typically variables that store + * custom Java objects) should be deserialized on server side (default true). + * + * If set to true, a serializable variable will be deserialized on server side and + * transformed to JSON using [Jackson's](http://jackson.codehaus.org/) POJO/bean + * property introspection feature. Note that this requires the Java classes of the + * variable value to be on the REST API's classpath. + * + * If set to false, a serializable variable will be returned in its serialized format. + * For example, a variable that is serialized as XML will be returned as a JSON string + * containing XML. + * + * **Note**: While true is the default value for reasons of backward compatibility, we + * recommend setting this parameter to false when developing web applications that are + * independent of the Java process applications deployed to the engine. + */ + deserializeValues?: boolean; + }; + }; + responses: { + /** Request successful. A JSON object containing a property for each variable returned. */ + 200: { + content: { + "application/json": { + [key: string]: components["schemas"]["VariableValueDto"]; + }; + }; + }; + /** + * The key is null or does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Updates history time to live for the latest version of the process definition which belongs to no tenant. + * The field is used within [History cleanup](https://docs.camunda.org/manual/latest/user-guide/process-engine/history/#history-cleanup). + */ + updateHistoryTimeToLiveByProcessDefinitionKey: { + parameters: { + path: { + /** The key of the process definition to change history time to live. */ + key: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * Returned if some of the request parameters are invalid. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Process definition with given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["HistoryTimeToLiveDto"]; + }; + }; + }; + /** + * Retrieves the rendered form for the latest version of the process definition which belongs to no tenant. + * This method can be used to get the HTML rendering of a + * [Generated Task Form](https://docs.camunda.org/manual/latest/user-guide/task-forms/#generated-task-forms). + */ + getRenderedStartFormByKey: { + parameters: { + path: { + /** The key of the process definition (the latest version thereof) to be retrieved. */ + key: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/xhtml+xml": string; + }; + }; + /** + * Process definition has no form field metadata defined. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Process definition with given key does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Instantiates a given process definition, starts the latest version of the process definition + * which belongs to no tenant. + * Process variables and business key may be supplied in the request body. + */ + startProcessInstanceByKey: { + parameters: { + path: { + /** The key of the process definition (the latest version thereof) to be retrieved. */ + key: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["ProcessInstanceWithVariablesDto"]; + }; + }; + /** + * The instance could not be created due to an invalid variable value, + * for example if the value could not be parsed to an `Integer` value or + * the passed variable type is not supported. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * The instance could not be created successfully. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["StartProcessInstanceDto"]; + }; + }; + }; + /** + * Retrieves the key of the start form for the latest version of the process definition + * which belongs to no tenant. + * The form key corresponds to the `FormData#formKey` property in the engine. + */ + getStartFormByKey: { + parameters: { + path: { + /** The key of the process definition (the latest version thereof) for which the form key is to be retrieved. */ + key: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["FormDto"]; + }; + }; + /** + * Process definition has no start form defined. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Process definition with given key does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Retrieves runtime statistics of the latest version of the given process definition + * which belongs to no tenant, grouped by activities. + * These statistics include the number of running activity instances, optionally the number of failed jobs + * and also optionally the number of incidents either grouped by incident types or + * for a specific incident type. + * **Note**: This does not include historic data. + */ + getActivityStatisticsByProcessDefinitionKey: { + parameters: { + path: { + /** The key of the process definition (the latest version thereof) to be retrieved. */ + key: string; + }; + query: { + /** Whether to include the number of failed jobs in the result or not. Valid values are `true` or `false`. */ + failedJobs?: boolean; + /** + * Valid values for this property are `true` or `false`. + * If this property has been set to `true` the result will include the corresponding number of incidents + * for each occurred incident type. + * If it is set to `false`, the incidents will not be included in the result. + * Cannot be used in combination with `incidentsForType`. + */ + incidents?: boolean; + /** + * If this property has been set with any incident type (i.e., a string value) the result + * will only include the number of incidents for the assigned incident type. + * Cannot be used in combination with `incidents`. + * See the [User Guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/incidents/#incident-types) + * for a list of incident types. + */ + incidentsForType?: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["ActivityStatisticsResultDto"][]; + }; + }; + /** + * Returned if some of the query parameters are invalid. + * See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Process definition with given key does not exist. + * See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Starts the latest version of the process definition which belongs to no tenant + * using a set of process variables and the business key. + * If the start event has Form Field Metadata defined, the process engine will perform backend validation + * for any form fields which have validators defined. + * See [Documentation on Generated Task Forms](https://docs.camunda.org/manual/latest/user-guide/task-forms/#generated-task-forms). + */ + submitFormByKey: { + parameters: { + path: { + /** The key of the process definition to submit the form for. */ + key: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["ProcessInstanceDto"]; + }; + }; + /** + * The instance could not be created due to an invalid variable value, + * for example if the value could not be parsed to an `Integer` value or + * the passed variable type is not supported. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Process definition with given key does not exist. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * The instance could not be created successfully. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["StartProcessInstanceFormDto"]; + }; + }; + }; + /** + * Activates or suspends a given process definition by latest version of process definition key + * which belongs to no tenant. + */ + updateProcessDefinitionSuspensionStateByKey: { + parameters: { + path: { + /** The key of the process definition (the latest version thereof) to be activated/suspended. */ + key: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * Returned if some of the query parameters are invalid, + * for example if the provided `executionDate` parameter doesn't have the expected format or + * if the `processDefinitionKey` parameter is `null`. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Process definition with given key does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + /** **Note**: Unallowed properties are `processDefinitionId` and `processDefinitionKey`. */ + requestBody: { + content: { + "application/json": components["schemas"]["ProcessDefinitionSuspensionStateDto"]; + }; + }; + }; + /** + * Retrieves the latest version of the process definition for tenant according to + * the `ProcessDefinition` interface in the engine. + */ + getLatestProcessDefinitionByTenantId: { + parameters: { + path: { + /** The key of the process definition (the latest version thereof) to be retrieved. */ + key: string; + /** The id of the tenant the process definition belongs to. */ + "tenant-id": string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["ProcessDefinitionDto"]; + }; + }; + /** + * Process definition with given `key` does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Deletes process definitions by a given key and which belong to a tenant id. */ + deleteProcessDefinitionsByKeyAndTenantId: { + parameters: { + path: { + /** The key of the process definitions to be deleted. */ + key: string; + /** The id of the tenant the process definitions belong to. */ + "tenant-id": string; + }; + query: { + /** + * `true`, if all process instances, historic process instances and jobs + * for this process definition should be deleted. + */ + cascade?: boolean; + /** `true`, if only the built-in ExecutionListeners should be notified with the end event. */ + skipCustomListeners?: boolean; + /** + * A boolean value to control whether input/output mappings should be executed during deletion. + * `true`, if input/output mappings should not be invoked. + */ + skipIoMappings?: boolean; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * Forbidden + * The process definitions with the given `key` cannot be deleted due to missing permissions. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 403: { + content: { + "application/json": components["schemas"]["AuthorizationExceptionDto"]; + }; + }; + /** + * Not found + * Process definition with given key does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Retrieves the deployed form that can be referenced from a start event. + * For further information please refer to [User Guide](https://docs.camunda.org/manual/latest/user-guide/task-forms/#embedded-task-forms). + */ + getDeployedStartFormByKeyAndTenantId: { + parameters: { + path: { + /** The key of the process definition (the latest version thereof) to be retrieved. */ + key: string; + /** The id of the tenant the process definitions belong to. */ + "tenant-id": string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/xhtml+xml": string; + }; + }; + /** + * The form key has wrong format. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * The deployed start form cannot be retrieved due to missing permissions on process definition resource. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 403: { + content: { + "application/json": components["schemas"]["AuthorizationExceptionDto"]; + }; + }; + /** + * No deployed start form for a given process definition exists. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Retrieves the diagram for the latest version of the process definition for tenant. + * + * If the process definition's deployment contains an image resource with the same file name + * as the process definition, the deployed image will be returned by the Get Diagram endpoint. + * Example: `someProcess.bpmn` and `someProcess.png`. + * Supported file extentions for the image are: `svg`, `png`, `jpg`, and `gif`. + */ + getProcessDefinitionDiagramByKeyAndTenantId: { + parameters: { + path: { + /** The key of the process definition. */ + key: string; + /** The id of the tenant the process definition belongs to. */ + "tenant-id": string; + }; + }; + responses: { + /** Request successful. The image diagram of this process. */ + 200: { + content: { + "application/octet-stream": string; + "*/*": string; + }; + }; + /** The process definition doesn't have an associated diagram. */ + 204: never; + /** + * Process definition with given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Retrieves the start form variables for the latest process definition for a tenant + * (only if they are defined via the + * [Generated Task Form](https://docs.camunda.org/manual/latest/user-guide/task-forms/#generated-task-forms) approach). + * The start form variables take form data specified on the start event into account. + * If form fields are defined, the variable types and default values + * of the form fields are taken into account. + */ + getStartFormVariablesByKeyAndTenantId: { + parameters: { + path: { + /** The key of the process definition (the latest version thereof) to be retrieved. */ + key: string; + /** The id of the tenant the process definition belongs to. */ + "tenant-id": string; + }; + query: { + /** + * A comma-separated list of variable names. Allows restricting the list of requested + * variables to the variable names in the list. It is best practice to restrict the + * list of variables to the variables actually required by the form in order to + * minimize fetching of data. If the query parameter is ommitted all variables are + * fetched. If the query parameter contains non-existent variable names, the variable + * names are ignored. + */ + variableNames?: string; + /** + * Determines whether serializable variable values (typically variables that store + * custom Java objects) should be deserialized on server side (default true). + * + * If set to true, a serializable variable will be deserialized on server side and + * transformed to JSON using [Jackson's](http://jackson.codehaus.org/) POJO/bean + * property introspection feature. Note that this requires the Java classes of the + * variable value to be on the REST API's classpath. + * + * If set to false, a serializable variable will be returned in its serialized format. + * For example, a variable that is serialized as XML will be returned as a JSON string + * containing XML. + * + * **Note**: While true is the default value for reasons of backward compatibility, we + * recommend setting this parameter to false when developing web applications that are + * independent of the Java process applications deployed to the engine. + */ + deserializeValues?: boolean; + }; + }; + responses: { + /** Request successful. A JSON object containing a property for each variable returned. */ + 200: { + content: { + "application/json": { + [key: string]: components["schemas"]["VariableValueDto"]; + }; + }; + }; + /** + * The key is null or does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Updates history time to live for the latest version of the process definition for a tenant. + * The field is used within [History cleanup](https://docs.camunda.org/manual/latest/user-guide/process-engine/history/#history-cleanup). + */ + updateHistoryTimeToLiveByProcessDefinitionKeyAndTenantId: { + parameters: { + path: { + /** The key of the process definition to change history time to live. */ + key: string; + /** The id of the tenant the process definition belongs to. */ + "tenant-id": string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * Returned if some of the request parameters are invalid. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Process definition with given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["HistoryTimeToLiveDto"]; + }; + }; + }; + /** + * Retrieves the rendered form for the latest version of the process definition for a tenant. + * This method can be used to get the HTML rendering of a + * [Generated Task Form](https://docs.camunda.org/manual/latest/user-guide/task-forms/#generated-task-forms). + */ + getRenderedStartFormByKeyAndTenantId: { + parameters: { + path: { + /** The key of the process definition (the latest version thereof) to be retrieved. */ + key: string; + /** The id of the tenant the process definition belongs to. */ + "tenant-id": string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/xhtml+xml": string; + }; + }; + /** + * Process definition has no form field metadata defined. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Process definition with given key does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Instantiates a given process definition, starts the latest version of the process definition for tenant. + * Process variables and business key may be supplied in the request body. + */ + startProcessInstanceByKeyAndTenantId: { + parameters: { + path: { + /** The key of the process definition (the latest version thereof) to be retrieved. */ + key: string; + /** The id of the tenant the process definition belongs to. */ + "tenant-id": string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["ProcessInstanceWithVariablesDto"]; + }; + }; + /** + * The instance could not be created due to an invalid variable value, + * for example if the value could not be parsed to an `Integer` value or + * the passed variable type is not supported. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * The instance could not be created successfully. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["StartProcessInstanceDto"]; + }; + }; + }; + /** + * Retrieves the key of the start form for the latest version of the process definition for a tenant. + * The form key corresponds to the `FormData#formKey` property in the engine. + */ + getStartFormByKeyAndTenantId: { + parameters: { + path: { + /** The key of the process definition (the latest version thereof) for which the form key is to be retrieved. */ + key: string; + /** The id of the tenant the process definition belongs to. */ + "tenant-id": string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["FormDto"]; + }; + }; + /** + * Process definition has no start form defined. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Process definition with given key does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Retrieves runtime statistics of the latest version of the given process definition for a tenant, + * grouped by activities. + * These statistics include the number of running activity instances, optionally the number of failed jobs + * and also optionally the number of incidents either grouped by incident types or + * for a specific incident type. + * **Note**: This does not include historic data. + */ + getActivityStatisticsByProcessDefinitionKeyAndTenantId: { + parameters: { + path: { + /** The key of the process definition (the latest version thereof) to be retrieved. */ + key: string; + /** The id of the tenant the process definition belongs to. */ + "tenant-id": string; + }; + query: { + /** Whether to include the number of failed jobs in the result or not. Valid values are `true` or `false`. */ + failedJobs?: boolean; + /** + * Valid values for this property are `true` or `false`. + * If this property has been set to `true` the result will include the corresponding number of incidents + * for each occurred incident type. + * If it is set to `false`, the incidents will not be included in the result. + * Cannot be used in combination with `incidentsForType`. + */ + incidents?: boolean; + /** + * If this property has been set with any incident type (i.e., a string value) the result + * will only include the number of incidents for the assigned incident type. + * Cannot be used in combination with `incidents`. + * See the [User Guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/incidents/#incident-types) + * for a list of incident types. + */ + incidentsForType?: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["ActivityStatisticsResultDto"][]; + }; + }; + /** + * Returned if some of the query parameters are invalid. + * See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Process definition with given key does not exist. + * See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Starts the latest version of the process definition for a tenant + * using a set of process variables and the business key. + * If the start event has Form Field Metadata defined, the process engine will perform backend validation + * for any form fields which have validators defined. + * See [Documentation on Generated Task Forms](https://docs.camunda.org/manual/latest/user-guide/task-forms/#generated-task-forms). + */ + submitFormByKeyAndTenantId: { + parameters: { + path: { + /** The key of the process definition to submit the form for. */ + key: string; + /** The id of the tenant the process definition belongs to. */ + "tenant-id": string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["ProcessInstanceDto"]; + }; + }; + /** + * The instance could not be created due to an invalid variable value, + * for example if the value could not be parsed to an `Integer` value or + * the passed variable type is not supported. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Process definition with given key does not exist. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * The instance could not be created successfully. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["StartProcessInstanceFormDto"]; + }; + }; + }; + /** + * Activates or suspends a given process definition by the latest version of + * the process definition for tenant. + */ + updateProcessDefinitionSuspensionStateByKeyAndTenantId: { + parameters: { + path: { + /** The key of the process definition (the latest version thereof) to be activated/suspended. */ + key: string; + /** The id of the tenant the process definition belongs to. */ + "tenant-id": string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * Returned if some of the query parameters are invalid, + * for example if the provided `executionDate` parameter doesn't have the expected format or + * if the `processDefinitionKey` parameter is `null`. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Process definition with given key does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + /** **Note**: Unallowed properties are `processDefinitionId` and `processDefinitionKey`. */ + requestBody: { + content: { + "application/json": components["schemas"]["ProcessDefinitionSuspensionStateDto"]; + }; + }; + }; + /** + * Retrieves latest version the BPMN 2.0 XML of a process definition. + * Returns the XML for the latest version of the process definition for tenant. + */ + getProcessDefinitionBpmn20XmlByKeyAndTenantId: { + parameters: { + path: { + /** The key of the process definition (the latest version thereof) whose XML should be retrieved. */ + key: string; + /** The id of the tenant the process definition belongs to. */ + "tenant-id": string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["ProcessDefinitionDiagramDto"]; + }; + }; + /** + * The Process Definition xml cannot be retrieved due to missing permissions on the Process Definition resource. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 403: { + content: { + "application/json": components["schemas"]["AuthorizationExceptionDto"]; + }; + }; + /** + * Process definition with given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Retrieves latest version the BPMN 2.0 XML of a process definition. */ + getProcessDefinitionBpmn20XmlByKey: { + parameters: { + path: { + /** The key of the process definition (the latest version thereof) whose XML should be retrieved. */ + key: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["ProcessDefinitionDiagramDto"]; + }; + }; + /** + * The Process Definition xml cannot be retrieved due to missing permissions on the Process Definition resource. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 403: { + content: { + "application/json": components["schemas"]["AuthorizationExceptionDto"]; + }; + }; + /** + * Process definition with given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Retrieves runtime statistics of the process engine, grouped by process definitions. + * These statistics include the number of running process instances, optionally the number of failed jobs + * and also optionally the number of incidents either grouped by incident types or + * for a specific incident type. + * **Note**: This does not include historic data. + */ + getProcessDefinitionStatistics: { + parameters: { + query: { + /** Whether to include the number of failed jobs in the result or not. Valid values are `true` or `false`. */ + failedJobs?: boolean; + /** + * Valid values for this property are `true` or `false`. + * If this property has been set to `true` the result will include the corresponding number of incidents + * for each occurred incident type. + * If it is set to `false`, the incidents will not be included in the result. + * Cannot be used in combination with `incidentsForType`. + */ + incidents?: boolean; + /** + * If this property has been set with any incident type (i.e., a string value) the result + * will only include the number of incidents for the assigned incident type. + * Cannot be used in combination with `incidents`. + * See the [User Guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/incidents/#incident-types) + * for a list of incident types. + */ + incidentsForType?: string; + /** + * Valid values for this property are `true` or `false`. + * If this property has been set to `true` the result will include the corresponding number of + * root incidents for each occurred incident type. + * If it is set to `false`, the incidents will not be included in the result. + * Cannot be used in combination with `incidentsForType` or `incidents`. + */ + rootIncidents?: boolean; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["ProcessDefinitionStatisticsResultDto"][]; + }; + }; + /** + * Returned if some of the query parameters are invalid. + * See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Activates or suspends process definitions with the given process definition key. */ + updateProcessDefinitionSuspensionState: { + responses: { + /** Request successful. */ + 204: never; + /** + * Returned if some of the query parameters are invalid, + * for example if the provided `executionDate` parameter doesn't have the expected format or + * if the `processDefinitionKey` parameter is `null`. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Process definition with given key does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + /** **Note**: Unallowed property is `processDefinitionId`. */ + requestBody: { + content: { + "application/json": components["schemas"]["ProcessDefinitionSuspensionStateDto"]; + }; + }; + }; + /** Retrieves a process definition according to the `ProcessDefinition` interface in the engine. */ + getProcessDefinition: { + parameters: { + path: { + /** The id of the process definition to be retrieved. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["ProcessDefinitionDto"]; + }; + }; + /** + * Process definition with given `id` does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Deletes a running process instance by id. */ + deleteProcessDefinition: { + parameters: { + path: { + /** The id of the process definition to be deleted. */ + id: string; + }; + query: { + /** + * `true`, if all process instances, historic process instances and jobs + * for this process definition should be deleted. + */ + cascade?: boolean; + /** `true`, if only the built-in ExecutionListeners should be notified with the end event. */ + skipCustomListeners?: boolean; + /** + * A boolean value to control whether input/output mappings should be executed during deletion. + * `true`, if input/output mappings should not be invoked. + */ + skipIoMappings?: boolean; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * Not found + * Process definition with given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Retrieves the deployed form that can be referenced from a start event. + * For further information please refer to [User Guide](https://docs.camunda.org/manual/latest/user-guide/task-forms/#embedded-task-forms). + */ + getDeployedStartForm: { + parameters: { + path: { + /** The id of the process definition to get the deployed start form for. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/xhtml+xml": string; + "application/json": string; + }; + }; + /** + * The form key has wrong format. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * The deployed start form cannot be retrieved due to missing permissions on process definition resource. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 403: { + content: { + "application/json": components["schemas"]["AuthorizationExceptionDto"]; + }; + }; + /** + * No deployed start form for a given process definition exists. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Retrieves the diagram of a process definition. + * + * If the process definition's deployment contains an image resource with the same file name + * as the process definition, the deployed image will be returned by the Get Diagram endpoint. + * Example: `someProcess.bpmn` and `someProcess.png`. + * Supported file extentions for the image are: `svg`, `png`, `jpg`, and `gif`. + */ + getProcessDefinitionDiagram: { + parameters: { + path: { + /** The id of the process definition. */ + id: string; + }; + }; + responses: { + /** Request successful. The image diagram of this process. */ + 200: { + content: { + "application/octet-stream": string; + "*/*": string; + }; + }; + /** The process definition doesn't have an associated diagram. */ + 204: never; + /** + * Process definition with given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Retrieves the start form variables for a process definition + * (only if they are defined via the + * [Generated Task Form](https://docs.camunda.org/manual/latest/user-guide/task-forms/#generated-task-forms) approach). + * The start form variables take form data specified on the start event into account. + * If form fields are defined, the variable types and default values + * of the form fields are taken into account. + */ + getStartFormVariables: { + parameters: { + path: { + /** The id of the process definition to retrieve the variables for. */ + id: string; + }; + query: { + /** + * A comma-separated list of variable names. Allows restricting the list of requested + * variables to the variable names in the list. It is best practice to restrict the + * list of variables to the variables actually required by the form in order to + * minimize fetching of data. If the query parameter is ommitted all variables are + * fetched. If the query parameter contains non-existent variable names, the variable + * names are ignored. + */ + variableNames?: string; + /** + * Determines whether serializable variable values (typically variables that store + * custom Java objects) should be deserialized on server side (default true). + * + * If set to true, a serializable variable will be deserialized on server side and + * transformed to JSON using [Jackson's](http://jackson.codehaus.org/) POJO/bean + * property introspection feature. Note that this requires the Java classes of the + * variable value to be on the REST API's classpath. + * + * If set to false, a serializable variable will be returned in its serialized format. + * For example, a variable that is serialized as XML will be returned as a JSON string + * containing XML. + * + * **Note**: While true is the default value for reasons of backward compatibility, we + * recommend setting this parameter to false when developing web applications that are + * independent of the Java process applications deployed to the engine. + */ + deserializeValues?: boolean; + }; + }; + responses: { + /** Request successful. A JSON object containing a property for each variable returned. */ + 200: { + content: { + "application/json": { + [key: string]: components["schemas"]["VariableValueDto"]; + }; + }; + }; + /** + * The id is null or does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Updates history time to live for process definition. + * The field is used within [History cleanup](https://docs.camunda.org/manual/latest/user-guide/process-engine/history/#history-cleanup). + */ + updateHistoryTimeToLiveByProcessDefinitionId: { + parameters: { + path: { + /** The id of the process definition to change history time to live. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * Returned if some of the request parameters are invalid. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Process definition with given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["HistoryTimeToLiveDto"]; + }; + }; + }; + /** + * Retrieves the rendered form for a process definition. + * This method can be used to get the HTML rendering of a + * [Generated Task Form](https://docs.camunda.org/manual/latest/user-guide/task-forms/#generated-task-forms). + */ + getRenderedStartForm: { + parameters: { + path: { + /** The id of the process definition to get the rendered start form for. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/xhtml+xml": string; + }; + }; + /** + * Process definition has no form field metadata defined. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Process definition with given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Restarts process instances that were canceled or terminated synchronously. + * Can also restart completed process instances. + * It will create a new instance using the original instance information. + * To execute the restart asynchronously, use the + * [Restart Process Instance Async](https://docs.camunda.org/manual/latest/reference/rest/process-definition/post-restart-process-instance-async/) method. + * + * For more information about the difference between synchronous and asynchronous execution, + * please refer to the related section of the + * [User Guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/process-instance-restart/#execution). + */ + restartProcessInstance: { + parameters: { + path: { + /** The id of the process definition of the process instances to restart. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * In case following parameters are missing: `instructions`, `activityId` or `transitionId`, + * `processInstanceIds` or `historicProcessInstanceQuery`, an exception of type `InvalidRequestException` is returned. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Process definition with given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["RestartProcessInstanceDto"]; + }; + }; + }; + /** + * Restarts process instances that were canceled or terminated asynchronously. + * Can also restart completed process instances. + * It will create a new instance using the original instance information. + * To execute the restart asynchronously, use the + * [Restart Process Instance](https://docs.camunda.org/manual/latest/reference/rest/process-definition/post-restart-process-instance-sync/) method. + * + * For more information about the difference between synchronous and asynchronous execution, + * please refer to the related section of the + * [User Guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/process-instance-restart/#execution). + */ + restartProcessInstanceAsyncOperation: { + parameters: { + path: { + /** The id of the process definition of the process instances to restart. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["BatchDto"]; + }; + }; + /** + * In case following parameters are missing: `instructions`, `activityId` or `transitionId`, + * `processInstanceIds` or `historicProcessInstanceQuery`, + * an exception of type `InvalidRequestException` is returned. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Process definition with given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["RestartProcessInstanceDto"]; + }; + }; + }; + /** + * Instantiates a given process definition. + * Process variables and business key may be supplied in the request body. + */ + startProcessInstance: { + parameters: { + path: { + /** The id of the process definition to be retrieved. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["ProcessInstanceWithVariablesDto"]; + }; + }; + /** + * The instance could not be created due to an invalid variable value, + * for example if the value could not be parsed to an `Integer` value or + * the passed variable type is not supported. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * The instance could not be created successfully. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["StartProcessInstanceDto"]; + }; + }; + }; + /** + * Retrieves the key of the start form for a process definition. + * The form key corresponds to the `FormData#formKey` property in the engine. + */ + getStartForm: { + parameters: { + path: { + /** The id of the process definition to get the start form key for. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["FormDto"]; + }; + }; + /** + * Process definition has no start form defined. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Process definition with given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Retrieves runtime statistics of a given process definition, grouped by activities. + * These statistics include the number of running activity instances, optionally the number of failed jobs + * and also optionally the number of incidents either grouped by incident types or for a specific incident type. + * **Note**: This does not include historic data. + */ + getActivityStatistics: { + parameters: { + path: { + /** The id of the process definition. */ + id: string; + }; + query: { + /** Whether to include the number of failed jobs in the result or not. Valid values are `true` or `false`. */ + failedJobs?: boolean; + /** + * Valid values for this property are `true` or `false`. + * If this property has been set to `true` the result will include the corresponding number of incidents + * for each occurred incident type. + * If it is set to `false`, the incidents will not be included in the result. + * Cannot be used in combination with `incidentsForType`. + */ + incidents?: boolean; + /** + * If this property has been set with any incident type (i.e., a string value) the result + * will only include the number of incidents for the assigned incident type. + * Cannot be used in combination with `incidents`. + * See the [User Guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/incidents/#incident-types) + * for a list of incident types. + */ + incidentsForType?: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["ActivityStatisticsResultDto"][]; + }; + }; + /** + * Returned if some of the query parameters are invalid. + * See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Process definition with given key does not exist. + * See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Starts a process instance using a set of process variables and the business key. + * If the start event has Form Field Metadata defined, the process engine will perform backend validation + * for any form fields which have validators defined. + * See [Documentation on Generated Task Forms](https://docs.camunda.org/manual/latest/user-guide/task-forms/#generated-task-forms). + */ + submitForm: { + parameters: { + path: { + /** The id of the process definition to submit the form for. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["ProcessInstanceDto"]; + }; + }; + /** + * The instance could not be created due to an invalid variable value, + * for example if the value could not be parsed to an `Integer` value or + * the passed variable type is not supported. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Process definition with given id does not exist. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * The instance could not be created successfully. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["StartProcessInstanceFormDto"]; + }; + }; + }; + /** Activates or suspends a given process definition by id. */ + updateProcessDefinitionSuspensionStateById: { + parameters: { + path: { + /** The id of the process definition to activate or suspend. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * Returned if some of the query parameters are invalid, + * for example if the provided `executionDate` parameter doesn't have the expected format or + * if the `processDefinitionKey` parameter is `null`. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Process definition with given key does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + /** **Note**: Unallowed properties are `processDefinitionId` and `processDefinitionKey`. */ + requestBody: { + content: { + "application/json": components["schemas"]["ProcessDefinitionSuspensionStateDto"]; + }; + }; + }; + /** Retrieves the BPMN 2.0 XML of a process definition. */ + getProcessDefinitionBpmn20Xml: { + parameters: { + path: { + /** The id of the process definition. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["ProcessDefinitionDiagramDto"]; + }; + }; + /** + * Returned if some of the query parameters are invalid. + * See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * The Process Definition xml cannot be retrieved due to missing permissions on the Process Definition resource. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 403: { + content: { + "application/json": components["schemas"]["AuthorizationExceptionDto"]; + }; + }; + /** + * Process definition with given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Queries for process instances that fulfill given parameters. + * Parameters may be static as well as dynamic runtime properties of process instances. + * The size of the result set can be retrieved by using the Get Instance Count method. + */ + getProcessInstances: { + parameters: { + query: { + /** + * Sort the results lexicographically by a given criterion. + * Must be used in conjunction with the sortOrder parameter. + */ + sortBy?: + | "instanceId" + | "definitionKey" + | "definitionId" + | "tenantId" + | "businessKey"; + /** + * Sort the results in a given order. Values may be asc for ascending order or desc for descending order. + * Must be used in conjunction with the sortBy parameter. + */ + sortOrder?: "asc" | "desc"; + /** Pagination of results. Specifies the index of the first result to return. */ + firstResult?: number; + /** + * Pagination of results. Specifies the maximum number of results to return. + * Will return less results if there are no more results left. + */ + maxResults?: number; + /** Filter by a comma-separated list of process instance ids. */ + processInstanceIds?: string; + /** Filter by process instance business key. */ + businessKey?: string; + /** Filter by process instance business key that the parameter is a substring of. */ + businessKeyLike?: string; + /** Filter by case instance id. */ + caseInstanceId?: string; + /** Filter by the deployment the id belongs to. */ + processDefinitionId?: string; + /** Filter by the key of the process definition the instances run on. */ + processDefinitionKey?: string; + /** + * Filter by a comma-separated list of process definition keys. + * A process instance must have one of the given process definition keys. + */ + processDefinitionKeyIn?: string; + /** + * Exclude instances by a comma-separated list of process definition keys. + * A process instance must not have one of the given process definition keys. + */ + processDefinitionKeyNotIn?: string; + /** Filter by the deployment the id belongs to. */ + deploymentId?: string; + /** + * Restrict query to all process instances that are sub process instances of the given process instance. + * Takes a process instance id. + */ + superProcessInstance?: string; + /** + * Restrict query to all process instances that have the given process instance as a sub process instance. + * Takes a process instance id. + */ + subProcessInstance?: string; + /** + * Restrict query to all process instances that are sub process instances of the given case instance. + * Takes a case instance id. + */ + superCaseInstance?: string; + /** + * Restrict query to all process instances that have the given case instance as a sub case instance. + * Takes a case instance id. + */ + subCaseInstance?: string; + /** + * Only include active process instances. Value may only be true, + * as false is the default behavior. + */ + active?: boolean; + /** + * Only include suspended process instances. Value may only be true, + * as false is the default behavior. + */ + suspended?: boolean; + /** Filter by presence of incidents. Selects only process instances that have an incident. */ + withIncident?: boolean; + /** Filter by the incident id. */ + incidentId?: string; + /** + * Filter by the incident type. + * See the [User Guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/incidents/#incident-types) + * for a list of incident types. + */ + incidentType?: string; + /** Filter by the incident message. Exact match. */ + incidentMessage?: string; + /** Filter by the incident message that the parameter is a substring of. */ + incidentMessageLike?: string; + /** Filter by a comma-separated list of tenant ids. A process instance must have one of the given tenant ids. */ + tenantIdIn?: string; + /** Only include process instances which belong to no tenant. */ + withoutTenantId?: boolean; + /** Only include process instances which process definition has no tenant id. */ + processDefinitionWithoutTenantId?: boolean; + /** + * Filter by a comma-separated list of activity ids. + * A process instance must currently wait in a leaf activity with one of the given activity ids. + */ + activityIdIn?: string; + /** Restrict the query to all process instances that are top level process instances. */ + rootProcessInstances?: boolean; + /** Restrict the query to all process instances that are leaf instances. (i.e. don't have any sub instances). */ + leafProcessInstances?: boolean; + /** + * Only include process instances that have variables with certain values. + * Variable filtering expressions are comma-separated and are structured as follows: + * + * A valid parameter value has the form `key_operator_value`. `key` is the variable name, + * `operator` is the comparison operator to be used and `value` the variable value. + * + * **Note**: Values are always treated as String objects on server side. + * + * Valid `operator` values are: + * `eq` - equal to; + * `neq` - not equal to; + * `gt` - greater than; + * `gteq` - greater than or equal to; + * `lt` - lower than; + * `lteq` - lower than or equal to; + * `like`. + * `key` and `value` may not contain underscore or comma characters. + */ + variables?: string; + /** + * Match all variable names in this query case-insensitively. + * If set to true variableName and variablename are treated as equal. + */ + variableNamesIgnoreCase?: boolean; + /** + * Match all variable values in this query case-insensitively. + * If set to true variableValue and variablevalue are treated as equal. + */ + variableValuesIgnoreCase?: boolean; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["ProcessInstanceDto"][]; + }; + }; + /** + * Bad Request + * Returned if some of the query parameters are invalid, + * for example if a sortOrder parameter is supplied, but no sortBy, or if an invalid operator for variable comparison is used. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Queries for process instances that fulfill given parameters through a JSON object. + * This method is slightly more powerful than the Get Instances method because + * it allows filtering by multiple process variables of types `string`, `number` or `boolean`. + */ + queryProcessInstances: { + parameters: { + query: { + /** Pagination of results. Specifies the index of the first result to return. */ + firstResult?: number; + /** + * Pagination of results. Specifies the maximum number of results to return. + * Will return less results if there are no more results left. + */ + maxResults?: number; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["ProcessInstanceDto"][]; + }; + }; + /** + * Bad Request + * Returned if some of the query parameters are invalid, + * for example if a sortOrder parameter is supplied, but no sortBy, or if an invalid operator for variable comparison is used. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["ProcessInstanceQueryDto"]; + }; + }; + }; + /** Queries for the number of process instances that fulfill given parameters. */ + getProcessInstancesCount: { + parameters: { + query: { + /** Filter by a comma-separated list of process instance ids. */ + processInstanceIds?: string; + /** Filter by process instance business key. */ + businessKey?: string; + /** Filter by process instance business key that the parameter is a substring of. */ + businessKeyLike?: string; + /** Filter by case instance id. */ + caseInstanceId?: string; + /** Filter by the deployment the id belongs to. */ + processDefinitionId?: string; + /** Filter by the key of the process definition the instances run on. */ + processDefinitionKey?: string; + /** + * Filter by a comma-separated list of process definition keys. + * A process instance must have one of the given process definition keys. + */ + processDefinitionKeyIn?: string; + /** + * Exclude instances by a comma-separated list of process definition keys. + * A process instance must not have one of the given process definition keys. + */ + processDefinitionKeyNotIn?: string; + /** Filter by the deployment the id belongs to. */ + deploymentId?: string; + /** + * Restrict query to all process instances that are sub process instances of the given process instance. + * Takes a process instance id. + */ + superProcessInstance?: string; + /** + * Restrict query to all process instances that have the given process instance as a sub process instance. + * Takes a process instance id. + */ + subProcessInstance?: string; + /** + * Restrict query to all process instances that are sub process instances of the given case instance. + * Takes a case instance id. + */ + superCaseInstance?: string; + /** + * Restrict query to all process instances that have the given case instance as a sub case instance. + * Takes a case instance id. + */ + subCaseInstance?: string; + /** + * Only include active process instances. Value may only be true, + * as false is the default behavior. + */ + active?: boolean; + /** + * Only include suspended process instances. Value may only be true, + * as false is the default behavior. + */ + suspended?: boolean; + /** Filter by presence of incidents. Selects only process instances that have an incident. */ + withIncident?: boolean; + /** Filter by the incident id. */ + incidentId?: string; + /** + * Filter by the incident type. + * See the [User Guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/incidents/#incident-types) + * for a list of incident types. + */ + incidentType?: string; + /** Filter by the incident message. Exact match. */ + incidentMessage?: string; + /** Filter by the incident message that the parameter is a substring of. */ + incidentMessageLike?: string; + /** Filter by a comma-separated list of tenant ids. A process instance must have one of the given tenant ids. */ + tenantIdIn?: string; + /** Only include process instances which belong to no tenant. */ + withoutTenantId?: boolean; + /** Only include process instances which process definition has no tenant id. */ + processDefinitionWithoutTenantId?: boolean; + /** + * Filter by a comma-separated list of activity ids. + * A process instance must currently wait in a leaf activity with one of the given activity ids. + */ + activityIdIn?: string; + /** Restrict the query to all process instances that are top level process instances. */ + rootProcessInstances?: boolean; + /** Restrict the query to all process instances that are leaf instances. (i.e. don't have any sub instances). */ + leafProcessInstances?: boolean; + /** + * Only include process instances that have variables with certain values. + * Variable filtering expressions are comma-separated and are structured as follows: + * + * A valid parameter value has the form `key_operator_value`. `key` is the variable name, + * `operator` is the comparison operator to be used and `value` the variable value. + * + * **Note**: Values are always treated as String objects on server side. + * + * Valid `operator` values are: + * `eq` - equal to; + * `neq` - not equal to; + * `gt` - greater than; + * `gteq` - greater than or equal to; + * `lt` - lower than; + * `lteq` - lower than or equal to; + * `like`. + * `key` and `value` may not contain underscore or comma characters. + */ + variables?: string; + /** + * Match all variable names in this query case-insensitively. + * If set to true variableName and variablename are treated as equal. + */ + variableNamesIgnoreCase?: boolean; + /** + * Match all variable values in this query case-insensitively. + * If set to true variableValue and variablevalue are treated as equal. + */ + variableValuesIgnoreCase?: boolean; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["CountResultDto"]; + }; + }; + /** + * Bad Request + * Returned if some of the query parameters are invalid, for example an invalid operator for variable comparison is used. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Queries for the number of process instances that fulfill the given parameters. + * This method takes the same message body as the Get Instances (POST) method and + * therefore it is slightly more powerful than the Get Instance Count method. + */ + queryProcessInstancesCount: { + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["CountResultDto"]; + }; + }; + /** + * Bad Request + * Returned if some of the query parameters are invalid, for example if an invalid operator for variable comparison is used. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["ProcessInstanceQueryDto"]; + }; + }; + }; + /** Deletes multiple process instances asynchronously (batch). */ + deleteProcessInstancesAsyncOperation: { + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["BatchDto"]; + }; + }; + /** + * Bad Request + * Returned if some of the query parameters are invalid, i.e., neither processInstanceIds, nor processInstanceQuery is present + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + /** **Unallowed property**: `historicProcessInstanceQuery` */ + requestBody: { + content: { + "application/json": components["schemas"]["DeleteProcessInstancesDto"]; + }; + }; + }; + /** Deletes a set of process instances asynchronously (batch) based on a historic process instance query. */ + deleteAsyncHistoricQueryBased: { + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["BatchDto"]; + }; + }; + /** + * Bad Request + * Returned if some of the query parameters are invalid, i.e., neither processInstanceIds, nor historicProcessInstanceQuery is present + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + /** **Unallowed property**: `processInstanceQuery` */ + requestBody: { + content: { + "application/json": components["schemas"]["DeleteProcessInstancesDto"]; + }; + }; + }; + /** Create a batch to set retries of jobs associated with given processes asynchronously. */ + setRetriesByProcess: { + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["BatchDto"]; + }; + }; + /** + * Bad Request + * Returned if some of the query parameters are invalid, for example if neither processInstanceIds, nor processInstanceQuery is present. + * Or if the retry count is not specified. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + /** + * Please note that if both processInstances and processInstanceQuery are provided, + * then the resulting execution will be performed on the union of these sets. + * **Unallowed property**: `historicProcessInstanceQuery` + */ + requestBody: { + content: { + "application/json": components["schemas"]["SetJobRetriesByProcessDto"]; + }; + }; + }; + /** Create a batch to set retries of jobs asynchronously based on a historic process instance query. */ + setRetriesByProcessHistoricQueryBased: { + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["BatchDto"]; + }; + }; + /** + * Bad Request + * Returned if some of the query parameters are invalid, for example if neither processInstanceIds, nor historicProcessInstanceQuery is present. + * Or if the retry count is not specified. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + /** + * Please note that if both processInstances and historicProcessInstanceQuery are provided, + * then the resulting execution will be performed on the union of these sets. + * **Unallowed property**: `processInstanceQuery` + */ + requestBody: { + content: { + "application/json": components["schemas"]["SetJobRetriesByProcessDto"]; + }; + }; + }; + /** + * Activates or suspends process instances by providing certain criteria: + * + * # Activate/Suspend Process Instance By Process Definition Id + * * `suspend` + * * `processDefinitionId` + * + * # Activate/Suspend Process Instance By Process Definition Key + * + * * `suspend` + * * `processDefinitionKey` + * * `processDefinitionTenantId` + * * `processDefinitionWithoutTenantId` + * + * # Activate/Suspend Process Instance In Group + * * `suspend` + * * `processInstanceIds` + * * `processInstanceQuery` + * * `historicProcessInstanceQuery` + */ + updateSuspensionState: { + responses: { + /** Request successful. */ + 204: never; + /** + * Bad Request + * Returned if some of the request parameters are invalid, + * for example if the provided processDefinitionId or processDefinitionKey parameter is null. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["ProcessInstanceSuspensionStateDto"]; + }; + }; + }; + /** + * Activates or suspends process instances asynchronously with a list of process instance ids, + * a process instance query, and/or a historical process instance query. + */ + updateSuspensionStateAsyncOperation: { + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["BatchDto"]; + }; + }; + /** + * Bad Request + * Returned if some of the request parameters are invalid, + * for example if the provided processDefinitionId or processDefinitionKey parameter is null. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["ProcessInstanceSuspensionStateAsyncDto"]; + }; + }; + }; + /** Update or create runtime process variables in the root scope of process instances. */ + setVariablesAsyncOperation: { + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["BatchDto"]; + }; + }; + /** + * Bad Request + * * The variable value or type is invalid, for example if the value could not be parsed to an Integer value or + * the passed variable type is not supported + * * If none of `processInstanceIds`, `processInstanceQuery` and `historicProcessInstanceQuery` is given + * * If no or an empty array of `variables` is given + * * If no process instance ids where found + * * If a transient variable is set + * * If the engine config flag `javaSerializationFormatEnabled` is `false` and a Java serialized variable is given + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Returned if the user is not allowed to create the batch. + * + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the + * error response format. + */ + 403: { + content: { + "application/json": components["schemas"]["AuthorizationExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["SetVariablesAsyncDto"]; + }; + }; + }; + /** Retrieves a process instance by id, according to the `ProcessInstance` interface in the engine. */ + getProcessInstance: { + parameters: { + path: { + /** The id of the process instance to be retrieved. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["ProcessInstanceDto"]; + }; + }; + /** + * Process instance with given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Deletes a running process instance by id. */ + deleteProcessInstance: { + parameters: { + path: { + /** The id of the process instance to be deleted. */ + id: string; + }; + query: { + /** If set to true, the custom listeners will be skipped. */ + skipCustomListeners?: boolean; + /** If set to true, the input/output mappings will be skipped. */ + skipIoMappings?: boolean; + /** If set to true, subprocesses related to deleted processes will be skipped. */ + skipSubprocesses?: boolean; + /** If set to false, the request will still be successful if the process id is not found. */ + failIfNotExists?: boolean; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * Not found + * Process instance with given id does not exist. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Retrieves an Activity Instance (Tree) for a given process instance by id. */ + getActivityInstanceTree: { + parameters: { + path: { + /** The id of the process instance for which the activity instance should be retrieved. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["ActivityInstanceDto"]; + }; + }; + /** Process instance with given id does not exist. */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Submits a list of modification instructions to change a process instance's execution state. + * A modification instruction is one of the following: + * + * * Starting execution before an activity + * * Starting execution after an activity on its single outgoing sequence flow + * * Starting execution on a specific sequence flow + * * Canceling an activity instance, transition instance, or all instances (activity or transition) for an activity + * + * Instructions are executed immediately and in the order they are provided in this request's body. + * Variables can be provided with every starting instruction. + * + * The exact semantics of modification can be read about in the [User guide](https://docs.camunda.org/manual/develop/user-guide/process-engine/process-instance-modification/). + */ + modifyProcessInstance: { + parameters: { + path: { + /** The id of the process instance to modify. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** At least one modification instruction misses required parameters. */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** The modification cannot be performed, for example because it starts a failing activity. */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["ProcessInstanceModificationDto"]; + }; + }; + }; + /** + * Submits a list of modification instructions to change a process instance's execution state async. + * A modification instruction is one of the following: + * + * * Starting execution before an activity + * * Starting execution after an activity on its single outgoing sequence flow + * * Starting execution on a specific sequence flow + * * Cancelling an activity instance, transition instance, or all instances (activity or transition) for an activity + * + * Instructions are executed asynchronous and in the order they are provided in this request's body. + * Variables can be provided with every starting instruction. + * + * The exact semantics of modification can be read about in the + * [User guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/process-instance-modification/). + */ + modifyProcessInstanceAsyncOperation: { + parameters: { + path: { + /** The id of the process instance to modify. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["BatchDto"]; + }; + }; + /** + * Bad Request + * At least one modification instruction misses required parameters. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Forbidden + * If the user is not allowed to execute batches. See the Introduction for the error response format. + */ + 403: { + content: { + "application/json": components["schemas"]["AuthorizationExceptionDto"]; + }; + }; + /** The modification cannot be performed, for example because it starts a failing activity. */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["ProcessInstanceModificationDto"]; + }; + }; + }; + /** Activates or suspends a given process instance by id. */ + updateSuspensionStateById: { + parameters: { + path: { + /** The id of the process instance to activate or suspend. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["SuspensionStateDto"]; + }; + }; + }; + /** Retrieves all variables of a given process instance by id. */ + getProcessInstanceVariables: { + parameters: { + path: { + /** The id of the process instance to retrieve the variables from. */ + id: string; + }; + query: { + /** + * Determines whether serializable variable values (typically variables that store custom Java objects) + * should be deserialized on server side (default true). + * + * If set to true, a serializable variable will be deserialized on server side and transformed to JSON + * using [Jackson's](https://github.com/FasterXML/jackson) POJO/bean property introspection feature. + * Note that this requires the Java classes of the variable value to be on the REST API's classpath. + * + * If set to false, a serializable variable will be returned in its serialized format. + * For example, a variable that is serialized as XML will be returned as a JSON string containing XML. + * + * Note: While true is the default value for reasons of backward compatibility, we recommend setting this parameter to false + * when developing web applications that are independent of the Java process applications deployed to the engine. + */ + deserializeValues?: boolean; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": { + [key: string]: components["schemas"]["VariableValueDto"]; + }; + }; + }; + /** Process instance with given id does not exist. */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Updates or deletes the variables of a process instance by id. Updates precede deletions. + * So, if a variable is updated AND deleted, the deletion overrides the update. + */ + modifyProcessInstanceVariables: { + parameters: { + path: { + /** The id of the process instance to set variables for. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * Bad Request + * The variable value or type is invalid, for example if the value could not be parsed to an Integer value or + * the passed variable type is not supported. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** Update or delete could not be executed, for example because the process instance does not exist. */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["PatchVariablesDto"]; + }; + }; + }; + /** Retrieves a variable of a given process instance by id. */ + getProcessInstanceVariable: { + parameters: { + path: { + /** The id of the process instance to retrieve the variable for. */ + id: string; + /** The name of the variable to retrieve. */ + varName: string; + }; + query: { + /** + * Determines whether serializable variable values (typically variables that store custom Java objects) + * should be deserialized on server side (default true). + * + * If set to true, a serializable variable will be deserialized on server side and transformed to JSON + * using [Jackson's](https://github.com/FasterXML/jackson) POJO/bean property introspection feature. + * Note that this requires the Java classes of the variable value to be on the REST API's classpath. + * + * If set to false, a serializable variable will be returned in its serialized format. + * For example, a variable that is serialized as XML will be returned as a JSON string containing XML. + * + * Note: While true is the default value for reasons of backward compatibility, we recommend setting this parameter to false + * when developing web applications that are independent of the Java process applications deployed to the engine. + */ + deserializeValue?: boolean; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["VariableValueDto"]; + }; + }; + /** + * Bad Request + * Variable with given id does not exist. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Sets a variable of a given process instance by id. */ + setProcessInstanceVariable: { + parameters: { + path: { + /** The id of the process instance to set the variable for. */ + id: string; + /** The name of the variable to set. */ + varName: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * Bad Request + * The variable value or type is invalid, for example if the value could not be parsed to an Integer value or + * the passed variable type is not supported. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["VariableValueDto"]; + }; + }; + }; + /** Deletes a variable of a process instance by id. */ + deleteProcessInstanceVariable: { + parameters: { + path: { + /** The id of the process instance to delete the variable from. */ + id: string; + /** The name of the variable to delete. */ + varName: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + }; + }; + /** + * Retrieves the content of a Process Variable by the Process Instance id and the Process Variable name. + * Applicable for byte array or file Process Variables. + */ + getProcessInstanceVariableBinary: { + parameters: { + path: { + /** The id of the process instance to retrieve the variable for. */ + id: string; + /** The name of the variable to retrieve. */ + varName: string; + }; + }; + responses: { + /** + * Request successful. + * For binary variables or files without any MIME type information, a byte stream is returned. + * File variables with MIME type information are returned as the saved type. + * Additionally, for file variables the Content-Disposition header will be set. + */ + 200: { + content: { + "application/octet-stream": string; + "text/plain": string; + }; + }; + /** + * Bad Request + * A Process Variable with the given id exists but does not serialize as binary data. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Not Found + * A Process Variable with the given id does not exist. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Sets the serialized value for a binary variable or the binary value for a file variable. */ + setProcessInstanceVariableBinary: { + parameters: { + path: { + /** The id of the process instance to retrieve the variable for. */ + id: string; + /** The name of the variable to retrieve. */ + varName: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * Bad Request + * The variable value or type is invalid, for example if no filename is set. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + /** For binary variables a multipart form submit with the following parts: */ + requestBody: { + content: { + "multipart/form-data": components["schemas"]["MultiFormVariableBinaryDto"]; + }; + }; + }; + /** Queries for schema log entries that fulfill given parameters. */ + getSchemaLog: { + parameters: { + query: { + /** Only return schema log entries with a specific version. */ + version?: string; + /** Pagination of results. Specifies the index of the first result to return. */ + firstResult?: number; + /** + * Pagination of results. Specifies the maximum number of results to return. + * Will return less results if there are no more results left. + */ + maxResults?: number; + }; + }; + responses: { + /** + * Request successful. + * **Note**: In order to get any results a user of group `camunda-admin` must + * be authenticated. + */ + 200: { + content: { + "application/json": components["schemas"]["SchemaLogEntryDto"][]; + }; + }; + }; + }; + /** Queries for schema log entries that fulfill given parameters. */ + querySchemaLog: { + parameters: { + query: { + /** Pagination of results. Specifies the index of the first result to return. */ + firstResult?: number; + /** + * Pagination of results. Specifies the maximum number of results to return. + * Will return less results if there are no more results left. + */ + maxResults?: number; + }; + }; + responses: { + /** + * Request successful. + * **Note**: In order to get any results a user of group camunda-admin must be + * authenticated. + */ + 200: { + content: { + "application/json": components["schemas"]["SchemaLogEntryDto"][]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["SchemaLogQueryDto"]; + }; + }; + }; + /** + * A signal is an event of global scope (broadcast semantics) and is delivered to all + * active handlers. Internally this maps to the engine's signal event received builder + * method `RuntimeService#createSignalEvent()`. For more information about the signal + * behavior, see the [Signal Events](https://docs.camunda.org/manual/latest/reference/bpmn20/events/signal-events/) + * section of the [BPMN 2.0 Implementation Reference](https://docs.camunda.org/manual/latest/reference/bpmn20/). + */ + throwSignal: { + parameters: {}; + responses: { + /** Request successful. */ + 204: never; + /** + * Returned if: + * + * * no name was given + * * the variable value or type is invalid, for example if the value could not be + * parsed to an integer value or the passed variable type is not supported + * * a tenant id and an execution id is specified. + * + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the + * error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Returned if the user is not allowed to throw a signal event. + * + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the + * error response format. + */ + 403: { + content: { + "application/json": components["schemas"]["AuthorizationExceptionDto"]; + }; + }; + /** + * Returned if a single execution is specified and no such execution exists or has not + * subscribed to the signal. + * + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the + * error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["SignalDto"]; + }; + }; + }; + /** + * Queries for tasks that fulfill a given filter. The size of the result set can be + * retrieved by using the Get Task Count method. + * + * **Security Consideration:** There are several query parameters (such as + * assigneeExpression) for specifying an EL expression. These are disabled by default to + * prevent remote code execution. See the section on + * [security considerations](https://docs.camunda.org/manual/latest/user-guide/process-engine/securing-custom-code/) + * for custom code in the user guide for details. + */ + getTasks: { + parameters: { + query: { + /** Restrict to task with the given id. */ + taskId?: string; + /** Restrict to tasks with any of the given ids. */ + taskIdIn?: string; + /** Restrict to tasks that belong to process instances with the given id. */ + processInstanceId?: string; + /** Restrict to tasks that belong to process instances with the given ids. */ + processInstanceIdIn?: string; + /** Restrict to tasks that belong to process instances with the given business key. */ + processInstanceBusinessKey?: string; + /** + * Restrict to tasks that belong to process instances with the given business key which + * is described by an expression. See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. + */ + processInstanceBusinessKeyExpression?: string; + /** + * Restrict to tasks that belong to process instances with one of the give business keys. + * The keys need to be in a comma-separated list. + */ + processInstanceBusinessKeyIn?: string; + /** + * Restrict to tasks that have a process instance business key that has the parameter + * value as a substring. + */ + processInstanceBusinessKeyLike?: string; + /** + * Restrict to tasks that have a process instance business key that has the parameter + * value as a substring and is described by an expression. See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. + */ + processInstanceBusinessKeyLikeExpression?: string; + /** Restrict to tasks that belong to a process definition with the given id. */ + processDefinitionId?: string; + /** Restrict to tasks that belong to a process definition with the given key. */ + processDefinitionKey?: string; + /** + * Restrict to tasks that belong to a process definition with one of the given keys. The + * keys need to be in a comma-separated list. + */ + processDefinitionKeyIn?: string; + /** Restrict to tasks that belong to a process definition with the given name. */ + processDefinitionName?: string; + /** + * Restrict to tasks that have a process definition name that has the parameter value as + * a substring. + */ + processDefinitionNameLike?: string; + /** Restrict to tasks that belong to an execution with the given id. */ + executionId?: string; + /** Restrict to tasks that belong to case instances with the given id. */ + caseInstanceId?: string; + /** Restrict to tasks that belong to case instances with the given business key. */ + caseInstanceBusinessKey?: string; + /** + * Restrict to tasks that have a case instance business key that has the parameter value + * as a substring. + */ + caseInstanceBusinessKeyLike?: string; + /** Restrict to tasks that belong to a case definition with the given id. */ + caseDefinitionId?: string; + /** Restrict to tasks that belong to a case definition with the given key. */ + caseDefinitionKey?: string; + /** Restrict to tasks that belong to a case definition with the given name. */ + caseDefinitionName?: string; + /** + * Restrict to tasks that have a case definition name that has the parameter value as a + * substring. + */ + caseDefinitionNameLike?: string; + /** Restrict to tasks that belong to a case execution with the given id. */ + caseExecutionId?: string; + /** + * Only include tasks which belong to one of the passed and comma-separated activity + * instance ids. + */ + activityInstanceIdIn?: string; + /** + * Only include tasks which belong to one of the passed and comma-separated + * tenant ids. + */ + tenantIdIn?: string; + /** + * Only include tasks which belong to no tenant. Value may only be `true`, + * as `false` is the default behavior. + */ + withoutTenantId?: boolean; + /** Restrict to tasks that the given user is assigned to. */ + assignee?: string; + /** + * Restrict to tasks that the user described by the given expression is assigned to. + * See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. + */ + assigneeExpression?: string; + /** + * Restrict to tasks that have an assignee that has the parameter + * value as a substring. + */ + assigneeLike?: string; + /** + * Restrict to tasks that have an assignee that has the parameter value described by the + * given expression as a substring. See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. + */ + assigneeLikeExpression?: string; + /** + * Only include tasks which are assigned to one of the passed and + * comma-separated user ids. + */ + assigneeIn?: string; + /** Restrict to tasks that the given user owns. */ + owner?: string; + /** + * Restrict to tasks that the user described by the given expression owns. See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. + */ + ownerExpression?: string; + /** Only include tasks that are offered to the given group. */ + candidateGroup?: string; + /** + * Only include tasks that are offered to the group described by the given expression. + * See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. + */ + candidateGroupExpression?: string; + /** Only include tasks that are offered to the given user or to one of his groups. */ + candidateUser?: string; + /** + * Only include tasks that are offered to the user described by the given expression. + * See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. + */ + candidateUserExpression?: string; + /** + * Also include tasks that are assigned to users in candidate queries. Default is to only + * include tasks that are not assigned to any user if you query by candidate user or + * group(s). + */ + includeAssignedTasks?: boolean; + /** + * Only include tasks that the given user is involved in. A user is involved in a task if + * an identity link exists between task and user (e.g., the user is the assignee). + */ + involvedUser?: string; + /** + * Only include tasks that the user described by the given expression is involved in. + * A user is involved in a task if an identity link exists between task and user + * (e.g., the user is the assignee). See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. + */ + involvedUserExpression?: string; + /** If set to `true`, restricts the query to all tasks that are assigned. */ + assigned?: boolean; + /** If set to `true`, restricts the query to all tasks that are unassigned. */ + unassigned?: boolean; + /** Restrict to tasks that have the given key. */ + taskDefinitionKey?: string; + /** + * Restrict to tasks that have one of the given keys. The keys need to be in a + * comma-separated list. + */ + taskDefinitionKeyIn?: string; + /** Restrict to tasks that have a key that has the parameter value as a substring. */ + taskDefinitionKeyLike?: string; + /** Restrict to tasks that have the given name. */ + name?: string; + /** Restrict to tasks that do not have the given name. */ + nameNotEqual?: string; + /** Restrict to tasks that have a name with the given parameter value as substring. */ + nameLike?: string; + /** + * Restrict to tasks that do not have a name with the given parameter + * value as substring. + */ + nameNotLike?: string; + /** Restrict to tasks that have the given description. */ + description?: string; + /** + * Restrict to tasks that have a description that has the parameter + * value as a substring. + */ + descriptionLike?: string; + /** Restrict to tasks that have the given priority. */ + priority?: number; + /** Restrict to tasks that have a lower or equal priority. */ + maxPriority?: number; + /** Restrict to tasks that have a higher or equal priority. */ + minPriority?: number; + /** + * Restrict to tasks that are due on the given date. By + * [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the + * format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., + * `2013-01-23T14:42:45.546+0200`. + */ + dueDate?: string; + /** + * Restrict to tasks that are due on the date described by the given expression. See the + * [User Guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. The expression must evaluate to a + * `java.util.Date` or `org.joda.time.DateTime` object. + */ + dueDateExpression?: string; + /** + * Restrict to tasks that are due after the given date. By + * [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have + * the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., + * `2013-01-23T14:42:45.435+0200`. + */ + dueAfter?: string; + /** + * Restrict to tasks that are due after the date described by the given expression. + * See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. The expression must evaluate to a + * `java.util.Date` or `org.joda.time.DateTime` object. + */ + dueAfterExpression?: string; + /** + * Restrict to tasks that are due before the given date. By + * [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have + * the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., + * `2013-01-23T14:42:45.243+0200`. + */ + dueBefore?: string; + /** + * Restrict to tasks that are due before the date described by the given expression. + * See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. The expression must evaluate to a + * `java.util.Date` or `org.joda.time.DateTime` object. + */ + dueBeforeExpression?: string; + /** + * Only include tasks which have no due date. Value may only be `true`, + * as `false` is the default behavior. + */ + withoutDueDate?: boolean; + /** + * Restrict to tasks that have a followUp date on the given date. By + * [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date + * must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., + * `2013-01-23T14:42:45.342+0200`. + */ + followUpDate?: string; + /** + * Restrict to tasks that have a followUp date on the date described by the given + * expression. See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. The expression must evaluate to a + * `java.util.Date` or `org.joda.time.DateTime` object. + */ + followUpDateExpression?: string; + /** + * Restrict to tasks that have a followUp date after the given date. By + * [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the + * date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., + * `2013-01-23T14:42:45.542+0200`. + */ + followUpAfter?: string; + /** + * Restrict to tasks that have a followUp date after the date described by the given + * expression. See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. The expression must evaluate to a + * `java.util.Date` or `org.joda.time.DateTime` object. + */ + followUpAfterExpression?: string; + /** + * Restrict to tasks that have a followUp date before the given date. By + * [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the + * date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., + * `2013-01-23T14:42:45.234+0200`. + */ + followUpBefore?: string; + /** + * Restrict to tasks that have a followUp date before the date described by the given + * expression. See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. The expression must evaluate to a + * `java.util.Date` or `org.joda.time.DateTime` object. + */ + followUpBeforeExpression?: string; + /** + * Restrict to tasks that have no followUp date or a followUp date before the given date. + * By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the + * format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.432+0200`. The + * typical use case is to query all `active` tasks for a user for a given date. + */ + followUpBeforeOrNotExistent?: string; + /** + * Restrict to tasks that have no followUp date or a followUp date before the date + * described by the given expression. See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. The expression must evaluate to a + * `java.util.Date` or `org.joda.time.DateTime` object. + */ + followUpBeforeOrNotExistentExpression?: string; + /** + * Restrict to tasks that were created on the given date. By + * [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have + * the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.324+0200`. + */ + createdOn?: string; + /** + * Restrict to tasks that were created on the date described by the given expression. + * See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. The expression must evaluate to a + * `java.util.Date` or `org.joda.time.DateTime` object. + */ + createdOnExpression?: string; + /** + * Restrict to tasks that were created after the given date. By + * [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the + * format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.342+0200`. + */ + createdAfter?: string; + /** + * Restrict to tasks that were created after the date described by the given expression. + * See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. The expression must evaluate to a + * `java.util.Date` or `org.joda.time.DateTime` object. + */ + createdAfterExpression?: string; + /** + * Restrict to tasks that were created before the given date. By + * [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the + * format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.332+0200`. + */ + createdBefore?: string; + /** + * Restrict to tasks that were created before the date described by the given expression. + * See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. The expression must evaluate to a + * `java.util.Date` or `org.joda.time.DateTime` object. + */ + createdBeforeExpression?: string; + /** + * Restrict to tasks that are in the given delegation state. Valid values are + * `PENDING` and `RESOLVED`. + */ + delegationState?: "PENDING" | "RESOLVED"; + /** + * Restrict to tasks that are offered to any of the given candidate groups. Takes a + * comma-separated list of group names, so for example `developers,support,sales`. + */ + candidateGroups?: string; + /** + * Restrict to tasks that are offered to any of the candidate groups described by the + * given expression. See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. The expression must evaluate to + * `java.util.List` of Strings. + */ + candidateGroupsExpression?: string; + /** + * Only include tasks which have a candidate group. Value may only be `true`, + * as `false` is the default behavior. + */ + withCandidateGroups?: boolean; + /** + * Only include tasks which have no candidate group. Value may only be `true`, + * as `false` is the default behavior. + */ + withoutCandidateGroups?: boolean; + /** + * Only include tasks which have a candidate user. Value may only be `true`, + * as `false` is the default behavior. + */ + withCandidateUsers?: boolean; + /** + * Only include tasks which have no candidate users. Value may only be `true`, + * as `false` is the default behavior. + */ + withoutCandidateUsers?: boolean; + /** + * Only include active tasks. Value may only be `true`, as `false` + * is the default behavior. + */ + active?: boolean; + /** + * Only include suspended tasks. Value may only be `true`, as + * `false` is the default behavior. + */ + suspended?: boolean; + /** + * Only include tasks that have variables with certain values. Variable filtering + * expressions are comma-separated and are structured as follows: + * + * A valid parameter value has the form `key_operator_value`. `key` is the variable name, + * `operator` is the comparison operator to be used and `value` the variable value. + * + * **Note**: Values are always treated as String objects on server side. + * + * Valid `operator` values are: + * `eq` - equal to; + * `neq` - not equal to; + * `gt` - greater than; + * `gteq` - greater than or equal to; + * `lt` - lower than; + * `lteq` - lower than or equal to; + * `like`. + * `key` and `value` may not contain underscore or comma characters. + */ + taskVariables?: string; + /** + * Only include tasks that belong to process instances that have variables with certain + * values. Variable filtering expressions are comma-separated and are structured as + * follows: + * + * A valid parameter value has the form `key_operator_value`. `key` is the variable name, + * `operator` is the comparison operator to be used and `value` the variable value. + * + * **Note**: Values are always treated as String objects on server side. + * + * Valid `operator` values are: + * `eq` - equal to; + * `neq` - not equal to; + * `gt` - greater than; + * `gteq` - greater than or equal to; + * `lt` - lower than; + * `lteq` - lower than or equal to; + * `like`; + * `notLike`. + * `key` and `value` may not contain underscore or comma characters. + */ + processVariables?: string; + /** + * Only include tasks that belong to case instances that have variables with certain + * values. Variable filtering expressions are comma-separated and are structured as + * follows: + * + * A valid parameter value has the form `key_operator_value`. `key` is the variable name, + * `operator` is the comparison operator to be used and `value` the variable value. + * + * **Note**: Values are always treated as String objects on server side. + * + * Valid `operator` values are: + * `eq` - equal to; + * `neq` - not equal to; + * `gt` - greater than; + * `gteq` - greater than or equal to; + * `lt` - lower than; + * `lteq` - lower than or equal to; + * `like`. + * `key` and `value` may not contain underscore or comma characters. + */ + caseInstanceVariables?: string; + /** + * Match all variable names in this query case-insensitively. If set + * `variableName` and `variablename` are treated as equal. + */ + variableNamesIgnoreCase?: boolean; + /** + * Match all variable values in this query case-insensitively. If set + * `variableValue` and `variablevalue` are treated as equal. + */ + variableValuesIgnoreCase?: boolean; + /** Restrict query to all tasks that are sub tasks of the given task. Takes a task id. */ + parentTaskId?: string; + /** + * Sort the results lexicographically by a given criterion. + * Must be used in conjunction with the sortOrder parameter. + */ + sortBy?: + | "instanceId" + | "caseInstanceId" + | "dueDate" + | "executionId" + | "caseExecutionId" + | "assignee" + | "created" + | "description" + | "id" + | "name" + | "nameCaseInsensitive" + | "priority" + | "processVariable" + | "executionVariable" + | "taskVariable" + | "caseExecutionVariable" + | "caseInstanceVariable"; + /** + * Sort the results in a given order. Values may be asc for ascending order or desc for descending order. + * Must be used in conjunction with the sortBy parameter. + */ + sortOrder?: "asc" | "desc"; + /** Pagination of results. Specifies the index of the first result to return. */ + firstResult?: number; + /** + * Pagination of results. Specifies the maximum number of results to return. + * Will return less results if there are no more results left. + */ + maxResults?: number; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["TaskDto"][]; + }; + }; + /** + * Returned if some of the query parameters are invalid, for example if a `sortOrder` + * parameter is supplied, but no `sortBy`, or if an invalid operator for variable + * comparison is used. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Queries for tasks that fulfill a given filter. This method is slightly more powerful + * than the [Get Tasks](https://docs.camunda.org/manual/latest/reference/rest/task/get-query/) method because it + * allows filtering by multiple process or task variables of types `String`, `Number` + * or `Boolean`. The size of the result set can be retrieved by using the + * [Get Task Count (POST)](https://docs.camunda.org/manual/latest/reference/rest/task/post-query-count/) method. + * + * **Security Consideration**: + * There are several parameters (such as `assigneeExpression`) for specifying an EL + * expression. These are disabled by default to prevent remote code execution. See the + * section on + * [security considerations for custom code](https://docs.camunda.org/manual/latest/user-guide/process-engine/securing-custom-code/) + * in the user guide for details. + */ + queryTasks: { + parameters: { + query: { + /** Pagination of results. Specifies the index of the first result to return. */ + firstResult?: number; + /** + * Pagination of results. Specifies the maximum number of results to return. + * Will return less results if there are no more results left. + */ + maxResults?: number; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["TaskDto"][]; + }; + }; + /** + * Returned if some of the query parameters are invalid, for example if a `sortOrder` + * parameter is supplied, but no `sortBy`, or if an invalid operator for variable + * comparison is used. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["TaskQueryDto"]; + }; + }; + }; + /** + * Retrieves the number of tasks that fulfill a provided filter. Corresponds to the size + * of the result set when using the [Get Tasks](https://docs.camunda.org/manual/latest/reference/rest/task/) method. + * + * **Security Consideration:** There are several query parameters (such as + * assigneeExpression) for specifying an EL expression. These are disabled by default to + * prevent remote code execution. See the section on + * [security considerations](https://docs.camunda.org/manual/latest/user-guide/process-engine/securing-custom-code/) + * for custom code in the user guide for details. + */ + getTasksCount: { + parameters: { + query: { + /** Restrict to task with the given id. */ + taskId?: string; + /** Restrict to tasks with any of the given ids. */ + taskIdIn?: string; + /** Restrict to tasks that belong to process instances with the given id. */ + processInstanceId?: string; + /** Restrict to tasks that belong to process instances with the given ids. */ + processInstanceIdIn?: string; + /** Restrict to tasks that belong to process instances with the given business key. */ + processInstanceBusinessKey?: string; + /** + * Restrict to tasks that belong to process instances with the given business key which + * is described by an expression. See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. + */ + processInstanceBusinessKeyExpression?: string; + /** + * Restrict to tasks that belong to process instances with one of the give business keys. + * The keys need to be in a comma-separated list. + */ + processInstanceBusinessKeyIn?: string; + /** + * Restrict to tasks that have a process instance business key that has the parameter + * value as a substring. + */ + processInstanceBusinessKeyLike?: string; + /** + * Restrict to tasks that have a process instance business key that has the parameter + * value as a substring and is described by an expression. See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. + */ + processInstanceBusinessKeyLikeExpression?: string; + /** Restrict to tasks that belong to a process definition with the given id. */ + processDefinitionId?: string; + /** Restrict to tasks that belong to a process definition with the given key. */ + processDefinitionKey?: string; + /** + * Restrict to tasks that belong to a process definition with one of the given keys. The + * keys need to be in a comma-separated list. + */ + processDefinitionKeyIn?: string; + /** Restrict to tasks that belong to a process definition with the given name. */ + processDefinitionName?: string; + /** + * Restrict to tasks that have a process definition name that has the parameter value as + * a substring. + */ + processDefinitionNameLike?: string; + /** Restrict to tasks that belong to an execution with the given id. */ + executionId?: string; + /** Restrict to tasks that belong to case instances with the given id. */ + caseInstanceId?: string; + /** Restrict to tasks that belong to case instances with the given business key. */ + caseInstanceBusinessKey?: string; + /** + * Restrict to tasks that have a case instance business key that has the parameter value + * as a substring. + */ + caseInstanceBusinessKeyLike?: string; + /** Restrict to tasks that belong to a case definition with the given id. */ + caseDefinitionId?: string; + /** Restrict to tasks that belong to a case definition with the given key. */ + caseDefinitionKey?: string; + /** Restrict to tasks that belong to a case definition with the given name. */ + caseDefinitionName?: string; + /** + * Restrict to tasks that have a case definition name that has the parameter value as a + * substring. + */ + caseDefinitionNameLike?: string; + /** Restrict to tasks that belong to a case execution with the given id. */ + caseExecutionId?: string; + /** + * Only include tasks which belong to one of the passed and comma-separated activity + * instance ids. + */ + activityInstanceIdIn?: string; + /** + * Only include tasks which belong to one of the passed and comma-separated + * tenant ids. + */ + tenantIdIn?: string; + /** + * Only include tasks which belong to no tenant. Value may only be `true`, + * as `false` is the default behavior. + */ + withoutTenantId?: boolean; + /** Restrict to tasks that the given user is assigned to. */ + assignee?: string; + /** + * Restrict to tasks that the user described by the given expression is assigned to. + * See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. + */ + assigneeExpression?: string; + /** + * Restrict to tasks that have an assignee that has the parameter + * value as a substring. + */ + assigneeLike?: string; + /** + * Restrict to tasks that have an assignee that has the parameter value described by the + * given expression as a substring. See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. + */ + assigneeLikeExpression?: string; + /** + * Only include tasks which are assigned to one of the passed and + * comma-separated user ids. + */ + assigneeIn?: string; + /** Restrict to tasks that the given user owns. */ + owner?: string; + /** + * Restrict to tasks that the user described by the given expression owns. See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. + */ + ownerExpression?: string; + /** Only include tasks that are offered to the given group. */ + candidateGroup?: string; + /** + * Only include tasks that are offered to the group described by the given expression. + * See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. + */ + candidateGroupExpression?: string; + /** Only include tasks that are offered to the given user or to one of his groups. */ + candidateUser?: string; + /** + * Only include tasks that are offered to the user described by the given expression. + * See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. + */ + candidateUserExpression?: string; + /** + * Also include tasks that are assigned to users in candidate queries. Default is to only + * include tasks that are not assigned to any user if you query by candidate user or + * group(s). + */ + includeAssignedTasks?: boolean; + /** + * Only include tasks that the given user is involved in. A user is involved in a task if + * an identity link exists between task and user (e.g., the user is the assignee). + */ + involvedUser?: string; + /** + * Only include tasks that the user described by the given expression is involved in. + * A user is involved in a task if an identity link exists between task and user + * (e.g., the user is the assignee). See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. + */ + involvedUserExpression?: string; + /** If set to `true`, restricts the query to all tasks that are assigned. */ + assigned?: boolean; + /** If set to `true`, restricts the query to all tasks that are unassigned. */ + unassigned?: boolean; + /** Restrict to tasks that have the given key. */ + taskDefinitionKey?: string; + /** + * Restrict to tasks that have one of the given keys. The keys need to be in a + * comma-separated list. + */ + taskDefinitionKeyIn?: string; + /** Restrict to tasks that have a key that has the parameter value as a substring. */ + taskDefinitionKeyLike?: string; + /** Restrict to tasks that have the given name. */ + name?: string; + /** Restrict to tasks that do not have the given name. */ + nameNotEqual?: string; + /** Restrict to tasks that have a name with the given parameter value as substring. */ + nameLike?: string; + /** + * Restrict to tasks that do not have a name with the given parameter + * value as substring. + */ + nameNotLike?: string; + /** Restrict to tasks that have the given description. */ + description?: string; + /** + * Restrict to tasks that have a description that has the parameter + * value as a substring. + */ + descriptionLike?: string; + /** Restrict to tasks that have the given priority. */ + priority?: number; + /** Restrict to tasks that have a lower or equal priority. */ + maxPriority?: number; + /** Restrict to tasks that have a higher or equal priority. */ + minPriority?: number; + /** + * Restrict to tasks that are due on the given date. By + * [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the + * format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., + * `2013-01-23T14:42:45.546+0200`. + */ + dueDate?: string; + /** + * Restrict to tasks that are due on the date described by the given expression. See the + * [User Guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. The expression must evaluate to a + * `java.util.Date` or `org.joda.time.DateTime` object. + */ + dueDateExpression?: string; + /** + * Restrict to tasks that are due after the given date. By + * [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have + * the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., + * `2013-01-23T14:42:45.435+0200`. + */ + dueAfter?: string; + /** + * Restrict to tasks that are due after the date described by the given expression. + * See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. The expression must evaluate to a + * `java.util.Date` or `org.joda.time.DateTime` object. + */ + dueAfterExpression?: string; + /** + * Restrict to tasks that are due before the given date. By + * [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have + * the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., + * `2013-01-23T14:42:45.243+0200`. + */ + dueBefore?: string; + /** + * Restrict to tasks that are due before the date described by the given expression. + * See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. The expression must evaluate to a + * `java.util.Date` or `org.joda.time.DateTime` object. + */ + dueBeforeExpression?: string; + /** + * Only include tasks which have no due date. Value may only be `true`, + * as `false` is the default behavior. + */ + withoutDueDate?: boolean; + /** + * Restrict to tasks that have a followUp date on the given date. By + * [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date + * must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., + * `2013-01-23T14:42:45.342+0200`. + */ + followUpDate?: string; + /** + * Restrict to tasks that have a followUp date on the date described by the given + * expression. See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. The expression must evaluate to a + * `java.util.Date` or `org.joda.time.DateTime` object. + */ + followUpDateExpression?: string; + /** + * Restrict to tasks that have a followUp date after the given date. By + * [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the + * date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., + * `2013-01-23T14:42:45.542+0200`. + */ + followUpAfter?: string; + /** + * Restrict to tasks that have a followUp date after the date described by the given + * expression. See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. The expression must evaluate to a + * `java.util.Date` or `org.joda.time.DateTime` object. + */ + followUpAfterExpression?: string; + /** + * Restrict to tasks that have a followUp date before the given date. By + * [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the + * date must have the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., + * `2013-01-23T14:42:45.234+0200`. + */ + followUpBefore?: string; + /** + * Restrict to tasks that have a followUp date before the date described by the given + * expression. See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. The expression must evaluate to a + * `java.util.Date` or `org.joda.time.DateTime` object. + */ + followUpBeforeExpression?: string; + /** + * Restrict to tasks that have no followUp date or a followUp date before the given date. + * By [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the + * format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.432+0200`. The + * typical use case is to query all `active` tasks for a user for a given date. + */ + followUpBeforeOrNotExistent?: string; + /** + * Restrict to tasks that have no followUp date or a followUp date before the date + * described by the given expression. See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. The expression must evaluate to a + * `java.util.Date` or `org.joda.time.DateTime` object. + */ + followUpBeforeOrNotExistentExpression?: string; + /** + * Restrict to tasks that were created on the given date. By + * [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have + * the format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.324+0200`. + */ + createdOn?: string; + /** + * Restrict to tasks that were created on the date described by the given expression. + * See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. The expression must evaluate to a + * `java.util.Date` or `org.joda.time.DateTime` object. + */ + createdOnExpression?: string; + /** + * Restrict to tasks that were created after the given date. By + * [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the + * format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.342+0200`. + */ + createdAfter?: string; + /** + * Restrict to tasks that were created after the date described by the given expression. + * See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. The expression must evaluate to a + * `java.util.Date` or `org.joda.time.DateTime` object. + */ + createdAfterExpression?: string; + /** + * Restrict to tasks that were created before the given date. By + * [default](https://docs.camunda.org/manual/latest/reference/rest/overview/date-format/), the date must have the + * format `yyyy-MM-dd'T'HH:mm:ss.SSSZ`, e.g., `2013-01-23T14:42:45.332+0200`. + */ + createdBefore?: string; + /** + * Restrict to tasks that were created before the date described by the given expression. + * See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. The expression must evaluate to a + * `java.util.Date` or `org.joda.time.DateTime` object. + */ + createdBeforeExpression?: string; + /** + * Restrict to tasks that are in the given delegation state. Valid values are + * `PENDING` and `RESOLVED`. + */ + delegationState?: "PENDING" | "RESOLVED"; + /** + * Restrict to tasks that are offered to any of the given candidate groups. Takes a + * comma-separated list of group names, so for example `developers,support,sales`. + */ + candidateGroups?: string; + /** + * Restrict to tasks that are offered to any of the candidate groups described by the + * given expression. See the + * [user guide](https://docs.camunda.org/manual/latest/user-guide/process-engine/expression-language/#internal-context-functions) + * for more information on available functions. The expression must evaluate to + * `java.util.List` of Strings. + */ + candidateGroupsExpression?: string; + /** + * Only include tasks which have a candidate group. Value may only be `true`, + * as `false` is the default behavior. + */ + withCandidateGroups?: boolean; + /** + * Only include tasks which have no candidate group. Value may only be `true`, + * as `false` is the default behavior. + */ + withoutCandidateGroups?: boolean; + /** + * Only include tasks which have a candidate user. Value may only be `true`, + * as `false` is the default behavior. + */ + withCandidateUsers?: boolean; + /** + * Only include tasks which have no candidate users. Value may only be `true`, + * as `false` is the default behavior. + */ + withoutCandidateUsers?: boolean; + /** + * Only include active tasks. Value may only be `true`, as `false` + * is the default behavior. + */ + active?: boolean; + /** + * Only include suspended tasks. Value may only be `true`, as + * `false` is the default behavior. + */ + suspended?: boolean; + /** + * Only include tasks that have variables with certain values. Variable filtering + * expressions are comma-separated and are structured as follows: + * + * A valid parameter value has the form `key_operator_value`. `key` is the variable name, + * `operator` is the comparison operator to be used and `value` the variable value. + * + * **Note**: Values are always treated as String objects on server side. + * + * Valid `operator` values are: + * `eq` - equal to; + * `neq` - not equal to; + * `gt` - greater than; + * `gteq` - greater than or equal to; + * `lt` - lower than; + * `lteq` - lower than or equal to; + * `like`. + * `key` and `value` may not contain underscore or comma characters. + */ + taskVariables?: string; + /** + * Only include tasks that belong to process instances that have variables with certain + * values. Variable filtering expressions are comma-separated and are structured as + * follows: + * + * A valid parameter value has the form `key_operator_value`. `key` is the variable name, + * `operator` is the comparison operator to be used and `value` the variable value. + * + * **Note**: Values are always treated as String objects on server side. + * + * Valid `operator` values are: + * `eq` - equal to; + * `neq` - not equal to; + * `gt` - greater than; + * `gteq` - greater than or equal to; + * `lt` - lower than; + * `lteq` - lower than or equal to; + * `like`; + * `notLike`. + * `key` and `value` may not contain underscore or comma characters. + */ + processVariables?: string; + /** + * Only include tasks that belong to case instances that have variables with certain + * values. Variable filtering expressions are comma-separated and are structured as + * follows: + * + * A valid parameter value has the form `key_operator_value`. `key` is the variable name, + * `operator` is the comparison operator to be used and `value` the variable value. + * + * **Note**: Values are always treated as String objects on server side. + * + * Valid `operator` values are: + * `eq` - equal to; + * `neq` - not equal to; + * `gt` - greater than; + * `gteq` - greater than or equal to; + * `lt` - lower than; + * `lteq` - lower than or equal to; + * `like`. + * `key` and `value` may not contain underscore or comma characters. + */ + caseInstanceVariables?: string; + /** + * Match all variable names in this query case-insensitively. If set + * `variableName` and `variablename` are treated as equal. + */ + variableNamesIgnoreCase?: boolean; + /** + * Match all variable values in this query case-insensitively. If set + * `variableValue` and `variablevalue` are treated as equal. + */ + variableValuesIgnoreCase?: boolean; + /** Restrict query to all tasks that are sub tasks of the given task. Takes a task id. */ + parentTaskId?: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["CountResultDto"]; + }; + }; + /** + * Returned if some of the query parameters are invalid. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Retrieves the number of tasks that fulfill the given filter. Corresponds to the size + * of the result set of the [Get Tasks (POST)](https://docs.camunda.org/manual/latest/reference/rest/task/post-query/) + * method and takes the same parameters. + * + * **Security Consideration**: + * There are several parameters (such as `assigneeExpression`) for specifying an EL + * expression. These are disabled by default to prevent remote code execution. See the + * section on + * [security considerations for custom code](https://docs.camunda.org/manual/latest/user-guide/process-engine/securing-custom-code/) + * in the user guide for details. + */ + queryTasksCount: { + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["CountResultDto"]; + }; + }; + /** + * Returned if some of the query parameters are invalid. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["TaskQueryDto"]; + }; + }; + }; + /** Creates a new task. */ + createTask: { + responses: { + /** Request successful. */ + 204: never; + /** + * Returned if a not valid `delegationState` is supplied. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["TaskDto"]; + }; + }; + }; + /** Retrieves a task by id. */ + getTask: { + parameters: { + path: { + /** The id of the task to be retrieved. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["TaskDto"]; + }; + }; + /** + * Task with given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Updates a task. */ + updateTask: { + parameters: { + path: { + /** The id of the task to be updated. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * Returned if a not valid `delegationState` is supplied. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** If the corresponding task cannot be found. */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["TaskDto"]; + }; + }; + }; + /** Removes a task by id. */ + deleteTask: { + parameters: { + path: { + /** The id of the task to be removed. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * Bad Request. The Task with the given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * The Task with the given id cannot be deleted because it is part of a running process or case instance. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for + * the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Changes the assignee of a task to a specific user. + * + * **Note:** The difference with the [Claim Task](https://docs.camunda.org/manual/latest/reference/rest/task/post-claim/) + * method is that this method does not check if the task already has a user + * assigned to it. + */ + setAssignee: { + parameters: { + path: { + /** The id of the task to set the assignee for. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * Task with given id does not exist or setting the assignee was not successful. + * See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + /** Provide the id of the user that will be the assignee of the task. */ + requestBody: { + content: { + "application/json": components["schemas"]["UserIdDto"]; + }; + }; + }; + /** Gets the attachments for a task. */ + getAttachments: { + parameters: { + path: { + /** The id of the task to retrieve the attachments for. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["AttachmentDto"][]; + }; + }; + /** + * No task exists for the given task id. See the [Introduction](/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Creates an attachment for a task. */ + addAttachment: { + parameters: { + path: { + /** The id of the task to add the attachment to. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["AttachmentDto"]; + }; + }; + /** + * The task does not exists or task id is null. No content or url to remote content exists. See the + * [Introduction](/reference/rest/overview/#error-handling) for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * The history of the engine is disabled. See the [Introduction](/reference/rest/overview/#error-handling) + * for the error response format. + */ + 403: { + content: { + "application/json": components["schemas"]["AuthorizationExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "multipart/form-data": components["schemas"]["MultiFormAttachmentDto"]; + }; + }; + }; + /** Retrieves a task attachment by task id and attachment id. */ + getAttachment: { + parameters: { + path: { + /** The id of the task. */ + id: string; + /** The id of the attachment to be retrieved. */ + attachmentId: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["AttachmentDto"]; + }; + }; + /** + * The attachment for the given task and attachment id does not exist or the history of the engine is + * disabled. + * + * See the [Introduction](/reference/rest/overview/#error-handling) for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Removes an attachment from a task by id. */ + deleteAttachment: { + parameters: { + path: { + /** The id of the task. */ + id: string; + /** The id of the attachment to be removed. */ + attachmentId: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * The history of the engine is disabled. See the [Introduction](/reference/rest/overview/#error-handling) + * for the error response format. + */ + 403: { + content: { + "application/json": components["schemas"]["AuthorizationExceptionDto"]; + }; + }; + /** + * A Task Attachment for the given task id and attachment id does not exist. See the + * [Introduction](/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Retrieves the binary content of a task attachment by task id and attachment id. */ + getAttachmentData: { + parameters: { + path: { + /** The id of the task. */ + id: string; + /** The id of the attachment to be retrieved. */ + attachmentId: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/octet-stream": string; + "text/plain": string; + }; + }; + /** + * The attachment content for the given task id and attachment id does not exist, or the history of the + * engine is disabled. + * + * See the [Introduction](/reference/rest/overview/#error-handling) for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Reports a business error in the context of a running task by id. The error code must + * be specified to identify the BPMN error handler. See the documentation for + * [Reporting Bpmn Error](https://docs.camunda.org/manual/latest/reference/bpmn20/tasks/user-task/#reporting-bpmn-error) + * in User Tasks. + */ + handleBpmnError: { + parameters: { + path: { + /** The id of the task a BPMN error is reported for. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * Returned if the `errorCode` or `id` are not present in the request. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * If the authenticated user is unauthorized to update the task. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 403: { + content: { + "application/json": components["schemas"]["AuthorizationExceptionDto"]; + }; + }; + /** + * Returned if the task does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["TaskBpmnErrorDto"]; + }; + }; + }; + /** + * Reports an escalation in the context of a running task by id. The escalation code must + * be specified to identify the escalation handler. See the documentation for + * [Reporting Bpmn Escalation](https://docs.camunda.org/manual/latest/reference/bpmn20/tasks/user-task/#reporting-bpmn-escalation) + * in User Tasks. + */ + handleEscalation: { + parameters: { + path: { + /** The id of the task in which context a BPMN escalation is reported. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * Returned if the escalationCode is not provided in + * the request. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * If the authenticated user is unauthorized to update the process instance. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 403: { + content: { + "application/json": components["schemas"]["AuthorizationExceptionDto"]; + }; + }; + /** + * Returned if the task does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["TaskEscalationDto"]; + }; + }; + }; + /** + * Claims a task for a specific user. + * + * **Note:** The difference with the + * [Set Assignee](https://docs.camunda.org/manual/latest/reference/rest/task/post-assignee/) + * method is that here a check is performed to see if the task already has a user + * assigned to it. + */ + claim: { + parameters: { + path: { + /** The id of the task to claim. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * Task with given id does not exist or claiming was not successful. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + /** Provide the id of the user that claims the task. */ + requestBody: { + content: { + "application/json": components["schemas"]["UserIdDto"]; + }; + }; + }; + /** Gets the comments for a task by id. */ + getComments: { + parameters: { + path: { + /** The id of the task to retrieve the comments for. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["CommentDto"][]; + }; + }; + /** + * No task exists for the given task id. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Creates a comment for a task by id. */ + createComment: { + parameters: { + path: { + /** The id of the task to add the comment to. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["CommentDto"]; + }; + }; + /** + * The task does not exist or no comment message was submitted. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * The history of the engine is disabled. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 403: { + content: { + "application/json": components["schemas"]["AuthorizationExceptionDto"]; + }; + }; + }; + /** **Note:** Only the `message` property will be used. Every other property passed to this endpoint will be ignored. */ + requestBody: { + content: { + "application/json": components["schemas"]["CommentDto"]; + }; + }; + }; + /** Retrieves a task comment by task id and comment id. */ + getComment: { + parameters: { + path: { + /** The id of the task. */ + id: string; + /** The id of the comment to be retrieved. */ + commentId: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["CommentDto"]; + }; + }; + /** + * The task or comment with given task and comment id does not exist, or the history of + * the engine is disabled. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Completes a task and updates process variables. */ + complete: { + parameters: { + path: { + /** The id of the task to complete. */ + id: string; + }; + }; + responses: { + /** Request successful. The response contains the process variables. */ + 200: { + content: { + "application/json": { + [key: string]: components["schemas"]["VariableValueDto"]; + }; + }; + }; + /** Request successful. The response contains no variables. */ + 204: never; + /** + * The variable value or type is invalid, for example if the value could not be parsed + * to an Integer value or the passed variable type is not supported. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * If the task does not exist or the corresponding process instance could not be + * resumed successfully. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["CompleteTaskDto"]; + }; + }; + }; + /** Delegates a task to another user. */ + delegateTask: { + parameters: { + path: { + /** The id of the task to delegate. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * If the task does not exist or delegation was not successful. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + /** Provide the id of the user that the task should be delegated to. */ + requestBody: { + content: { + "application/json": components["schemas"]["UserIdDto"]; + }; + }; + }; + /** + * Retrieves the deployed form that is referenced from a given task. For further + * information please refer to the + * [User Guide](https://docs.camunda.org/manual/latest/user-guide/task-forms/#embedded-task-forms). + */ + getDeployedForm: { + parameters: { + path: { + /** The id of the task to get the deployed form for. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/xhtml+xml": string; + "application/json": string; + }; + }; + /** + * The form key has wrong format. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * The deployed form cannot be retrieved due to missing permissions on task resource. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 403: { + content: { + "application/json": components["schemas"]["AuthorizationExceptionDto"]; + }; + }; + /** + * No deployed form for a given task exists. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Retrieves the form key for a task. The form key corresponds to the `FormData#formKey` + * property in the engine. This key can be used to do task-specific form rendering in + * client applications. Additionally, the context path of the containing process + * application is returned. + */ + getForm: { + parameters: { + path: { + /** The id of the task to retrieve the form for. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["FormDto"]; + }; + }; + /** + * Task with given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Retrieves the form variables for a task. The form variables take form data specified + * on the task into account. If form fields are defined, the variable types and default + * values of the form fields are taken into account. + */ + getFormVariables: { + parameters: { + path: { + /** The id of the task to retrieve the variables for. */ + id: string; + }; + query: { + /** + * A comma-separated list of variable names. Allows restricting the list of requested + * variables to the variable names in the list. It is best practice to restrict the + * list of variables to the variables actually required by the form in order to + * minimize fetching of data. If the query parameter is ommitted all variables are + * fetched. If the query parameter contains non-existent variable names, the variable + * names are ignored. + */ + variableNames?: string; + /** + * Determines whether serializable variable values (typically variables that store + * custom Java objects) should be deserialized on server side (default true). + * + * If set to true, a serializable variable will be deserialized on server side and + * transformed to JSON using [Jackson's](http://jackson.codehaus.org/) POJO/bean + * property introspection feature. Note that this requires the Java classes of the + * variable value to be on the REST API's classpath. + * + * If set to false, a serializable variable will be returned in its serialized format. + * For example, a variable that is serialized as XML will be returned as a JSON string + * containing XML. + * + * Note: While true is the default value for reasons of backward compatibility, we + * recommend setting this parameter to false when developing web applications that are + * independent of the Java process applications deployed to the engine. + */ + deserializeValues?: boolean; + }; + }; + responses: { + /** Request successful. A JSON object containing a property for each variable returned. */ + 200: { + content: { + "application/json": { + [key: string]: components["schemas"]["VariableValueDto"]; + }; + }; + }; + /** + * id is null or does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Gets the identity links for a task by id, which are the users and groups that are in + * *some* relation to it (including assignee and owner). + */ + getIdentityLinks: { + parameters: { + path: { + /** The id of the task to retrieve the identity links for. */ + id: string; + }; + query: { + /** Filter by the type of links to include. */ + type?: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["IdentityLinkDto"][]; + }; + }; + /** + * Task with given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Adds an identity link to a task by id. Can be used to link any user or group to a task + * and specify a relation. + */ + addIdentityLink: { + parameters: { + path: { + /** The id of the task to add a link to. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * Task with given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["IdentityLinkDto"]; + }; + }; + }; + /** Removes an identity link from a task by id */ + deleteIdentityLink: { + parameters: { + path: { + /** The id of the task to remove a link from. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * Task with given id does not exist. + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for + * the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["IdentityLinkDto"]; + }; + }; + }; + /** Retrieves all variables of a given task by id. */ + getTaskLocalVariables: { + parameters: { + path: { + /** The id of the task to retrieve the variables from. */ + id: string; + }; + query: { + /** + * Determines whether serializable variable values (typically variables that store custom Java objects) + * should be deserialized on the server side (default `true`). + * + * If set to `true`, a serializable variable will be deserialized on server side and transformed to JSON + * using [Jackson's](https://github.com/FasterXML/jackson) POJO/bean property introspection feature. + * Note that this requires the Java classes of the variable value to be on the REST API's classpath. + * + * If set to `false`, a serializable variable will be returned in its serialized format. + * For example, a variable that is serialized as XML will be returned as a JSON string containing XML. + * + * **Note:** While `true` is the default value for reasons of backward compatibility, we recommend setting this + * parameter to `false` when developing web applications that are independent of the Java process + * applications deployed to the engine. + */ + deserializeValues?: boolean; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": { + [key: string]: components["schemas"]["VariableValueDto"]; + }; + }; + }; + /** + * Task id is `null` or does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Updates or deletes the variables in the context of a task. Updates precede deletions. So, if a variable is + * updated AND deleted, the deletion overrides the update. + */ + modifyTaskLocalVariables: { + parameters: { + path: { + /** The id of the task to set variables for. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * The variable value or type is invalid. For example the value could not be parsed to an `Integer` value + * or the passed variable type is not supported. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Update or delete could not be executed because the task is `null` or does not exist.. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["PatchVariablesDto"]; + }; + }; + }; + /** Retrieves a variable from the context of a given task by id. */ + getTaskLocalVariable: { + parameters: { + path: { + /** The id of the task to retrieve the variable from. */ + id: string; + /** The name of the variable to get */ + varName: string; + }; + query: { + /** + * Determines whether serializable variable values (typically variables that store custom Java objects) + * should be deserialized on the server side (default `true`). + * + * If set to `true`, a serializable variable will be deserialized on server side and transformed to JSON + * using [Jackson's](https://github.com/FasterXML/jackson) POJO/bean property introspection feature. + * Note that this requires the Java classes of the variable value to be on the REST API's classpath. + * + * If set to `false`, a serializable variable will be returned in its serialized format. + * For example, a variable that is serialized as XML will be returned as a JSON string containing XML. + * + * Note: While `true` is the default value for reasons of backward compatibility, we recommend setting this + * parameter to `false` when developing web applications that are independent of the Java process + * applications deployed to the engine. + */ + deserializeValue?: boolean; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["VariableValueDto"]; + }; + }; + /** + * Variable with given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Task id is `null` or does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Sets a variable in the context of a given task. */ + putTaskLocalVariable: { + parameters: { + path: { + /** The id of the task to set the variable for. */ + id: string; + /** The name of the variable to set. */ + varName: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * The variable name, value or type is invalid, for example if the value could not be parsed to an `Integer` + * value or the passed variable type is not supported or a new transient variable has the name that is + * already persisted. See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * The variable name is `null`, or the Task id is `null` or does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["VariableValueDto"]; + }; + }; + }; + /** Removes a local variable from a task by id. */ + deleteTaskLocalVariable: { + parameters: { + path: { + /** The id of the task to delete the variable from. */ + id: string; + /** The name of the variable to be removed. */ + varName: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * Task id is `null` or does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Retrieves a binary variable from the context of a given task by id. Applicable for byte array and file + * variables. + */ + getTaskLocalVariableBinary: { + parameters: { + path: { + /** The id of the task to retrieve the variable for. */ + id: string; + /** The name of the variable to retrieve. */ + varName: string; + }; + }; + responses: { + /** + * Request successful. + * For binary variables or files without any MIME type information, a byte stream is returned. + * File variables with MIME type information are returned as the saved type. + * Additionally, for file variables the Content-Disposition header will be set. + */ + 200: { + content: { + "application/octet-stream": string; + "text/plain": string; + }; + }; + /** + * Variable with given id exists but is not a binary variable.See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Variable with given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Sets the serialized value for a binary variable or the binary value for a file variable. */ + setBinaryTaskLocalVariable: { + parameters: { + path: { + /** The id of the task to retrieve the variable for. */ + id: string; + /** The name of the variable to retrieve. */ + varName: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * The variable value or type is invalid, for example if no filename is set. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Variable name is `null`, or the Task id is `null` or does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + /** For binary variables a multipart form submit with the following parts: */ + requestBody: { + content: { + "multipart/form-data": components["schemas"]["MultiFormVariableBinaryDto"]; + }; + }; + }; + /** + * Retrieves the rendered form for a task. This method can be used to get the HTML + * rendering of a + * [Generated Task Form](https://docs.camunda.org/manual/latest/user-guide/task-forms/#generated-task-forms). + */ + getRenderedForm: { + parameters: { + path: { + /** The id of the task to get the rendered form for. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/xhtml+xml": string; + }; + }; + /** + * The task with the given id does not exist or has no form field metadata defined for + * this task. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Resolves a task and updates execution variables. + * + * Resolving a task marks that the assignee is done with the task delegated to them, and + * that it can be sent back to the owner. Can only be executed when the task has been + * delegated. The assignee will be set to the owner, who performed the delegation. + */ + resolve: { + parameters: { + path: { + /** The id of the task to resolve. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * The variable value or type is invalid, for example if the value could not be parsed + * to an Integer value or the passed variable type is not supported. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * If the task does not exist or the corresponding process instance could not be + * resumed successfully. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["CompleteTaskDto"]; + }; + }; + }; + /** + * Completes a task and updates process variables using a form submit. There are two + * difference between this method and the `complete` method: + * + * * If the task is in state `PENDING` - i.e., has been delegated before, it is not + * completed but resolved. Otherwise it will be completed. + * * If the task has Form Field Metadata defined, the process engine will perform backend + * validation for any form fields which have validators defined. + * See the + * [Generated Task Forms](https://docs.camunda.org/manual/latest/user-guide/task-forms/_index/#generated-task-forms) + * section of the [User Guide](https://docs.camunda.org/manual/latest/user-guide/) for more information. + */ + submit: { + parameters: { + path: { + /** The id of the task to submit the form for. */ + id: string; + }; + }; + responses: { + /** Request successful. The response contains the process variables. */ + 200: { + content: { + "application/json": { + [key: string]: components["schemas"]["VariableValueDto"]; + }; + }; + }; + /** Request successful. The response contains no variables. */ + 204: never; + /** + * The variable value or type is invalid, for example if the value could not be parsed to an Integer value + * or the passed variable type is not supported. + * + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for + * the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * If the task does not exist or the corresponding process instance could not be resumed successfully. + * + * See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) for + * the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["CompleteTaskDto"]; + }; + }; + }; + /** Resets a task's assignee. If successful, the task is not assigned to a user. */ + unclaim: { + parameters: { + path: { + /** The id of the task to unclaim. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * The Task with the given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Retrieves all variables visible from the task. A variable is visible from the task if it is a local task + * variable or declared in a parent scope of the task. See documentation on + * [visiblity of variables](https://docs.camunda.org/manual/latest/user-guide/process-engine/variables/). + */ + getTaskVariables: { + parameters: { + path: { + /** The id of the task to retrieve the variables from. */ + id: string; + }; + query: { + /** + * Determines whether serializable variable values (typically variables that store custom Java objects) + * should be deserialized on the server side (default `true`). + * If set to `true`, a serializable variable will be deserialized on server side and transformed to JSON + * using [Jackson's](https://github.com/FasterXML/jackson) POJO/bean property introspection feature. + * Note that this requires the Java classes of the variable value to be on the REST API's classpath. + * + * If set to `false`, a serializable variable will be returned in its serialized format. + * For example, a variable that is serialized as XML will be returned as a JSON string containing XML. + * + * Note: While `true` is the default value for reasons of backward compatibility, we recommend setting this + * parameter to `false` when developing web applications that are independent of the Java process + * applications deployed to the engine. + */ + deserializeValues?: boolean; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": { + [key: string]: components["schemas"]["VariableValueDto"]; + }; + }; + }; + /** + * Task id is `null` or does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Updates or deletes the variables visible from the task. Updates precede deletions. So, if a variable is + * updated AND deleted, the deletion overrides the update. A variable is visible from the task if it is a + * local task variable or declared in a parent scope of the task. See documentation on + * [visiblity of variables](https://docs.camunda.org/manual/latest/user-guide/process-engine/variables/). + */ + modifyTaskVariables: { + parameters: { + path: { + /** The id of the task to set variables for. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * The variable value or type is invalid. For example the value could not be parsed to an `Integer` value + * or the passed variable type is not supported. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Update or delete could not be executed because the task is `null` or does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["PatchVariablesDto"]; + }; + }; + }; + /** + * Retrieves a variable from the context of a given task. + * The variable must be visible from the task. It is visible from the task if it is a local task variable or + * declared in a parent scope of the task. See documentation on + * [visiblity of variables](https://docs.camunda.org/manual/latest/user-guide/process-engine/variables/). + */ + getTaskVariable: { + parameters: { + path: { + /** The id of the task to retrieve the variable from. */ + id: string; + /** The name of the variable to get. */ + varName: string; + }; + query: { + /** + * Determines whether serializable variable values (typically variables that store custom Java objects) + * should be deserialized on the server side (default `true`). + * + * If set to `true`, a serializable variable will be deserialized on server side and transformed to JSON + * using [Jackson's](https://github.com/FasterXML/jackson) POJO/bean property introspection feature. + * Note that this requires the Java classes of the variable value to be on the REST API's classpath. + * + * If set to `false`, a serializable variable will be returned in its serialized format. + * For example, a variable that is serialized as XML will be returned as a JSON string containing XML. + * + * Note: While `true` is the default value for reasons of backward compatibility, we recommend setting this + * parameter to `false` when developing web applications that are independent of the Java process + * applications deployed to the engine. + */ + deserializeValue?: boolean; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["VariableValueDto"]; + }; + }; + /** + * Variable with given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Task id is `null` or does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Updates a process variable that is visible from the Task scope. A variable is visible from the task if it + * is a local task variable, or declared in a parent scope of the task. See the documentation on + * [variable scopes and visibility](https://docs.camunda.org/manual/latest/user-guide/process-engine/variables#variable-scopes-and-variable-visibility). + * + * **Note**: If a variable doesn't exist, the variable is created in the top-most scope + * visible from the task. + */ + putTaskVariable: { + parameters: { + path: { + /** The id of the task to set the variable for. */ + id: string; + /** The name of the variable to set. */ + varName: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * The variable name, value or type is invalid, for example if the value could not be parsed to an `Integer` + * value or the passed variable type is not supported or a new transient variable has the name that is + * already persisted. See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * The variable name is `null`, or the Task id is `null` or does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["VariableValueDto"]; + }; + }; + }; + /** + * Removes a variable that is visible to a task. A variable is visible to a task if it is a local task + * variable or declared in a parent scope of the task. See documentation on + * [visiblity of variables](https://docs.camunda.org/manual/latest/user-guide/process-engine/variables/). + */ + deleteTaskVariable: { + parameters: { + path: { + /** The id of the task to delete the variable from. */ + id: string; + /** The name of the variable to be removed. */ + varName: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * Task id is null or does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Retrieves a binary variable from the context of a given task. Applicable for byte array and file + * variables. The variable must be visible from the task. It is visible from the task if it is a local task + * variable or declared in a parent scope of the task. See documentation on + * [visiblity of variables](https://docs.camunda.org/manual/latest/user-guide/process-engine/variables/). + */ + getTaskVariableBinary: { + parameters: { + path: { + /** The id of the task to retrieve the variable for. */ + id: string; + /** The name of the variable to retrieve. */ + varName: string; + }; + }; + responses: { + /** + * Request successful. + * For binary variables or files without any MIME type information, a byte stream is returned. + * File variables with MIME type information are returned as the saved type. + * Additionally, for file variables the Content-Disposition header will be set. + */ + 200: { + content: { + "application/octet-stream": string; + "text/plain": string; + }; + }; + /** + * Variable with given id exists but is not a binary variable.See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Variable with given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Sets the serialized value for a binary variable or the binary value for a file variable visible from the + * task. A variable is visible from the task if it is a local task variable or declared in a parent scope of + * the task. See documentation on + * [visiblity of variables](https://docs.camunda.org/manual/latest/user-guide/process-engine/variables/). + */ + setBinaryTaskVariable: { + parameters: { + path: { + /** The id of the task to retrieve the variable for. */ + id: string; + /** The name of the variable to retrieve. */ + varName: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** + * The variable value or type is invalid, for example if no filename is set. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Variable name is `null`, or the Task id is `null` or does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + /** For binary variables a multipart form submit with the following parts: */ + requestBody: { + content: { + "multipart/form-data": components["schemas"]["MultiFormVariableBinaryDto"]; + }; + }; + }; + /** Fetches Telemetry Configuration. */ + getTelemetryConfiguration: { + parameters: {}; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["TelemetryConfigurationDto"]; + }; + }; + /** If the user who perform the operation is not a camunda-admin user. */ + 401: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Configures whether Camunda receives data collection of the process engine setup and usage. */ + configureTelemetry: { + parameters: {}; + responses: { + /** Request successful. */ + 204: never; + /** If the user who perform the operation is not a camunda-admin user. */ + 401: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["TelemetryConfigurationDto"]; + }; + }; + }; + /** + * Query for a list of tenants using a list of parameters. The size of the result set + * can be retrieved by using the [Get Tenant + * Count](https://docs.camunda.org/manual/latest/reference/rest/tenant/get-query-count/) method. + */ + queryTenants: { + parameters: { + query: { + /** + * Sort the results lexicographically by a given criterion. + * Must be used in conjunction with the sortOrder parameter. + */ + sortBy?: "id" | "name"; + /** + * Sort the results in a given order. Values may be asc for ascending order or desc for descending order. + * Must be used in conjunction with the sortBy parameter. + */ + sortOrder?: "asc" | "desc"; + /** Pagination of results. Specifies the index of the first result to return. */ + firstResult?: number; + /** + * Pagination of results. Specifies the maximum number of results to return. + * Will return less results if there are no more results left. + */ + maxResults?: number; + /** Filter by the id of the tenant. */ + id?: string; + /** Filter by the name of the tenant. */ + name?: string; + /** Filter by the name that the parameter is a substring of. */ + nameLike?: string; + /** Select only tenants where the given user is a member of. */ + userMember?: string; + /** Select only tenants where the given group is a member of. */ + groupMember?: string; + /** + * Select only tenants where the user or one of his groups is a member of. + * Can only be used in combination with the `userMember` parameter. Value may only be `true`, + * as `false` is the default behavior. + */ + includingGroupsOfUser?: boolean; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["TenantDto"][]; + }; + }; + /** + * Returned if some of the query parameters are invalid, for example if a `sortOrder` + * parameter is supplied, but no `sortBy` is specified. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * The `/tenant` resource supports two custom OPTIONS requests, this one for the resource + * as such and one for individual tenant instances. The OPTIONS request + * allows checking for the set of available operations that the currently + * authenticated user can perform on the `/tenant` resource. If the user + * can perform an operation or not may depend on various things, + * including the users authorizations to interact with this resource and + * the internal configuration of the process engine. + */ + availableTenantResourceOperations: { + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["ResourceOptionsDto"]; + }; + }; + }; + }; + /** Query for tenants using a list of parameters and retrieves the count. */ + getTenantCount: { + parameters: { + query: { + /** Filter by the id of the tenant. */ + id?: string; + /** Filter by the name of the tenant. */ + name?: string; + /** Filter by the name that the parameter is a substring of. */ + nameLike?: string; + /** Select only tenants where the given user is a member of. */ + userMember?: string; + /** Select only tenants where the given group is a member of. */ + groupMember?: string; + /** + * Select only tenants where the user or one of his groups is a member of. + * Can only be used in combination with the `userMember` parameter. Value may only be `true`, + * as `false` is the default behavior. + */ + includingGroupsOfUser?: boolean; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["CountResultDto"]; + }; + }; + /** + * Returned if some of the query parameters are invalid. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Create a new tenant. */ + createTenant: { + responses: { + /** Request successful. This method returns no content. */ + 204: never; + /** Identity service is read-only. */ + 403: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * The tenant could not be created due to an internal server error. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["TenantDto"]; + }; + }; + }; + /** Retrieves a tenant. */ + getTenant: { + parameters: { + path: { + /** The id of the tenant to be retrieved. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["TenantDto"]; + }; + }; + /** + * Tenant with given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Updates a given tenant. */ + updateTenant: { + parameters: { + path: { + /** The id of the tenant. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** Identity service is read-only. */ + 403: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** If the tenant with the requested Id cannot be found. */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * The tenant could not be updated due to an internal server error. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["TenantDto"]; + }; + }; + }; + /** Deletes a tenant by id. */ + deleteTenant: { + parameters: { + path: { + /** The id of the tenant to be deleted. */ + id: string; + }; + }; + responses: { + /** Request successful. This method returns no content. */ + 204: never; + /** Identity service is read-only. */ + 403: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Tenant cannot be found. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * The `/tenant` resource supports two custom OPTIONS requests, one for the resource as such and this one for + * individual tenant instances. The OPTIONS request allows checking for the set of available operations that + * the currently authenticated user can perform on the `/tenant/{id}` resource. If the user can perform an + * operation or not may depend on various things, including the users authorizations to interact with this + * resource and the internal configuration of the process engine. + */ + availableTenantInstanceOperations: { + parameters: { + path: { + /** The id of the tenant */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["ResourceOptionsDto"]; + }; + }; + }; + }; + /** + * The OPTIONS request allows checking for the set of available operations that the + * currently authenticated user can perform on the resource. If the user + * can perform an operation or not may depend on various things, + * including the users authorizations to interact with this resource and + * the internal configuration of the process engine. + */ + availableTenantGroupMembersOperations: { + parameters: { + path: { + /** The id of the tenant */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["ResourceOptionsDto"]; + }; + }; + }; + }; + /** Creates a membership between a tenant and a group. */ + createGroupMembership: { + parameters: { + path: { + /** The id of the tenant. */ + id: string; + /** The id of the group. */ + groupId: string; + }; + }; + responses: { + /** Request successful. This method returns no content. */ + 204: never; + /** Identity service is read-only. */ + 403: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * In case an internal error occurs. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Creates a membership between a tenant and a group. */ + deleteGroupMembership: { + parameters: { + path: { + /** The id of the tenant. */ + id: string; + /** The id of the group. */ + groupId: string; + }; + }; + responses: { + /** Request successful. This method returns no content. */ + 204: never; + /** Identity service is read-only. */ + 403: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * In case an internal error occurs. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * The OPTIONS request allows checking for the set of available operations that the + * currently authenticated user can perform on the resource. If the user + * can perform an operation or not may depend on various things, + * including the users authorizations to interact with this resource and + * the internal configuration of the process engine. + */ + availableTenantUserMembersOperations: { + parameters: { + path: { + /** The id of the tenant */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["ResourceOptionsDto"]; + }; + }; + }; + }; + /** Creates a membership between a tenant and an user. */ + createUserMembership: { + parameters: { + path: { + /** The id of the tenant. */ + id: string; + /** The id of the user. */ + userId: string; + }; + }; + responses: { + /** Request successful. This method returns no content. */ + 204: never; + /** Identity service is read-only. */ + 403: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * In case an internal error occurs. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Deletes a membership between a tenant and an user. */ + deleteUserMembership: { + parameters: { + path: { + /** The id of the tenant. */ + id: string; + /** The id of the user. */ + userId: string; + }; + }; + responses: { + /** Request successful. This method returns no content. */ + 204: never; + /** Identity service is read-only. */ + 403: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * In case an error occurs. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Query for a list of users using a list of parameters. + * The size of the result set can be retrieved by using the Get User Count method. + * [Get User Count](https://docs.camunda.org/manual/latest/reference/rest/user/get-query-count/) method. + */ + getUsers: { + parameters: { + query: { + /** Filter by user id */ + id?: string; + /** Filter by a comma-separated list of user ids. */ + idIn?: string; + /** Filter by the first name of the user. Exact match. */ + firstName?: string; + /** Filter by the first name that the parameter is a substring of. */ + firstNameLike?: string; + /** Filter by the last name of the user. Exact match. */ + lastName?: string; + /** Filter by the last name that the parameter is a substring of. */ + lastNameLike?: string; + /** Filter by the email of the user. Exact match. */ + email?: string; + /** Filter by the email that the parameter is a substring of. */ + emailLike?: string; + /** Filter for users which are members of the given group. */ + memberOfGroup?: string; + /** Filter for users which are members of the given tenant. */ + memberOfTenant?: string; + /** Only select Users that are potential starter for the given process definition. */ + potentialStarter?: string; + /** + * Sort the results lexicographically by a given criterion. + * Must be used in conjunction with the sortOrder parameter. + */ + sortBy?: "userId" | "firstName" | "lastName" | "email"; + /** + * Sort the results in a given order. Values may be asc for ascending order or desc for descending order. + * Must be used in conjunction with the sortBy parameter. + */ + sortOrder?: "asc" | "desc"; + /** Pagination of results. Specifies the index of the first result to return. */ + firstResult?: number; + /** + * Pagination of results. Specifies the maximum number of results to return. + * Will return less results if there are no more results left. + */ + maxResults?: number; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["UserProfileDto"][]; + }; + }; + /** + * Returned if some of the query parameters are invalid, for example if a `sortOrder` parameter is supplied, + * but no `sortBy`, or if an invalid operator for variable comparison is used. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * The `/user` resource supports two custom `OPTIONS` requests, one for the resource as such + * and one for individual user instances. The `OPTIONS` request allows checking for the set of + * available operations that the currently authenticated user can perform on the /user resource. + * If the user can perform an operation or not may depend on various things, including the user's + * authorizations to interact with this resource and the internal configuration of the process + * engine. `OPTIONS /user` returns available interactions on the resource. + */ + availableOperations: { + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["ResourceOptionsDto"]; + }; + }; + }; + }; + /** + * Queries for the number of deployments that fulfill given parameters. Takes the same parameters as the + * [Get Users](https://docs.camunda.org/manual/latest/reference/rest/user/get-query/) method. + */ + getUserCount: { + parameters: { + query: { + /** Filter by user id */ + id?: string; + /** Filter by a comma-separated list of user ids. */ + idIn?: string; + /** Filter by the first name of the user. Exact match. */ + firstName?: string; + /** Filter by the first name that the parameter is a substring of. */ + firstNameLike?: string; + /** Filter by the last name of the user. Exact match. */ + lastName?: string; + /** Filter by the last name that the parameter is a substring of. */ + lastNameLike?: string; + /** Filter by the email of the user. Exact match. */ + email?: string; + /** Filter by the email that the parameter is a substring of. */ + emailLike?: string; + /** Filter for users which are members of the given group. */ + memberOfGroup?: string; + /** Filter for users which are members of the given tenant. */ + memberOfTenant?: string; + /** Only select Users that are potential starter for the given process definition. */ + potentialStarter?: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["CountResultDto"]; + }; + }; + /** + * Returned if some of the query parameters are invalid, for example, if an invalid operator for variable + * comparison is used. See the [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Create a new user. */ + createUser: { + responses: { + /** Request successful. */ + 204: never; + }; + requestBody: { + content: { + "application/json": components["schemas"]["UserDto"]; + }; + }; + }; + /** Deletes a user by id. */ + deleteUser: { + parameters: { + path: { + /** The id of the user to be deleted. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** Identity service is read-only (Cannot modify users / groups / memberships). */ + 403: { + content: { + "application/json": { [key: string]: any }; + }; + }; + /** + * A Deployment with the provided id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * The `/user` resource supports two custom `OPTIONS` requests, one for the resource as such + * and one for individual user instances. The `OPTIONS` request allows checking for the set of + * available operations that the currently authenticated user can perform on the /user resource. + * If the user can perform an operation or not may depend on various things, including the user's + * authorizations to interact with this resource and the internal configuration of the process + * engine. `OPTIONS /user/{id}` returns available interactions on a resource instance. + */ + availableUserOperations: { + parameters: { + path: { + /** The id of the user to be deleted. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["ResourceOptionsDto"]; + }; + }; + }; + }; + /** Updates a user's credentials (password) */ + updateCredentials: { + parameters: { + path: { + /** The id of the user to be updated. */ + id: string; + }; + query: { + /** The users new password. */ + password: string; + /** + * The password of the authenticated user who changes the password of the user + * (i.e., the user with passed id as path parameter). + */ + authenticatedUserPassword: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": { [key: string]: any }; + }; + }; + /** The authenticated user password does not match */ + 400: { + content: { + "application/json": { [key: string]: any }; + }; + }; + /** Identity service is read-only (Cannot modify users / groups / memberships). */ + 403: { + content: { + "application/json": { [key: string]: any }; + }; + }; + /** If the corresponding user cannot be found */ + 404: { + content: { + "application/json": { [key: string]: any }; + }; + }; + /** + * The user could not be updated due to an internal server error. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["UserCredentialsDto"]; + }; + }; + }; + /** Retrieves a user's profile. */ + getUserProfile: { + parameters: { + path: { + /** The id of the user to retrieve. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["UserProfileDto"]; + }; + }; + /** + * Execution with given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Updates the profile information of an already existing user. */ + updateProfile: { + parameters: { + path: { + /** The id of the user. */ + id: string; + }; + }; + responses: { + /** Request successful. This method returns no content. */ + 204: never; + /** Identity service is read-only (Cannot modify users / groups / memberships). */ + 403: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** If the user with the requested Id cannot be found. */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * The user could not be updated due to an internal server error. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 500: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["UserProfileDto"]; + }; + }; + }; + /** Unlocks a user by id. */ + unlockUser: { + parameters: { + path: { + /** The id of the user to be unlocked. */ + id: string; + }; + }; + responses: { + /** Request successful. */ + 204: never; + /** The user who performed the operation is not a Camunda admin user. */ + 403: { + content: { + "application/json": { [key: string]: any }; + }; + }; + /** + * User cannot be found. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Query for variable instances that fulfill given parameters. Parameters may be the + * properties of variable instances, such as the name or type. The size + * of the result set can be retrieved by using the [Get Variable Instance + * Count](https://docs.camunda.org/manual/latest/reference/rest/variable-instance/get-query-count/) + * method. + */ + getVariableInstances: { + parameters: { + query: { + /** Filter by variable instance name. */ + variableName?: string; + /** + * Filter by the variable instance name. The parameter can include the wildcard `%` to + * express like-strategy such as: starts with (`%`name), ends with (name`%`) or + * contains (`%`name`%`). + */ + variableNameLike?: string; + /** + * Only include variable instances which belong to one of the passed and comma-separated + * process instance ids. + */ + processInstanceIdIn?: string; + /** + * Only include variable instances which belong to one of the passed and comma-separated + * execution ids. + */ + executionIdIn?: string; + /** Only include variable instances which belong to one of the passed and comma-separated case instance ids. */ + caseInstanceIdIn?: string; + /** Only include variable instances which belong to one of the passed and comma-separated case execution ids. */ + caseExecutionIdIn?: string; + /** + * Only include variable instances which belong to one of the passed and comma-separated task + * ids. + */ + taskIdIn?: string; + /** + * Only include variable instances which belong to one of the passed and comma-separated + * batch ids. + */ + batchIdIn?: string; + /** + * Only include variable instances which belong to one of the passed and comma-separated + * activity instance ids. + */ + activityInstanceIdIn?: string; + /** + * Only include variable instances which belong to one of the passed and comma-separated + * tenant ids. + */ + tenantIdIn?: string; + /** + * Only include variable instances that have the certain values. + * Value filtering expressions are comma-separated and are structured as + * follows: + * + * A valid parameter value has the form `key_operator_value`. + * `key` is the variable name, `operator` is the comparison operator to be used + * and `value` the variable value. + * + * **Note:** Values are always treated as `String` objects on server side. + * + * Valid operator values are: `eq` - equal to; `neq` - not equal to; `gt` - + * greater than; + * `gteq` - greater than or equal to; `lt` - lower than; `lteq` - lower than or + * equal to; + * `like`. + * `key` and `value` may not contain underscore or comma characters. + */ + variableValues?: string; + /** + * Match all variable names provided in `variableValues` case-insensitively. If set to `true` + * **variableName** and **variablename** are treated as equal. + */ + variableNamesIgnoreCase?: boolean; + /** + * Match all variable values provided in `variableValues` case-insensitively. If set to + * `true` **variableValue** and **variablevalue** are treated as equal. + */ + variableValuesIgnoreCase?: boolean; + /** + * Sort the results lexicographically by a given criterion. + * Must be used in conjunction with the sortOrder parameter. + */ + sortBy?: + | "variableName" + | "variableType" + | "activityInstanceId" + | "tenantId"; + /** + * Sort the results in a given order. Values may be asc for ascending order or desc for descending order. + * Must be used in conjunction with the sortBy parameter. + */ + sortOrder?: "asc" | "desc"; + /** Pagination of results. Specifies the index of the first result to return. */ + firstResult?: number; + /** + * Pagination of results. Specifies the maximum number of results to return. + * Will return less results if there are no more results left. + */ + maxResults?: number; + /** + * Determines whether serializable variable values (typically variables that + * store custom Java objects) should be deserialized on server side (default + * `true`). + * + * If set to `true`, a serializable variable will be deserialized on server side + * and transformed to JSON using + * [Jackson's](https://github.com/FasterXML/jackson) POJO/bean property + * introspection feature. Note that this requires the Java classes of the + * variable value to be on the REST API's classpath. + * + * If set to `false`, a serializable variable will be returned in its serialized + * format. For example, a variable that is serialized as XML will be returned as + * a JSON string containing XML. + * + * **Note:** While `true` is the default value for reasons of backward + * compatibility, we recommend setting this parameter to `false` when developing + * web applications that are independent of the Java process applications + * deployed to the engine. + */ + deserializeValues?: boolean; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["VariableInstanceDto"][]; + }; + }; + /** + * Returned if some of the query parameters are invalid, for example if a `sortOrder` + * parameter is supplied, but no `sortBy`, or if an invalid operator + * for variable comparison is used. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Query for variable instances that fulfill given parameters through a JSON object. + * This method is slightly more powerful than the + * [Get Variable Instances](https://docs.camunda.org/manual/latest/reference/rest/variable- + * instance/get-query/) method because it allows filtering by multiple + * variable instances of types `String`, `Number` or `Boolean`. + */ + queryVariableInstances: { + parameters: { + query: { + /** Pagination of results. Specifies the index of the first result to return. */ + firstResult?: number; + /** + * Pagination of results. Specifies the maximum number of results to return. + * Will return less results if there are no more results left. + */ + maxResults?: number; + /** + * Determines whether serializable variable values (typically variables that + * store custom Java objects) should be deserialized on server side (default + * `true`). + * + * If set to `true`, a serializable variable will be deserialized on server side + * and transformed to JSON using + * [Jackson's](https://github.com/FasterXML/jackson) POJO/bean property + * introspection feature. Note that this requires the Java classes of the + * variable value to be on the REST API's classpath. + * + * If set to `false`, a serializable variable will be returned in its serialized + * format. For example, a variable that is serialized as XML will be returned as + * a JSON string containing XML. + * + * **Note:** While `true` is the default value for reasons of backward + * compatibility, we recommend setting this parameter to `false` when developing + * web applications that are independent of the Java process applications + * deployed to the engine. + */ + deserializeValues?: boolean; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["VariableInstanceDto"][]; + }; + }; + /** + * Returned if some of the query parameters are invalid, for example if a `sortOrder` + * parameter is supplied, but no `sortBy`, or if an invalid operator + * for variable comparison is used. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["VariableInstanceQueryDto"]; + }; + }; + }; + /** + * Query for the number of variable instances that fulfill given parameters. Takes the + * same parameters as the [Get Variable + * Instances](https://docs.camunda.org/manual/latest/reference/rest/variable-instance/get-query/) + * method. + */ + getVariableInstancesCount: { + parameters: { + query: { + /** Filter by variable instance name. */ + variableName?: string; + /** + * Filter by the variable instance name. The parameter can include the wildcard `%` to + * express like-strategy such as: starts with (`%`name), ends with (name`%`) or + * contains (`%`name`%`). + */ + variableNameLike?: string; + /** + * Only include variable instances which belong to one of the passed and comma-separated + * process instance ids. + */ + processInstanceIdIn?: string; + /** + * Only include variable instances which belong to one of the passed and comma-separated + * execution ids. + */ + executionIdIn?: string; + /** Only include variable instances which belong to one of the passed and comma-separated case instance ids. */ + caseInstanceIdIn?: string; + /** Only include variable instances which belong to one of the passed and comma-separated case execution ids. */ + caseExecutionIdIn?: string; + /** + * Only include variable instances which belong to one of the passed and comma-separated task + * ids. + */ + taskIdIn?: string; + /** + * Only include variable instances which belong to one of the passed and comma-separated + * batch ids. + */ + batchIdIn?: string; + /** + * Only include variable instances which belong to one of the passed and comma-separated + * activity instance ids. + */ + activityInstanceIdIn?: string; + /** + * Only include variable instances which belong to one of the passed and comma-separated + * tenant ids. + */ + tenantIdIn?: string; + /** + * Only include variable instances that have the certain values. + * Value filtering expressions are comma-separated and are structured as + * follows: + * + * A valid parameter value has the form `key_operator_value`. + * `key` is the variable name, `operator` is the comparison operator to be used + * and `value` the variable value. + * + * **Note:** Values are always treated as `String` objects on server side. + * + * Valid operator values are: `eq` - equal to; `neq` - not equal to; `gt` - + * greater than; + * `gteq` - greater than or equal to; `lt` - lower than; `lteq` - lower than or + * equal to; + * `like`. + * `key` and `value` may not contain underscore or comma characters. + */ + variableValues?: string; + /** + * Match all variable names provided in `variableValues` case-insensitively. If set to `true` + * **variableName** and **variablename** are treated as equal. + */ + variableNamesIgnoreCase?: boolean; + /** + * Match all variable values provided in `variableValues` case-insensitively. If set to + * `true` **variableValue** and **variablevalue** are treated as equal. + */ + variableValuesIgnoreCase?: boolean; + /** + * Sort the results lexicographically by a given criterion. + * Must be used in conjunction with the sortOrder parameter. + */ + sortBy?: + | "variableName" + | "variableType" + | "activityInstanceId" + | "tenantId"; + /** + * Sort the results in a given order. Values may be asc for ascending order or desc for descending order. + * Must be used in conjunction with the sortBy parameter. + */ + sortOrder?: "asc" | "desc"; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["CountResultDto"]; + }; + }; + /** + * Returned if some of the query parameters are invalid, for example if an invalid operator for variable + * comparison is used. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Query for the number of variable instances that fulfill given parameters. This + * method takes the same message body as the + * [Get Variable Instances POST](https://docs.camunda.org/manual/latest/reference/rest/variable- + * instance/post-query/) method and therefore it is slightly more + * powerful than the [Get Variable Instance + * Count](https://docs.camunda.org/manual/latest/reference/rest/variable-instance/get-query-count/) + * method. + */ + queryVariableInstancesCount: { + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["CountResultDto"]; + }; + }; + /** + * Returned if some of the query parameters are invalid, for example if an invalid operator for variable + * comparison is used. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + requestBody: { + content: { + "application/json": components["schemas"]["VariableInstanceQueryDto"]; + }; + }; + }; + /** Retrieves a variable by id. */ + getVariableInstance: { + parameters: { + path: { + /** The id of the variable instance. */ + id: string; + }; + query: { + /** + * Determines whether serializable variable values (typically variables that store custom Java objects) + * should be deserialized on server side (default `true`). + * + * If set to `true`, a serializable variable will be deserialized on server side and transformed to JSON + * using [Jackson's](https://github.com/FasterXML/jackson) POJO/bean property introspection feature. + * Note that this requires the Java classes of the variable value to be on the REST API's classpath. + * + * If set to `false`, a serializable variable will be returned in its serialized format. + * For example, a variable that is serialized as XML will be returned as a JSON string containing XML. + * + * **Note:** While `true` is the default value for reasons of backward compatibility, we recommend setting this + * parameter to `false` when developing web applications that are independent of the Java process + * applications deployed to the engine. + */ + deserializeValue?: boolean; + }; + }; + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["VariableInstanceDto"]; + }; + }; + /** + * Variable with given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** + * Retrieves the content of a variable by id. Applicable for byte array and file + * variables. + */ + getVariableInstanceBinary: { + parameters: { + path: { + /** The id of the variable instance. */ + id: string; + }; + }; + responses: { + /** + * Request successful. For binary variables or files without any MIME type information, a byte stream is returned. + * File variables with MIME type information are returned as the saved type. Additionally, for file + * variables the Content-Disposition header will be set. + */ + 200: { + content: { + "application/octet-stream": string; + "*/*": string; + }; + }; + /** + * Variable with given id exists but does not serialize as binary data. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 400: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + /** + * Variable with given id does not exist. See the + * [Introduction](https://docs.camunda.org/manual/latest/reference/rest/overview/#error-handling) + * for the error response format. + */ + 404: { + content: { + "application/json": components["schemas"]["ExceptionDto"]; + }; + }; + }; + }; + /** Retrieves the version of the Rest API. */ + getRestAPIVersion: { + responses: { + /** Request successful. */ + 200: { + content: { + "application/json": components["schemas"]["VersionDto"]; + }; + }; + }; + }; +} + +export interface external {} diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..75d907b --- /dev/null +++ b/Makefile @@ -0,0 +1,45 @@ +SHELL := /usr/bin/env bash +export PATH := node_modules/.bin:$(PATH) + +.PHONY: all +all: format + +env: poetry.lock + nix-build -E "with import ./nix {}; poetry2nix.mkPoetryEnv { projectDir = ./.; }" -o env + +.PHONY: format +format: + npm run prettier:format + +default.nix: package-lock.json + rm -rf node_modules + nix-shell --run "node2nix --nodejs-14 -l nix/package-lock.json" + +package-lock.json: package.json + npm install --package-lock-only + +nix/node-dev-composition.nix: package-lock.json + rm -rf node_modules + node2nix --development --nodejs-14 -l package-lock.json --output nix/node-dev-packages.nix --node-env nix/node-dev-env.nix --composition nix/node-dev-composition.nix + +nix/node-run-composition.nix: package-lock.json + rm -rf node_modules + node2nix --nodejs-14 -l package-lock.json --output nix/node-run-packages.nix --node-env nix/node-run-env.nix --composition nix/node-run-composition.nix + +.PHONY: shell +shell: + nix-shell default.nix + +.PHONY: watch +watch: + tsc -w + +### + +.PHONY: nix-% +nix-%: + nix-shell $(NIX_OPTIONS) --run "$(MAKE) $*" + +node_modules: package.json + npm ci + touch node_modules diff --git a/README.md b/README.md new file mode 100644 index 0000000..321e6d0 --- /dev/null +++ b/README.md @@ -0,0 +1,27 @@ +```bash +usage: carrot-rcc [...] + [--base-url] [--authorization] + [--worker-id] [--max-tasks] [--poll-interval] [--log-level] + [--rcc-executable] [--rcc-encoding] [--rcc-telemetry] + [-h] [--help] + + could also be passed as a comma separated env RCC_ROBOTS + +options: + + --base-url[=] [env: CAMUNDA_API_BASE_URL] [default: http://localhost:8080/engine-rest] + --authorization[=
] [env: CAMUNDA_API_AUTHORIZATION] [example: Basic ZGVtbzpkZW1v] + + --worker-id[=] [env: CLIENT_WORKER_ID] [default: carrot-rcc] + --max-tasks[=] [env: CLIENT_MAX_TASKS] [default: ${ + os.cpus().length + }] + --poll-interval[=] [env: CLIENT_POLL_INTERVAL] [default: 10000] + --log-level[=] [env: CLIENT_LOG_LEVEL] [default: info] + + --rcc-executable[=] [env: RCC_EXECUTABLE] [default: rcc] + --rcc-encoding[=] [env: RCC_ENCODING] [default: utf-8] + --rcc-telemetry [env: RCC_TELEMETRY] (default: do not track) + + -h, --help +``` diff --git a/camunda/Dockerfile b/camunda/Dockerfile new file mode 100644 index 0000000..9bd78a4 --- /dev/null +++ b/camunda/Dockerfile @@ -0,0 +1,12 @@ +FROM camunda/camunda-bpm-platform:7.15.0 +USER camunda +RUN set -xe && \ + # https://github.com/datakurre/camunda-cockpit-plugins/ OR https://datakurre.pandala.org/2021/01/camunda-cockpit-history-plugin/ installation + wget -P /camunda/webapps/camunda/app/cockpit/scripts/ https://raw.githubusercontent.com/datakurre/camunda-cockpit-plugins/master/definition-historic-activities.js && \ + wget -P /camunda/webapps/camunda/app/cockpit/scripts/ https://raw.githubusercontent.com/datakurre/camunda-cockpit-plugins/master/instance-historic-activities.js && \ + wget -P /camunda/webapps/camunda/app/cockpit/scripts/ https://raw.githubusercontent.com/datakurre/camunda-cockpit-plugins/master/instance-route-history.js && \ + # https://github.com/datakurre/camunda-modeler-robot-plugin OR https://forum.robotframework.org/t/integrating-rf-with-camunda/997 installation + wget -P /camunda/webapps/camunda/app/cockpit/scripts/ https://raw.githubusercontent.com/datakurre/camunda-modeler-robot-plugin/master/dist/module.js +COPY --chown=camunda:camunda cockpit/config.js /camunda/webapps/camunda/app/cockpit/scripts/. +COPY --chown=camunda:camunda deployment /tmp/deployment + diff --git a/camunda/cockpit/config.js b/camunda/cockpit/config.js new file mode 100644 index 0000000..78a3368 --- /dev/null +++ b/camunda/cockpit/config.js @@ -0,0 +1,74 @@ +/* + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +export default { + customScripts: [ + 'scripts/definition-historic-activities.js', + 'scripts/instance-historic-activities.js', + 'scripts/instance-route-history.js' + //'scripts/instance-tab-modify.js' + ], + // locales: { + // availableLocales: ['en', 'de'], + // fallbackLocale: 'en' + // }, + bpmnJs: { + additionalModules: [ + 'scripts/module.js' + // // If you have a folder called 'my-custom-module' (in the 'cockpit' folder) + // // with a file called 'module.js' in it + // // 'my-custom-module/module' + ], + // moddleExtensions: { + // // If you have a folder called 'my-custom-moddle' (in the 'cockpit' folder) + // // with a file called 'camunda.json' in it defining the 'camunda' moddle extension + // // camunda: 'my-custom-moddle/camunda' + // } + }, + // skipCustomListeners: { + // default: true, + // hidden: false + // }, + // skipIoMappings: { + // default: true, + // hidden: false + // }, + // runtimeActivityInstanceMetrics: { + // display: true + // }, + // historicActivityInstanceMetrics: { + // adjustablePeriod: true, + // // Select from the default time period: day, week, month, complete + // period: { + // unit: 'week' + // } + // }, + // batchOperation: { + // // Select mode of query for process instances or decision instances + // // possible values: filter, search + // mode: 'filter', + // // Select if Historic Batches should be loaded automatically when navigating to #/batch + // autoLoadEnded: true + // }, + // defaultFilter: { + // historicProcessDefinitionInstancesSearch: { + // lastDays: 5, + // event: 'started' + // } + // }, + disableWelcomeMessage: false, + // userOperationLogAnnotationLength: 4000 +}; diff --git a/camunda/deployment/camunda-reset.bpmn b/camunda/deployment/camunda-reset.bpmn new file mode 100644 index 0000000..302891a --- /dev/null +++ b/camunda/deployment/camunda-reset.bpmn @@ -0,0 +1,90 @@ + + + + + Flow_0e57r2k + + + + + Flow_0e57r2k + Flow_15rh19q + Flow_0auj3hy + + + + + Flow_1329rr6 + Flow_0xjviwl + Flow_1wc9j4m + + + Flow_1wc9j4m + + + + + Flow_15rh19q + Flow_1329rr6 + + + Flow_0auj3hy + Flow_0xjviwl + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/camunda/deployment/review.html b/camunda/deployment/review.html new file mode 100644 index 0000000..8e0c457 --- /dev/null +++ b/camunda/deployment/review.html @@ -0,0 +1,27 @@ +
+ +

+ +

+ {{ camForm.variableManager.variable('description').value }} +

+ +

+
+ +

+ + + + + +
diff --git a/camunda/deployment/xkcd-fetch-review.bpmn b/camunda/deployment/xkcd-fetch-review.bpmn new file mode 100644 index 0000000..b2aafdd --- /dev/null +++ b/camunda/deployment/xkcd-fetch-review.bpmn @@ -0,0 +1,176 @@ + + + + + + + + + + Flow_12x9een + + + Flow_0n7yvtn + Flow_0gt19ec + Flow_1hs8p8m + + + ${description} + Flow_06mlb8o + Flow_0n7yvtn + + + + + + ${execution.getVariableTyped("alt")} + ${execution.getVariableTyped("title")} + ${execution.getVariableTyped("comic.png")} + + + Flow_1jl2vsi + Flow_06mlb8o + + + + + Flow_0gt19ec + + + + Flow_0z47gg9 + + + Flow_0n92i0a + + + + Flow_0n92i0a + + + + + + ${callerId} + ${url} + + + Flow_0z47gg9 + Flow_1jl2vsi + + + + + Flow_1hs8p8m + Flow_12x9een + + + + + ${accepted == true} + + + Result to the super process is send as a message to collect parallel instantance output. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/camunda/deployment/xkcd-search.bpmn b/camunda/deployment/xkcd-search.bpmn new file mode 100644 index 0000000..665b88e --- /dev/null +++ b/camunda/deployment/xkcd-search.bpmn @@ -0,0 +1,256 @@ + + + + + + + + + + + + + + Flow_1ns3j1t + + + + + Flow_1hs8p8m + + + Flow_0d4lgiv + Flow_1hs8p8m + Flow_0nmd3l6 + + + ${execution.hasVariable("accepted") ? execution.getVariable("accepted") > 0 : false} + + + Flow_1ns3j1t + Flow_1hjllec + Flow_18mj359 + + + + + No results found. + + + + + + + + + + + + + + + Flow_18u19wj + Flow_171pgri + + + Flow_047wgvk + + + + Flow_171pgri + Flow_047wgvk + Flow_1hjllec + + + + ${retry == true} + + + + + ${execution.getVariableTyped("results")} + + + Flow_18mj359 + Flow_1g4wnik + + + Flow_1i36hj7 + + + + + + + + + + Flow_1g4wnik + Flow_0d4lgiv + + + + + Flow_0wz4bix + + + + + Flow_0foonv9 + Flow_0wz4bix + + + Flow_0foonv9 + + + + + Flow_1i36hj7 + Flow_0nmd3l6 + Flow_18u19wj + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/carrot_rcc.py b/carrot_rcc.py new file mode 100644 index 0000000..5efd5ec --- /dev/null +++ b/carrot_rcc.py @@ -0,0 +1,18 @@ +import os +import subprocess +import sys + +NODE_JS_EXECUTABLE = os.environ.get("NODE_JS_EXECUTABLE") or "node" +CAMUNDA_ROBOT_BRIDGE_BUNDLE = os.environ.get( + "CAMUNDA_ROBOT_BRIDGE_BUNDLE" +) or os.path.join(os.path.dirname(__file__), "index.js") + + +def main(): + print("Hello World!") +# args = sys.argv[1:] +# subprocess.run([NODE_JS_EXECUTABLE] + list(args) + [CAMUNDA_ROBOT_BRIDGE_BUNDLE]) + + +if __name__ == "__main__": + main() diff --git a/carrot_rcc.ts b/carrot_rcc.ts new file mode 100644 index 0000000..e374319 --- /dev/null +++ b/carrot_rcc.ts @@ -0,0 +1,686 @@ +#!/usr/bin/env node + +import { spawn, spawnSync } from "child_process"; +import fs from "fs"; +import os from "os"; +import path from "path"; + +import Zip from "adm-zip"; +import { + Client, + Interceptor, + Task, + TypedValue, + logger, +} from "camunda-external-task-client-js"; +import dotenv from "dotenv"; +import { fdir as FD, PathsOutput } from "fdir"; +import mime from "mime-types"; +import neodoc from "neodoc"; +import * as rest from "typed-rest-client"; +import { IRequestOptions } from "typed-rest-client"; +import YAML from "yaml"; + +import * as api from "./Camunda"; + +const crypto = require("crypto"); + +type PatchVariablesDto = api.components["schemas"]["PatchVariablesDto"]; + +dotenv.config(); + +const args = neodoc.run(` +usage: carrot-rcc [...] + [--base-url] [--authorization] + [--worker-id] [--max-tasks] [--poll-interval] [--log-level] + [--rcc-executable] [--rcc-encoding] [--rcc-telemetry] + [-h] [--help] + + could also be passed as a comma separated env RCC_ROBOTS + +options: + + --base-url[=] [env: CAMUNDA_API_BASE_URL] [default: http://localhost:8080/engine-rest] + --authorization[=
] [env: CAMUNDA_API_AUTHORIZATION] [example: Basic ZGVtbzpkZW1v] + + --worker-id[=] [env: CLIENT_WORKER_ID] [default: carrot-rcc] + --max-tasks[=] [env: CLIENT_MAX_TASKS] [default: ${ + os.cpus().length + }] + --poll-interval[=] [env: CLIENT_POLL_INTERVAL] [default: 10000] + --log-level[=] [env: CLIENT_LOG_LEVEL] [default: info] + + --rcc-executable[=] [env: RCC_EXECUTABLE] [default: rcc] + --rcc-encoding[=] [env: RCC_ENCODING] [default: utf-8] + --rcc-telemetry [env: RCC_TELEMETRY] (default: do not track) + + -h, --help +`); + +const RCC_ROBOTS = (args[""] || []).concat( + process.env.RCC_ROBOTS ? process.env.RCC_ROBOTS.split(",") : [] +); + +const CAMUNDA_API_BASE_URL = args["--base-url"]; +const CAMUNDA_API_AUTHORIZATION = args["--authorization"]; + +const CLIENT_LOG_LEVEL = args["--log-level"].toLowerCase(); +const CLIENT_MAX_TASKS = args["--max-tasks"]; +const CLIENT_POLL_INTERVAL = args["--poll-interval"]; +const CLIENT_WORKER_ID = args["--worker-id"]; + +const RCC_EXECUTABLE = args["--rcc-executable"]; +const RCC_ENCODING = args["--rcc-encoding"]; +const RCC_TELEMETRY = !!args["--rcc-telemetry"]; + +// Disable telemetry by default +if (!RCC_TELEMETRY) { + spawnSync(RCC_EXECUTABLE, ["configuration", "identity", "-t"], { + env: { + HOME: process.env.HOME, // for RCC cache at $HOME/.robocloud + PATH: process.env.PATH, + }, + }); +} + +// Dummy logger +const LOG = { + error: (...args: any[]) => { + if (["error", "warn", "info", "debug"].includes(CLIENT_LOG_LEVEL)) { + console.error(...args); + } + }, + warn: (...args: any[]) => { + if (["warn", "info", "debug"].includes(CLIENT_LOG_LEVEL)) { + console.warn(...args); + } + }, + info: (...args: any[]) => { + if (["info", "debug"].includes(CLIENT_LOG_LEVEL)) { + console.log(...args); + } + }, + debug: (...args: any[]) => { + if (["debug"].includes(CLIENT_LOG_LEVEL)) { + console.log(...args); + } + }, +}; + +const toAbsolute = (p: string): string => + fs.existsSync(p) && !path.isAbsolute(p) ? path.join(process.cwd(), p) : p; + +const CAMUNDA_TOPICS: Record = {}; + +for (const candidate of RCC_ROBOTS) { + const robot = toAbsolute(candidate); + if (robot && fs.existsSync(robot)) { + const zip = new Zip(robot); + const entries = zip.getEntries(); + entries.forEach((entry) => { + if (entry.entryName == "robot.yaml") { + const data = entry.getData().toString(RCC_ENCODING as BufferEncoding); + const yaml = YAML.parse(data); + for (const task of Object.keys(yaml.tasks || {})) { + CAMUNDA_TOPICS[task] = robot; + } + } + }); + } +} +if (Object.keys(CAMUNDA_TOPICS).length < 1) { + LOG.error("RCC_ROBOTS invalid of missing:", RCC_ROBOTS); + process.exit(1); +} + +const AuthorizationHeaderInterceptor: Interceptor = (config: any): any => { + return CAMUNDA_API_AUTHORIZATION + ? { + ...config, + headers: { + ...config.headers, + Authorization: CAMUNDA_API_AUTHORIZATION, + }, + } + : config; +}; + +const client = new Client({ + baseUrl: CAMUNDA_API_BASE_URL, + workerId: CLIENT_WORKER_ID, + maxTasks: CLIENT_MAX_TASKS, + maxParallelExecutions: CLIENT_MAX_TASKS, + interval: CLIENT_POLL_INTERVAL, + lockDuration: CLIENT_POLL_INTERVAL, + autoPoll: true, + interceptors: [AuthorizationHeaderInterceptor], + asyncResponseTimeout: CLIENT_POLL_INTERVAL, + use: (logger as any).level(CLIENT_LOG_LEVEL), +}); + +LOG.debug((client as any).options); +LOG.debug(CAMUNDA_TOPICS); + +const isEqual = async ( + old: TypedValue | undefined, + current: any +): Promise => { + if (old === undefined) { + return false; + } + switch (old.type) { + case "File": + return false; + default: + return old.value === current; + } +}; + +const inferType = async ( + old: TypedValue | undefined, + current: any +): Promise => { + if (old?.type) { + return old.type[0].toUpperCase() + old.type.substr(1); + } else if (typeof current === "boolean") { + return "Boolean"; + } else if (typeof current === "string") { + if (current.match(/^\d{4}-\d{2}-\d{2}T?[0-9:.Z]*$/)) { + return "Date"; + } else { + return "String"; + } + } else if (typeof current.getMonth === "function") { + return "Date"; + } else if (typeof current === "number") { + if (!`${current}`.match(/\./)) { + return "Integer"; + } else { + return "Double"; + } + } + return "Json"; +}; + +const TZ: string = ((): string => { + const date = new Date(); + const offset = date.getTimezoneOffset(); + const base = Math.floor(offset / 60) * -100 + (offset % 60); + if (offset == 0) { + return "+0000"; + } else if (base >= 1000) { + return `+${base}`; + } else if (base >= 100) { + return `+0${base}`; + } else if (base >= 10) { + return `+00${base}`; + } else if (base >= 1) { + return `+000${base}`; + } else if (base <= -1000) { + return `-${base}`; + } else if (base <= -100) { + return `-0${base}`; + } else if (base <= -10) { + return `-00${base}`; + } else if (base <= -1) { + return `-000${base}`; + } else { + return "+0000"; + } +})(); + +interface File { + name: string; + hex: string; +} + +const load = async ( + task: Task, + tasksDir: string, + itemsDir: string, + topic: string +): Promise> => { + const files: Record = {}; + // Fetch and prepare robot + await new Promise((resolve, reject) => { + const stdout: string[] = []; + const stderr: string[] = []; + const exec = spawn( + RCC_EXECUTABLE, + ["robot", "unwrap", "-d", tasksDir, "-z", CAMUNDA_TOPICS[topic]], + { + env: { + HOME: process.env.HOME, // for RCC cache at $HOME/.robocloud + PATH: process.env.PATH, + }, + } + ); + exec.stdout.on("data", (data) => stdout.push(data.toString())); + exec.stderr.on("data", (data) => stderr.push(data.toString())); + exec.on("close", (code) => + code === 0 + ? resolve(stdout.join("") + stderr.join("")) + : reject(stdout.join("") + stderr.join("")) + ); + }); + // Fetch and prepare items + await new Promise(async (resolve) => { + const variables = task.variables.getAll(); + const typed = task.variables.getAllTyped(); + // TODO: This could be optimized to make parallel file variable fetch + for (const name of Object.keys(typed)) { + if (typed[name].type === "file") { + delete variables[name]; + typed[ + name + ].value.remotePath = `/execution/${task.executionId}/localVariables/${name}/data`; + const file = await typed[name].value.load(); + const filename = path.join(itemsDir, file.filename); + await new Promise((resolve) => { + fs.writeFile(filename, file.content, resolve); + }); + const hashSum = crypto.createHash("sha256"); + hashSum.update(file.content); + files[filename] = { + name, + hex: hashSum.digest("hex"), + }; + } + } + const items = { + 1: { + 1: { + variables, + }, + }, + }; + fs.writeFile( + path.join(itemsDir, "items.json"), + JSON.stringify(items), + resolve + ); + }); + return files; +}; + +const failReason = async (tasksDir: string): Promise => { + let reason = "fail"; + const taskFiles = new FD().withFullPaths().crawl(tasksDir).sync(); + for (const file of taskFiles as PathsOutput) { + if (path.basename(file) === "output.xml") { + const xml = fs.readFileSync(file).toString("utf-8"); + for (const match of xml.matchAll(/status="FAIL"[^>]*.([^<]*)/g)) { + reason = match[1].trim() || reason; + } + } + } + return reason; +}; + +const inlineScreenshots = async ( + log: string, + dirname: string +): Promise => { + for (const match of log.matchAll(/img src=\\"([^"]+)/g)) { + const src = match[1].replace(/\\$/, ""); + let file: string; + if (src.startsWith("data:")) { + continue; + } else if (path.isAbsolute(src)) { + if (fs.existsSync(src)) { + file = src; + } else { + continue; + } + } else if (fs.existsSync(path.join(dirname, src))) { + file = path.join(dirname, src); + } else { + continue; + } + const type = mime.lookup(file) || "application/octet-stream"; + const data = ( + await new Promise((resolve) => + fs.readFile(file, (err, data) => resolve(data)) + ) + ).toString("base64"); + const uri = `data:${type};base64,${data}`; + log = log + .replace(new RegExp(`a href=\\\\"${src}\\\\"`, "g"), "a") + .replace( + new RegExp(`img src=\\\\"${src}\\\\" width=\\\\"800px\\\\"`, "g"), + `img src=\\"${uri}\\" style=\\"max-width:800px\\"` + ) + .replace( + new RegExp(`img src=\\\\"${src}\\\\"`, "g"), + `img src=\\"${uri}\\"` + ); + } + return log; +}; + +const save = async ( + task: Task, + tasksDir: string, + itemsDir: string, + files: Record, + stdout: string, + stderr: string, + code: number +): Promise => { + const client = new rest.RestClient( + "carrot-executor", + CAMUNDA_API_BASE_URL, + [] + ); + + const options: IRequestOptions = { + additionalHeaders: CAMUNDA_API_AUTHORIZATION + ? { + Authorization: CAMUNDA_API_AUTHORIZATION, + } + : {}, + }; + + const old = task.variables.getAllTyped(); + const current = JSON.parse( + fs.readFileSync(path.join(itemsDir, "items.json")) as unknown as string + )[1][1].variables; + const patch: PatchVariablesDto = { + modifications: {}, + }; + + if (patch.modifications) { + for (const name of Object.keys(current)) { + if (await isEqual(old[name], current[name])) { + continue; + } + switch (await inferType(old[name], current[name])) { + case "Boolean": + patch.modifications[name] = { + value: !!current[name], + type: "Boolean", + }; + break; + case "Date": + patch.modifications[name] = { + value: (typeof current[name].getMonth === "function" + ? current[name].toISOString() + : `${current[name].substring(0, 10)}T${current[name].substring( + 11 + )}${TZ}` + ).replace(/Z$/, "+0000"), + type: "Date", + }; + break; + case "Double": + patch.modifications[name] = { + value: current[name], + type: "Double", + }; + break; + case "File": + break; + case "Integer": + patch.modifications[name] = { + value: current[name], + type: "Integer", + }; + break; + case "Json": + patch.modifications[name] = { + value: JSON.stringify(current[name]) || "null", + type: "Json", + }; + break; + case "String": + patch.modifications[name] = { + value: `${current[name]}` || null, + type: "String", + }; + break; + default: + patch.modifications[name] = { + value: current[name], + type: old?.[name]?.type || "String", + valueInfo: old?.[name]?.valueInfo || {}, + }; + } + } + + const itemsFiles = new FD().withFullPaths().crawl(itemsDir).sync(); + for (const file of itemsFiles as PathsOutput) { + if (path.basename(file) !== "items.json") { + const fileBuffer = fs.readFileSync(file); + + // Skip unmodified files + if (files[file]) { + const hashSum = crypto.createHash("sha256"); + hashSum.update(fileBuffer); + if (files[file].hex === hashSum.digest("hex")) { + continue; + } + } + + // Set to new and changed file variables + const type = mime.lookup(file) || "application/octet-stream"; + patch.modifications[ + files[file] ? files[file].name : path.basename(file) + ] = { + value: fileBuffer.toString("base64"), + type: "File", + valueInfo: { + filename: path.basename(file), + mimetype: type, + mimeType: type, + encoding: "utf-8", + }, + }; + } + } + + const taskFiles = new FD().withFullPaths().crawl(tasksDir).sync(); + for (const file of taskFiles as PathsOutput) { + if (path.basename(file) === "log.html") { + const dirname = path.dirname(file); + const log = fs.readFileSync(file).toString("utf-8"); + patch.modifications["log"] = { + value: Buffer.from(await inlineScreenshots(log, dirname)).toString( + "base64" + ), + type: "File", + valueInfo: { + filename: "log.html", + mimetype: "text/html", + mimeType: "text/html", + encoding: "utf-8", + }, + }; + break; + } + } + if ((code > 0 && stdout) || old["stdout"]) { + patch.modifications["stdout"] = { + value: Buffer.from(stdout, "utf-8").toString("base64"), + type: "File", + valueInfo: { + filename: "stdout.txt", + mimetype: "text/plain", + mimeType: "text/plain", + encoding: "utf-8", + }, + }; + } + if ((code > 0 && stderr) || old["stderr"]) { + patch.modifications["stderr"] = { + value: Buffer.from(stderr, "utf-8").toString("base64"), + type: "File", + valueInfo: { + filename: "stderr.txt", + mimetype: "text/plain", + mimeType: "text/plain", + encoding: "utf-8", + }, + }; + } + + if (Object.keys(patch.modifications).length > 0) { + await client.create( + `execution/${task.executionId}/localVariables`, + patch, + options + ); + } + } +}; + +const extendLockError: Map = new Map(); +client.on("extendLock:error", ({ id }, e) => { + if (id) { + extendLockError.set(id, `${e}`); + } +}); + +const handleFailureError: Map = new Map(); +client.on("handleFailure:error", ({ id }, e) => { + if (id) { + handleFailureError.set(id, `${e}`); + } +}); + +const completeError: Map = new Map(); +// @ts-ignore // outdated @types +client.on("complete:error", ({ id }, e) => { + if (id) { + completeError.set(id, `${e}`); + } +}); + +for (const topic of Object.keys(CAMUNDA_TOPICS)) { + client.subscribe(topic, async ({ task, taskService }) => { + LOG.debug("Received task", task.topicName, task.id); + + // Resolve lock expiration + const lockExpiration = + new Date(task.lockExpirationTime as string).getTime() - + new Date().getTime(); + + // Extend lock expiration + const extendLock = async () => { + await taskService.extendLock(task, lockExpiration); + + // On error, stop extending lock expiration + if (task.id && !extendLockError.has(task.id)) { + extendLockTimeout = setTimeout(extendLock, lockExpiration / 2); + } else if (task.id) { + extendLockError.delete(task.id); + } + }; + + // Schedule initial lock expiration + let extendLockTimeout = setTimeout(extendLock, lockExpiration / 2); + + // Execute with temporary working directory + const tasksDir = await fs.mkdtempSync(path.join(os.tmpdir(), "rcc-tasks-")); + const itemsDir = await fs.mkdtempSync(path.join(os.tmpdir(), "rcc-items-")); + try { + // Prepare robot + const files = await load(task, tasksDir, itemsDir, topic); + + // Execute robot + await new Promise((resolve, reject) => { + const stdout: string[] = []; + const stderr: string[] = []; + const exec = spawn(RCC_EXECUTABLE, ["run", "--task", topic], { + cwd: tasksDir, + env: { + RPA_WORKITEMS_ADAPTER: "RPA.Robocloud.Items.FileAdapter", + RPA_WORKITEMS_PATH: `${itemsDir}/items.json`, + RC_WORKSPACE_ID: "1", + RC_WORKITEM_ID: "1", + HOME: process.env.HOME, // for RCC cache at $HOME/.robocloud + PATH: process.env.PATH, + }, + }); + exec.stdout.on("data", (data) => { + stdout.push(data.toString()); + LOG.debug(data.toString()); + }); + exec.stderr.on("data", (data) => { + stderr.push(data.toString()); + LOG.debug(data.toString()); + }); + exec.on("close", async (code) => { + LOG.debug("close"); + let errorMessage = "error"; + if (code !== null && code > 0 && code < 251) { + errorMessage = await failReason(tasksDir); + } + try { + await save( + task, + tasksDir, + itemsDir, + files, + stdout.join(""), + stderr.join(""), + code || 0 + ); + } catch (e) { + LOG.error(`${e}`); + stderr.push(`${e}`); + code = 255; // Unexpected error + } + if (code === 0) { + try { + await taskService.complete(task); + } catch (e) { + LOG.error(`${e}`); + stderr.push(`${e}`); + code = 255; // Unexpected error + } + if (task.id && completeError.has(task.id)) { + stderr.push(`${completeError.get(task.id)}`); + completeError.delete(task.id); + code = 255; // Unexpected error + } + } + return code === 0 + ? resolve(task) + : reject({ + error: { + message: errorMessage, + }, + stack: + errorMessage === "error" + ? stdout.join("") + stderr.join("") + : stdout + .join("") + .replace(/[a-zA-Z0-9\-.]+==[a-zA-Z0-9\-.]+\n/g, ""), + }); + }); + }); + } catch (e: any) { + LOG.debug(e); + await taskService.handleFailure(task, { + errorMessage: `${e?.error?.message ?? e}`, + errorDetails: e.stack || JSON.stringify(e), + }); + // TODO: Maybe do something special on handleFailureError + if (task.id && handleFailureError.has(task.id)) { + handleFailureError.delete(task.id); + } + } finally { + // Cleanup + fs.rmdirSync(tasksDir, { recursive: true }); + fs.rmdirSync(itemsDir, { recursive: true }); + + // Stop extending expiration timeout + clearTimeout(extendLockTimeout); + if (task.id && extendLockError.has(task.id)) { + extendLockError.delete(task.id); + } + + LOG.debug("Completed task", task.topicName, task.id); + } + }); +} diff --git a/default.nix b/default.nix new file mode 100644 index 0000000..5014244 --- /dev/null +++ b/default.nix @@ -0,0 +1,65 @@ +{ pkgs ? import ./nix { nixpkgs = sources."nixpkgs-21.05"; } +, sources ? import ./nix/sources.nix +}: + +let + + dev_node_modules = (import ./nix/node-dev-composition.nix { inherit pkgs; }).package.override { + src = builtins.filterSource (path: type: + (baseNameOf path) == "package.json" || + (baseNameOf path) == "package-lock.json" ) ./.; + preRebuild = '' + ''; + postInstall = '' + mv $out/lib/node_modules/*/node_modules /tmp/_; rm -rf $out; mv /tmp/_ $out + ''; + }; + + run_node_modules = (import ./nix/node-run-composition.nix { inherit pkgs; }).package.override { + src = builtins.filterSource (path: type: + (baseNameOf path) == "package.json" || + (baseNameOf path) == "package-lock.json" ) ./.; + preRebuild = '' + ''; + postInstall = '' + mv $out/lib/node_modules/*/node_modules /tmp/_; rm -rf $out; mv /tmp/_ $out + ''; + }; + +in + +pkgs.stdenv.mkDerivation rec { + name = "external-task-client"; + src = pkgs.gitignoreSource ./.; + buildPhase = '' + source $stdenv/setup; + cp -a ${dev_node_modules} node_modules + node_modules/.bin/tsc + ''; + installPhase = '' + source $stdenv/setup; + mkdir -p $out/bin $out/var/lib/carrot-executor + cp -a dist/* $out/var/lib/carrot-executor + cat > $out/bin/carrot-executor << EOF + #!/usr/bin/env sh + cd $out/var/lib/carrot-executor && node . + EOF + chmod u+x $out/bin/carrot-executor + ''; + postFixup = '' + wrapProgram $out/bin/carrot-executor \ + --prefix PATH : ${pkgs.lib.makeBinPath propagatedBuildInputs} \ + --suffix NODE_ENV : production \ + --suffix NODE_PATH : ${run_node_modules} + ''; + buildInputs = with pkgs; [ makeWrapper bindfs ]; + propagatedBuildInputs = with pkgs; [ + coreutils findutils gnused nodejs-14_x dev_node_modules + ]; + shellHook = '' + fusermount -qu node_modules + mkdir -p node_modules + bindfs ${dev_node_modules} node_modules -o nonempty + export PATH=$(pwd)/node_modules/.bin:$PATH + ''; +} diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..16a0581 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,12 @@ +version: '3' + +services: + camunda: + build: ./camunda + ports: + - "8080:8080" + restart: unless-stopped + deployment: + build: ./camunda + command: "/usr/bin/curl -X POST http://camunda:8080/engine-rest/deployment/create -F \"deployment-name=Demo\" -F \"deploy-changed-only=true\" -F \"deployment-source=Demo\" -F \"a=@/tmp/deployment/xkcd-fetch-review.bpmn\" -F \"b=@/tmp/deployment/xkcd-search.bpmn\" -F \"c=@/tmp/deployment/review.html\" -F \"d=@/tmp/deployment/camunda-reset.bpmn\"" + restart: on-failure diff --git a/nix/default.nix b/nix/default.nix new file mode 100644 index 0000000..5157b2d --- /dev/null +++ b/nix/default.nix @@ -0,0 +1,48 @@ +# https://github.com/nmattia/niv +{ sources ? import ./sources.nix +, nixpkgs ? sources."nixpkgs-21.05" +}: + +let + + overlay = _: pkgs: { + + gitignoreSource = (import sources.gitignore { + inherit (pkgs) lib; + }).gitignoreSource; + + poetry2nix = + import (sources.poetry2nix + "/default.nix") { + pkgs = import sources."nixpkgs-21.05" {}; + poetry = (import sources."nixpkgs-21.05" {}).poetry; + }; + + rcc = pkgs.buildGoPackage rec { + name = "rcc-${version}"; + version = "v9.16.0"; + goPackagePath = "github.com/robocorp/rcc"; + src = sources.rcc; + nativeBuildInputs = with pkgs; [ go-bindata rake zip ]; + goDeps = ./rcc.nix; + postPatch = '' + source $stdenv/setup + substituteInPlace Rakefile --replace "\$HOME/go/bin/" "" + rake assets + ''; + }; + + # node2nix with nodejs 14 support + node2nix = builtins.getAttr builtins.currentSystem( + import (sources.node2nix + "/release.nix") { + nixpkgs = sources."nixpkgs-20.09"; + systems = [ builtins.currentSystem ]; + }).package; + + }; + + pkgs = import nixpkgs { + overlays = [ overlay ]; + config = {}; + }; + +in pkgs diff --git a/nix/node-dev-composition.nix b/nix/node-dev-composition.nix new file mode 100644 index 0000000..f2f89c0 --- /dev/null +++ b/nix/node-dev-composition.nix @@ -0,0 +1,17 @@ +# This file has been generated by node2nix 1.9.0. Do not edit! + +{pkgs ? import { + inherit system; + }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}: + +let + nodeEnv = import ./node-dev-env.nix { + inherit (pkgs) stdenv lib python2 runCommand writeTextFile; + inherit pkgs nodejs; + libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null; + }; +in +import ./node-dev-packages.nix { + inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit; + inherit nodeEnv; +} diff --git a/nix/node-dev-env.nix b/nix/node-dev-env.nix new file mode 100644 index 0000000..2460a41 --- /dev/null +++ b/nix/node-dev-env.nix @@ -0,0 +1,573 @@ +# This file originates from node2nix + +{lib, stdenv, nodejs, python2, pkgs, libtool, runCommand, writeTextFile}: + +let + # Workaround to cope with utillinux in Nixpkgs 20.09 and util-linux in Nixpkgs master + utillinux = if pkgs ? utillinux then pkgs.utillinux else pkgs.util-linux; + + python = if nodejs ? python then nodejs.python else python2; + + # Create a tar wrapper that filters all the 'Ignoring unknown extended header keyword' noise + tarWrapper = runCommand "tarWrapper" {} '' + mkdir -p $out/bin + + cat > $out/bin/tar <> $out/nix-support/hydra-build-products + ''; + }; + + includeDependencies = {dependencies}: + lib.optionalString (dependencies != []) + (lib.concatMapStrings (dependency: + '' + # Bundle the dependencies of the package + mkdir -p node_modules + cd node_modules + + # Only include dependencies if they don't exist. They may also be bundled in the package. + if [ ! -e "${dependency.name}" ] + then + ${composePackage dependency} + fi + + cd .. + '' + ) dependencies); + + # Recursively composes the dependencies of a package + composePackage = { name, packageName, src, dependencies ? [], ... }@args: + builtins.addErrorContext "while evaluating node package '${packageName}'" '' + DIR=$(pwd) + cd $TMPDIR + + unpackFile ${src} + + # Make the base dir in which the target dependency resides first + mkdir -p "$(dirname "$DIR/${packageName}")" + + if [ -f "${src}" ] + then + # Figure out what directory has been unpacked + packageDir="$(find . -maxdepth 1 -type d | tail -1)" + + # Restore write permissions to make building work + find "$packageDir" -type d -exec chmod u+x {} \; + chmod -R u+w "$packageDir" + + # Move the extracted tarball into the output folder + mv "$packageDir" "$DIR/${packageName}" + elif [ -d "${src}" ] + then + # Get a stripped name (without hash) of the source directory. + # On old nixpkgs it's already set internally. + if [ -z "$strippedName" ] + then + strippedName="$(stripHash ${src})" + fi + + # Restore write permissions to make building work + chmod -R u+w "$strippedName" + + # Move the extracted directory into the output folder + mv "$strippedName" "$DIR/${packageName}" + fi + + # Unset the stripped name to not confuse the next unpack step + unset strippedName + + # Include the dependencies of the package + cd "$DIR/${packageName}" + ${includeDependencies { inherit dependencies; }} + cd .. + ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."} + ''; + + pinpointDependencies = {dependencies, production}: + let + pinpointDependenciesFromPackageJSON = writeTextFile { + name = "pinpointDependencies.js"; + text = '' + var fs = require('fs'); + var path = require('path'); + + function resolveDependencyVersion(location, name) { + if(location == process.env['NIX_STORE']) { + return null; + } else { + var dependencyPackageJSON = path.join(location, "node_modules", name, "package.json"); + + if(fs.existsSync(dependencyPackageJSON)) { + var dependencyPackageObj = JSON.parse(fs.readFileSync(dependencyPackageJSON)); + + if(dependencyPackageObj.name == name) { + return dependencyPackageObj.version; + } + } else { + return resolveDependencyVersion(path.resolve(location, ".."), name); + } + } + } + + function replaceDependencies(dependencies) { + if(typeof dependencies == "object" && dependencies !== null) { + for(var dependency in dependencies) { + var resolvedVersion = resolveDependencyVersion(process.cwd(), dependency); + + if(resolvedVersion === null) { + process.stderr.write("WARNING: cannot pinpoint dependency: "+dependency+", context: "+process.cwd()+"\n"); + } else { + dependencies[dependency] = resolvedVersion; + } + } + } + } + + /* Read the package.json configuration */ + var packageObj = JSON.parse(fs.readFileSync('./package.json')); + + /* Pinpoint all dependencies */ + replaceDependencies(packageObj.dependencies); + if(process.argv[2] == "development") { + replaceDependencies(packageObj.devDependencies); + } + replaceDependencies(packageObj.optionalDependencies); + + /* Write the fixed package.json file */ + fs.writeFileSync("package.json", JSON.stringify(packageObj, null, 2)); + ''; + }; + in + '' + node ${pinpointDependenciesFromPackageJSON} ${if production then "production" else "development"} + + ${lib.optionalString (dependencies != []) + '' + if [ -d node_modules ] + then + cd node_modules + ${lib.concatMapStrings (dependency: pinpointDependenciesOfPackage dependency) dependencies} + cd .. + fi + ''} + ''; + + # Recursively traverses all dependencies of a package and pinpoints all + # dependencies in the package.json file to the versions that are actually + # being used. + + pinpointDependenciesOfPackage = { packageName, dependencies ? [], production ? true, ... }@args: + '' + if [ -d "${packageName}" ] + then + cd "${packageName}" + ${pinpointDependencies { inherit dependencies production; }} + cd .. + ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."} + fi + ''; + + # Extract the Node.js source code which is used to compile packages with + # native bindings + nodeSources = runCommand "node-sources" {} '' + tar --no-same-owner --no-same-permissions -xf ${nodejs.src} + mv node-* $out + ''; + + # Script that adds _integrity fields to all package.json files to prevent NPM from consulting the cache (that is empty) + addIntegrityFieldsScript = writeTextFile { + name = "addintegrityfields.js"; + text = '' + var fs = require('fs'); + var path = require('path'); + + function augmentDependencies(baseDir, dependencies) { + for(var dependencyName in dependencies) { + var dependency = dependencies[dependencyName]; + + // Open package.json and augment metadata fields + var packageJSONDir = path.join(baseDir, "node_modules", dependencyName); + var packageJSONPath = path.join(packageJSONDir, "package.json"); + + if(fs.existsSync(packageJSONPath)) { // Only augment packages that exist. Sometimes we may have production installs in which development dependencies can be ignored + console.log("Adding metadata fields to: "+packageJSONPath); + var packageObj = JSON.parse(fs.readFileSync(packageJSONPath)); + + if(dependency.integrity) { + packageObj["_integrity"] = dependency.integrity; + } else { + packageObj["_integrity"] = "sha1-000000000000000000000000000="; // When no _integrity string has been provided (e.g. by Git dependencies), add a dummy one. It does not seem to harm and it bypasses downloads. + } + + if(dependency.resolved) { + packageObj["_resolved"] = dependency.resolved; // Adopt the resolved property if one has been provided + } else { + packageObj["_resolved"] = dependency.version; // Set the resolved version to the version identifier. This prevents NPM from cloning Git repositories. + } + + if(dependency.from !== undefined) { // Adopt from property if one has been provided + packageObj["_from"] = dependency.from; + } + + fs.writeFileSync(packageJSONPath, JSON.stringify(packageObj, null, 2)); + } + + // Augment transitive dependencies + if(dependency.dependencies !== undefined) { + augmentDependencies(packageJSONDir, dependency.dependencies); + } + } + } + + if(fs.existsSync("./package-lock.json")) { + var packageLock = JSON.parse(fs.readFileSync("./package-lock.json")); + + if(![1, 2].includes(packageLock.lockfileVersion)) { + process.stderr.write("Sorry, I only understand lock file versions 1 and 2!\n"); + process.exit(1); + } + + if(packageLock.dependencies !== undefined) { + augmentDependencies(".", packageLock.dependencies); + } + } + ''; + }; + + # Reconstructs a package-lock file from the node_modules/ folder structure and package.json files with dummy sha1 hashes + reconstructPackageLock = writeTextFile { + name = "addintegrityfields.js"; + text = '' + var fs = require('fs'); + var path = require('path'); + + var packageObj = JSON.parse(fs.readFileSync("package.json")); + + var lockObj = { + name: packageObj.name, + version: packageObj.version, + lockfileVersion: 1, + requires: true, + dependencies: {} + }; + + function augmentPackageJSON(filePath, dependencies) { + var packageJSON = path.join(filePath, "package.json"); + if(fs.existsSync(packageJSON)) { + var packageObj = JSON.parse(fs.readFileSync(packageJSON)); + dependencies[packageObj.name] = { + version: packageObj.version, + integrity: "sha1-000000000000000000000000000=", + dependencies: {} + }; + processDependencies(path.join(filePath, "node_modules"), dependencies[packageObj.name].dependencies); + } + } + + function processDependencies(dir, dependencies) { + if(fs.existsSync(dir)) { + var files = fs.readdirSync(dir); + + files.forEach(function(entry) { + var filePath = path.join(dir, entry); + var stats = fs.statSync(filePath); + + if(stats.isDirectory()) { + if(entry.substr(0, 1) == "@") { + // When we encounter a namespace folder, augment all packages belonging to the scope + var pkgFiles = fs.readdirSync(filePath); + + pkgFiles.forEach(function(entry) { + if(stats.isDirectory()) { + var pkgFilePath = path.join(filePath, entry); + augmentPackageJSON(pkgFilePath, dependencies); + } + }); + } else { + augmentPackageJSON(filePath, dependencies); + } + } + }); + } + } + + processDependencies("node_modules", lockObj.dependencies); + + fs.writeFileSync("package-lock.json", JSON.stringify(lockObj, null, 2)); + ''; + }; + + prepareAndInvokeNPM = {packageName, bypassCache, reconstructLock, npmFlags, production}: + let + forceOfflineFlag = if bypassCache then "--offline" else "--registry http://www.example.com"; + in + '' + # Pinpoint the versions of all dependencies to the ones that are actually being used + echo "pinpointing versions of dependencies..." + source $pinpointDependenciesScriptPath + + # Patch the shebangs of the bundled modules to prevent them from + # calling executables outside the Nix store as much as possible + patchShebangs . + + # Deploy the Node.js package by running npm install. Since the + # dependencies have been provided already by ourselves, it should not + # attempt to install them again, which is good, because we want to make + # it Nix's responsibility. If it needs to install any dependencies + # anyway (e.g. because the dependency parameters are + # incomplete/incorrect), it fails. + # + # The other responsibilities of NPM are kept -- version checks, build + # steps, postprocessing etc. + + export HOME=$TMPDIR + cd "${packageName}" + runHook preRebuild + + ${lib.optionalString bypassCache '' + ${lib.optionalString reconstructLock '' + if [ -f package-lock.json ] + then + echo "WARNING: Reconstruct lock option enabled, but a lock file already exists!" + echo "This will most likely result in version mismatches! We will remove the lock file and regenerate it!" + rm package-lock.json + else + echo "No package-lock.json file found, reconstructing..." + fi + + node ${reconstructPackageLock} + ''} + + node ${addIntegrityFieldsScript} + ''} + + npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${lib.optionalString production "--production"} rebuild + + if [ "''${dontNpmInstall-}" != "1" ] + then + # NPM tries to download packages even when they already exist if npm-shrinkwrap is used. + rm -f npm-shrinkwrap.json + + npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${lib.optionalString production "--production"} install + fi + ''; + + # Builds and composes an NPM package including all its dependencies + buildNodePackage = + { name + , packageName + , version + , dependencies ? [] + , buildInputs ? [] + , production ? true + , npmFlags ? "" + , dontNpmInstall ? false + , bypassCache ? false + , reconstructLock ? false + , preRebuild ? "" + , dontStrip ? true + , unpackPhase ? "true" + , buildPhase ? "true" + , meta ? {} + , ... }@args: + + let + extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "preRebuild" "unpackPhase" "buildPhase" "meta" ]; + in + stdenv.mkDerivation ({ + name = "node_${name}-${version}"; + buildInputs = [ tarWrapper python nodejs ] + ++ lib.optional (stdenv.isLinux) utillinux + ++ lib.optional (stdenv.isDarwin) libtool + ++ buildInputs; + + inherit nodejs; + + inherit dontStrip; # Stripping may fail a build for some package deployments + inherit dontNpmInstall preRebuild unpackPhase buildPhase; + + compositionScript = composePackage args; + pinpointDependenciesScript = pinpointDependenciesOfPackage args; + + passAsFile = [ "compositionScript" "pinpointDependenciesScript" ]; + + installPhase = '' + # Create and enter a root node_modules/ folder + mkdir -p $out/lib/node_modules + cd $out/lib/node_modules + + # Compose the package and all its dependencies + source $compositionScriptPath + + ${prepareAndInvokeNPM { inherit packageName bypassCache reconstructLock npmFlags production; }} + + # Create symlink to the deployed executable folder, if applicable + if [ -d "$out/lib/node_modules/.bin" ] + then + ln -s $out/lib/node_modules/.bin $out/bin + fi + + # Create symlinks to the deployed manual page folders, if applicable + if [ -d "$out/lib/node_modules/${packageName}/man" ] + then + mkdir -p $out/share + for dir in "$out/lib/node_modules/${packageName}/man/"* + do + mkdir -p $out/share/man/$(basename "$dir") + for page in "$dir"/* + do + ln -s $page $out/share/man/$(basename "$dir") + done + done + fi + + # Run post install hook, if provided + runHook postInstall + ''; + + meta = { + # default to Node.js' platforms + platforms = nodejs.meta.platforms; + } // meta; + } // extraArgs); + + # Builds a node environment (a node_modules folder and a set of binaries) + buildNodeDependencies = + { name + , packageName + , version + , src + , dependencies ? [] + , buildInputs ? [] + , production ? true + , npmFlags ? "" + , dontNpmInstall ? false + , bypassCache ? false + , reconstructLock ? false + , dontStrip ? true + , unpackPhase ? "true" + , buildPhase ? "true" + , ... }@args: + + let + extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" ]; + in + stdenv.mkDerivation ({ + name = "node-dependencies-${name}-${version}"; + + buildInputs = [ tarWrapper python nodejs ] + ++ lib.optional (stdenv.isLinux) utillinux + ++ lib.optional (stdenv.isDarwin) libtool + ++ buildInputs; + + inherit dontStrip; # Stripping may fail a build for some package deployments + inherit dontNpmInstall unpackPhase buildPhase; + + includeScript = includeDependencies { inherit dependencies; }; + pinpointDependenciesScript = pinpointDependenciesOfPackage args; + + passAsFile = [ "includeScript" "pinpointDependenciesScript" ]; + + installPhase = '' + mkdir -p $out/${packageName} + cd $out/${packageName} + + source $includeScriptPath + + # Create fake package.json to make the npm commands work properly + cp ${src}/package.json . + chmod 644 package.json + ${lib.optionalString bypassCache '' + if [ -f ${src}/package-lock.json ] + then + cp ${src}/package-lock.json . + fi + ''} + + # Go to the parent folder to make sure that all packages are pinpointed + cd .. + ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."} + + ${prepareAndInvokeNPM { inherit packageName bypassCache reconstructLock npmFlags production; }} + + # Expose the executables that were installed + cd .. + ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."} + + mv ${packageName} lib + ln -s $out/lib/node_modules/.bin $out/bin + ''; + } // extraArgs); + + # Builds a development shell + buildNodeShell = + { name + , packageName + , version + , src + , dependencies ? [] + , buildInputs ? [] + , production ? true + , npmFlags ? "" + , dontNpmInstall ? false + , bypassCache ? false + , reconstructLock ? false + , dontStrip ? true + , unpackPhase ? "true" + , buildPhase ? "true" + , ... }@args: + + let + nodeDependencies = buildNodeDependencies args; + in + stdenv.mkDerivation { + name = "node-shell-${name}-${version}"; + + buildInputs = [ python nodejs ] ++ lib.optional (stdenv.isLinux) utillinux ++ buildInputs; + buildCommand = '' + mkdir -p $out/bin + cat > $out/bin/shell < { + inherit system; + }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}: + +let + nodeEnv = import ./node-run-env.nix { + inherit (pkgs) stdenv lib python2 runCommand writeTextFile; + inherit pkgs nodejs; + libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null; + }; +in +import ./node-run-packages.nix { + inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit; + inherit nodeEnv; +} diff --git a/nix/node-run-env.nix b/nix/node-run-env.nix new file mode 100644 index 0000000..2460a41 --- /dev/null +++ b/nix/node-run-env.nix @@ -0,0 +1,573 @@ +# This file originates from node2nix + +{lib, stdenv, nodejs, python2, pkgs, libtool, runCommand, writeTextFile}: + +let + # Workaround to cope with utillinux in Nixpkgs 20.09 and util-linux in Nixpkgs master + utillinux = if pkgs ? utillinux then pkgs.utillinux else pkgs.util-linux; + + python = if nodejs ? python then nodejs.python else python2; + + # Create a tar wrapper that filters all the 'Ignoring unknown extended header keyword' noise + tarWrapper = runCommand "tarWrapper" {} '' + mkdir -p $out/bin + + cat > $out/bin/tar <> $out/nix-support/hydra-build-products + ''; + }; + + includeDependencies = {dependencies}: + lib.optionalString (dependencies != []) + (lib.concatMapStrings (dependency: + '' + # Bundle the dependencies of the package + mkdir -p node_modules + cd node_modules + + # Only include dependencies if they don't exist. They may also be bundled in the package. + if [ ! -e "${dependency.name}" ] + then + ${composePackage dependency} + fi + + cd .. + '' + ) dependencies); + + # Recursively composes the dependencies of a package + composePackage = { name, packageName, src, dependencies ? [], ... }@args: + builtins.addErrorContext "while evaluating node package '${packageName}'" '' + DIR=$(pwd) + cd $TMPDIR + + unpackFile ${src} + + # Make the base dir in which the target dependency resides first + mkdir -p "$(dirname "$DIR/${packageName}")" + + if [ -f "${src}" ] + then + # Figure out what directory has been unpacked + packageDir="$(find . -maxdepth 1 -type d | tail -1)" + + # Restore write permissions to make building work + find "$packageDir" -type d -exec chmod u+x {} \; + chmod -R u+w "$packageDir" + + # Move the extracted tarball into the output folder + mv "$packageDir" "$DIR/${packageName}" + elif [ -d "${src}" ] + then + # Get a stripped name (without hash) of the source directory. + # On old nixpkgs it's already set internally. + if [ -z "$strippedName" ] + then + strippedName="$(stripHash ${src})" + fi + + # Restore write permissions to make building work + chmod -R u+w "$strippedName" + + # Move the extracted directory into the output folder + mv "$strippedName" "$DIR/${packageName}" + fi + + # Unset the stripped name to not confuse the next unpack step + unset strippedName + + # Include the dependencies of the package + cd "$DIR/${packageName}" + ${includeDependencies { inherit dependencies; }} + cd .. + ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."} + ''; + + pinpointDependencies = {dependencies, production}: + let + pinpointDependenciesFromPackageJSON = writeTextFile { + name = "pinpointDependencies.js"; + text = '' + var fs = require('fs'); + var path = require('path'); + + function resolveDependencyVersion(location, name) { + if(location == process.env['NIX_STORE']) { + return null; + } else { + var dependencyPackageJSON = path.join(location, "node_modules", name, "package.json"); + + if(fs.existsSync(dependencyPackageJSON)) { + var dependencyPackageObj = JSON.parse(fs.readFileSync(dependencyPackageJSON)); + + if(dependencyPackageObj.name == name) { + return dependencyPackageObj.version; + } + } else { + return resolveDependencyVersion(path.resolve(location, ".."), name); + } + } + } + + function replaceDependencies(dependencies) { + if(typeof dependencies == "object" && dependencies !== null) { + for(var dependency in dependencies) { + var resolvedVersion = resolveDependencyVersion(process.cwd(), dependency); + + if(resolvedVersion === null) { + process.stderr.write("WARNING: cannot pinpoint dependency: "+dependency+", context: "+process.cwd()+"\n"); + } else { + dependencies[dependency] = resolvedVersion; + } + } + } + } + + /* Read the package.json configuration */ + var packageObj = JSON.parse(fs.readFileSync('./package.json')); + + /* Pinpoint all dependencies */ + replaceDependencies(packageObj.dependencies); + if(process.argv[2] == "development") { + replaceDependencies(packageObj.devDependencies); + } + replaceDependencies(packageObj.optionalDependencies); + + /* Write the fixed package.json file */ + fs.writeFileSync("package.json", JSON.stringify(packageObj, null, 2)); + ''; + }; + in + '' + node ${pinpointDependenciesFromPackageJSON} ${if production then "production" else "development"} + + ${lib.optionalString (dependencies != []) + '' + if [ -d node_modules ] + then + cd node_modules + ${lib.concatMapStrings (dependency: pinpointDependenciesOfPackage dependency) dependencies} + cd .. + fi + ''} + ''; + + # Recursively traverses all dependencies of a package and pinpoints all + # dependencies in the package.json file to the versions that are actually + # being used. + + pinpointDependenciesOfPackage = { packageName, dependencies ? [], production ? true, ... }@args: + '' + if [ -d "${packageName}" ] + then + cd "${packageName}" + ${pinpointDependencies { inherit dependencies production; }} + cd .. + ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."} + fi + ''; + + # Extract the Node.js source code which is used to compile packages with + # native bindings + nodeSources = runCommand "node-sources" {} '' + tar --no-same-owner --no-same-permissions -xf ${nodejs.src} + mv node-* $out + ''; + + # Script that adds _integrity fields to all package.json files to prevent NPM from consulting the cache (that is empty) + addIntegrityFieldsScript = writeTextFile { + name = "addintegrityfields.js"; + text = '' + var fs = require('fs'); + var path = require('path'); + + function augmentDependencies(baseDir, dependencies) { + for(var dependencyName in dependencies) { + var dependency = dependencies[dependencyName]; + + // Open package.json and augment metadata fields + var packageJSONDir = path.join(baseDir, "node_modules", dependencyName); + var packageJSONPath = path.join(packageJSONDir, "package.json"); + + if(fs.existsSync(packageJSONPath)) { // Only augment packages that exist. Sometimes we may have production installs in which development dependencies can be ignored + console.log("Adding metadata fields to: "+packageJSONPath); + var packageObj = JSON.parse(fs.readFileSync(packageJSONPath)); + + if(dependency.integrity) { + packageObj["_integrity"] = dependency.integrity; + } else { + packageObj["_integrity"] = "sha1-000000000000000000000000000="; // When no _integrity string has been provided (e.g. by Git dependencies), add a dummy one. It does not seem to harm and it bypasses downloads. + } + + if(dependency.resolved) { + packageObj["_resolved"] = dependency.resolved; // Adopt the resolved property if one has been provided + } else { + packageObj["_resolved"] = dependency.version; // Set the resolved version to the version identifier. This prevents NPM from cloning Git repositories. + } + + if(dependency.from !== undefined) { // Adopt from property if one has been provided + packageObj["_from"] = dependency.from; + } + + fs.writeFileSync(packageJSONPath, JSON.stringify(packageObj, null, 2)); + } + + // Augment transitive dependencies + if(dependency.dependencies !== undefined) { + augmentDependencies(packageJSONDir, dependency.dependencies); + } + } + } + + if(fs.existsSync("./package-lock.json")) { + var packageLock = JSON.parse(fs.readFileSync("./package-lock.json")); + + if(![1, 2].includes(packageLock.lockfileVersion)) { + process.stderr.write("Sorry, I only understand lock file versions 1 and 2!\n"); + process.exit(1); + } + + if(packageLock.dependencies !== undefined) { + augmentDependencies(".", packageLock.dependencies); + } + } + ''; + }; + + # Reconstructs a package-lock file from the node_modules/ folder structure and package.json files with dummy sha1 hashes + reconstructPackageLock = writeTextFile { + name = "addintegrityfields.js"; + text = '' + var fs = require('fs'); + var path = require('path'); + + var packageObj = JSON.parse(fs.readFileSync("package.json")); + + var lockObj = { + name: packageObj.name, + version: packageObj.version, + lockfileVersion: 1, + requires: true, + dependencies: {} + }; + + function augmentPackageJSON(filePath, dependencies) { + var packageJSON = path.join(filePath, "package.json"); + if(fs.existsSync(packageJSON)) { + var packageObj = JSON.parse(fs.readFileSync(packageJSON)); + dependencies[packageObj.name] = { + version: packageObj.version, + integrity: "sha1-000000000000000000000000000=", + dependencies: {} + }; + processDependencies(path.join(filePath, "node_modules"), dependencies[packageObj.name].dependencies); + } + } + + function processDependencies(dir, dependencies) { + if(fs.existsSync(dir)) { + var files = fs.readdirSync(dir); + + files.forEach(function(entry) { + var filePath = path.join(dir, entry); + var stats = fs.statSync(filePath); + + if(stats.isDirectory()) { + if(entry.substr(0, 1) == "@") { + // When we encounter a namespace folder, augment all packages belonging to the scope + var pkgFiles = fs.readdirSync(filePath); + + pkgFiles.forEach(function(entry) { + if(stats.isDirectory()) { + var pkgFilePath = path.join(filePath, entry); + augmentPackageJSON(pkgFilePath, dependencies); + } + }); + } else { + augmentPackageJSON(filePath, dependencies); + } + } + }); + } + } + + processDependencies("node_modules", lockObj.dependencies); + + fs.writeFileSync("package-lock.json", JSON.stringify(lockObj, null, 2)); + ''; + }; + + prepareAndInvokeNPM = {packageName, bypassCache, reconstructLock, npmFlags, production}: + let + forceOfflineFlag = if bypassCache then "--offline" else "--registry http://www.example.com"; + in + '' + # Pinpoint the versions of all dependencies to the ones that are actually being used + echo "pinpointing versions of dependencies..." + source $pinpointDependenciesScriptPath + + # Patch the shebangs of the bundled modules to prevent them from + # calling executables outside the Nix store as much as possible + patchShebangs . + + # Deploy the Node.js package by running npm install. Since the + # dependencies have been provided already by ourselves, it should not + # attempt to install them again, which is good, because we want to make + # it Nix's responsibility. If it needs to install any dependencies + # anyway (e.g. because the dependency parameters are + # incomplete/incorrect), it fails. + # + # The other responsibilities of NPM are kept -- version checks, build + # steps, postprocessing etc. + + export HOME=$TMPDIR + cd "${packageName}" + runHook preRebuild + + ${lib.optionalString bypassCache '' + ${lib.optionalString reconstructLock '' + if [ -f package-lock.json ] + then + echo "WARNING: Reconstruct lock option enabled, but a lock file already exists!" + echo "This will most likely result in version mismatches! We will remove the lock file and regenerate it!" + rm package-lock.json + else + echo "No package-lock.json file found, reconstructing..." + fi + + node ${reconstructPackageLock} + ''} + + node ${addIntegrityFieldsScript} + ''} + + npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${lib.optionalString production "--production"} rebuild + + if [ "''${dontNpmInstall-}" != "1" ] + then + # NPM tries to download packages even when they already exist if npm-shrinkwrap is used. + rm -f npm-shrinkwrap.json + + npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${lib.optionalString production "--production"} install + fi + ''; + + # Builds and composes an NPM package including all its dependencies + buildNodePackage = + { name + , packageName + , version + , dependencies ? [] + , buildInputs ? [] + , production ? true + , npmFlags ? "" + , dontNpmInstall ? false + , bypassCache ? false + , reconstructLock ? false + , preRebuild ? "" + , dontStrip ? true + , unpackPhase ? "true" + , buildPhase ? "true" + , meta ? {} + , ... }@args: + + let + extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "preRebuild" "unpackPhase" "buildPhase" "meta" ]; + in + stdenv.mkDerivation ({ + name = "node_${name}-${version}"; + buildInputs = [ tarWrapper python nodejs ] + ++ lib.optional (stdenv.isLinux) utillinux + ++ lib.optional (stdenv.isDarwin) libtool + ++ buildInputs; + + inherit nodejs; + + inherit dontStrip; # Stripping may fail a build for some package deployments + inherit dontNpmInstall preRebuild unpackPhase buildPhase; + + compositionScript = composePackage args; + pinpointDependenciesScript = pinpointDependenciesOfPackage args; + + passAsFile = [ "compositionScript" "pinpointDependenciesScript" ]; + + installPhase = '' + # Create and enter a root node_modules/ folder + mkdir -p $out/lib/node_modules + cd $out/lib/node_modules + + # Compose the package and all its dependencies + source $compositionScriptPath + + ${prepareAndInvokeNPM { inherit packageName bypassCache reconstructLock npmFlags production; }} + + # Create symlink to the deployed executable folder, if applicable + if [ -d "$out/lib/node_modules/.bin" ] + then + ln -s $out/lib/node_modules/.bin $out/bin + fi + + # Create symlinks to the deployed manual page folders, if applicable + if [ -d "$out/lib/node_modules/${packageName}/man" ] + then + mkdir -p $out/share + for dir in "$out/lib/node_modules/${packageName}/man/"* + do + mkdir -p $out/share/man/$(basename "$dir") + for page in "$dir"/* + do + ln -s $page $out/share/man/$(basename "$dir") + done + done + fi + + # Run post install hook, if provided + runHook postInstall + ''; + + meta = { + # default to Node.js' platforms + platforms = nodejs.meta.platforms; + } // meta; + } // extraArgs); + + # Builds a node environment (a node_modules folder and a set of binaries) + buildNodeDependencies = + { name + , packageName + , version + , src + , dependencies ? [] + , buildInputs ? [] + , production ? true + , npmFlags ? "" + , dontNpmInstall ? false + , bypassCache ? false + , reconstructLock ? false + , dontStrip ? true + , unpackPhase ? "true" + , buildPhase ? "true" + , ... }@args: + + let + extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" ]; + in + stdenv.mkDerivation ({ + name = "node-dependencies-${name}-${version}"; + + buildInputs = [ tarWrapper python nodejs ] + ++ lib.optional (stdenv.isLinux) utillinux + ++ lib.optional (stdenv.isDarwin) libtool + ++ buildInputs; + + inherit dontStrip; # Stripping may fail a build for some package deployments + inherit dontNpmInstall unpackPhase buildPhase; + + includeScript = includeDependencies { inherit dependencies; }; + pinpointDependenciesScript = pinpointDependenciesOfPackage args; + + passAsFile = [ "includeScript" "pinpointDependenciesScript" ]; + + installPhase = '' + mkdir -p $out/${packageName} + cd $out/${packageName} + + source $includeScriptPath + + # Create fake package.json to make the npm commands work properly + cp ${src}/package.json . + chmod 644 package.json + ${lib.optionalString bypassCache '' + if [ -f ${src}/package-lock.json ] + then + cp ${src}/package-lock.json . + fi + ''} + + # Go to the parent folder to make sure that all packages are pinpointed + cd .. + ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."} + + ${prepareAndInvokeNPM { inherit packageName bypassCache reconstructLock npmFlags production; }} + + # Expose the executables that were installed + cd .. + ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."} + + mv ${packageName} lib + ln -s $out/lib/node_modules/.bin $out/bin + ''; + } // extraArgs); + + # Builds a development shell + buildNodeShell = + { name + , packageName + , version + , src + , dependencies ? [] + , buildInputs ? [] + , production ? true + , npmFlags ? "" + , dontNpmInstall ? false + , bypassCache ? false + , reconstructLock ? false + , dontStrip ? true + , unpackPhase ? "true" + , buildPhase ? "true" + , ... }@args: + + let + nodeDependencies = buildNodeDependencies args; + in + stdenv.mkDerivation { + name = "node-shell-${name}-${version}"; + + buildInputs = [ python nodejs ] ++ lib.optional (stdenv.isLinux) utillinux ++ buildInputs; + buildCommand = '' + mkdir -p $out/bin + cat > $out/bin/shell <//archive/.tar.gz" + }, + "niv": { + "branch": "master", + "description": "Easy dependency management for Nix projects", + "homepage": "https://github.com/nmattia/niv", + "owner": "nmattia", + "repo": "niv", + "rev": "e0ca65c81a2d7a4d82a189f1e23a48d59ad42070", + "sha256": "1pq9nh1d8nn3xvbdny8fafzw87mj7gsmp6pxkdl65w2g18rmcmzx", + "type": "tarball", + "url": "https://github.com/nmattia/niv/archive/e0ca65c81a2d7a4d82a189f1e23a48d59ad42070.tar.gz", + "url_template": "https://github.com///archive/.tar.gz" + }, + "nixpkgs-20.09": { + "branch": "nixos-20.09", + "description": "Nix Packages collection", + "homepage": "", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "068984c00e0d4e54b6684d98f6ac47c92dcb642e", + "sha256": "00j4xv4lhhqwry7jd67brnws4pwb8vn660n43pvxpkalbpxszwfg", + "type": "tarball", + "url": "https://github.com/nixos/nixpkgs/archive/068984c00e0d4e54b6684d98f6ac47c92dcb642e.tar.gz", + "url_template": "https://github.com///archive/.tar.gz" + }, + "nixpkgs-21.05": { + "branch": "release-21.05", + "description": "Nix Packages collection", + "homepage": "", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1672da0dfdb2e3146f36ffa923aa05d8a5606134", + "sha256": "1h103ka8xm82zhdzmrpmhy3fb7chgqr8j76rdmbhqgi365zz9gw7", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/1672da0dfdb2e3146f36ffa923aa05d8a5606134.tar.gz", + "url_template": "https://github.com///archive/.tar.gz" + }, + "nixpkgs-unstable": { + "branch": "master", + "description": "Nix Packages collection", + "homepage": "", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "f47e3311b31cf394d8835574ae928ba1230920d0", + "sha256": "0qclvvhyz3x3g0d44h2fdzaqsagbv1m66bl90in57s07g126ychs", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/f47e3311b31cf394d8835574ae928ba1230920d0.tar.gz", + "url_template": "https://github.com///archive/.tar.gz" + }, + "node2nix": { + "branch": "master", + "description": "Generate Nix expressions to build NPM packages", + "homepage": "", + "owner": "svanderburg", + "repo": "node2nix", + "rev": "0c94281ea98f1b17532176106f90f909aa133704", + "sha256": "1r677r7sqjp5hg7rs7wall6nipka3pnrglnjdaj098v1xhswzjbx", + "type": "tarball", + "url": "https://github.com/svanderburg/node2nix/archive/0c94281ea98f1b17532176106f90f909aa133704.tar.gz", + "url_template": "https://github.com///archive/.tar.gz" + }, + "poetry2nix": { + "branch": "master", + "description": "Convert poetry projects to nix automagically [maintainer=@adisbladis] ", + "homepage": "", + "owner": "nix-community", + "repo": "poetry2nix", + "rev": "e40e8ed0e8c11e709e4c8c7c20174facd265a021", + "sha256": "152cj4w2jdlrj2k4x1vnspa4vbjqa0jrdr7xhmjjlv7ywdl60kfq", + "type": "tarball", + "url": "https://github.com/nix-community/poetry2nix/archive/e40e8ed0e8c11e709e4c8c7c20174facd265a021.tar.gz", + "url_template": "https://github.com///archive/.tar.gz" + }, + "rcc": { + "branch": "v9.16.0", + "description": "RCC is a set of tooling that allows you to create, manage, and distribute Python-based self-contained automation packages - or 'robots' as we call them.", + "homepage": "https://robocorp.com/docs/product-manuals/robocorp-cli", + "owner": "robocorp", + "repo": "rcc", + "rev": "94546d47817347865ffeabbaf1f82bffae2b4f89", + "sha256": "1cygw4s9abqknbrggqy8n8rjkjhcanhc0k1qmm29pnw1b8mrx5ps", + "type": "tarball", + "url": "https://github.com/robocorp/rcc/archive/94546d47817347865ffeabbaf1f82bffae2b4f89.tar.gz", + "url_template": "https://github.com///archive/.tar.gz" + } +} diff --git a/nix/sources.nix b/nix/sources.nix new file mode 100644 index 0000000..b64b8f8 --- /dev/null +++ b/nix/sources.nix @@ -0,0 +1,148 @@ +# This file has been generated by Niv. + +let + + # + # The fetchers. fetch_ fetches specs of type . + # + + fetch_file = pkgs: spec: + if spec.builtin or true then + builtins_fetchurl { inherit (spec) url sha256; } + else + pkgs.fetchurl { inherit (spec) url sha256; }; + + fetch_tarball = pkgs: name: spec: + let + ok = str: ! builtins.isNull (builtins.match "[a-zA-Z0-9+-._?=]" str); + # sanitize the name, though nix will still fail if name starts with period + name' = stringAsChars (x: if ! ok x then "-" else x) "${name}-src"; + in + if spec.builtin or true then + builtins_fetchTarball { name = name'; inherit (spec) url sha256; } + else + pkgs.fetchzip { name = name'; inherit (spec) url sha256; }; + + fetch_git = spec: + builtins.fetchGit { url = spec.repo; inherit (spec) rev ref; }; + + fetch_local = spec: spec.path; + + fetch_builtin-tarball = name: throw + ''[${name}] The niv type "builtin-tarball" is deprecated. You should instead use `builtin = true`. + $ niv modify ${name} -a type=tarball -a builtin=true''; + + fetch_builtin-url = name: throw + ''[${name}] The niv type "builtin-url" will soon be deprecated. You should instead use `builtin = true`. + $ niv modify ${name} -a type=file -a builtin=true''; + + # + # Various helpers + # + + # The set of packages used when specs are fetched using non-builtins. + mkPkgs = sources: + let + sourcesNixpkgs = + import (builtins_fetchTarball { inherit (sources.nixpkgs) url sha256; }) {}; + hasNixpkgsPath = builtins.any (x: x.prefix == "nixpkgs") builtins.nixPath; + hasThisAsNixpkgsPath = == ./.; + in + if builtins.hasAttr "nixpkgs" sources + then sourcesNixpkgs + else if hasNixpkgsPath && ! hasThisAsNixpkgsPath then + import {} + else + abort + '' + Please specify either (through -I or NIX_PATH=nixpkgs=...) or + add a package called "nixpkgs" to your sources.json. + ''; + + # The actual fetching function. + fetch = pkgs: name: spec: + + if ! builtins.hasAttr "type" spec then + abort "ERROR: niv spec ${name} does not have a 'type' attribute" + else if spec.type == "file" then fetch_file pkgs spec + else if spec.type == "tarball" then fetch_tarball pkgs name spec + else if spec.type == "git" then fetch_git spec + else if spec.type == "local" then fetch_local spec + else if spec.type == "builtin-tarball" then fetch_builtin-tarball name + else if spec.type == "builtin-url" then fetch_builtin-url name + else + abort "ERROR: niv spec ${name} has unknown type ${builtins.toJSON spec.type}"; + + # If the environment variable NIV_OVERRIDE_${name} is set, then use + # the path directly as opposed to the fetched source. + replace = name: drv: + let + saneName = stringAsChars (c: if isNull (builtins.match "[a-zA-Z0-9]" c) then "_" else c) name; + ersatz = builtins.getEnv "NIV_OVERRIDE_${saneName}"; + in + if ersatz == "" then drv else ersatz; + + # Ports of functions for older nix versions + + # a Nix version of mapAttrs if the built-in doesn't exist + mapAttrs = builtins.mapAttrs or ( + f: set: with builtins; + listToAttrs (map (attr: { name = attr; value = f attr set.${attr}; }) (attrNames set)) + ); + + # https://github.com/NixOS/nixpkgs/blob/0258808f5744ca980b9a1f24fe0b1e6f0fecee9c/lib/lists.nix#L295 + range = first: last: if first > last then [] else builtins.genList (n: first + n) (last - first + 1); + + # https://github.com/NixOS/nixpkgs/blob/0258808f5744ca980b9a1f24fe0b1e6f0fecee9c/lib/strings.nix#L257 + stringToCharacters = s: map (p: builtins.substring p 1 s) (range 0 (builtins.stringLength s - 1)); + + # https://github.com/NixOS/nixpkgs/blob/0258808f5744ca980b9a1f24fe0b1e6f0fecee9c/lib/strings.nix#L269 + stringAsChars = f: s: concatStrings (map f (stringToCharacters s)); + concatStrings = builtins.concatStringsSep ""; + + # fetchTarball version that is compatible between all the versions of Nix + builtins_fetchTarball = { url, name, sha256 }@attrs: + let + inherit (builtins) lessThan nixVersion fetchTarball; + in + if lessThan nixVersion "1.12" then + fetchTarball { inherit name url; } + else + fetchTarball attrs; + + # fetchurl version that is compatible between all the versions of Nix + builtins_fetchurl = { url, sha256 }@attrs: + let + inherit (builtins) lessThan nixVersion fetchurl; + in + if lessThan nixVersion "1.12" then + fetchurl { inherit url; } + else + fetchurl attrs; + + # Create the final "sources" from the config + mkSources = config: + mapAttrs ( + name: spec: + if builtins.hasAttr "outPath" spec + then abort + "The values in sources.json should not have an 'outPath' attribute" + else + spec // { outPath = replace name (fetch config.pkgs name spec); } + ) config.sources; + + # The "config" used by the fetchers + mkConfig = + { sourcesFile ? if builtins.pathExists ./sources.json then ./sources.json else null + , sources ? if isNull sourcesFile then {} else builtins.fromJSON (builtins.readFile sourcesFile) + , pkgs ? mkPkgs sources + }: rec { + # The sources, i.e. the attribute set of spec name to spec + inherit sources; + + # The "pkgs" (evaluated nixpkgs) to use for e.g. non-builtin fetchers + inherit pkgs; + }; + +in +mkSources (mkConfig {}) // { __functor = _: settings: mkSources (mkConfig settings); } diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..9e78104 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1395 @@ +{ + "name": "carrot-rcc", + "version": "0.8.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/code-frame": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", + "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.14.5" + } + }, + "@babel/compat-data": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.7.tgz", + "integrity": "sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw==", + "dev": true + }, + "@babel/core": { + "version": "7.14.6", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.6.tgz", + "integrity": "sha512-gJnOEWSqTk96qG5BoIrl5bVtc23DCycmIePPYnamY9RboYdI4nFy5vAQMSl81O5K/W0sLDWfGysnOECC+KUUCA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.14.5", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-module-transforms": "^7.14.5", + "@babel/helpers": "^7.14.6", + "@babel/parser": "^7.14.6", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0", + "source-map": "^0.5.0" + } + }, + "@babel/generator": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.5.tgz", + "integrity": "sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz", + "integrity": "sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "browserslist": "^4.16.6", + "semver": "^6.3.0" + } + }, + "@babel/helper-function-name": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz", + "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz", + "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz", + "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.7.tgz", + "integrity": "sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-module-imports": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz", + "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-module-transforms": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.5.tgz", + "integrity": "sha512-iXpX4KW8LVODuAieD7MzhNjmM6dzYY5tfRqT+R9HDXWl0jPn/djKmA+G9s/2C2T9zggw5tK1QNqZ70USfedOwA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-replace-supers": "^7.14.5", + "@babel/helper-simple-access": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/helper-validator-identifier": "^7.14.5", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz", + "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-replace-supers": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz", + "integrity": "sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.14.5", + "@babel/helper-optimise-call-expression": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-simple-access": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.5.tgz", + "integrity": "sha512-nfBN9xvmCt6nrMZjfhkl7i0oTV3yxR4/FztsbOASyTvVcoYd0TRHh7eMLdlEcCqobydC0LAF3LtC92Iwxo0wyw==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz", + "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz", + "integrity": "sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", + "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", + "dev": true + }, + "@babel/helpers": { + "version": "7.14.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.6.tgz", + "integrity": "sha512-yesp1ENQBiLI+iYHSJdoZKUtRpfTlL1grDIX9NRlAVppljLw/4tTyYupIB7uIYmC3stW/imAv8EqaKaS/ibmeA==", + "dev": true, + "requires": { + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/highlight": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", + "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.7.tgz", + "integrity": "sha512-X67Z5y+VBJuHB/RjwECp8kSl5uYi0BvRbNeWqkaJCVh+LiTPl19WBUfG627psSgp9rSf6ojuXghQM3ha6qHHdA==", + "dev": true + }, + "@babel/template": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", + "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/traverse": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.7.tgz", + "integrity": "sha512-9vDr5NzHu27wgwejuKL7kIOm4bwEtaPQ4Z6cpCmjSuaRqpH/7xc4qcGEscwMqlkwgcXl6MvqoAjZkQ24uSdIZQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.14.5", + "@babel/helper-function-name": "^7.14.5", + "@babel/helper-hoist-variables": "^7.14.5", + "@babel/helper-split-export-declaration": "^7.14.5", + "@babel/parser": "^7.14.7", + "@babel/types": "^7.14.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz", + "integrity": "sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "to-fast-properties": "^2.0.0" + } + }, + "@rollup/plugin-commonjs": { + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-19.0.0.tgz", + "integrity": "sha512-adTpD6ATGbehdaQoZQ6ipDFhdjqsTgpOAhFiPwl+dzre4pPshsecptDPyEFb61JMJ1+mGljktaC4jI8ARMSNyw==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.1.0", + "commondir": "^1.0.1", + "estree-walker": "^2.0.1", + "glob": "^7.1.6", + "is-reference": "^1.2.1", + "magic-string": "^0.25.7", + "resolve": "^1.17.0" + }, + "dependencies": { + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + } + } + }, + "@rollup/plugin-json": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.1.0.tgz", + "integrity": "sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.0.8" + } + }, + "@rollup/plugin-node-resolve": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.0.0.tgz", + "integrity": "sha512-41X411HJ3oikIDivT5OKe9EZ6ud6DXudtfNrGbC4nniaxx2esiWjkLOzgnZsWq1IM8YIeL2rzRGLZLBjlhnZtQ==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + } + }, + "@rollup/plugin-replace": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", + "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + } + }, + "@rollup/plugin-typescript": { + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-8.2.1.tgz", + "integrity": "sha512-Qd2E1pleDR4bwyFxqbjt4eJf+wB0UKVMLc7/BAFDGVdAXQMCsD4DUv5/7/ww47BZCYxWtJqe1Lo0KVNswBJlRw==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.1.0", + "resolve": "^1.17.0" + } + }, + "@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dev": true, + "requires": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + } + }, + "@sindresorhus/is": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-2.1.1.tgz", + "integrity": "sha512-/aPsuoj/1Dw/kzhkgz+ES6TxG0zfTMGLwuK2ZG00k/iJzYHTLCE8mVU8EPqEOp/lmxPoq1C1C9RYToRKb2KEfg==" + }, + "@szmarczak/http-timer": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.5.tgz", + "integrity": "sha512-PyRA9sm1Yayuj5OIoJ1hGt2YISX45w9WcFbh6ddT0Z/0yaFxOtGLInr4jUfU1EAFVs0Yfyfev4RNwBlUaHdlDQ==", + "requires": { + "defer-to-connect": "^2.0.0" + } + }, + "@types/adm-zip": { + "version": "0.4.34", + "resolved": "https://registry.npmjs.org/@types/adm-zip/-/adm-zip-0.4.34.tgz", + "integrity": "sha512-8ToYLLAYhkRfcmmljrKi22gT2pqu7hGMDtORP1emwIEGmgUTZOsaDjzWFzW5N2frcFRz/50CWt4zA1CxJ73pmQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/cacheable-request": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.1.tgz", + "integrity": "sha512-ykFq2zmBGOCbpIXtoVbz4SKY5QriWPh3AjyU4G74RYbtt5yOc5OfaY75ftjg7mikMOla1CTGpX3lLbuJh8DTrQ==", + "requires": { + "@types/http-cache-semantics": "*", + "@types/keyv": "*", + "@types/node": "*", + "@types/responselike": "*" + } + }, + "@types/camunda-external-task-client-js": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@types/camunda-external-task-client-js/-/camunda-external-task-client-js-1.3.1.tgz", + "integrity": "sha512-XWktJOGel1HIIgKB3Y7Y2CQMQrIB0XXFnK4j+zIj5KjqcAxw6p+uXHKCzOVobvBTbsvAYuaVBr2MvXuGRgCiKA==", + "dev": true + }, + "@types/dotenv": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@types/dotenv/-/dotenv-8.2.0.tgz", + "integrity": "sha512-ylSC9GhfRH7m1EUXBXofhgx4lUWmFeQDINW5oLuS+gxWdfUeW4zJdeVTYVkexEW+e2VUvlZR2kGnGGipAWR7kw==", + "dev": true, + "requires": { + "dotenv": "*" + } + }, + "@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "dev": true + }, + "@types/http-cache-semantics": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.0.tgz", + "integrity": "sha512-c3Xy026kOF7QOTn00hbIllV1dLR9hG9NkSrLQgCVs8NF6sBU+VGWjD3wLPhmh1TYAc7ugCFsvHYMN4VcBN1U1A==" + }, + "@types/keyv": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.1.tgz", + "integrity": "sha512-MPtoySlAZQ37VoLaPcTHCu1RWJ4llDkULYZIzOYxlhxBqYPB0RsRlmMU0R6tahtFe27mIdkHV+551ZWV4PLmVw==", + "requires": { + "@types/node": "*" + } + }, + "@types/mime-types": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/mime-types/-/mime-types-2.1.0.tgz", + "integrity": "sha1-nKUs2jY/aZxpRmwqbM2q2RPqenM=", + "dev": true + }, + "@types/node": { + "version": "15.12.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-15.12.5.tgz", + "integrity": "sha512-se3yX7UHv5Bscf8f1ERKvQOD6sTyycH3hdaoozvaLxgUiY5lIGEeH37AD0G0Qi9kPqihPn0HOfd2yaIEN9VwEg==" + }, + "@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/responselike": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", + "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", + "requires": { + "@types/node": "*" + } + }, + "@types/yaml": { + "version": "1.9.7", + "resolved": "https://registry.npmjs.org/@types/yaml/-/yaml-1.9.7.tgz", + "integrity": "sha512-8WMXRDD1D+wCohjfslHDgICd2JtMATZU8CkhH8LVJqcJs6dyYj5TGptzP8wApbmEullGBSsCEzzap73DQ1HJaA==", + "dev": true, + "requires": { + "yaml": "*" + } + }, + "adm-zip": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.5.tgz", + "integrity": "sha512-IWwXKnCbirdbyXSfUDvCCrmYrOHANRZcc8NcRrvTlIApdl7PwE9oGcsYvNeJPAVY1M+70b4PxXGKIf8AEuiQ6w==" + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "browserslist": { + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz", + "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001219", + "colorette": "^1.2.2", + "electron-to-chromium": "^1.3.723", + "escalade": "^3.1.1", + "node-releases": "^1.1.71" + } + }, + "builtin-modules": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", + "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==", + "dev": true + }, + "cacheable-lookup": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-2.0.1.tgz", + "integrity": "sha512-EMMbsiOTcdngM/K6gV/OxF2x0t07+vMOWxZNSCRQMjO2MY2nhZQ6OYhOOpyQrbhqsgtvKGI7hcq6xjnA92USjg==", + "requires": { + "@types/keyv": "^3.1.1", + "keyv": "^4.0.0" + } + }, + "cacheable-request": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", + "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "dev": true, + "requires": { + "callsites": "^2.0.0" + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dev": true, + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true + }, + "camunda-external-task-client-js": { + "version": "git+https://github.com/camunda/camunda-external-task-client-js.git#5923f9a3e98af20aedb3481662f3fdc8f9ef9f81", + "from": "git+https://github.com/camunda/camunda-external-task-client-js.git#5923f9a3e98af20aedb3481662f3fdc8f9ef9f81", + "requires": { + "chalk": "^2.3.2", + "got": "^10.6.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001241", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001241.tgz", + "integrity": "sha512-1uoSZ1Pq1VpH0WerIMqwptXHNNGfdl7d1cJUFs80CwQ/lVzdhTvsFZCeNFslze7AjsQnb4C85tzclPa1VShbeQ==", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "requires": { + "mimic-response": "^1.0.0" + }, + "dependencies": { + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" + } + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "colorette": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", + "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } + } + }, + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "dev": true, + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + } + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "decompress-response": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-5.0.0.tgz", + "integrity": "sha512-TLZWWybuxWgoW7Lykv+gq9xvzOsUjQ9tF09Tj6NSTYGMTCHNXzrPnD6Hi+TgZq19PyTAGH4Ll/NIM/eTGglnMw==", + "requires": { + "mimic-response": "^2.0.0" + } + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true + }, + "defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==" + }, + "detect-newline": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", + "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", + "dev": true + }, + "dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==" + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" + }, + "electron-to-chromium": { + "version": "1.3.763", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.763.tgz", + "integrity": "sha512-UyvEPae0wvzsyNJhVfGeFSOlUkHEze8xSIiExO5tZQ8QTr7obFiJWGk3U4e7afFOJMQJDszqU/3Pk5jtKiaSEg==", + "dev": true + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + } + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "dev": true + }, + "fdir": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-5.1.0.tgz", + "integrity": "sha512-IgTtZwL52tx2wqWeuGDzXYTnNsEjNLahZpJw30hCQDyVnoHXwY5acNDnjGImTTL1R0z1PCyLw20VAbE5qLic3Q==" + }, + "find-line-column": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/find-line-column/-/find-line-column-0.5.2.tgz", + "integrity": "sha1-2wAjj/hoVRoYLnShA0FtKVqYyMo=", + "dev": true + }, + "find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "requires": { + "pump": "^3.0.0" + } + }, + "glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "got": { + "version": "10.7.0", + "resolved": "https://registry.npmjs.org/got/-/got-10.7.0.tgz", + "integrity": "sha512-aWTDeNw9g+XqEZNcTjMMZSy7B7yE9toWOFYip7ofFTLleJhvZwUxxTxkTpKvF+p1SAA4VHmuEy7PiHTHyq8tJg==", + "requires": { + "@sindresorhus/is": "^2.0.0", + "@szmarczak/http-timer": "^4.0.0", + "@types/cacheable-request": "^6.0.1", + "cacheable-lookup": "^2.0.0", + "cacheable-request": "^7.0.1", + "decompress-response": "^5.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^5.0.0", + "lowercase-keys": "^2.0.0", + "mimic-response": "^2.1.0", + "p-cancelable": "^2.0.0", + "p-event": "^4.0.0", + "responselike": "^2.0.0", + "to-readable-stream": "^2.0.0", + "type-fest": "^0.10.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" + }, + "http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dev": true, + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + } + } + }, + "import-sort": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/import-sort/-/import-sort-6.0.0.tgz", + "integrity": "sha512-XUwSQMGAGmcW/wfshFE0gXgb1NPF6ibbQD6wDr3KRDykZf/lZj0jf58Bwa02xNb8EE59oz7etFe9OHnJocUW5Q==", + "dev": true, + "requires": { + "detect-newline": "^2.1.0", + "import-sort-parser": "^6.0.0", + "import-sort-style": "^6.0.0", + "is-builtin-module": "^3.0.0", + "resolve": "^1.8.1" + } + }, + "import-sort-config": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/import-sort-config/-/import-sort-config-6.0.0.tgz", + "integrity": "sha512-FJpF2F3+30JXqH1rJKeajxoSCHCueai3/0ntDN4y3GJL5pjnLDt/VjCy5FzjH7u0NHnllL/zVEf1wfmsVxJlPQ==", + "dev": true, + "requires": { + "cosmiconfig": "^5.0.5", + "find-root": "^1.0.0", + "minimatch": "^3.0.4", + "resolve-from": "^4.0.0" + } + }, + "import-sort-parser": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/import-sort-parser/-/import-sort-parser-6.0.0.tgz", + "integrity": "sha512-H5L+d6HnqHvThB0GmAA3/43Sv74oCwL0iMk3/ixOv0LRJ69rCyHXeG/+UadMHrD2FefEmgPIWboEPAG7gsQrkA==", + "dev": true + }, + "import-sort-parser-babylon": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/import-sort-parser-babylon/-/import-sort-parser-babylon-6.0.0.tgz", + "integrity": "sha512-NyShTiNhTh4Vy7kJUVe6CuvOaQAzzfSIT72wtp3CzGjz8bHjNj59DCAjncuviicmDOgVAgmLuSh1WMcLYAMWGg==", + "dev": true, + "requires": { + "@babel/core": "^7.2.2", + "@babel/parser": "^7.0.0-beta.54", + "@babel/traverse": "^7.0.0-beta.54", + "@babel/types": "^7.0.0-beta.54", + "find-line-column": "^0.5.2" + } + }, + "import-sort-parser-typescript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/import-sort-parser-typescript/-/import-sort-parser-typescript-6.0.0.tgz", + "integrity": "sha512-pgxnr3I156DonupQriNsgDb2zJN9TxrqCCIN1rwT/6SDO1rkJb+a0fjqshCjlgacTSA92oPAp1eAwmQUeZi3dw==", + "dev": true, + "requires": { + "typescript": "^3.2.4" + }, + "dependencies": { + "typescript": { + "version": "3.9.10", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", + "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==", + "dev": true + } + } + }, + "import-sort-style": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/import-sort-style/-/import-sort-style-6.0.0.tgz", + "integrity": "sha512-z0H5PKs7YoDeKxNYXv2AA1mjjZFY07fjeNCXUdTM3ymJtWeeEoTm8CQkFm2l+KPZoMczIvdwzJpWkkOamBnsPw==", + "dev": true + }, + "import-sort-style-module": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/import-sort-style-module/-/import-sort-style-module-6.0.0.tgz", + "integrity": "sha512-Oxd256EVt6TAgawhIDuKnNHWumzHMHFWhVncBBvlHVnx69B4GP/Gu4Xo+gjxtqSEKEvam5ajUkNvnsXLDMDjKg==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "is-builtin-module": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.1.0.tgz", + "integrity": "sha512-OV7JjAgOTfAFJmHZLvpSTb4qi0nIILDV1gWPYDnDJUTNFM5aGlRAhk4QcT8i7TuAleeEV5Fdkqn3t4mS+Q11fg==", + "dev": true, + "requires": { + "builtin-modules": "^3.0.0" + } + }, + "is-core-module": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz", + "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "dev": true + }, + "is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", + "dev": true + }, + "is-reference": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", + "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", + "dev": true, + "requires": { + "@types/estree": "*" + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "keyv": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.3.tgz", + "integrity": "sha512-zdGa2TOpSZPq5mU6iowDARnMBZgtCqJ11dJROFi6tg6kTn4nuUdU09lFyLFSaHrWqpIJ+EBq4E8/Dc0Vx5vLdA==", + "requires": { + "json-buffer": "3.0.1" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" + }, + "magic-string": { + "version": "0.25.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", + "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", + "dev": true, + "requires": { + "sourcemap-codec": "^1.4.4" + } + }, + "mime-db": { + "version": "1.48.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz", + "integrity": "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==" + }, + "mime-types": { + "version": "2.1.31", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz", + "integrity": "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==", + "requires": { + "mime-db": "1.48.0" + } + }, + "mimic-response": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", + "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "neodoc": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/neodoc/-/neodoc-2.0.2.tgz", + "integrity": "sha512-NAppJ0YecKWdhSXFYCHbo6RutiX8vOt/Jo3l46mUg6pQlpJNaqc5cGxdrW2jITQm5JIYySbFVPDl3RrREXNyPw==", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "node-releases": { + "version": "1.1.73", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz", + "integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==", + "dev": true + }, + "normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" + }, + "object-inspect": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.3.tgz", + "integrity": "sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==" + }, + "p-event": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz", + "integrity": "sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==", + "requires": { + "p-timeout": "^3.1.0" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + }, + "p-timeout": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", + "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", + "requires": { + "p-finally": "^1.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "picomatch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "dev": true + }, + "prettier": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz", + "integrity": "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==", + "dev": true + }, + "prettier-plugin-import-sort": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/prettier-plugin-import-sort/-/prettier-plugin-import-sort-0.0.7.tgz", + "integrity": "sha512-O0KlUSq+lwvh+UiN3wZDT6wWkf7TNxTVv2/XXE5KqpRNbFJq3nRg2ftzBYFFO8QGpdWIrOB0uCTCtFjIxmVKQw==", + "dev": true, + "requires": { + "import-sort": "^6.0.0", + "import-sort-config": "^6.0.0", + "import-sort-parser-babylon": "^6.0.0", + "import-sort-parser-typescript": "^6.0.0" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "qs": { + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz", + "integrity": "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==", + "requires": { + "side-channel": "^1.0.4" + } + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "responselike": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz", + "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==", + "requires": { + "lowercase-keys": "^2.0.0" + } + }, + "rollup": { + "version": "2.52.7", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.52.7.tgz", + "integrity": "sha512-55cSH4CCU6MaPr9TAOyrIC+7qFCHscL7tkNsm1MBfIJRRqRbCEY0mmeFn4Wg8FKsHtEH8r389Fz38r/o+kgXLg==", + "dev": true, + "requires": { + "fsevents": "~2.3.2" + } + }, + "rollup-plugin-hashbang": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-hashbang/-/rollup-plugin-hashbang-2.2.2.tgz", + "integrity": "sha512-Yxw9ogeK3KncG1e4CvK0I0IKVBNeJP+DTZS3bExGTfGjw0WP1C7xxbY7LtRd8IKx4fFf53hz7XR1XG7UV6xqCw==", + "requires": { + "magic-string": "^0.22.4" + }, + "dependencies": { + "magic-string": { + "version": "0.22.5", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz", + "integrity": "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==", + "requires": { + "vlq": "^0.2.2" + } + } + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "dev": true + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, + "to-readable-stream": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-2.1.0.tgz", + "integrity": "sha512-o3Qa6DGg1CEXshSdvWNX2sN4QHqg03SPq7U6jPXRahlQdl5dK8oXjkU/2/sGrnOZKeGV1zLSO8qPwyKklPPE7w==" + }, + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==", + "dev": true + }, + "tunnel": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==" + }, + "type-fest": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.10.0.tgz", + "integrity": "sha512-EUV9jo4sffrwlg8s0zDhP0T2WD3pru5Xi0+HTE3zTUmBaZNhfkite9PdSJwdXLwPVW0jnAHT56pZHIOYckPEiw==" + }, + "typed-rest-client": { + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.4.tgz", + "integrity": "sha512-MyfKKYzk3I6/QQp6e1T50py4qg+c+9BzOEl2rBmQIpStwNUoqQ73An+Tkfy9YuV7O+o2mpVVJpe+fH//POZkbg==", + "requires": { + "qs": "^6.9.1", + "tunnel": "0.0.6", + "underscore": "^1.12.1" + } + }, + "typescript": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.5.tgz", + "integrity": "sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA==", + "dev": true + }, + "underscore": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz", + "integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==" + }, + "vlq": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", + "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==" + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..fd00f0a --- /dev/null +++ b/package.json @@ -0,0 +1,59 @@ +{ + "name": "carrot-rcc", + "version": "0.8.0", + "description": "Camunda external task Robot Framework RCC client", + "bin": "./carrot-rcc", + "scripts": { + "build": "rollup -c rollup.config.js", + "prettier:check": "prettier --check \"*.ts\"", + "prettier:format": "prettier --write \"*.ts\"", + "start": "tsc -w", + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/datakurre/carrot-rcc.git" + }, + "keywords": [], + "author": "", + "license": "MIT", + "bugs": { + "url": "https://github.com/datakurre/carrot-rcc.git" + }, + "homepage": "https://github.com/datakurre/carrot-rcc#readme", + "importSort": { + ".js, .ts": { + "style": "module", + "parser": "typescript" + } + }, + "dependencies": { + "adm-zip": "^0.5.5", + "camunda-external-task-client-js": "git+https://github.com/camunda/camunda-external-task-client-js.git#5923f9a3e98af20aedb3481662f3fdc8f9ef9f81", + "dotenv": "^10.0.0", + "fdir": "^5.1.0", + "mime-types": "^2.1.31", + "neodoc": "^2.0.2", + "rollup-plugin-hashbang": "^2.2.2", + "typed-rest-client": "^1.8.4", + "yaml": "^1.10.2" + }, + "devDependencies": { + "@rollup/plugin-commonjs": "^19.0.0", + "@rollup/plugin-json": "^4.1.0", + "@rollup/plugin-node-resolve": "^13.0.0", + "@rollup/plugin-replace": "^2.4.2", + "@rollup/plugin-typescript": "^8.2.1", + "@types/adm-zip": "^0.4.34", + "@types/camunda-external-task-client-js": "^1.3.1", + "@types/dotenv": "^8.2.0", + "@types/mime-types": "^2.1.0", + "@types/yaml": "^1.9.7", + "import-sort-style-module": "^6.0.0", + "prettier": "^2.3.2", + "prettier-plugin-import-sort": "0.0.7", + "rollup": "^2.52.7", + "tslib": "^2.3.0", + "typescript": "^4.3.5" + } +} diff --git a/poetry.lock b/poetry.lock new file mode 100644 index 0000000..c928128 --- /dev/null +++ b/poetry.lock @@ -0,0 +1,158 @@ +[[package]] +name = "appdirs" +version = "1.4.4" +description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "black" +version = "21.7b0" +description = "The uncompromising code formatter." +category = "dev" +optional = false +python-versions = ">=3.6.2" + +[package.dependencies] +appdirs = "*" +click = ">=7.1.2" +mypy-extensions = ">=0.4.3" +pathspec = ">=0.8.1,<1" +regex = ">=2020.1.8" +tomli = ">=0.2.6,<2.0.0" + +[package.extras] +colorama = ["colorama (>=0.4.3)"] +d = ["aiohttp (>=3.6.0)", "aiohttp-cors (>=0.4.0)"] +python2 = ["typed-ast (>=1.4.2)"] +uvloop = ["uvloop (>=0.15.2)"] + +[[package]] +name = "click" +version = "8.0.1" +description = "Composable command line interface toolkit" +category = "dev" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} + +[[package]] +name = "colorama" +version = "0.4.4" +description = "Cross-platform colored terminal text." +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[[package]] +name = "mypy-extensions" +version = "0.4.3" +description = "Experimental type system extensions for programs checked with the mypy typechecker." +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "pathspec" +version = "0.9.0" +description = "Utility library for gitignore style pattern matching of file paths." +category = "dev" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" + +[[package]] +name = "regex" +version = "2021.7.6" +description = "Alternative regular expression module, to replace re." +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "tomli" +version = "1.0.4" +description = "A lil' TOML parser" +category = "dev" +optional = false +python-versions = ">=3.6" + +[metadata] +lock-version = "1.1" +python-versions = "^3.8" +content-hash = "ad5d87d736580d5969d332f6293d5167ac9ee7f8be95761cd478e3b267da6d91" + +[metadata.files] +appdirs = [ + {file = "appdirs-1.4.4-py2.py3-none-any.whl", hash = "sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128"}, + {file = "appdirs-1.4.4.tar.gz", hash = "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41"}, +] +black = [ + {file = "black-21.7b0-py3-none-any.whl", hash = "sha256:1c7aa6ada8ee864db745b22790a32f94b2795c253a75d6d9b5e439ff10d23116"}, + {file = "black-21.7b0.tar.gz", hash = "sha256:c8373c6491de9362e39271630b65b964607bc5c79c83783547d76c839b3aa219"}, +] +click = [ + {file = "click-8.0.1-py3-none-any.whl", hash = "sha256:fba402a4a47334742d782209a7c79bc448911afe1149d07bdabdf480b3e2f4b6"}, + {file = "click-8.0.1.tar.gz", hash = "sha256:8c04c11192119b1ef78ea049e0a6f0463e4c48ef00a30160c704337586f3ad7a"}, +] +colorama = [ + {file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"}, + {file = "colorama-0.4.4.tar.gz", hash = "sha256:5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b"}, +] +mypy-extensions = [ + {file = "mypy_extensions-0.4.3-py2.py3-none-any.whl", hash = "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d"}, + {file = "mypy_extensions-0.4.3.tar.gz", hash = "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8"}, +] +pathspec = [ + {file = "pathspec-0.9.0-py2.py3-none-any.whl", hash = "sha256:7d15c4ddb0b5c802d161efc417ec1a2558ea2653c2e8ad9c19098201dc1c993a"}, + {file = "pathspec-0.9.0.tar.gz", hash = "sha256:e564499435a2673d586f6b2130bb5b95f04a3ba06f81b8f895b651a3c76aabb1"}, +] +regex = [ + {file = "regex-2021.7.6-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:e6a1e5ca97d411a461041d057348e578dc344ecd2add3555aedba3b408c9f874"}, + {file = "regex-2021.7.6-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:6afe6a627888c9a6cfbb603d1d017ce204cebd589d66e0703309b8048c3b0854"}, + {file = "regex-2021.7.6-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:ccb3d2190476d00414aab36cca453e4596e8f70a206e2aa8db3d495a109153d2"}, + {file = "regex-2021.7.6-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:ed693137a9187052fc46eedfafdcb74e09917166362af4cc4fddc3b31560e93d"}, + {file = "regex-2021.7.6-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:99d8ab206a5270c1002bfcf25c51bf329ca951e5a169f3b43214fdda1f0b5f0d"}, + {file = "regex-2021.7.6-cp36-cp36m-manylinux2014_i686.whl", hash = "sha256:b85ac458354165405c8a84725de7bbd07b00d9f72c31a60ffbf96bb38d3e25fa"}, + {file = "regex-2021.7.6-cp36-cp36m-manylinux2014_x86_64.whl", hash = "sha256:3f5716923d3d0bfb27048242a6e0f14eecdb2e2a7fac47eda1d055288595f222"}, + {file = "regex-2021.7.6-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e5983c19d0beb6af88cb4d47afb92d96751fb3fa1784d8785b1cdf14c6519407"}, + {file = "regex-2021.7.6-cp36-cp36m-win32.whl", hash = "sha256:c92831dac113a6e0ab28bc98f33781383fe294df1a2c3dfd1e850114da35fd5b"}, + {file = "regex-2021.7.6-cp36-cp36m-win_amd64.whl", hash = "sha256:791aa1b300e5b6e5d597c37c346fb4d66422178566bbb426dd87eaae475053fb"}, + {file = "regex-2021.7.6-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:59506c6e8bd9306cd8a41511e32d16d5d1194110b8cfe5a11d102d8b63cf945d"}, + {file = "regex-2021.7.6-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:564a4c8a29435d1f2256ba247a0315325ea63335508ad8ed938a4f14c4116a5d"}, + {file = "regex-2021.7.6-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:59c00bb8dd8775473cbfb967925ad2c3ecc8886b3b2d0c90a8e2707e06c743f0"}, + {file = "regex-2021.7.6-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:9a854b916806c7e3b40e6616ac9e85d3cdb7649d9e6590653deb5b341a736cec"}, + {file = "regex-2021.7.6-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:db2b7df831c3187a37f3bb80ec095f249fa276dbe09abd3d35297fc250385694"}, + {file = "regex-2021.7.6-cp37-cp37m-manylinux2014_i686.whl", hash = "sha256:173bc44ff95bc1e96398c38f3629d86fa72e539c79900283afa895694229fe6a"}, + {file = "regex-2021.7.6-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:15dddb19823f5147e7517bb12635b3c82e6f2a3a6b696cc3e321522e8b9308ad"}, + {file = "regex-2021.7.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2ddeabc7652024803666ea09f32dd1ed40a0579b6fbb2a213eba590683025895"}, + {file = "regex-2021.7.6-cp37-cp37m-win32.whl", hash = "sha256:f080248b3e029d052bf74a897b9d74cfb7643537fbde97fe8225a6467fb559b5"}, + {file = "regex-2021.7.6-cp37-cp37m-win_amd64.whl", hash = "sha256:d8bbce0c96462dbceaa7ac4a7dfbbee92745b801b24bce10a98d2f2b1ea9432f"}, + {file = "regex-2021.7.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:edd1a68f79b89b0c57339bce297ad5d5ffcc6ae7e1afdb10f1947706ed066c9c"}, + {file = "regex-2021.7.6-cp38-cp38-manylinux1_i686.whl", hash = "sha256:422dec1e7cbb2efbbe50e3f1de36b82906def93ed48da12d1714cabcd993d7f0"}, + {file = "regex-2021.7.6-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:cbe23b323988a04c3e5b0c387fe3f8f363bf06c0680daf775875d979e376bd26"}, + {file = "regex-2021.7.6-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:0eb2c6e0fcec5e0f1d3bcc1133556563222a2ffd2211945d7b1480c1b1a42a6f"}, + {file = "regex-2021.7.6-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:1c78780bf46d620ff4fff40728f98b8afd8b8e35c3efd638c7df67be2d5cddbf"}, + {file = "regex-2021.7.6-cp38-cp38-manylinux2014_i686.whl", hash = "sha256:bc84fb254a875a9f66616ed4538542fb7965db6356f3df571d783f7c8d256edd"}, + {file = "regex-2021.7.6-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:598c0a79b4b851b922f504f9f39a863d83ebdfff787261a5ed061c21e67dd761"}, + {file = "regex-2021.7.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:875c355360d0f8d3d827e462b29ea7682bf52327d500a4f837e934e9e4656068"}, + {file = "regex-2021.7.6-cp38-cp38-win32.whl", hash = "sha256:e586f448df2bbc37dfadccdb7ccd125c62b4348cb90c10840d695592aa1b29e0"}, + {file = "regex-2021.7.6-cp38-cp38-win_amd64.whl", hash = "sha256:2fe5e71e11a54e3355fa272137d521a40aace5d937d08b494bed4529964c19c4"}, + {file = "regex-2021.7.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6110bab7eab6566492618540c70edd4d2a18f40ca1d51d704f1d81c52d245026"}, + {file = "regex-2021.7.6-cp39-cp39-manylinux1_i686.whl", hash = "sha256:4f64fc59fd5b10557f6cd0937e1597af022ad9b27d454e182485f1db3008f417"}, + {file = "regex-2021.7.6-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:89e5528803566af4df368df2d6f503c84fbfb8249e6631c7b025fe23e6bd0cde"}, + {file = "regex-2021.7.6-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:2366fe0479ca0e9afa534174faa2beae87847d208d457d200183f28c74eaea59"}, + {file = "regex-2021.7.6-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:f9392a4555f3e4cb45310a65b403d86b589adc773898c25a39184b1ba4db8985"}, + {file = "regex-2021.7.6-cp39-cp39-manylinux2014_i686.whl", hash = "sha256:2bceeb491b38225b1fee4517107b8491ba54fba77cf22a12e996d96a3c55613d"}, + {file = "regex-2021.7.6-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:f98dc35ab9a749276f1a4a38ab3e0e2ba1662ce710f6530f5b0a6656f1c32b58"}, + {file = "regex-2021.7.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:319eb2a8d0888fa6f1d9177705f341bc9455a2c8aca130016e52c7fe8d6c37a3"}, + {file = "regex-2021.7.6-cp39-cp39-win32.whl", hash = "sha256:eaf58b9e30e0e546cdc3ac06cf9165a1ca5b3de8221e9df679416ca667972035"}, + {file = "regex-2021.7.6-cp39-cp39-win_amd64.whl", hash = "sha256:4c9c3155fe74269f61e27617529b7f09552fbb12e44b1189cebbdb24294e6e1c"}, + {file = "regex-2021.7.6.tar.gz", hash = "sha256:8394e266005f2d8c6f0bc6780001f7afa3ef81a7a2111fa35058ded6fce79e4d"}, +] +tomli = [ + {file = "tomli-1.0.4-py3-none-any.whl", hash = "sha256:0713b16ff91df8638a6a694e295c8159ab35ba93e3424a626dd5226d386057be"}, + {file = "tomli-1.0.4.tar.gz", hash = "sha256:be670d0d8d7570fd0ea0113bd7bb1ba3ac6706b4de062cc4c952769355c9c268"}, +] diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..466762d --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,25 @@ +[tool.poetry] +name = "carrot-rcc" +version = "0.1.0" +description = "Camunda external task Robot Framework RCC client" +homepage = "https://github.com/datakurre/carrot-executor/main/rcc" +authors = ["Asko Soukka "] +license = "MIT" +packages = [ + { include = "carrot_rcc.py" }, +] +include = [ "CHANGELOG.md", "carrot-rcc" ] +readme = "README.md" + +[tool.poetry.scripts] +carrot-rcc= "carrot_rcc:main" + +[tool.poetry.dependencies] +python = "^3.8" + +[tool.poetry.dev-dependencies] +black = "^21.6b0" + +[build-system] +requires = ["poetry-core>=1.0.0"] +build-backend = "poetry.core.masonry.api" diff --git a/rollup.config.js b/rollup.config.js new file mode 100644 index 0000000..0c8cd33 --- /dev/null +++ b/rollup.config.js @@ -0,0 +1,29 @@ +import commonjs from "@rollup/plugin-commonjs"; +import json from "@rollup/plugin-json"; +import replace from "@rollup/plugin-replace"; +import resolve from "@rollup/plugin-node-resolve"; +import typescript from "@rollup/plugin-typescript"; +import hashbang from 'rollup-plugin-hashbang' + +const plugins = [ + replace({ + "process.env.NODE_ENV": JSON.stringify("production"), + preventAssignment: true + }), + resolve(), + json(), + commonjs({ignore: ['original-fs']}), + typescript(), + hashbang(), +]; + +export default [ + { + input: "carrot_rcc.ts", + output: { + file: "carrot-rcc", + format: "cjs" + }, + plugins, + }, +]; diff --git a/shell.nix b/shell.nix new file mode 100644 index 0000000..a9f5044 --- /dev/null +++ b/shell.nix @@ -0,0 +1,29 @@ +{ pkgs ? import ./nix { nixpkgs = sources."nixpkgs-21.05"; } +, unstable ? import ./nix { nixpkgs = sources."nixpkgs-unstable"; } +, sources ? import ./nix/sources.nix +}: + +pkgs.mkShell { + buildInputs = with pkgs; [ + entr + gnumake + node2nix + nodejs-14_x + poetry + poetry2nix.cli + unstable.micromamba + (buildFHSUserEnv { + name = "rcc"; + targetPkgs = pkgs: (with pkgs; [ + rcc + firefox + geckodriver + unstable.micromamba + ]); + runScript = "rcc"; + }) + ]; + shellHook = '' + export SSL_CERT_FILE=${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt + ''; +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..763c386 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,17 @@ +{ + "compilerOptions": { + "target": "esnext", + "module": "esnext", + "typeRoots": [ + "./@types" + ], + "outDir": ".", + "moduleResolution": "node", + "esModuleInterop": true, + "strict": true, + }, + "include": [ + "*.ts" + ], + "exclude": [] +} diff --git a/xkcd-bot/conda.yaml b/xkcd-bot/conda.yaml new file mode 100644 index 0000000..ffd5f40 --- /dev/null +++ b/xkcd-bot/conda.yaml @@ -0,0 +1,12 @@ +channels: + - conda-forge + +dependencies: + # https://anaconda.org/search +# - firefox=79.0 +# - geckodriver=0.26.0 + - python=3.8.8 + - pip=21.1.3 + - pip: + - rpaframework==10.4.0 + - robotframework-seleniumtestability==1.1.0 diff --git a/xkcd-bot/robot.yaml b/xkcd-bot/robot.yaml new file mode 100644 index 0000000..12e10cf --- /dev/null +++ b/xkcd-bot/robot.yaml @@ -0,0 +1,15 @@ +tasks: + + Search for XKCD image: + robotTaskName: + Search for XKCD image + + Download XKCD image: + robotTaskName: + Download XKCD image + +condaConfigFile: + conda.yaml + +artifactsDir: + output diff --git a/xkcd-bot/robot.zip b/xkcd-bot/robot.zip new file mode 100644 index 0000000..840765b Binary files /dev/null and b/xkcd-bot/robot.zip differ diff --git a/xkcd-bot/tasks.robot b/xkcd-bot/tasks.robot new file mode 100644 index 0000000..6590903 --- /dev/null +++ b/xkcd-bot/tasks.robot @@ -0,0 +1,77 @@ +*** Settings *** + +Library DateTime +Library RPA.Robocloud.Items +Library SeleniumLibrary timeout=5s +... plugins=SeleniumTestability;True;5s;True +Library Collections +Library OperatingSystem +Library requests + +Suite teardown Close all browsers + +*** Keywords *** + +Run Selenium keyword and return status + [Documentation] + ... Run Selenium keyword (optionally with arguments) + ... and return status without screenshots on failure + [Arguments] ${keyword} @{arguments} + ${tmp}= Register keyword to run on failure No operation + ${status}= Run keyword and return status ${keyword} @{arguments} + Register keyword to run on failure ${tmp} + [Return] ${status} + +*** Tasks *** + +Search for XKCD image + Set task variables from work item + + Open browser about:blank browser=headlessfirefox + + Go to https://www.google.com/search?q=site%3Am.xkcd.com+${query} + Capture page screenshot + + ${has results}= Run Selenium keyword and return status + ... Page should contain element + ... xpath://a[starts-with(@href, "https://m.xkcd.com/")] + + ${count}= Get Element Count xpath://a[starts-with(@href, "https://m.xkcd.com/")] + ${results}= Create list + FOR ${index} IN RANGE ${count} + ${href}= Get Element Attribute + ... xpath:(//a[starts-with(@href, "https://m.xkcd.com/")])[${{${index} + 1}}] + ... href + IF "${href}" != "https://m.xkcd.com/archive/" + Append to list ${results} ${href} + END + END + Set work item variable results ${results} + Save work item + + Close browser + +Download XKCD image + Set task variables from work item + + Open browser about:blank browser=headlessfirefox + Go to ${url} + Capture page screenshot + + ${has image}= Run Selenium keyword and return status + ... Page should contain element + ... css:#comic img + + ${alt}= Get Element Attribute css:#comic img alt + ${title}= Get Element Attribute css:#comic img title + ${src}= Get Element Attribute css:#comic img src + Set work item variable imageUrl ${src} + + ${response} Get ${src} + Create binary file comic.png ${response.content} + Add work item file comic.png + Set work item variable alt ${alt} + Set work item variable title ${title} + Save work item + + Close browser