From 9dd5707e5e3456018263bd6b35e313d78a5e9a55 Mon Sep 17 00:00:00 2001 From: Steven Hicks Date: Fri, 20 Dec 2024 15:20:26 -0600 Subject: [PATCH] feat: configure 8.6 camunda api generation --- api/camunda/generation-strategy.js | 15 +- api/camunda/version-8.6/camunda-openapi.yaml | 3853 ++++++++++++++++++ docusaurus.config.js | 12 + 3 files changed, 3872 insertions(+), 8 deletions(-) create mode 100644 api/camunda/version-8.6/camunda-openapi.yaml diff --git a/api/camunda/generation-strategy.js b/api/camunda/generation-strategy.js index 305cb90d63..c63445b0bd 100644 --- a/api/camunda/generation-strategy.js +++ b/api/camunda/generation-strategy.js @@ -1,11 +1,9 @@ const removeDuplicateVersionBadge = require("../remove-duplicate-version-badge"); const replace = require("replace-in-file"); -const outputDir = "docs/apis-tools/camunda-api-rest/specifications"; -const specFile = "api/camunda/camunda-openapi.yaml"; const fs = require("fs"); -function preGenerateDocs() { - const originalSpec = fs.readFileSync(specFile, "utf8"); +function preGenerateDocs(config) { + const originalSpec = fs.readFileSync(config.specPath, "utf8"); console.log("adjusting C8 spec file..."); @@ -18,14 +16,16 @@ function preGenerateDocs() { ]; replace.sync({ - files: specFile, + files: config.specPath, from: specUpdates.map((x) => x.from), to: specUpdates.map((x) => x.to), }); } -function postGenerateDocs() { - removeDuplicateVersionBadge(`${outputDir}/camunda-8-rest-api.info.mdx`); +function postGenerateDocs(config) { + removeDuplicateVersionBadge( + `${config.outputDir}/camunda-8-rest-api.info.mdx` + ); } function addDisclaimer(originalSpec) { @@ -256,7 +256,6 @@ function addFrequentlyLinkedDocs() { } module.exports = { - outputDir, preGenerateDocs, postGenerateDocs, }; diff --git a/api/camunda/version-8.6/camunda-openapi.yaml b/api/camunda/version-8.6/camunda-openapi.yaml new file mode 100644 index 0000000000..63d358f30c --- /dev/null +++ b/api/camunda/version-8.6/camunda-openapi.yaml @@ -0,0 +1,3853 @@ +# Disclaimer: This is a modified version of the Camunda REST API specification, optimized for the documentation. + +openapi: "3.0.3" +info: + title: Camunda 8 REST API + version: "0.1" + description: API for communicating with a Camunda 8 cluster. + license: + name: Camunda License Version 1.0 + url: https://github.com/camunda/camunda/blob/main/licenses/CAMUNDA-LICENSE-1.0.txt +externalDocs: + description: Find out more + url: https://docs.camunda.io/docs/apis-tools/camunda-api-rest/overview/ + +servers: + - url: "{schema}://{host}:{port}/v2" + variables: + host: + default: localhost + description: The hostname of the Camunda 8 REST Gateway. + port: + default: "8080" + description: The port of the Camunda 8 REST API server. + schema: + default: http + description: The schema of the Camunda 8 REST API server. + +paths: + /topology: + get: + tags: + - Cluster + summary: Get cluster topology + description: Obtains the current topology of the cluster the gateway is part of. + responses: + "200": + description: Obtains the current topology of the cluster the gateway is part of. + content: + application/json: + schema: + $ref: "#/components/schemas/TopologyResponse" + /license: + get: + tags: + - License + summary: Get status of Camunda license + description: Obtains the status of the current Camunda license + responses: + "200": + description: Obtains the current status of the Camunda license + content: + application/json: + schema: + $ref: "#/components/schemas/LicenseResponse" + /jobs/activation: + post: + tags: + - Job + summary: Activate jobs + description: | + Iterate through all known partitions and activate jobs up to the requested maximum. + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/JobActivationRequest" + responses: + "200": + description: The list of activated jobs. + content: + application/json: + schema: + $ref: "#/components/schemas/JobActivationResponse" + "400": + description: > + The provided data is not valid. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "500": + description: > + An internal error occurred while processing the request. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + /jobs/{jobKey}/failure: + post: + tags: + - Job + summary: Fail job + description: | + Mark the job as failed + parameters: + - name: jobKey + in: path + required: true + description: The key of the job to fail. + schema: + type: integer + format: int64 + requestBody: + required: false + content: + application/json: + schema: + $ref: "#/components/schemas/JobFailRequest" + responses: + "204": + description: The job is failed. + "400": + description: > + The provided data is not valid. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "404": + description: > + The job with the given jobKey is not found. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "409": + description: > + The job with the given key is in the wrong state currently. + More details are provided in the response body. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "500": + description: > + An internal error occurred while processing the request. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + /jobs/{jobKey}/error: + post: + tags: + - Job + summary: Report error for job + description: | + Reports a business error (i.e. non-technical) that occurs while processing a job. + parameters: + - name: jobKey + in: path + required: true + description: The key of the job. + schema: + type: integer + format: int64 + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/JobErrorRequest" + responses: + "204": + description: An error is thrown for the job. + "400": + description: > + The provided data is not valid. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "404": + description: > + The job with the given jobKey is not found. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "409": + description: > + The job with the given key is in the wrong state currently. + More details are provided in the response body. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "500": + description: > + An internal error occurred while processing the request. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + /jobs/{jobKey}/completion: + post: + tags: + - Job + summary: Complete job + description: | + Complete a job with the given payload, which allows completing the associated service task. + parameters: + - name: jobKey + in: path + required: true + description: The key of the job to complete. + schema: + type: integer + format: int64 + requestBody: + required: false + content: + application/json: + schema: + $ref: "#/components/schemas/JobCompletionRequest" + responses: + "204": + description: The job was completed successfully. + "400": + description: > + The job with the given key cannot be completed. + More details are provided in the response body. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "404": + description: The job with the given key was not found. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "409": + description: > + The job with the given key is in the wrong state currently. + More details are provided in the response body. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "500": + description: > + An internal error occurred while processing the request. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + /jobs/{jobKey}: + patch: + tags: + - Job + summary: Update a job + description: Update a job with the given key. + parameters: + - name: jobKey + in: path + required: true + description: The key of the job to update. + schema: + type: integer + format: int64 + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/JobUpdateRequest" + responses: + "204": + description: The job was updated successfully. + "400": + description: > + The provided data is not valid. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "404": + description: The job with the jobKey is not found. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "409": + description: > + The job with the given key is in the wrong state currently. + More details are provided in the response body. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "500": + description: > + An internal error occurred while processing the request. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + + /incidents/{incidentKey}/resolution: + post: + tags: + - Incident + summary: Resolve incident + description: > + Marks the incident as resolved; most likely a call to Update job will be necessary + to reset the job’s retries, followed by this call. + parameters: + - name: incidentKey + in: path + required: true + description: Key of the incident to resolve. + schema: + type: integer + format: int64 + responses: + "204": + description: The incident is marked as resolved. + "400": + description: The provided data is not valid. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "404": + description: The incident with the incidentKey is not found. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "500": + description: An internal error occurred while processing the request. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + + /user-tasks/{userTaskKey}/completion: + post: + tags: + - User task + summary: Complete user task + description: Completes a user task with the given key. + parameters: + - name: userTaskKey + in: path + required: true + description: The key of the user task to complete. + schema: + type: integer + format: int64 + requestBody: + required: false + content: + application/json: + schema: + $ref: "#/components/schemas/UserTaskCompletionRequest" + + responses: + "204": + description: The user task was completed successfully. + "400": + description: > + The user task with the given key cannot be completed. + More details are provided in the response body. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "404": + description: The user task with the given key was not found. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "409": + description: > + The user task with the given key is in the wrong state currently. + More details are provided in the response body. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "500": + description: > + An internal error occurred while processing the request. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + /user-tasks/{userTaskKey}/assignment: + post: + tags: + - User task + summary: Assign user task + description: Assigns a user task with the given key to the given assignee. + parameters: + - name: userTaskKey + in: path + required: true + description: The key of the user task to assign. + schema: + type: integer + format: int64 + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/UserTaskAssignmentRequest" + responses: + "204": + description: The user task's assignment was adjusted. + "400": + description: > + The assignment of the user task with the given key cannot be completed. + More details are provided in the response body. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "404": + description: The user task with the given key was not found. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "409": + description: > + The user task with the given key is in the wrong state currently. + More details are provided in the response body. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "500": + description: > + An internal error occurred while processing the request. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + /user-tasks/{userTaskKey}: + patch: + tags: + - User task + summary: Update user task + description: Update a user task with the given key. + parameters: + - name: userTaskKey + in: path + required: true + description: The key of the user task to update. + schema: + type: integer + format: int64 + requestBody: + required: false + content: + application/json: + schema: + $ref: "#/components/schemas/UserTaskUpdateRequest" + responses: + "204": + description: The user task was updated successfully. + "400": + description: > + The user task with the given key cannot be updated. + More details are provided in the response body. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "404": + description: The user task with the given key was not found. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "409": + description: > + The user task with the given key is in the wrong state currently. + More details are provided in the response body. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "500": + description: > + An internal error occurred while processing the request. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + /user-tasks/{userTaskKey}/assignee: + delete: + tags: + - User task + summary: Unassign user task + description: Removes the assignee of a task with the given key. + parameters: + - name: userTaskKey + in: path + required: true + description: The key of the user task. + schema: + type: integer + format: int64 + responses: + "204": + description: The user task was unassigned successfully. + "400": + description: > + The user task with the given key cannot be unassigned. + More details are provided in the response body. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "404": + description: The user task with the given key was not found. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "409": + description: > + The user task with the given key is in the wrong state currently. + More details are provided in the response body. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "500": + description: > + An internal error occurred while processing the request. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + /user-tasks/search: + post: + tags: + - User task + summary: Query user tasks (alpha) + description: | + Search for user tasks based on given criteria. + + :::note + This endpoint is an alpha feature and not enabled on Camunda clusters out of the box. + See the [Camunda 8 REST API overview](/apis-tools/camunda-api-rest/camunda-api-rest-overview.md#query-api) + for further details. + ::: + requestBody: + required: false + content: + application/json: + schema: + $ref: "#/components/schemas/UserTaskSearchQueryRequest" + responses: + "200": + description: > + The user task search successful response. + content: + application/json: + schema: + $ref: "#/components/schemas/UserTaskSearchQueryResponse" + "400": + description: > + The user task search query failed. + More details are provided in the response body. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "500": + description: > + An internal error occurred while processing the request. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + + /clock: + put: + tags: + - Clock + summary: Pin internal clock (alpha) + description: | + Set a precise, static time for the Zeebe engine’s internal clock. + When the clock is pinned, it remains at the specified time and does not advance. + To change the time, the clock must be pinned again with a new timestamp. + + :::note + This endpoint is an [alpha feature](/reference/alpha-features.md) and may be subject to change + in future releases. + ::: + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/ClockPinRequest" + responses: + "204": + description: > + The clock was successfully pinned to the specified time in epoch milliseconds. + "400": + description: The required timestamp parameter is missing or it is negative. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "500": + description: An internal error occurred while processing the request. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + /clock/reset: + post: + tags: + - Clock + summary: Reset internal clock (alpha) + description: | + Resets the Zeebe engine’s internal clock to the current system time, enabling it to tick in real-time. + This operation is useful for returning the clock to + normal behavior after it has been pinned to a specific time. + + :::note + This endpoint is an [alpha feature](/reference/alpha-features.md) and may be subject to change + in future releases. + responses: + "204": + description: The clock was successfully reset to the system time. + "500": + description: An internal error occurred while processing the request. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + + /process-instances: + post: + tags: + - Process instance + summary: Create process instance + description: | + Creates and starts an instance of the specified process. + The process definition to use to create the instance can be specified either using its unique key + (as returned by Deploy resources), or using the BPMN process ID and a version. + + Waits for the completion of the process instance before returning a result + when awaitCompletion is enabled. + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/CreateProcessInstanceRequest" + examples: + "By process definition key": + summary: "Create a process instance by processDefinitionKey." + value: + processDefinitionKey: 12345 + variables: {} + "By process definition ID": + summary: "Create a process instance by processDefinitionId and version." + value: + processDefinitionId: "1234-5678" + version: 1 + variables: {} + responses: + "200": + description: The process instance was created. + content: + application/json: + schema: + $ref: "#/components/schemas/CreateProcessInstanceResponse" + "400": + description: The provided data is not valid. + "500": + description: An internal error occurred while processing the request. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + /process-instances/search: + post: + tags: + - Process instance + summary: Query process instances (alpha) + description: | + Search for process instances based on given criteria. + + :::note + This endpoint is an alpha feature and not enabled on Camunda clusters out of the box. + See the [Camunda 8 REST API overview](/apis-tools/camunda-api-rest/camunda-api-rest-overview.md#query-api) + for further details. + ::: + requestBody: + required: false + content: + application/json: + schema: + $ref: "#/components/schemas/ProcessInstanceSearchQueryRequest" + responses: + "200": + description: > + The Process Instance Search successful response. + content: + application/json: + schema: + $ref: "#/components/schemas/ProcessInstanceSearchQueryResponse" + "400": + description: > + The Process Instance Search Query failed. + More details are provided in the response body. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "500": + description: > + An internal error occurred while processing the request. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + /process-instances/{processInstanceKey}/cancellation: + post: + tags: + - Process instance + summary: Cancel process instance + description: Cancels a running process instance. + parameters: + - name: processInstanceKey + in: path + required: true + description: The key of the process instance to cancel. + schema: + type: integer + format: int64 + requestBody: + required: false + content: + application/json: + schema: + $ref: "#/components/schemas/CancelProcessInstanceRequest" + responses: + "204": + description: The process instance is canceled. + "400": + description: The provided data is not valid. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "404": + description: The process instance is not found. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "500": + description: An internal error occurred while processing the request. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + /process-instances/{processInstanceKey}/migration: + post: + tags: + - Process instance + summary: Migrate process instance + description: | + Migrates a process instance to a new process definition. + This request can contain multiple mapping instructions to define mapping between the active + process instance's elements and target process definition elements. + + Use this to upgrade a process instance to a new version of a process or to + a different process definition, e.g. to keep your running instances up-to-date with the + latest process improvements. + parameters: + - name: processInstanceKey + in: path + required: true + description: The key of the process instance that should be migrated. + schema: + type: integer + format: int64 + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/MigrateProcessInstanceRequest" + responses: + "204": + description: The process instance is migrated. + "400": + description: The provided data is not valid. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "404": + description: The process instance is not found. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "500": + description: An internal error occurred while processing the request. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + /process-instances/{processInstanceKey}/modification: + post: + tags: + - Process instance + summary: Modify process instance + description: | + Modifies a running process instance. + This request can contain multiple instructions to activate an element of the process or + to terminate an active instance of an element. + + Use this to repair a process instance that is stuck on an element or took an unintended path. + For example, because an external system is not available or doesn't respond as expected. + parameters: + - name: processInstanceKey + in: path + required: true + description: The key of the process instance that should be modified. + schema: + type: integer + format: int64 + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/ModifyProcessInstanceRequest" + responses: + "204": + description: The process instance is modified. + "400": + description: The provided data is not valid. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "404": + description: The process instance is not found. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "500": + description: An internal error occurred while processing the request. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + + /flownode-instances/search: + post: + tags: + - Flow node Instance + summary: Query flow node instances (alpha) + description: | + Search for flow node instances based on given criteria. + + :::note + This endpoint is an alpha feature and not enabled on Camunda clusters out of the box. + See the [Camunda 8 REST API overview](/apis-tools/camunda-api-rest/camunda-api-rest-overview.md#query-api) + for further details. + ::: + requestBody: + required: false + content: + application/json: + schema: + $ref: "#/components/schemas/FlowNodeInstanceSearchQueryRequest" + responses: + "200": + description: > + The Flow node instance search successful response. + content: + application/json: + schema: + $ref: "#/components/schemas/FlowNodeInstanceSearchQueryResponse" + "400": + description: > + The Flow node instance Search Query failed. + More details are provided in the response body. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "500": + description: > + An internal error occurred while processing the request. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + /decision-definitions/search: + post: + tags: + - Decision definition + summary: Query decision definitions (alpha) + description: | + Search for decision definitions based on given criteria. + + :::note + This endpoint is an alpha feature and not enabled on Camunda clusters out of the box. + See the [Camunda 8 REST API overview](/apis-tools/camunda-api-rest/camunda-api-rest-overview.md#query-api) + for further details. + ::: + requestBody: + required: false + content: + application/json: + schema: + $ref: "#/components/schemas/DecisionDefinitionSearchQueryRequest" + responses: + "200": + description: > + The Decision Definition Search successful response. + content: + application/json: + schema: + $ref: "#/components/schemas/DecisionDefinitionSearchQueryResponse" + "400": + description: > + The Decision Definition Search Query failed. + More details are provided in the response body. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "500": + description: > + An internal error occurred while processing the request. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + /decision-definitions/{decisionDefinitionKey}/xml: + get: + tags: + - Decision definition + summary: Get decision definition XML (alpha) + description: | + Returns decision definition as XML. + + :::note + This endpoint is an alpha feature and not enabled on Camunda clusters out of the box. + See the [Camunda 8 REST API overview](/apis-tools/camunda-api-rest/camunda-api-rest-overview.md#query-api) + for further details. + ::: + parameters: + - name: decisionDefinitionKey + in: path + required: true + description: The assigned key of the decision definition, which acts as a unique identifier for this decision. + schema: + type: integer + format: int64 + responses: + "200": + description: > + The XML of the decision definition is successfully returned. + content: + text/xml: + schema: + type: string + "400": + description: > + The Decision Definition Get XML failed. + More details are provided in the response body. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "404": + description: > + The decision with the given key was not found. + More details are provided in the response body. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "500": + description: > + An internal error occurred while processing the request. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + /decision-requirements/search: + post: + tags: + - Decision requirements + summary: Query decision requirements (alpha) + description: | + Search for decision requirements based on given criteria. + + :::note + This endpoint is an alpha feature and not enabled on Camunda clusters out of the box. + See the [Camunda 8 REST API overview](/apis-tools/camunda-api-rest/camunda-api-rest-overview.md#query-api) + for further details. + ::: + requestBody: + required: false + content: + application/json: + schema: + $ref: "#/components/schemas/DecisionRequirementsSearchQueryRequest" + responses: + "200": + description: > + The decision requirements search successful response. + content: + application/json: + schema: + $ref: "#/components/schemas/DecisionRequirementsSearchQueryResponse" + "400": + description: > + The decision requirements search query failed. + More details are provided in the response body. + + /decision-instances/search: + post: + tags: + - Decision instance + summary: Query decision instances (alpha) + description: | + Search for decision instances based on given criteria. + + :::note + This endpoint is an alpha feature and not enabled on Camunda clusters out of the box. + See the [Camunda 8 REST API overview](/apis-tools/camunda-api-rest/camunda-api-rest-overview.md#query-api) + for further details. + ::: + requestBody: + required: false + content: + application/json: + schema: + $ref: "#/components/schemas/DecisionInstanceSearchQueryRequest" + responses: + "200": + description: > + The decision instance search successful response. + content: + application/json: + schema: + $ref: "#/components/schemas/DecisionInstanceSearchQueryResponse" + "400": + description: > + The decision instance search query failed. + More details are provided in the response body. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "500": + description: > + An internal error occurred while processing the request. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + + /decision-definitions/evaluation: + post: + tags: + - Decision definition + summary: Evaluate decision + description: | + Evaluates a decision. + You specify the decision to evaluate either by using its unique key (as returned by + DeployResource), or using the decision ID. When using the decision ID, the latest deployed + version of the decision is used. + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/EvaluateDecisionRequest" + examples: + "By decision definition key": + summary: "Evaluate the decision by decisionDefinitionKey." + value: + decisionDefinitionKey: 12345 + variables: {} + "By decision definition ID": + summary: "Evaluate the decision by decisionDefinitionId." + value: + decisionDefinitionId: "1234-5678" + variables: {} + responses: + "200": + description: The decision was evaluated. + content: + application/json: + schema: + $ref: "#/components/schemas/EvaluateDecisionResponse" + "400": + description: The provided data is not valid. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "404": + description: The decision is not found. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "500": + description: An internal error occurred while processing the request. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + + /messages/publication: + post: + tags: + - Message + summary: Publish a message + description: | + Publishes a single message. + Messages are published to specific partitions computed from their correlation keys. + The endpoint does not wait for a correlation result. + Use the message correlation endpoint for such use cases. + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/MessagePublicationRequest" + responses: + "200": + description: The message was published. + content: + application/json: + schema: + $ref: "#/components/schemas/MessagePublicationResponse" + "400": + description: The provided data is not valid. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "500": + description: Internal server error. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + /messages/correlation: + post: + tags: + - Message + summary: Correlate a message + description: | + Publishes a message and correlates it to a subscription. + If correlation is successful it will return the first process instance key the message correlated with. + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/MessageCorrelationRequest" + responses: + "200": + description: The message is correlated to one or more process instances + content: + application/json: + schema: + $ref: "#/components/schemas/MessageCorrelationResponse" + "400": + description: The provided data is not valid + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "403": + description: Unauthorized + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "404": + description: Not found + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "500": + description: Internal server error + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + + /documents: + post: + tags: + - Documents + summary: Upload document (alpha) + description: | + Upload a document to the Camunda 8 cluster. + + :::note + This endpoint is an alpha feature. It currently only supports an in-memory document store, + which is not meant for production use. + ::: + parameters: + - name: storeId + in: query + required: false + description: The ID of the document store to upload the document to. + schema: + type: string + - name: documentId + in: query + required: false + description: > + The ID of the document to upload. If not provided, a new ID will be generated. + Specifying an existing ID will result in an error if the document already exists. + schema: + type: string + requestBody: + required: true + content: + multipart/form-data: + schema: + type: object + properties: + file: + type: string + format: binary + metadata: + $ref: "#/components/schemas/DocumentMetadata" + required: + - file + encoding: + metadata: + contentType: application/json + responses: + "201": + description: The document was uploaded successfully. + content: + application/json: + schema: + $ref: "#/components/schemas/DocumentReference" + "400": + description: > + The document upload failed. More details are provided in the response body. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + /documents/{documentId}: + get: + tags: + - Documents + summary: Download document (alpha) + description: | + Download a document from the Camunda 8 cluster. + + :::note + This endpoint is an alpha feature. It currently only supports an in-memory document store, + which is not meant for production use. + ::: + parameters: + - name: documentId + in: path + required: true + description: The ID of the document to download. + schema: + type: string + - name: storeId + in: query + required: false + description: The ID of the document store to download the document from. + schema: + type: string + responses: + "200": + description: The document was downloaded successfully. + content: + application/octet-stream: + schema: + type: string + format: binary + "404": + description: > + The document with the given ID was not found. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "500": + description: > + An internal error occurred while processing the request. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + delete: + tags: + - Documents + summary: Delete document (alpha) + description: | + Delete a document from the Camunda 8 cluster. + + :::note + This endpoint is an alpha feature. It currently only supports an in-memory document store, + which is not meant for production use. + ::: + parameters: + - name: documentId + in: path + required: true + description: The ID of the document to delete. + schema: + type: string + - name: storeId + in: query + required: false + description: The ID of the document store to delete the document from. + schema: + type: string + responses: + "200": + description: The document was deleted successfully. + "404": + description: > + The document with the given ID was not found. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "500": + description: > + An internal error occurred while processing the request. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + /document/{documentId}/links: + post: + tags: + - Documents + summary: Create document link (alpha) + description: | + Create a link to a document in the Camunda 8 cluster. + + :::note + This endpoint is an alpha feature. It currently only supports an in-memory document store, + which is not meant for production use. + ::: + parameters: + - name: documentId + in: path + required: true + description: The ID of the document to link. + schema: + type: string + - name: storeId + in: query + required: false + description: The ID of the document store to link the document from. + schema: + type: string + requestBody: + required: false + content: + application/json: + schema: + $ref: "#/components/schemas/DocumentLinkRequest" + responses: + "201": + description: The document link was created successfully. + content: + application/json: + schema: + $ref: "#/components/schemas/DocumentLink" + "400": + description: > + The document link creation failed. More details are provided in the response body. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + + /users/search: + post: + tags: + - User + summary: "Query users (alpha)" + description: | + Search for users based on given criteria. + + :::note + This endpoint is an alpha feature and not enabled on Camunda clusters out of the box. + See the [Camunda 8 REST API overview](/apis-tools/camunda-api-rest/camunda-api-rest-overview.md#query-api) + for further details. + ::: + operationId: "findAllUsers" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/UserSearchQueryRequest" + required: true + responses: + "200": + description: "OK" + content: + application/json: + schema: + $ref: "#/components/schemas/UserSearchResponse" + "400": + description: "Bad request" + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "401": + description: "Unauthorized" + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "403": + description: "Forbidden" + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "404": + description: "Not found" + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "500": + description: "Internal server error" + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + + /incidents/search: + post: + tags: + - Incident + summary: Query incidents (alpha) + description: | + Search for incidents based on given criteria. + + :::note + This endpoint is an alpha feature and not enabled on Camunda clusters out of the box. + See the [Camunda 8 REST API overview](/apis-tools/camunda-api-rest/camunda-api-rest-overview.md#query-api) + for further details. + ::: + requestBody: + required: false + content: + application/json: + schema: + $ref: "#/components/schemas/IncidentSearchQueryRequest" + responses: + "200": + description: > + The incident search successful response. + content: + application/json: + schema: + $ref: "#/components/schemas/IncidentSearchQueryResponse" + "400": + description: > + The incident search query failed. + More details are provided in the response body. + "401": + description: "Unauthorized" + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "403": + description: "Forbidden" + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "404": + description: "Not found" + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "500": + description: "Internal server error" + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + /incidents/{incidentKey}: + get: + tags: + - Incident + summary: Get incident by key (alpha) + description: | + Returns incident as JSON. + :::note + This endpoint is an alpha feature and not enabled on Camunda clusters out of the box. + See the [Camunda 8 REST API overview](/apis-tools/camunda-api-rest/camunda-api-rest-overview.md#query-api) + for further details. + ::: + parameters: + - name: incidentKey + in: path + required: true + description: The assigned key of the incident, which acts as a unique identifier for this incident. + schema: + type: integer + format: int64 + responses: + "200": + description: > + The incident is successfully returned. + content: + application/json: + schema: + $ref: "#/components/schemas/IncidentItem" + "400": + description: > + The incident Get failed. + More details are provided in the response body. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "404": + description: > + The incident with the given key was not found. + More details are provided in the response body. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "500": + description: > + An internal error occurred while processing the request. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + /deployments: + post: + tags: + - Resource + summary: Deploy resources + description: | + Deploys one or more resources (e.g. processes, decision models, or forms). + This is an atomic call, i.e. either all resources are deployed or none of them are. + requestBody: + required: true + content: + multipart/form-data: + schema: + type: object + properties: + resources: + type: array + description: | + The binary data to create the deployment resources. It is possible to have more than one form part with different form part names for the binary data to create a deployment. + items: + type: string + format: binary + tenantId: + type: string + description: The tenant to deploy the resources to. + required: + - resource + responses: + "200": + description: The resources are deployed. + content: + application/json: + schema: + $ref: "#/components/schemas/DeploymentResponse" + "400": + description: > + The document upload failed. More details are provided in the response body. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + /resources/{resourceKey}/deletion: + post: + tags: + - Resource + summary: Delete resource + description: | + Deletes a deployed resource. + This can be a process definition, decision requirements definition, or form definition + deployed using the deploy resources endpoint. Specify the resource you want to delete in the `resourceKey` parameter. + parameters: + - name: resourceKey + in: path + required: true + description: | + The key of the resource to delete. + This can be the key of a process definition, the key of a decision requirements + definition or the key of a form definition + schema: + type: integer + format: int64 + requestBody: + required: false + content: + application/json: + schema: + $ref: "#/components/schemas/DeleteResourceRequest" + responses: + "200": + description: The resource is deleted. + "400": + description: The provided data is not valid. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "404": + description: The resource is not found. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "500": + description: An internal error occurred while processing the request. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + + /element-instances/{elementInstanceKey}/variables: + post: + tags: + - Element instance + summary: Update element instance variables + description: | + Updates all the variables of a particular scope (for example, process instance, flow element instance) with the given variable data. + Specify the element instance in the `elementInstanceKey` parameter. + parameters: + - name: elementInstanceKey + in: path + required: true + description: | + The key of the element instance to update the variables for. + This can be the process instance key (as obtained during instance creation), or a given + element, such as a service task (see the `elementInstanceKey` on the job message). + schema: + type: integer + format: int64 + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/SetVariableRequest" + responses: + "204": + description: The variables were updated. + "400": + description: The provided data is not valid. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "500": + description: An internal error occurred while processing the request. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + + /signals/broadcast: + post: + tags: + - Signal + summary: Broadcast signal + description: Broadcasts a signal. + requestBody: + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/SignalBroadcastRequest" + responses: + "200": + description: The signal was broadcast. + content: + application/json: + schema: + $ref: "#/components/schemas/SignalBroadcastResponse" + "400": + description: The provided data is not valid. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "404": + description: The signal is not found. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + "500": + description: An internal error occurred while processing the request. + content: + application/problem+json: + schema: + $ref: "#/components/schemas/ProblemDetail" + +components: + schemas: + UserTaskSearchQueryRequest: + allOf: + - $ref: "#/components/schemas/SearchQueryRequest" + description: User task search query request. + type: object + properties: + filter: + $ref: "#/components/schemas/UserTaskFilterRequest" + UserTaskSearchQueryResponse: + allOf: + - $ref: "#/components/schemas/SearchQueryResponse" + description: User task search query response. + type: object + properties: + items: + type: array + items: + $ref: "#/components/schemas/UserTaskItem" + UserTaskFilterRequest: + description: User task filter request. + type: object + properties: + key: + type: integer + format: int64 + state: + type: string + assignee: + type: string + elementId: + type: string + candidateGroup: + type: string + candidateUser: + type: string + processDefinitionKey: + type: integer + format: int64 + processInstanceKey: + type: integer + format: int64 + tenantIds: + type: string + processDefinitionId: + type: string + variables: + type: array + items: + $ref: "#/components/schemas/UserTaskVariableFilterRequest" + UserTaskVariableFilterRequest: + type: object + properties: + name: + type: string + value: + type: string + UserTaskItem: + type: object + properties: + key: + type: integer + format: int64 + state: + type: string + assignee: + type: string + elementId: + type: string + elementInstanceKey: + type: integer + format: int64 + candidateGroup: + type: array + items: + type: string + candidateUser: + type: array + items: + type: string + processDefinitionId: + type: string + processDefinitionKey: + type: integer + format: int64 + processInstanceKey: + type: integer + format: int64 + formKey: + type: integer + format: int64 + creationDate: + type: string + format: date-time + completionDate: + type: string + format: date-time + followUpDate: + type: string + format: date-time + dueDate: + type: string + format: date-time + tenantIds: + type: string + externalFormReference: + type: string + processDefinitionVersion: + type: integer + format: int32 + customHeaders: + type: object + additionalProperties: + type: string + priority: + type: integer + description: The priority of a user task. The higher the value the higher the priority. + minimum: 0 + maximum: 100 + default: 50 + ProcessInstanceSearchQueryRequest: + allOf: + - $ref: "#/components/schemas/SearchQueryRequest" + type: object + properties: + filter: + allOf: + - $ref: "#/components/schemas/ProcessInstanceFilterRequest" + ProcessInstanceFilterRequest: + type: object + properties: + running: + type: boolean + active: + type: boolean + incidents: + type: boolean + finished: + type: boolean + completed: + type: boolean + canceled: + type: boolean + retriesLeft: + type: boolean + errorMessage: + type: string + activityId: + type: string + startDate: + type: string + format: date-time + endDate: + type: string + format: date-time + bpmnProcessId: + type: string + description: The bpmn process ID. + processDefinitionVersion: + type: integer + format: int32 + variable: + allOf: + - $ref: "#/components/schemas/ProcessInstanceVariableFilterRequest" + batchOperationId: + type: string + parentProcessInstanceKey: + type: integer + format: int64 + tenantId: + type: string + ProcessInstanceVariableFilterRequest: + type: object + properties: + name: + type: string + values: + type: array + items: + type: string + ProcessInstanceSearchQueryResponse: + allOf: + - $ref: "#/components/schemas/SearchQueryResponse" + type: object + properties: + items: + type: array + items: + $ref: "#/components/schemas/ProcessInstanceItem" + ProcessInstanceItem: + type: object + properties: + key: + type: integer + format: int64 + processDefinitionName: + type: string + description: The process name. + processDefinitionVersion: + type: integer + format: int32 + bpmnProcessId: + type: string + parentKey: + type: integer + format: int64 + parentFlowNodeInstanceKey: + type: integer + format: int64 + startDate: + type: string + format: date-time + endDate: + type: string + format: date-time + state: + type: string + enum: + - ACTIVE + - INCIDENT + - COMPLETED + - CANCELED + - UNKNOWN + - UNSPECIFIED + incident: + type: boolean + hasActiveOperation: + type: boolean + processDefinitionKey: + type: integer + format: int64 + tenantId: + type: string + rootInstanceId: + type: string + operations: + type: array + items: + $ref: "#/components/schemas/OperationItem" + callHierarchy: + type: array + items: + $ref: "#/components/schemas/ProcessInstanceReferenceItem" + CancelProcessInstanceRequest: + type: object + nullable: true + properties: + operationReference: + description: | + A reference key chosen by the user that will be part of all records resulting from this operation. + Must be > 0 if provided. + type: integer + format: int64 + minimum: 1 + + FlowNodeInstanceSearchQueryRequest: + description: Flow node instance search request + allOf: + - $ref: "#/components/schemas/SearchQueryRequest" + type: object + properties: + filter: + allOf: + - $ref: "#/components/schemas/FlowNodeInstanceFilterRequest" + FlowNodeInstanceFilterRequest: + type: object + properties: + flowNodeInstanceKey: + type: integer + description: The key of this flow node instance. + format: int64 + processInstanceKey: + type: integer + description: The process instance key. + format: int64 + processDefinitionKey: + type: integer + description: The process definition key. + format: int64 + state: + type: string + description: The state, one of ACTIVE, COMPLETED, TERMINATED. + type: + type: string + description: The flow node type + flowNodeId: + type: string + description: The flow node id + flowNodeName: + type: string + description: The flow node name + treePath: + type: string + description: The path of keys from process instance to this flow node instance separated by '/' + incident: + type: boolean + description: Shows whether this flow node instance has an incident related to + incidentKey: + type: integer + description: The key of incident if field incident is true + format: int64 + tenantId: + description: The tenant id + type: string + FlowNodeInstanceSearchQueryResponse: + allOf: + - $ref: "#/components/schemas/SearchQueryResponse" + type: object + properties: + items: + type: array + items: + $ref: "#/components/schemas/FlowNodeInstanceItem" + FlowNodeInstanceItem: + type: object + properties: + flowNodeInstanceKey: + type: integer + format: int64 + processInstanceKey: + type: integer + format: int64 + processDefinitionKey: + type: integer + format: int64 + startDate: + type: string + endDate: + type: string + flowNodeId: + type: string + flowNodeName: + type: string + treePath: + type: string + type: + type: string + state: + type: string + incident: + type: boolean + incidentKey: + type: integer + format: int64 + tenantId: + type: string + DecisionDefinitionSearchQueryRequest: + allOf: + - $ref: "#/components/schemas/SearchQueryRequest" + type: object + properties: + filter: + allOf: + - $ref: "#/components/schemas/DecisionDefinitionFilterRequest" + DecisionDefinitionFilterRequest: + type: object + properties: + decisionDefinitionKey: + type: integer + format: int64 + description: The assigned key, which acts as a unique identifier for this decision definition. + decisionDefinitionId: + type: string + description: The DMN id of the decision definition. + decisionDefinitionName: + type: string + description: The DMN name of the decision definition. + version: + type: integer + format: int32 + description: The assigned version of the decision definition. + decisionRequirementsId: + type: string + description: the DMN id of the decision requirements graph that the decision definition is part of. + decisionRequirementsKey: + type: integer + format: int64 + description: The assigned key of the decision requirements graph that the decision definition is part of. + tenantId: + type: string + description: The tenant id of the decision definition. + IncidentSearchQueryRequest: + allOf: + - $ref: "#/components/schemas/SearchQueryRequest" + type: object + properties: + filter: + allOf: + - $ref: "#/components/schemas/IncidentFilterRequest" + IncidentFilterRequest: + type: object + properties: + key: + type: integer + format: int64 + description: The assigned key, which acts as a unique identifier for this incident. + processDefinitionKey: + type: integer + format: int64 + description: The process definition key associated to this incident. + processDefinitionId: + type: string + description: The bpmn process id associated to this incident. + processInstanceKey: + type: integer + format: int64 + description: The process instance key associated to this incident. + errorType: + type: string + description: Incident error type with a defined set of values. + enum: + - UNSPECIFIED + - UNKNOWN + - IO_MAPPING_ERROR + - JOB_NO_RETRIES + - CONDITION_ERROR + - EXTRACT_VALUE_ERROR + - CALLED_ELEMENT_ERROR + - UNHANDLED_ERROR_EVENT + - MESSAGE_SIZE_EXCEEDED + - CALLED_DECISION_ERROR + - DECISION_EVALUATION_ERROR + - FORM_NOT_FOUND + errorMessage: + type: string + description: Error message which describes the error in more detail. + flowNodeId: + type: string + description: The flow node id associated to this incident. + flowNodeInstanceKey: + type: integer + format: int64 + description: The flow node instance key associated to this incident. + creationTime: + type: string + description: Date of incident creation. + format: date-time + state: + type: string + description: State of this incident with a defined set of values. + enum: + - ACTIVE + - MIGRATED + - RESOLVED + - PENDING + jobKey: + type: integer + format: int64 + description: The job key, if exists, associated with this incident. + treePath: + type: string + description: The path from process instance via flow node ids and flow node instance keys leading to this incident. + tenantId: + description: The tenant id of the incident. + type: string + IncidentSearchQueryResponse: + allOf: + - $ref: "#/components/schemas/SearchQueryResponse" + type: object + properties: + items: + type: array + items: + $ref: "#/components/schemas/IncidentItem" + IncidentItem: + type: object + properties: + key: + type: integer + format: int64 + description: The assigned key, which acts as a unique identifier for this incident. + processDefinitionKey: + type: integer + format: int64 + description: The process definition key associated to this incident. + processDefinitionId: + type: string + description: The bpmn process id associated to this incident. + processInstanceKey: + type: integer + format: int64 + description: The process instance key associated to this incident. + errorType: + type: string + description: Incident error type with a defined set of values. + enum: + - UNSPECIFIED + - UNKNOWN + - IO_MAPPING_ERROR + - JOB_NO_RETRIES + - CONDITION_ERROR + - EXTRACT_VALUE_ERROR + - CALLED_ELEMENT_ERROR + - UNHANDLED_ERROR_EVENT + - MESSAGE_SIZE_EXCEEDED + - CALLED_DECISION_ERROR + - DECISION_EVALUATION_ERROR + - FORM_NOT_FOUND + errorMessage: + type: string + description: Error message which describes the error in more detail. + flowNodeId: + type: string + description: The flow node id associated to this incident. + flowNodeInstanceKey: + type: integer + format: int64 + description: The flow node instance key associated to this incident. + creationTime: + type: string + description: Date of incident creation. + format: date-time + state: + type: string + description: State of this incident with a defined set of values. + enum: + - ACTIVE + - MIGRATED + - RESOLVED + - PENDING + jobKey: + type: integer + description: The job key, if exists, associated with this incident. + format: int64 + treePath: + type: string + description: The path from process instance via flow node ids and flow node instance keys leading to this incident. + tenantId: + description: The tenant id of the incident. + type: string + OperationItem: + description: " Operation" + type: object + properties: + id: + type: string + batchOperationId: + type: string + type: + type: string + enum: + - RESOLVE_INCIDENT + - CANCEL_PROCESS_INSTANCE + - DELETE_PROCESS_INSTANCE + - ADD_VARIABLE + - UPDATE_VARIABLE + - MODIFY_PROCESS_INSTANCE + - DELETE_DECISION_DEFINITION + - DELETE_PROCESS_DEFINITION + - MIGRATE_PROCESS_INSTANCE + state: + type: string + enum: + - SCHEDULED + - LOCKED + - SENT + - FAILED + - COMPLETED + errorMessage: + type: string + completedDate: + type: string + format: date-time + ProcessInstanceReferenceItem: + description: "Process instance reference description" + type: object + properties: + instanceId: + type: string + processDefinitionId: + type: string + processDefinitionName: + type: string + DecisionDefinitionSearchQueryResponse: + allOf: + - $ref: "#/components/schemas/SearchQueryResponse" + type: object + properties: + items: + type: array + items: + $ref: "#/components/schemas/DecisionDefinitionItem" + DecisionDefinitionItem: + type: object + properties: + decisionDefinitionKey: + type: integer + format: int64 + description: The assigned key, which acts as a unique identifier for this decision definition. + decisionDefinitionId: + type: string + description: The DMN id of the decision definition. + decisionDefinitionName: + type: string + description: The DMN name of the decision definition. + version: + type: integer + format: int32 + description: The assigned version of the decision definition. + decisionRequirementsId: + type: string + description: the DMN id of the decision requirements graph that the decision definition is part of. + decisionRequirementsKey: + type: integer + format: int64 + description: The assigned key of the decision requirements graph that the decision definition is part of. + tenantId: + type: string + description: The tenant id of the decision definition. + AuthorizationPatchRequest: + type: object + properties: + action: + description: Indicates if permissions should be added or removed. + type: string + enum: + - ADD + - REMOVE + resourceType: + description: The type of resource to add/remove perissions to/from. + enum: + - AUTHORIZATION + - MESSAGE + - JOB + - APPLICATION + - TENANT + - DEPLOYMENT + - PROCESS_DEFINITION + - USER_TASK + - DECISION_REQUIREMENTS_DEFINITION + - DECISION_DEFINITION + - USER_GROUP + - USER + - ROLE + permissions: + type: array + description: The permissions to add/remove. + items: + properties: + permissionType: + description: Specifies the type of permissions. + enum: + - CREATE + - READ + - UPDATE + - DELETE + resourceIds: + type: array + description: A list of resource IDs the permission relates to. + items: + type: string + UserRequest: + type: "object" + properties: + password: + type: "string" + username: + type: "string" + name: + type: "string" + email: + type: "string" + UserCreateResponse: + type: "object" + properties: + userKey: + description: The key of the created user + type: "integer" + format: "int64" + UserSearchQueryRequest: + allOf: + - $ref: "#/components/schemas/SearchQueryRequest" + type: object + properties: + filter: + allOf: + - $ref: "#/components/schemas/UserFilterRequest" + UserFilterRequest: + type: object + properties: + username: + type: "string" + name: + type: "string" + email: + type: "string" + UserResponse: + type: "object" + properties: + id: + type: "integer" + format: "int64" + key: + type: "integer" + format: "int64" + username: + type: "string" + name: + type: "string" + email: + type: "string" + UserSearchResponse: + type: object + allOf: + - $ref: "#/components/schemas/SearchQueryResponse" + properties: + items: + type: array + items: + $ref: "#/components/schemas/UserResponse" + TopologyResponse: + description: The response of a topology request. + type: object + properties: + brokers: + description: A list of brokers that are part of this cluster. + type: array + nullable: true + items: + $ref: "#/components/schemas/BrokerInfo" + clusterSize: + description: The number of brokers in the cluster. + type: integer + format: int32 + nullable: true + partitionsCount: + description: The number of partitions are spread across the cluster. + type: integer + format: int32 + nullable: true + replicationFactor: + description: The configured replication factor for this cluster. + type: integer + format: int32 + nullable: true + gatewayVersion: + description: The version of the Zeebe Gateway. + type: string + nullable: true + LicenseResponse: + description: The response of a license request. + type: object + properties: + validLicense: + description: True if the Camunda license is valid, false if otherwise + type: boolean + nullable: false + licenseType: + description: Will return the license type property of the Camunda license + type: string + BrokerInfo: + description: Provides information on a broker node. + type: object + properties: + nodeId: + description: The unique (within a cluster) node ID for the broker. + type: integer + format: int32 + host: + description: The hostname for reaching the broker. + type: string + port: + description: The port for reaching the broker. + type: integer + format: int32 + partitions: + description: A list of partitions managed or replicated on this broker. + type: array + items: + $ref: "#/components/schemas/Partition" + version: + description: The broker version. + type: string + Partition: + description: Provides information on a partition within a broker node. + type: object + properties: + partitionId: + description: The unique ID of this partition. + type: integer + format: int32 + role: + description: Describes the Raft role of the broker for a given partition. + type: string + enum: + - leader + - follower + - inactive + health: + description: Describes the current health of the partition. + type: string + enum: + - healthy + - unhealthy + - dead + UserTaskCompletionRequest: + type: object + properties: + variables: + additionalProperties: true + description: The variables to complete the user task with. + type: object + nullable: true + action: + description: > + A custom action value that will be accessible from user task events resulting + from this endpoint invocation. If not provided, it will default to "complete". + type: string + nullable: true + UserTaskAssignmentRequest: + type: object + properties: + assignee: + description: The assignee for the user task. The assignee must not be empty or `null`. + type: string + nullable: false + allowOverride: + description: > + By default, the task is reassigned if it was already assigned. Set this to `false` + to return an error in such cases. The task must then first be unassigned to + be assigned again. Use this when you have users picking from group task + queues to prevent race conditions. + type: boolean + nullable: true + action: + description: > + A custom action value that will be accessible from user task events resulting + from this endpoint invocation. If not provided, it will default to "assign". + type: string + nullable: true + UserTaskUpdateRequest: + type: object + properties: + changeset: + $ref: "#/components/schemas/Changeset" + action: + description: > + A custom action value that will be accessible from user task events resulting + from this endpoint invocation. If not provided, it will default to "update". + type: string + nullable: true + Changeset: + description: | + JSON object with changed task attribute values. + + The following attributes can be adjusted with this endpoint, additional attributes + will be ignored: + + * `candidateGroups` - reset by providing an empty list + * `candidateUsers` - reset by providing an empty list + * `dueDate` - reset by providing an empty String + * `followUpDate` - reset by providing an empty String + * `priority` - minimum 0, maximum 100, default 50 + + Providing any of those attributes with a `null` value or omitting it preserves + the persisted attribute's value. + + The assignee cannot be adjusted with this endpoint, use the Assign task endpoint. + This ensures correct event emission for assignee changes. + type: object + nullable: true + additionalProperties: true + properties: + dueDate: + type: string + format: date-time + description: The due date of the task. Reset by providing an empty String. + nullable: true + followUpDate: + type: string + format: date-time + description: The follow-up date of the task. Reset by providing an empty String. + nullable: true + candidateUsers: + type: array + description: The list of candidate users of the task. Reset by providing an empty list. + items: + type: string + nullable: true + candidateGroups: + type: array + description: The list of candidate groups of the task. Reset by providing an empty list. + items: + type: string + nullable: true + priority: + type: integer + format: int32 + description: The priority of the task. + minimum: 0 + default: 50 + maximum: 100 + nullable: true + ClockPinRequest: + type: object + properties: + timestamp: + description: The exact time in epoch milliseconds to which the clock should be pinned. + type: integer + format: int64 + required: + - timestamp + JobActivationRequest: + type: object + properties: + type: + description: > + the job type, as defined in the BPMN process (e.g. ) + type: string + worker: + description: the name of the worker activating the jobs, mostly used for logging purposes + type: string + nullable: true + timeout: + description: > + a job returned after this call will not be activated by another call until the + timeout (in ms) has been reached + type: integer + format: int64 + maxJobsToActivate: + description: the maximum jobs to activate by this request + type: integer + format: int32 + fetchVariable: + description: > + a list of variables to fetch as the job variables; if empty, all visible variables at + the time of activation for the scope of the job will be returned + type: array + nullable: true + items: + type: string + requestTimeout: + description: > + The request will be completed when at least one job is activated or after the + requestTimeout (in ms). If the requestTimeout = 0, a default timeout is used. + If the requestTimeout < 0, long polling is disabled and the request is completed + immediately, even when no job is activated. + type: integer + format: int64 + default: 0 + nullable: true + tenantIds: + description: a list of IDs of tenants for which to activate jobs + type: array + items: + type: string + nullable: true + required: + - type + - timeout + - maxJobsToActivate + JobActivationResponse: + description: The list of activated jobs + type: object + properties: + jobs: + type: array + items: + $ref: "#/components/schemas/ActivatedJob" + ActivatedJob: + type: object + properties: + key: + description: the key, a unique identifier for the job + type: integer + format: int64 + type: + description: the type of the job (should match what was requested) + type: string + processInstanceKey: + description: the job's process instance key + type: integer + format: int64 + processDefinitionId: + description: the bpmn process ID of the job's process definition + type: string + processDefinitionVersion: + description: the version of the job's process definition + type: integer + format: int32 + processDefinitionKey: + description: the key of the job's process definition + type: integer + format: int64 + elementId: + description: the associated task element ID + type: string + elementInstanceKey: + description: > + the unique key identifying the associated task, unique within the scope of the + process instance + type: integer + format: int64 + customHeaders: + description: a set of custom headers defined during modelling; returned as a serialized JSON document + type: object + additionalProperties: true + worker: + description: the name of the worker which activated this job + type: string + retries: + description: the amount of retries left to this job (should always be positive) + type: integer + format: int32 + deadline: + description: when the job can be activated again, sent as a UNIX epoch timestamp + type: integer + format: int64 + variables: + description: All variables visible to the task scope, computed at activation time + type: object + additionalProperties: true + tenantId: + description: The ID of the tenant that owns the job + type: string + JobFailRequest: + type: object + properties: + retries: + description: > + The amount of retries the job should have left + type: integer + format: int32 + default: 0 + errorMessage: + description: > + An optional message describing why the job failed. This is particularly useful if a job + runs out of retries and an incident is raised, as this message can help explain why an + incident was raised. + type: string + nullable: true + retryBackOff: + description: > + The backoff timeout (in ms) for the next retry. + type: integer + format: int64 + default: 0 + variables: + additionalProperties: true + description: > + JSON object that will instantiate the variables at the local scope of the job's + associated task. + type: object + nullable: true + JobErrorRequest: + type: object + properties: + errorCode: + description: > + The error code that will be matched with an error catch event. + type: string + errorMessage: + description: > + An error message that provides additional context. + type: string + nullable: true + variables: + additionalProperties: true + description: > + JSON object that will instantiate the variables at the local scope of the error catch event that catches the thrown error. + type: object + nullable: true + required: + - errorCode + JobCompletionRequest: + type: object + properties: + variables: + additionalProperties: true + description: The variables to complete the job with. + type: object + nullable: true + JobUpdateRequest: + type: object + properties: + changeset: + $ref: "#/components/schemas/JobChangeset" + required: + - changeset + JobChangeset: + description: | + JSON object with changed job attribute values. + + The following attributes can be adjusted with this endpoint, additional attributes + will be ignored: + + * `retries` - The new amount of retries for the job; must be a positive number. + * `timeout` - The duration of the new timeout in ms, starting from the current moment. + + Providing any of those attributes with a null value or omitting it preserves the persisted attribute’s value. + + The job cannot be completed or failed with this endpoint, use the complete job or fail job endpoints instead. + type: object + properties: + retries: + type: integer + format: int32 + description: The new amount of retries for the job; must be a positive number. + nullable: true + timeout: + type: integer + format: int64 + description: The duration of the new timeout in ms, starting from the current moment. + nullable: true + + ProblemDetail: + description: > + A Problem detail object as described in [RFC 9457](https://www.rfc-editor.org/rfc/rfc9457). + There may be additional properties specific to the problem type. + type: object + properties: + type: + type: string + format: uri + description: A URI identifying the problem type. + default: about:blank + title: + type: string + description: A summary of the problem type. + status: + type: integer + format: int32 + description: The HTTP status code for this problem. + minimum: 400 + maximum: 600 + detail: + type: string + description: An explanation of the problem in more detail. + instance: + type: string + format: uri + description: A URI identifying the origin of the problem. + SearchQueryRequest: + type: object + properties: + sort: + type: array + items: + allOf: + - $ref: "#/components/schemas/SearchQuerySortRequest" + page: + allOf: + - $ref: "#/components/schemas/SearchQueryPageRequest" + type: object + SearchQueryPageRequest: + type: object + properties: + from: + type: integer + format: int32 + limit: + type: integer + format: int32 + searchAfter: + type: array + items: + type: object + searchBefore: + type: array + items: + type: object + SearchQuerySortRequest: + type: object + properties: + field: + type: string + order: + type: string + default: asc + required: + - field + SearchQueryResponse: + type: object + properties: + page: + allOf: + - $ref: "#/components/schemas/SearchQueryPageResponse" + type: object + SearchQueryPageResponse: + type: object + properties: + totalItems: + type: integer + format: int64 + firstSortValues: + type: array + items: + type: object + lastSortValues: + type: array + items: + type: object + VariableValueFilterRequest: + type: object + properties: + name: + type: string + eq: + type: object + neq: + type: object + gt: + type: object + gte: + type: object + lt: + type: object + lte: + type: object + DecisionRequirementsSearchQueryRequest: + allOf: + - $ref: "#/components/schemas/SearchQueryRequest" + type: object + properties: + filter: + allOf: + - $ref: "#/components/schemas/DecisionRequirementsFilterRequest" + DecisionRequirementsFilterRequest: + type: object + properties: + decisionRequirementsKey: + type: integer + format: int64 + description: The assigned key, which acts as a unique identifier for this decision requirements. + decisionRequirementsName: + type: string + description: The DMN name of the decision requirements. + version: + type: integer + format: int32 + description: The assigned version of the decision requirements. + decisionRequirementsId: + type: string + description: the DMN id of the decision requirements. + tenantId: + type: string + description: The tenant ID of the decision requirements. + DecisionRequirementsSearchQueryResponse: + allOf: + - $ref: "#/components/schemas/SearchQueryResponse" + type: object + properties: + items: + type: array + items: + $ref: "#/components/schemas/DecisionRequirementsItem" + DecisionRequirementsItem: + type: object + properties: + decisionRequirementsKey: + type: integer + format: int64 + description: The assigned key, which acts as a unique identifier for this decision requirements. + decisionRequirementsName: + type: string + description: The DMN name of the decision requirements. + version: + type: integer + format: int32 + description: The assigned version of the decision requirements. + decisionRequirementsId: + type: string + description: the DMN id of the decision requirements. + resourceName: + type: string + description: The name of the resource from which this decision requirements was parsed. + tenantId: + type: string + description: The tenant ID of the decision requirements. + EvaluateDecisionRequest: + type: object + oneOf: + - $ref: "#/components/schemas/EvaluateDecisionRequestByKey" + - $ref: "#/components/schemas/EvaluateDecisionRequestById" + EvaluateDecisionRequestByKey: + type: object + allOf: + - $ref: "#/components/schemas/EvaluateDecisionRequestBase" + properties: + decisionDefinitionKey: + description: | + The unique key identifying the decision to be evaluated. + Cannot be used together with decisionDefinitionId. + type: integer + format: int64 + EvaluateDecisionRequestById: + type: object + allOf: + - $ref: "#/components/schemas/EvaluateDecisionRequestBase" + properties: + decisionDefinitionId: + description: | + The ID of the decision to be evaluated. + Cannot be used together with decisionDefinitionKey. When using the decision ID, the latest + deployed version of the decision is used. + type: string + EvaluateDecisionRequestBase: + type: object + properties: + variables: + description: The message variables as JSON document. + additionalProperties: true + type: object + tenantId: + description: The tenant ID of the decision. + type: string + EvaluateDecisionResponse: + type: object + properties: + decisionDefinitionKey: + description: The unique key identifying the decision which was evaluated. + type: integer + format: int64 + decisionDefinitionId: + description: The ID of the decision which was evaluated. + type: string + decisionDefinitionName: + description: The name of the decision which was evaluated. + type: string + decisionDefinitionVersion: + description: The version of the decision which was evaluated. + type: integer + format: int32 + decisionRequirementsId: + description: The ID of the decision requirements graph that the decision which was evaluated is part of. + type: string + decisionRequirementsKey: + description: The unique key identifying the decision requirements graph that the decision which was evaluated is part of. + type: integer + format: int64 + output: + description: | + JSON document that will instantiate the result of the decision which was evaluated. + type: string + failedDecisionDefinitionId: + description: The ID of the decision which failed during evaluation. + type: string + failureMessage: + description: Message describing why the decision which was evaluated failed. + type: string + tenantId: + description: The tenant ID of the evaluated decision. + type: string + decisionInstanceKey: + description: The unique key identifying this decision evaluation. + type: integer + format: int64 + evaluatedDecisions: + type: array + items: + $ref: "#/components/schemas/EvaluatedDecisionItem" + EvaluatedDecisionItem: + type: object + description: List of decisions that were evaluated within the requested decision evaluation. + properties: + decisionDefinitionKey: + description: The unique key identifying the decision which was evaluate. + type: integer + format: int64 + decisionDefinitionId: + description: The ID of the decision which was evaluated. + type: string + decisionDefinitionName: + description: The name of the decision which was evaluated. + type: string + decisionDefinitionVersion: + description: The version of the decision which was evaluated. + type: integer + format: int32 + decisionDefinitionType: + description: The type of the decision which was evaluated. + type: string + output: + description: | + JSON document that will instantiate the result of the decision which was evaluated. + type: string + tenantId: + description: The tenant ID of the evaluated decision. + type: string + matchedRules: + type: array + items: + $ref: "#/components/schemas/MatchedDecisionRuleItem" + evaluatedInputs: + type: array + items: + $ref: "#/components/schemas/EvaluatedDecisionInputItem" + MatchedDecisionRuleItem: + type: object + description: The decision rules that matched within this decision evaluation. + properties: + ruleId: + description: The ID of the matched rule. + type: string + ruleIndex: + description: The index of the matched rule. + type: integer + format: int32 + evaluatedOutputs: + type: array + items: + $ref: "#/components/schemas/EvaluatedDecisionOutputItem" + EvaluatedDecisionInputItem: + type: object + description: The decision inputs that were evaluated within this decision evaluation. + properties: + inputId: + description: The ID of the evaluated decision input. + type: string + inputName: + description: The name of the evaluated decision input. + type: string + inputValue: + description: The value of the evaluated decision input. + type: string + EvaluatedDecisionOutputItem: + type: object + description: The evaluated decision outputs. + properties: + outputId: + description: The ID of the evaluated decision output. + type: string + outputName: + description: The name of the evaluated decision output. + type: string + outputValue: + description: The value of the evaluated decision output. + type: string + DecisionInstanceSearchQueryRequest: + allOf: + - $ref: "#/components/schemas/SearchQueryRequest" + type: object + properties: + filter: + allOf: + - $ref: "#/components/schemas/DecisionInstanceFilterRequest" + DecisionInstanceFilterRequest: + type: object + properties: + key: + type: integer + format: int64 + description: The key of the decision instance. + state: + $ref: "#/components/schemas/DecisionInstanceStateEnum" + description: The state of the decision instance. + evaluationFailure: + type: string + description: The evaluation failure of the decision instance. + processDefinitionKey: + type: integer + format: int64 + description: The key of the process definition. + processInstanceKey: + type: integer + format: int64 + description: The key of the process instance. + decisionDefinitionKey: + type: integer + format: int64 + description: The key of the decision. + decisionDefinitionId: + type: string + description: The ID of the DMN decision. + decisionDefinitionName: + type: string + description: The name of the DMN decision. + decisionDefinitionVersion: + type: integer + format: int32 + description: The version of the decision. + decisionDefinitionType: + $ref: "#/components/schemas/DecisionInstanceTypeEnum" + description: The type of the decision. + tenantId: + type: string + description: The tenant ID of the decision instance. + DecisionInstanceSearchQueryResponse: + allOf: + - $ref: "#/components/schemas/SearchQueryResponse" + type: object + properties: + items: + type: array + items: + $ref: "#/components/schemas/DecisionInstanceItem" + + DecisionInstanceItem: + type: object + properties: + key: + type: integer + format: int64 + description: The key of the decision instance. + state: + $ref: "#/components/schemas/DecisionInstanceStateEnum" + description: The state of the decision instance. + evaluationDate: + type: string + format: date-time + description: The evaluation date of the decision instance. + evaluationFailure: + type: string + description: The evaluation failure of the decision instance. + processDefinitionKey: + type: integer + format: int64 + description: The key of the process definition. + processInstanceKey: + type: integer + format: int64 + description: The key of the process instance. + decisionDefinitionKey: + type: integer + format: int64 + description: The key of the decision. + decisionDefinitionId: + type: string + description: The ID of the DMN decision. + decisionDefinitionName: + type: string + description: The name of the DMN decision. + decisionDefinitionVersion: + type: integer + format: int32 + description: The version of the decision. + decisionDefinitionType: + $ref: "#/components/schemas/DecisionInstanceTypeEnum" + description: The type of the decision. + result: + type: string + description: The result of the decision instance. + tenantId: + type: string + description: The tenant ID of the decision instance. + + DecisionInstanceTypeEnum: + enum: + - DECISION + - DECISION_TABLE + - LITERAL_EXPRESSION + - RELATION + - UNSPECIFIED + - UNKNOWN + DecisionInstanceStateEnum: + enum: + - EVALUATED + - FAILED + - UNKNOWN + - UNSPECIFIED + + MessageCorrelationRequest: + type: object + properties: + name: + description: > + The message name as defined in the BPMN process + type: string + correlationKey: + description: The correlation key of the message + type: string + default: "" + variables: + description: The message variables as JSON document + additionalProperties: true + type: object + nullable: true + tenantId: + description: the tenant for which the message is published + type: string + nullable: true + MessageCorrelationResponse: + description: | + The message key of the correlated message, as well as the first process instance key it + correlated with. + type: object + properties: + messageKey: + description: The key of the correlated message + type: integer + format: int64 + tenantId: + description: The tenant ID of the correlated message + type: string + processInstanceKey: + description: The key of the first process instance the message correlated with + type: integer + format: int64 + MessagePublicationRequest: + type: object + properties: + name: + description: The name of the message. + type: string + correlationKey: + description: The correlation key of the message. + type: string + default: "" + timeToLive: + description: Timespan (in ms) to buffer the message on the broker. + type: integer + format: int64 + default: 0 + messageId: + description: | + The unique ID of the message. Only useful to ensure only one message with the given ID + will ever be published (during its lifetime). + type: string + nullable: true + variables: + description: The message variables as JSON document. + additionalProperties: true + type: object + nullable: true + tenantId: + description: The tenant of the message sender. + type: string + nullable: true + required: + - name + - correlationKey + MessagePublicationResponse: + description: The message key of the published message. + type: object + properties: + messageKey: + description: The key of the message + type: integer + format: int64 + tenantId: + description: The tenant ID of the message. + type: string + + DocumentReference: + type: object + properties: + documentType: + type: string + description: Document discriminator. Always set to "camunda". + enum: + - camunda + storeId: + type: string + description: The ID of the document store. + documentId: + type: string + description: The ID of the document. + metadata: + $ref: "#/components/schemas/DocumentMetadata" + DocumentMetadata: + type: object + additionalProperties: true + properties: + contentType: + type: string + description: The content type of the document. + fileName: + type: string + description: The name of the file. + expiresAt: + type: string + format: date-time + description: The date and time when the document expires. + size: + type: integer + format: int64 + description: The size of the document in bytes. + DocumentLinkRequest: + type: object + properties: + expiresAt: + type: string + format: date-time + description: The date and time when the link expires. + nullable: true + DocumentLink: + type: object + properties: + url: + type: string + description: The link to the document. + expiresAt: + type: string + format: date-time + description: The date and time when the link expires. + + DeploymentResponse: + type: object + properties: + deploymentKey: + type: integer + format: int64 + description: The unique key identifying the deployment. + deployments: + type: array + items: + $ref: "#/components/schemas/DeploymentMetadata" + tenantId: + type: string + DeploymentMetadata: + type: object + properties: + processDefinition: + $ref: "#/components/schemas/DeploymentProcess" + decisionDefinition: + $ref: "#/components/schemas/DeploymentDecision" + decisionRequirements: + $ref: "#/components/schemas/DeploymentDecisionRequirements" + form: + $ref: "#/components/schemas/DeploymentForm" + DeploymentProcess: + type: object + properties: + processDefinitionId: + type: string + description: | + The bpmn process ID, as parsed during deployment, together with the version forms a + unique identifier for a specific process definition. + processDefinitionVersion: + type: integer + format: int32 + description: The assigned process version. + processDefinitionKey: + type: integer + format: int64 + description: The assigned key, which acts as a unique identifier for this process. + resourceName: + type: string + description: The resource name from which this process was parsed. + tenantId: + type: string + description: The tenant ID of the deployed process. + DeploymentDecision: + type: object + properties: + decisionDefinitionId: + type: string + description: | + The dmn decision ID, as parsed during deployment, together with the version forms a + unique identifier for a specific decision. + version: + type: integer + format: int32 + description: The assigned decision version. + decisionDefinitionKey: + type: integer + format: int64 + description: | + The assigned decision key, which acts as a unique identifier for this decision. + name: + type: string + description: The DMN name of the decision, as parsed during deployment. + tenantId: + type: string + description: The tenant ID of the deployed decision. + decisionRequirementsId: + type: string + description: | + The dmn ID of the decision requirements graph that this decision is part of, as parsed during deployment. + decisionRequirementsKey: + type: integer + format: int64 + description: | + The assigned key of the decision requirements graph that this decision is part of. + DeploymentDecisionRequirements: + type: object + properties: + decisionRequirementsId: + type: string + description: | + The dmn decision requirements ID, as parsed during deployment; together with the versions forms a unique identifier for a specific decision. + version: + type: integer + format: int32 + description: The assigned decision requirements version. + decisionRequirementsName: + type: string + description: The DMN name of the decision requirements, as parsed during deployment. + tenantId: + type: string + description: The tenant ID of the deployed decision requirements. + decisionRequirementsKey: + type: integer + format: int64 + description: | + The assigned decision requirements key, which acts as a unique identifier for this decision requirements. + resourceName: + type: string + description: The resource name from which this decision requirements was parsed. + DeploymentForm: + type: object + properties: + formId: + type: string + description: | + The form ID, as parsed during deployment, together with the version forms a + unique identifier for a specific form. + version: + type: integer + format: int32 + description: The assigned form version. + formKey: + type: integer + format: int64 + description: The assigned key, which acts as a unique identifier for this form. + resourceName: + type: string + description: The resource name from which this form was parsed. + tenantId: + type: string + description: The tenant ID of the deployed form. + + CreateProcessInstanceRequest: + type: object + oneOf: + - $ref: "#/components/schemas/CreateProcessInstanceRequestByKey" + - $ref: "#/components/schemas/CreateProcessInstanceRequestById" + CreateProcessInstanceRequestByKey: + type: object + allOf: + - $ref: "#/components/schemas/CreateProcessInstanceRequestBase" + properties: + processDefinitionKey: + description: | + The unique key identifying the process definition, e.g. returned for a process in the + deploy resources endpoint. Cannot be used together with processDefinitionId. + type: integer + format: int64 + CreateProcessInstanceRequestById: + type: object + allOf: + - $ref: "#/components/schemas/CreateProcessInstanceRequestBase" + properties: + processDefinitionId: + description: | + The BPMN process ID of the process definition to start an instance of. + Cannot be used together with processDefinitionKey. + type: string + processDefinitionVersion: + description: | + The version of the process. Only considered when a processDefinitionId is provided. + By default, the latest version of the process is used. + type: integer + format: int32 + default: -1 + CreateProcessInstanceRequestBase: + type: object + properties: + variables: + description: | + JSON object that will instantiate the variables for the root variable scope + of the process instance. + type: object + additionalProperties: true + tenantId: + description: The tenant ID of the process definition. + type: string + operationReference: + description: | + A reference key chosen by the user that will be part of all records resulting from this operation. + Must be >0 if provided. + type: integer + format: int64 + minimum: 1 + startInstructions: + description: | + List of start instructions. By default, the process instance will start at + the start event. If provided, the process instance will apply start instructions + after it has been created. + type: array + items: + $ref: "#/components/schemas/ProcessInstanceCreationStartInstruction" + awaitCompletion: + description: | + Wait for the process instance to complete. If the process instance completion does + not occur within the requestTimeout, the request will be closed. Disabled by default. + type: boolean + default: false + fetchVariables: + description: | + List of variables names to be included in the response. + If empty, all visible variables in the root scope will be returned. + type: array + items: + type: string + requestTimeout: + description: | + Timeout (in ms) the request waits for the process to complete. By default or + when set to 0, the generic request timeout configured in the cluster is applied. + type: integer + format: int64 + ProcessInstanceCreationStartInstruction: + type: object + properties: + elementId: + description: | + Future extensions might include: + - different types of start instructions + - ability to set local variables for different flow scopes + + For now, however, the start instruction is implicitly a "startBeforeElement" instruction + type: string + CreateProcessInstanceResponse: + type: object + properties: + processDefinitionKey: + description: | + The key of the process definition which was used to create the process instance. + type: integer + format: int64 + processDefinitionId: + description: | + The BPMN process ID of the process definition which was used to create the process. + instance + type: string + processDefinitionVersion: + description: | + The version of the process definition which was used to create the process instance. + type: integer + format: int32 + processInstanceKey: + description: | + The unique identifier of the created process instance; to be used wherever a request + needs a process instance key (e.g. CancelProcessInstanceRequest). + type: integer + format: int64 + tenantId: + description: The tenant ID of the created process instance. + type: string + variables: + additionalProperties: true + description: All the variables visible in the root scope. + type: object + MigrateProcessInstanceRequest: + type: object + properties: + targetProcessDefinitionKey: + description: The key of process definition to migrate the process instance to. + type: integer + format: int64 + mappingInstructions: + type: array + items: + $ref: "#/components/schemas/MigrateProcessInstanceMappingInstruction" + operationReference: + description: > + A reference key chosen by the user that will be part of all records resulting from this operation. + Must be > 0 if provided. + type: integer + format: int64 + minimum: 1 + required: + - targetProcessDefinitionKey + - mappingInstructions + MigrateProcessInstanceMappingInstruction: + type: object + description: | + The mapping instructions describe how to map elements from the source process definition to the target process definition. + properties: + sourceElementId: + description: The element ID to migrate from. + type: string + targetElementId: + description: The element ID to migrate into. + type: string + required: + - sourceElementId + - targetElementId + ModifyProcessInstanceRequest: + type: object + properties: + activateInstructions: + type: array + items: + $ref: "#/components/schemas/ModifyProcessInstanceActivateInstruction" + terminateInstructions: + type: array + items: + $ref: "#/components/schemas/ModifyProcessInstanceTerminateInstruction" + operationReference: + description: > + A reference key chosen by the user that will be part of all records resulting from this operation. + Must be > 0 if provided. + type: integer + format: int64 + minimum: 1 + ModifyProcessInstanceActivateInstruction: + type: object + description: | + Instructions describing which elements should be activated in which scopes and which variables should be created. + properties: + elementId: + description: The ID of the element that should be activated. + type: string + ancestorElementInstanceKey: + description: | + The key of the ancestor scope the element instance should be created in. + Set to -1 to create the new element instance within an existing element instance of the + flow scope. + type: integer + format: int64 + default: -1 + variableInstructions: + type: array + items: + $ref: "#/components/schemas/ModifyProcessInstanceVariableInstruction" + required: + - elementId + ModifyProcessInstanceVariableInstruction: + type: object + description: Instructions describing which variables should be created. + properties: + variables: + description: | + JSON document that will instantiate the variables for the root variable scope of the process instance. + It must be a JSON object, as variables will be mapped in a key-value fashion. + additionalProperties: true + type: object + scopeId: + description: | + The ID of the element in which scope the variables should be created. + Leave empty to create the variables in the global scope of the process instance + type: string + default: "" + required: + - variables + ModifyProcessInstanceTerminateInstruction: + type: object + description: Instructions describing which elements should be terminated. + properties: + elementInstanceKey: + description: The ID of the element that should be terminated. + type: integer + format: int64 + required: + - elementInstanceKey + + SetVariableRequest: + type: object + properties: + variables: + description: JSON object representing the variables to set in the element’s scope. + additionalProperties: true + type: object + local: + description: | + If set to true, the variables are merged strictly into the local scope (as specified by the `elementInstanceKey`). + Otherwise, the variables are propagated to upper scopes and set at the outermost one. + + Let’s consider the following example: + + There are two scopes '1' and '2'. + Scope '1' is the parent scope of '2'. The effective variables of the scopes are: + 1 => { "foo" : 2 } + 2 => { "bar" : 1 } + + An update request with elementInstanceKey as '2', variables { "foo" : 5 }, and local set + to true leaves scope '1' unchanged and adjusts scope '2' to { "bar" : 1, "foo" 5 }. + + By default, with local set to false, scope '1' will be { "foo": 5 } + and scope '2' will be { "bar" : 1 }. + type: boolean + default: false + operationReference: + description: > + A reference key chosen by the user that will be part of all records resulting from this operation. + Must be > 0 if provided. + type: integer + format: int64 + minimum: 1 + required: + - variables + + DeleteResourceRequest: + type: object + nullable: true + properties: + operationReference: + description: | + A reference key chosen by the user that will be part of all records resulting from this operation. + Must be > 0 if provided. + type: integer + format: int64 + minimum: 1 + + SignalBroadcastRequest: + type: object + properties: + signalName: + description: The name of the signal to broadcast. + type: string + variables: + additionalProperties: true + description: The signal variables as a JSON object. + type: object + tenantId: + description: The ID of the tenant that owns the signal. + type: string + required: + - signalName + SignalBroadcastResponse: + type: object + properties: + signalKey: + description: The unique ID of the signal that was broadcast. + type: integer + format: int64 + tenantId: + description: The tenant ID of the signal that was broadcast. + type: string + + securitySchemes: + bearerAuth: + type: http + scheme: bearer + bearerFormat: JWT diff --git a/docusaurus.config.js b/docusaurus.config.js index 521342baa5..a25032fb67 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -169,6 +169,18 @@ module.exports = { groupPathsBy: "tag", }, hideSendButton: true, + version: "1", + label: "Unused but required field", + baseUrl: "Unused but required field", + versions: { + 8.6: { + specPath: "api/camunda/version-8.6/camunda-openapi.yaml", + outputDir: + "versioned_docs/version-8.6/apis-tools/camunda-api-rest/specifications", + label: "Unused but required field", + baseUrl: "Unused but required field", + }, + }, }, }, },