Complete External Task

Completes an external task by id and updates process variables.

Method

POST /external-task/{id}/complete

Parameters

Path Parameters

Name Description
id The id of the task to complete.

Request Body

A JSON object with the following properties:

Name Description
workerId The id of the worker that completes the task. Must match the id of the worker who has most recently locked the task.
variables

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:

Name Description
value The variable's value. For variables of type Object, the serialized value has to be submitted as a String value.

For variables of type File the value has to be submitted as Base64 encoded string.

type The value type of the variable.
valueInfo 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.

Result

This method returns no content.

Response Codes

Code Media type Description
204 Request successful.
400 application/json Returned if the task's most recent lock was not acquired by the provided worker. See the Introduction for the error response format.
404 application/json 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 for the error response format.
500 application/json Returned if the corresponding process instance could not be resumed successfully. See the Introduction for the error response format.

Example

Request

POST /external-task/anId/complete

Request Body:

{
  "workerId": "aWorker",
  "variables":
      {"aVariable": {"value": "aStringValue"},
      "anotherVariable": {"value": 42},
      "aThirdVariable": {"value": true}}
}

Response

Status 204. No content.

On this Page: