Run a Process#
Description#
Run an existing Process by its id, creating a new ProcessRun.
POST /processes/{processId}/run
Required OAuth Scopes
file:write
Parameters#
Parameter |
In |
Type |
Required |
Description |
|---|---|---|---|---|
X-Version |
header |
string |
true |
Version of the API (2026-04-01.processes.preview) |
processId |
path |
string |
true |
Identifier of the Process |
body |
body |
false |
Optional Process run options |
Body parameter example#
{
"sendProcessCompleteEmail": true
}
Code Samples#
curl -X POST https://api.app.wdesk.com/processes/{processId}/run \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}' \
-H 'X-Version: 2026-04-01.processes.preview'
http POST https://api.app.wdesk.com/processes/{processId}/run \
X-Version:2026-04-01.processes.preview \
Content-Type:application/json \
Accept:application/json \
Authorization:"Bearer {access-token}"
wget --method=POST "https://api.app.wdesk.com/processes/{processId}/run" \
--output-document - \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {access-token}' \
--header 'X-Version: 2026-04-01.processes.preview'
import requests
headers = {
'X-Version': '2026-04-01.processes.preview',
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.app.wdesk.com/processes/{processId}/run', headers = headers)
print(r.json())
Returns#
201 - Process run started successfully#
A Process that has been started. An instantiation of a Process.
400 - Invalid request#
Standard error response returned by the API when a request fails. Provides detailed information about what went wrong including error codes, human-readable messages, and additional context to help diagnose and fix the issue.
401 - Unauthenticated request.#
Standard error response returned by the API when a request fails. Provides detailed information about what went wrong including error codes, human-readable messages, and additional context to help diagnose and fix the issue.
404 - Not found#
Standard error response returned by the API when a request fails. Provides detailed information about what went wrong including error codes, human-readable messages, and additional context to help diagnose and fix the issue.
409 - Collision#
Standard error response returned by the API when a request fails. Provides detailed information about what went wrong including error codes, human-readable messages, and additional context to help diagnose and fix the issue.
429 - Too Many Requests#
Standard error response returned by the API when a request fails. Provides detailed information about what went wrong including error codes, human-readable messages, and additional context to help diagnose and fix the issue.
500 - Server error#
Standard error response returned by the API when a request fails. Provides detailed information about what went wrong including error codes, human-readable messages, and additional context to help diagnose and fix the issue.
Example Responses#
{
"autoClose": true,
"certAutoApprove": true,
"created": {
"dateTime": "2019-10-30T15:03:27Z",
"user": {
"id": "V1ZVd2VyFzU3NiQ1NDA4NjIzNzk2MjD"
}
},
"dueDate": "2024-12-31",
"id": "processrun-xyz789",
"ipmBetaEnabled": false,
"iwmOptOut": false,
"modified": {
"dateTime": "2019-10-30T15:03:27Z",
"user": {
"id": "V1ZVd2VyFzU3NiQ1NDA4NjIzNzk2MjD"
}
},
"name": "Q4 2024 Financial Close Process - Run",
"process": "process-id-abc123",
"relativeDates": false,
"revision": 0,
"root": {
"children": [
{
"job": {
"actionStatus": "waiting",
"arguments": {
"sendTaskArgs": {
"approverDueDate": "2024-12-20T17:00:00Z",
"approverUser": "userId5678",
"assigneeUser": "userId1234",
"dueDate": "2024-12-15T17:00:00Z",
"instructions": "Please complete your annual self-assessment by reviewing your accomplishments and setting goals for next year.",
"title": "Complete Self-Assessment"
},
"type": "sendTask"
},
"created": {
"dateTime": "2025-10-20T15:56:27Z",
"user": {
"id": "V1ZVd2VyFzU3NiQ1NDA4NjIzNzk2MjD"
}
},
"id": "279f5c8b93f8433284bba8e0d51b3441",
"metadata": {
"type": "sendTask"
},
"modified": {
"dateTime": "2025-10-20T15:56:27Z",
"user": {
"id": "V1ZVd2VyFzU3NiQ1NDA4NjIzNzk2MjD"
}
},
"ordinal": 0,
"readOnly": false,
"revision": 0,
"status": "waiting"
},
"type": "job"
}
],
"id": "grouprun-root123",
"name": "Main Workflow",
"parallel": false,
"readOnly": false,
"status": "waiting"
},
"status": "running",
"statusCounts": {
"waiting": 1
}
}
{
"code": "invalidUser",
"documentationUrl": "http://developerdocs.example.com",
"message": "The provided user is invalid.",
"meta": {
"argumentName": "assignee",
"jobId": "job1234"
},
"target": "assignee"
}
{
"code": "Unauthorized",
"message": "Bad credentials"
}
{
"code": "403",
"message": "Forbidden"
}
{
"code": "404",
"message": "Could not find process id 51bcc3ec3d0b4aadb69659e2a7ed767b"
}
resource on the server.
{
"code": "409",
"message": "Letter is not in a status that supports submissions"
}
No example available
{
"code": "429",
"message": "Rate limit of 1000 per 60 seconds exceeded for listJobs requests. Retry request in 10 seconds."
}
No example available
This is a generic error message, meaning the server cannot provide a more specific error code.
{
"code": "500",
"message": "unknown error"
}
No example available
maintenance. This status code implies that the server is functional and understands the request, but it cannot fulfill it at the moment.
{
"code": "503",
"message": "Service Unavailable."
}
No example available