### Get Start Form Variables Request Example Source: https://docs.camunda.org/manual/7.24/reference/rest/specification An example GET request to retrieve form variables for a process definition. ```HTTP GET `/process-definition/anId/form-variables` ``` -------------------------------- ### Get Start Form Variables Endpoint Examples Source: https://docs.camunda.org/manual/7.24/reference/rest/specification Examples of how to access the Get Start Form Variables endpoint for process definitions. ```HTTP http://{host}:{port}/{contextPath}/process-definition/key/{key}/form-variables ``` ```HTTP http://{host}:{port}/{contextPath}/engine/{engineName}/process-definition/key/{key}/form-variables ``` ```HTTP https://docs.camunda.org/rest/camunda-bpm-platform/7.24/{url}/process-definition/key/{key}/form-variables ``` -------------------------------- ### Get Local Task Variable (Binary) - Example URL Source: https://docs.camunda.org/manual/7.24/reference/rest/specification Example URLs for retrieving binary task variables. Choose the URL that matches your deployment setup. ```text http://{host}:{port}/{contextPath}/task/{id}/localVariables/{varName}/data http://{host}:{port}/{contextPath}/engine/{engineName}/task/{id}/localVariables/{varName}/data https://docs.camunda.org/rest/camunda-bpm-platform/7.24/{url}/task/{id}/localVariables/{varName}/data ``` -------------------------------- ### Start Form Key Response Sample Source: https://docs.camunda.org/manual/7.24/reference/rest/specification Example JSON response when successfully retrieving the start form key for a process definition. ```json { "key": "aFormKey", "contextPath": "http://localhost:8080/my-process-application/" } ``` -------------------------------- ### Process Instance Start Response Source: https://docs.camunda.org/manual/7.24/reference/rest/specification Example response for a successful process instance start operation. It includes links, instance ID, and other metadata. ```json { "links": [ { "method": "GET", "href": "http://localhost:8080/rest-test/process-instance/anId", "rel": "self" } ], "id": "anId", "definitionId": "aProcessDefinitionId", "definitionKey": "aProcessDefinitionKey", "businessKey": "myBusinessKey", "caseInstanceId": null, "tenantId": null, "ended": false, "suspended": false } ``` -------------------------------- ### Java Example: Starting Process Instance and Querying Tasks Source: https://docs.camunda.org/manual/7.24/reference/bpmn20/gateways/inclusive-gateway Demonstrates starting a process instance with specific variables and querying for created tasks using the Camunda Java API. ```java HashMap variableMap = new HashMap(); variableMap.put("receivedPayment", true); variableMap.put("shipOrder", true); ProcessInstance pi = runtimeService.startProcessInstanceByKey("forkJoin"); TaskQuery query = taskService.createTaskQuery() .processInstanceId(pi.getId()) .orderByTaskName() .asc(); List tasks = query.list(); assertEquals(1, tasks.size()); Task task = tasks.get(0); assertEquals("Ship Order", task.getName()); ``` -------------------------------- ### Get Job Request Example Source: https://docs.camunda.org/manual/7.24/reference/rest/specification This example demonstrates how to make a GET request to retrieve a specific job by its ID. ```HTTP GET `/job/aJobId` ``` -------------------------------- ### Get Diagram Endpoint Examples Source: https://docs.camunda.org/manual/7.24/reference/rest/specification Examples of how to access the Get Diagram endpoint for process definitions. ```HTTP http://{host}:{port}/{contextPath}/process-definition/key/{key}/diagram ``` ```HTTP http://{host}:{port}/{contextPath}/engine/{engineName}/process-definition/key/{key}/diagram ``` ```HTTP https://docs.camunda.org/rest/camunda-bpm-platform/7.24/{url}/process-definition/key/{key}/diagram ``` -------------------------------- ### Get Start Form Key Source: https://docs.camunda.org/manual/7.24/reference/rest/specification Retrieves the key of the start form for a process definition within a specific tenant. Ensure the process definition exists and has a start form defined. ```http GET process-definition/key/aKey/tenant-id/aTenantId/startForm ``` -------------------------------- ### Get Deployed Start Form Response Sample Source: https://docs.camunda.org/manual/7.24/reference/rest/specification This is a sample HTML form response for a deployed start form associated with a process definition. It includes input fields for form variables. ```html
(e.g. "Great Pizza for Everyone Inc.")
``` -------------------------------- ### Example Response for GET /history/process-instance Source: https://docs.camunda.org/manual/7.24/reference/rest/specification This snippet shows a sample JSON response for a GET request to the /history/process-instance endpoint, illustrating the structure of a historic process instance object. ```json [ { "id": "7c80cc8f-ef95-11e6-b6e6-34f39ab71d4e", "businessKey": null, "processDefinitionId": "invoice:1:7bf79f13-ef95-11e6-b6e6-34f39ab71d4e", "processDefinitionKey": "invoice", "processDefinitionName": "Invoice Receipt", "processDefinitionVersion": 1, "startTime": "2017-02-10T14:33:19.000+0200", "endTime": null, "removalTime": null, "durationInMillis": null, "startUserId": null, "startActivityId": "StartEvent_1", "deleteReason": null, "rootProcessInstanceId": "f8259e5d-ab9d-11e8-8449-e4a7a094a9d6", "superProcessInstanceId": null, "superCaseInstanceId": null, "caseInstanceId": null, "tenantId": null, "state": "ACTIVE", "restartedProcessInstanceId": "2bef365d-3406-11ef-bd73-0a0027000003" } ] ``` -------------------------------- ### Update Local Task Variable (Binary) - Example URL Source: https://docs.camunda.org/manual/7.24/reference/rest/specification Example URLs for updating binary task variables. Choose the URL that matches your deployment setup. ```text POST `/task/aTaskId/variables/aVarName/data` (1) POST `/task/aTaskId/variables/aVarName/data` (2) POST `/task/aTaskId/variables/aVarName/data` (3) POST `/task/aTaskId/variables/aVarName/data` (1) ``` -------------------------------- ### Start Process Instance with Modification in JUnit Test Source: https://docs.camunda.org/manual/7.24/user-guide/process-engine/process-instance-modification This example shows how to start a process instance directly at a specific activity, skipping earlier steps, and setting variables. This is highly useful for targeted testing in JUnit environments. ```java ProcessInstance processInstance = runtimeService.createProcessInstanceByKey("Loan_Application") .startBeforeActivity("application_OK") .setVariable("approved", true) .execute(); ``` -------------------------------- ### Enable Example Application Source: https://docs.camunda.org/manual/7.24/user-guide/camunda-bpm-run Configure whether the demo application is enabled on startup. Defaults to false. ```properties camunda.bpm.run.example.enabled=true ``` -------------------------------- ### Example processes.xml Configuration Source: https://docs.camunda.org/manual/7.24/reference/deployment-descriptors/descriptors/processes-xml This example shows a basic configuration for a process archive named 'loan-approval', specifying the default process engine and properties for deployment. ```xml default false true ``` -------------------------------- ### Start Latest Process Instance by Key Source: https://docs.camunda.org/manual/7.24/user-guide/process-engine/process-versioning Starts a new process instance using the latest deployed version of the specified process definition key. This is the default and recommended approach. ```java processEngine.getRuntimeService().startProcessInstanceByKey("invoice"); // will use the latest version (2 in our example) ``` -------------------------------- ### Start Instance Source: https://docs.camunda.org/manual/7.24/reference/rest/specification Instantiates a given process definition, starting the latest version of the process definition for a specific tenant. Process variables and business key can be provided in the request body. ```APIDOC ## POST /process-definition/key/{key}/tenant-id/{tenant-id}/start ### Description Instantiates a given process definition, starting the latest version of the process definition for a specific tenant. Process variables and business key may be supplied in the request body. ### Method POST ### Endpoint http://{host}:{port}/{contextPath}/process-definition/key/{key}/tenant-id/{tenant-id}/start ### Parameters #### Path Parameters - **key** (string) - Required - The key of the process definition (the latest version thereof) to be retrieved. - **tenant-id** (string) - Required - The id of the tenant the process definition belongs to. #### Request Body - **businessKey** (string or null) - The business key of the process instance. - **variables** (object or null) - - **caseInstanceId** (string or null) - The case instance id the process instance is to be initialized with. - **startInstructions** (Array of objects or null) - Optional. A JSON array of instructions that specify which activities to start the process instance at. If this property is omitted, the process instance starts at its default blank start event. - **skipCustomListeners** (boolean or null) - Skip execution listener invocation for activities that are started or ended as part of this request. Note: This option is currently only respected when start instructions are submitted via the `startInstructions` property. - **skipIoMappings** (boolean or null) - Skip execution of input/output variable mappings for activities that are started or ended as part of this request. Note: This option is currently only respected when start instructions are submitted via the `startInstructions` property. - **withVariablesInReturn** (boolean or null) - Indicates if the variables, which was used by the process instance during execution, should be returned. Default value: `false` ### Request Example ```json { "variables": { "aVariable": { "value": "aStringValue", "type": "String" }, "anotherVariable": { "value": true, "type": "Boolean" } }, "businessKey": "myBusinessKey" } ``` ### Response #### Success Response (200) - **links** (Array) - Links to related resources. - **id** (string) - The id of the process instance. - **definitionId** (string) - The id of the process definition. - **definitionKey** (string) - The key of the process definition. - **businessKey** (string) - The business key of the process instance. - **caseInstanceId** (string or null) - The case instance id. - **tenantId** (string or null) - The tenant id. - **ended** (boolean) - Indicates if the process instance has ended. - **suspended** (boolean) - Indicates if the process instance is suspended. #### Response Example ```json { "links": [ { "method": "GET", "href": "http://localhost:8080/rest-test/process-instance/anId", "rel": "self" } ], "id": "anId", "definitionId": "aProcessDefinitionId", "definitionKey": "aProcessDefinitionKey", "businessKey": "myBusinessKey", "caseInstanceId": null, "tenantId": null, "ended": false, "suspended": false } ``` ``` -------------------------------- ### Get Historic Process Instance Response Sample (200 OK) Source: https://docs.camunda.org/manual/7.24/reference/rest/specification Example response for a successful retrieval of a historic process instance. Includes details like process definition ID, start time, and state. ```json { "id": "7c80cc8f-ef95-11e6-b6e6-34f39ab71d4e", "businessKey": null, "processDefinitionId": "invoice:1:7bf79f13-ef95-11e6-b6e6-34f39ab71d4e", "processDefinitionKey": "invoice", "processDefinitionName": "Invoice Receipt", "processDefinitionVersion": 1, "startTime": "2017-02-10T14:33:19.000+0200", "endTime": null, "removalTime": null, "durationInMillis": null, "startUserId": null, "startActivityId": "StartEvent_1", "deleteReason": null, "rootProcessInstanceId": "f8259e5d-ab9d-11e8-8449-e4a7a094a9d6", "superProcessInstanceId": null, "superCaseInstanceId": null, "caseInstanceId": null, "tenantId": null, "state": "ACTIVE", "restartedProcessInstanceId": "2bef365d-3406-11ef-bd73-0a0027000003" } ``` -------------------------------- ### Get Job Log Count - Named Process Engine Source: https://docs.camunda.org/manual/7.24/reference/rest/specification Example of how to query the count of historic job logs for a specific named process engine. This allows targeting a particular engine within a multi-engine setup. ```http http://{host}:{port}/{contextPath}/engine/{engineName}/history/job-log/count ``` -------------------------------- ### Start Process Instance with Variables Source: https://docs.camunda.org/manual/7.24/reference/rest/specification Starts a process instance with a business key and defined variables. Variables can be of various types like String or Boolean. ```json { "variables": { "aVariable": { "value": "aStringValue", "type": "String" }, "anotherVariable": { "value": true, "type": "Boolean" } }, "businessKey": "myBusinessKey" } ``` -------------------------------- ### Example Filter Request with Item Count Source: https://docs.camunda.org/manual/7.24/reference/rest/specification An example of a GET request to retrieve a filter, including the 'itemCount' query parameter to get the count of matched items. ```http GET /filter/aFilterId?itemCount=true ``` -------------------------------- ### Start Process Instance by Key Source: https://docs.camunda.org/manual/7.24/user-guide/process-engine/process-engine-concepts Use the RuntimeService to start a process instance by its key. This is the simplest way to initiate a process execution. ```java ProcessInstance instance = runtimeService.startProcessInstanceByKey("invoice"); ``` -------------------------------- ### Get Historic Detail Count Example Source: https://docs.camunda.org/manual/7.24/reference/rest/specification Example of a successful request to get the count of historic details, filtering by a variable name. This snippet demonstrates the expected JSON response format. ```json { "count": 3 } ``` -------------------------------- ### Create Deployment Request Example Source: https://docs.camunda.org/manual/7.24/reference/rest/specification This is a sample JSON response for a successful deployment creation. It includes details about the deployment, its associated process definitions, and links to related resources. ```json { "links": [ { "method": "GET", "href": "http://localhost:38080/rest-test/deployment/aDeploymentId", "rel": "self" } ], "id": "aDeploymentId", "name": "aName", "source": "process application", "deploymentTime": "2013-01-23T13:59:43.000+0200", "tenantId": null, "deployedProcessDefinitions": { "aProcDefId": { "id": "aProcDefId", "key": "aKey", "category": "aCategory", "description": "aDescription", "name": "aName", "version": 42, "resource": "aResourceName", "deploymentId": "aDeploymentId", "diagram": "aResourceName.png", "suspended": true, "tenantId": null, "versionTag": null } }, "deployedCaseDefinitions": null, "deployedDecisionDefinitions": null, "deployedDecisionRequirementsDefinitions": null } ``` -------------------------------- ### Get Deployed Start Form Source: https://docs.camunda.org/manual/7.24/reference/rest/specification Retrieves the deployed form that can be referenced from a start event. ```APIDOC ## GET /process-definition/{id}/deployed-start-form ### Description Retrieves the deployed form that can be referenced from a start event. ### Method GET ### Endpoint /process-definition/{id}/deployed-start-form ### Parameters #### Path Parameters - **id** (string) - Required - The id of the process definition to get the deployed start form for. ### Responses #### Success Response (200) Request successful. #### Response Example ```html
(e.g. "Great Pizza for Everyone Inc.")
``` #### Error Response - **400** - The form key has wrong format. See the Introduction for the error response format. - **403** - The deployed start form cannot be retrieved due to missing permissions on process definition resource. See the Introduction for the error response format. - **404** - No deployed start form for a given process definition exists. See the Introduction for the error response format. ``` -------------------------------- ### Get DMN XML by Key and Tenant ID Request Example Source: https://docs.camunda.org/manual/7.24/reference/rest/specification Example of a GET request to retrieve the DMN XML for a specific decision requirements definition, identified by its key and tenant ID. ```http GET /decision-requirements-definition/key/invoiceKey/tenant-id/tenantA/xml ``` -------------------------------- ### Start Process Instance by Key with Variables Source: https://docs.camunda.org/manual/7.24/user-guide/process-engine/process-engine-concepts Start a process instance by its key and pass in initial variables. These variables are available to all tasks within the process instance and are persisted. ```java Map variables = new HashMap(); variables.put("creditor", "Nice Pizza Inc."); ProcessInstance instance = runtimeService.startProcessInstanceByKey("invoice", variables); ``` -------------------------------- ### Get External Task Log Error Details Request Example Source: https://docs.camunda.org/manual/7.24/reference/rest/specification Example of a GET request to retrieve error details for a historic external task log. Replace 'someId' with the actual ID of the log entry. ```http GET `history/external-task-log/someId/error-details` ``` -------------------------------- ### Start Process Instance Source: https://docs.camunda.org/manual/7.24/reference/rest/specification Instantiates a given process definition. Process variables and business key may be supplied in the request body. ```APIDOC ## POST /process-definition/{id}/start ### Description Instantiates a given process definition. Process variables and business key may be supplied in the request body. ### Method POST ### Endpoint /process-definition/{id}/start ### Parameters #### Path Parameters - **id** (string) - Required - The id of the process definition to be retrieved. #### Request Body - **businessKey** (string or null) - The business key of the process instance. - **variables** (object or null) - An object containing process variables. - **caseInstanceId** (string or null) - The case instance id the process instance is to be initialized with. - **startInstructions** (Array of objects or null) - Optional. A JSON array of instructions that specify which activities to start the process instance at. If this property is omitted, the process instance starts at its default blank start event. - **skipCustomListeners** (boolean or null) - Skip execution listener invocation for activities that are started or ended as part of this request. Note: This option is currently only respected when start instructions are submitted via the `startInstructions` property. - **skipIoMappings** (boolean or null) - Skip execution of input/output variable mappings for activities that are started or ended as part of this request. Note: This option is currently only respected when start instructions are submitted via the `startInstructions` property. - **withVariablesInReturn** (boolean or null) - Indicates if the variables, which was used by the process instance during execution, should be returned. Default value: `false` ### Request Example ```json { "variables": { "aVariable": { "value": "aStringValue", "type": "String" }, "anotherVariable": { "value": true, "type": "Boolean" } }, "businessKey": "myBusinessKey" } ``` ### Response #### Success Response (200) - **links** (Array) - Links related to the process instance. - **id** (string) - The ID of the process instance. - **definitionId** (string) - The ID of the process definition. - **definitionKey** (string) - The key of the process definition. - **businessKey** (string) - The business key of the process instance. - **caseInstanceId** (string or null) - The case instance ID. - **tenantId** (string or null) - The tenant ID. - **ended** (boolean) - Whether the process instance has ended. - **suspended** (boolean) - Whether the process instance is suspended. #### Response Example ```json { "links": [ { "method": "GET", "href": "http://localhost:8080/rest-test/process-instance/anId", "rel": "self" } ], "id": "anId", "definitionId": "aProcessDefinitionId", "definitionKey": "aProcessDefinitionKey", "businessKey": "myBusinessKey", "caseInstanceId": null, "tenantId": null, "ended": false, "suspended": false } ``` #### Error Response (400) The instance could not be created due to an invalid variable value, for example if the value could not be parsed to an `Integer` value or the passed variable type is not supported. See the Introduction for the error response format. #### Error Response (500) The instance could not be created successfully. See the Introduction for the error response format. ``` -------------------------------- ### GET /history/variable-instance Example Source: https://docs.camunda.org/manual/7.24/reference/rest/specification Retrieves variable instances from the history. This example filters by a specific variable name. ```json [ { "id": "someId", "name": "my_variable", "type": "String", "value": "my_value", "valueInfo": { }, "processDefinitionKey": "aVariableInstanceProcDefKey", "processDefinitionId": "aVariableInstanceProcDefId", "processInstanceId": "aVariableInstanceProcInstId", "executionId": "aVariableInstanceExecutionId", "activityInstanceId": "aVariableInstanceActivityInstId", "caseDefinitionKey": null, "caseDefinitionId": null, "caseInstanceId": null, "caseExecutionId": null, "taskId": null, "tenantId": null, "errorMessage": null, "state": "CREATED", "createTime": "2017-02-10T14:33:19.000+0200", "removalTime": "2018-02-10T14:33:19.000+0200", "rootProcessInstanceId": "aRootProcessInstanceId" } ] ``` -------------------------------- ### Get Start Form Key for Process Definition Source: https://docs.camunda.org/manual/7.24/reference/rest/specification Retrieves the key of the start form for a process definition. This is useful for understanding how forms are associated with process starts. ```HTTP GET process-definition/anId/startForm ``` ```JSON { "key": "aFormKey", "contextPath": "http://localhost:8080/my-process-application/" } ``` -------------------------------- ### Logback Configuration Example Source: https://docs.camunda.org/manual/7.24/user-guide/logging Example configuration file for Logback, defining appenders, logger levels for Camunda and common dependencies, and a root logger. ```xml %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n ``` -------------------------------- ### Startup Server Script (Windows - Generic) Source: https://docs.camunda.org/manual/7.24/installation/full/tomcat/pre-packaged Start the Tomcat server on Windows using the generic startup script. ```batch $TOMCAT_HOME/bin/startup.bat ``` -------------------------------- ### Recurring Timer Start Event Source: https://docs.camunda.org/manual/7.24/reference/bpmn20/events/timer-events This example shows a timer start event configured to repeat 4 times after the initial start, with a 5-minute interval. The process starts on March 11th, 2022, at 12:13 (UTC +01). ```xml R4/2022-03-11T12:13+01/PT5M ``` -------------------------------- ### Example Custom Properties File Source: https://docs.camunda.org/manual/7.24/user-guide/ext-client/spring-boot-starter This is an example of a client.properties file that can be used to resolve property placeholders. ```properties client.baseUrl=http://localhost:8080/engine-rest client.workerId=spring-boot-worker client.dateFormat=yyyy-MM-dd'T'HH:mm:ss.SSSZ client.serializationFormat=application/json ``` -------------------------------- ### Get Batch Statistics Example Source: https://docs.camunda.org/manual/7.24/reference/rest/specification This snippet shows an example of a successful response when retrieving batch statistics with specific query parameters. ```json [ { "id": "aBatchId", "type": "aBatchType", "totalJobs": 10, "batchJobsPerSeed": 100, "jobsCreated": 10, "invocationsPerBatchJob": 1, "seedJobDefinitionId": "aSeedJobDefinitionId", "monitorJobDefinitionId": "aMonitorJobDefinitionId", "batchJobDefinitionId": "aBatchJobDefinitionId", "remainingJobs": 3, "completedJobs": 7, "failedJobs": 1, "suspended": false, "tenantId": "aTenantId", "createUserId": "aUserId" } ] ``` -------------------------------- ### Submit Process Instance Start Form Source: https://docs.camunda.org/manual/7.24/user-guide/task-forms/jsf-task-forms Use this command button to submit the start form. It starts the process instance in the engine, ends the conversation, and redirects to the tasklist's callback URL. ```xml ``` -------------------------------- ### Get Start Form Variables Source: https://docs.camunda.org/manual/7.24/reference/rest/specification Retrieves start form variables for a process definition, considering form data and field definitions. Use this to fetch initial variables for a process start form. ```json { "amount": { "type": "integer", "value": 5, "valueInfo": { } }, "firstName": { "type": "String", "value": "Jonny", "valueInfo": { } } } ``` -------------------------------- ### Restart Process Instances using historicProcessInstanceQuery Source: https://docs.camunda.org/manual/7.24/reference/rest/specification This example demonstrates restarting process instances based on a historic process instance query. It includes options for instructions, initial variables, skipping listeners, and business key handling. ```json { "instructions": [ { "type": "startAfterActivity", "activityId": "aUserTask" } ], "historicProcessInstanceQuery": {}, "initialVariables": true, "skipCustomListeners": true, "withoutBusinessKey": true } ``` -------------------------------- ### Event Subprocess with Error Start Event Source: https://docs.camunda.org/manual/7.24/reference/bpmn20/subprocesses/event-subprocess An example of an event subprocess scoped to the process instance, triggered by an Error Start Event. It includes the start event, sequence flow, and a user task. ```xml ``` -------------------------------- ### Get Process Variable (Example Response) Source: https://docs.camunda.org/manual/7.24/reference/rest/specification Example JSON response when retrieving a process variable. Includes value, type, and serialization details. ```json { "value": { "prop1": "a", "prop2": "b" }, "type": "Object", "valueInfo": { "objectTypeName": "com.example.MyObject", "serializationDataFormat": "application/xml" } } ``` -------------------------------- ### Startup Server Script (Unix/Linux) Source: https://docs.camunda.org/manual/7.24/installation/full/tomcat/pre-packaged Start the Tomcat server on Unix/Linux systems using the startup script. ```bash $TOMCAT_HOME/bin/startup.sh ``` -------------------------------- ### URL Encoded Date Format Example Source: https://docs.camunda.org/manual/7.24/reference/rest/overview/date-format When a date is used as a GET request parameter, it must be URL encoded. Example: `2016-01-25T13:33:42.165%2b0100`. ```text 2016-01-25T13:33:42.165%2b0100 ``` -------------------------------- ### Manually Start Case Execution (Classic API) Source: https://docs.camunda.org/manual/7.24/reference/cmmn11/api/classic-vs-fluent Demonstrates how to manually start a case execution using the classic CaseService API. This method can optionally accept variables. ```java caseService.manuallyStartCaseExecution(caseExecutionId); Map variables = new HashMap(); variables.put("aVariableToSet", "aValueToSet"); caseService.manuallyStartCaseExecution(caseExecutionId, variables); ``` -------------------------------- ### Get Rendered Start Form Source: https://docs.camunda.org/manual/7.24/reference/rest/specification Retrieves the rendered form for a process definition. This method can be used to get the HTML rendering of a Generated Task Form. ```APIDOC ## GET /process-definition/{id}/rendered-form ### Description Retrieves the rendered form for a process definition. This method can be used to get the HTML rendering of a Generated Task Form. ### Method GET ### Endpoint /process-definition/{id}/rendered-form ### Parameters #### Path Parameters - **id** (string) - Required - The id of the process definition to get the rendered start form for. ### Responses #### Success Response (200) Request successful. The response body is an HTML rendering of the form. #### Error Response (400) Process definition has no form field metadata defined. #### Error Response (404) Process definition with given id does not exist. ### Request Example (No request body example provided) ### Response Example (200) ```html
``` ``` -------------------------------- ### Submit Start Form Response (200 OK) Source: https://docs.camunda.org/manual/7.24/reference/rest/specification This is a successful response (200 OK) when submitting a start form. It returns details of the created process instance, including its ID and definition key. ```json { "links": [ { "method": "GET", "href": "http://localhost:8080/rest-test/process-instance/anId", "rel": "self" } ], "id": "anId", "definitionId": "aProcessDefinitionId", "definitionKey": "aProcessDefinitionKey", "businessKey": "myBusinessKey", "caseInstanceId": null, "tenantId": null, "ended": false, "suspended": false } ``` -------------------------------- ### Get Start Form Key Source: https://docs.camunda.org/manual/7.24/reference/rest/specification Retrieves the key of the start form for a process definition. The form key corresponds to the FormData#formKey property in the engine. ```APIDOC ## GET process-definition/{id}/startForm ### Description Retrieves the key of the start form for a process definition. The form key corresponds to the `FormData#formKey` property in the engine. ### Method GET ### Endpoint /process-definition/{id}/startForm ### Parameters #### Path Parameters - **id** (string) - Required - The id of the process definition to get the start form key for. ### Responses #### Success Response (200) Request successful. #### Response Example ```json { "key": "aFormKey", "contextPath": "http://localhost:8080/my-process-application/" } ``` #### Error Response (400) Process definition has no start form defined. #### Error Response (404) Process definition with given id does not exist. ``` -------------------------------- ### Start Process Instance Source: https://docs.camunda.org/manual/7.24/reference/rest/specification Instantiates a given process definition. Process variables and business key can be supplied in the request body. This endpoint starts the latest version of the process definition that belongs to no tenant. ```APIDOC ## POST /process-definition/key/{key}/start ### Description Instantiates a given process definition, starting the latest version of the process definition which belongs to no tenant. Process variables and business key may be supplied in the request body. ### Method POST ### Endpoint /process-definition/key/{key}/start ### Parameters #### Path Parameters - **key** (string) - Required - The key of the process definition (the latest version thereof) to be retrieved. #### Request Body - **businessKey** (string or null) - The business key of the process instance. - **variables** (object or null) - An object containing process variables. - **caseInstanceId** (string or null) - The case instance id the process instance is to be initialized with. - **startInstructions** (Array of objects or null) - Optional. A JSON array of instructions that specify which activities to start the process instance at. If this property is omitted, the process instance starts at its default blank start event. - **skipCustomListeners** (boolean or null) - Skip execution listener invocation for activities that are started or ended as part of this request. Note: This option is currently only respected when start instructions are submitted via the `startInstructions` property. - **skipIoMappings** (boolean or null) - Skip execution of input/output variable mappings for activities that are started or ended as part of this request. Note: This option is currently only respected when start instructions are submitted via the `startInstructions` property. - **withVariablesInReturn** (boolean or null) - Indicates if the variables, which were used by the process instance during execution, should be returned. Default value: `false` ### Request Example ```json { "variables": { "aVariable": { "value": "aStringValue", "type": "String" }, "anotherVariable": { "value": true, "type": "Boolean" } }, "businessKey": "myBusinessKey" } ``` ### Response #### Success Response (200) - **links** (Array) - Links related to the process instance. - **id** (string) - The id of the process instance. - **definitionId** (string) - The id of the process definition. - **definitionKey** (string) - The key of the process definition. - **businessKey** (string) - The business key of the process instance. - **caseInstanceId** (string or null) - The case instance id of the process instance. - **tenantId** (string or null) - The tenant id of the process instance. - **ended** (boolean) - Indicates if the process instance has ended. - **suspended** (boolean) - Indicates if the process instance is suspended. #### Response Example ```json { "links": [ { "method": "GET", "href": "http://localhost:8080/rest-test/process-instance/anId", "rel": "self" } ], "id": "anId", "definitionId": "aProcessDefinitionId", "definitionKey": "aProcessDefinitionKey", "businessKey": "myBusinessKey", "caseInstanceId": null, "tenantId": null, "ended": false, "suspended": false } ``` #### Error Response (400) The instance could not be created due to an invalid variable value, for example if the value could not be parsed to an `Integer` value or the passed variable type is not supported. See the Introduction for the error response format. #### Error Response (500) The instance could not be created successfully. See the Introduction for the error response format. ``` -------------------------------- ### Example of additionalResourceSuffixes Source: https://docs.camunda.org/manual/7.24/reference/deployment-descriptors/tags/process-archive Shows how to configure additional resource suffixes for process definition scanning. This allows including files like scripts (e.g., .py, .groovy) in deployments. ```xml py,groovy,rb ``` -------------------------------- ### Get Deployed Start Form Source: https://docs.camunda.org/manual/7.24/reference/rest/specification Retrieves the deployed form that can be referenced from a start event. This endpoint requires the process definition key and tenant ID. ```APIDOC ## GET /process-definition/key/{key}/tenant-id/{tenant-id}/deployed-start-form ### Description Retrieves the deployed form that can be referenced from a start event. ### Method GET ### Endpoint /process-definition/key/{key}/tenant-id/{tenant-id}/deployed-start-form ### Parameters #### Path Parameters - **key** (string) - Required - The key of the process definition (the latest version thereof) to be retrieved. - **tenant-id** (string) - Required - The id of the tenant the process definitions belong to. ### Responses #### Success Response (200) Request successful. #### Response Example ```html
(e.g. "Great Pizza for Everyone Inc.")
``` #### Error Responses - **400** - The form key has wrong format. See the Introduction for the error response format. - **403** - The deployed start form cannot be retrieved due to missing permissions on process definition resource. See the Introduction for the error response format. - **404** - No deployed start form for a given process definition exists. See the Introduction for the error response format. ``` -------------------------------- ### Basic processes.xml Deployment Descriptor Source: https://docs.camunda.org/manual/7.24/user-guide/process-applications/the-processes-xml-deployment-descriptor A simple example of a processes.xml file declaring a single process archive named 'loan-approval' for the 'default' process engine. It includes properties to control undeployment behavior and automatic scanning for process definitions. ```xml default false true ``` -------------------------------- ### Get Start Form Key Source: https://docs.camunda.org/manual/7.24/reference/rest/specification Retrieves the key of the start form for the latest version of a process definition. This key corresponds to the FormData#formKey property. ```APIDOC ## GET process-definition/key/{key}/startForm ### Description Retrieves the key of the start form for the latest version of the process definition which belongs to no tenant. The form key corresponds to the `FormData#formKey` property in the engine. ### Method GET ### Endpoint /process-definition/key/{key}/startForm ### Parameters #### Path Parameters - **key** (string) - Required - The key of the process definition (the latest version thereof) for which the form key is to be retrieved. ### Responses #### Success Response (200) Request successful. - **key** (string) - The form key. - **contextPath** (string) - The context path. #### Response Example ```json { "key": "aFormKey", "contextPath": "http://localhost:8080/my-process-application/" } ``` #### Error Responses - **400** - Process definition has no start form defined. - **404** - Process definition with given key does not exist. ``` -------------------------------- ### Example Task Response (200 OK) Source: https://docs.camunda.org/manual/7.24/reference/rest/specification Illustrates a successful response for a GET request to retrieve task details. Includes all possible fields for a task object. ```json [ { "id": "anId", "name": "aName", "assignee": "anAssignee", "created": "2013-01-23T13:42:42.657+0200", "due": "2013-01-23T13:49:42.323+0200", "followUp:": "2013-01-23T13:44:42.987+0200", "lastUpdated:": "2013-01-23T13:44:42.987+0200", "delegationState": "RESOLVED", "description": "aDescription", "executionId": "anExecution", "owner": "anOwner", "parentTaskId": "aParentId", "priority": 42, "processDefinitionId": "aProcDefId", "processInstanceId": "aProcInstId", "caseDefinitionId": "aCaseDefId", "caseInstanceId": "aCaseInstId", "caseExecutionId": "aCaseExecution", "taskDefinitionKey": "aTaskDefinitionKey", "suspended": false, "formKey": "aFormKey", "camundaFormRef": { "key": "aCamundaFormKey", "binding": "version", "version": 2 }, "tenantId": "aTenantId", "taskState": "aTaskState" } ] ``` -------------------------------- ### Get Cleanable Batch Report Count Response Sample Source: https://docs.camunda.org/manual/7.24/reference/rest/specification Example response for a successful request to get the count of cleanable historic batch reports. ```json { "count": 10 } ``` -------------------------------- ### Get Filter Count Response Sample Source: https://docs.camunda.org/manual/7.24/reference/rest/specification Example JSON response for a GET request to /filter/count, showing the total count of filters that match the query. ```json { "count": 3 } ```