Process#
Create, modify, delete and run processes
Action#
When the action was performed, and details about the user who did it.
Properties#
Name |
Type |
Description |
Restrictions |
|---|---|---|---|
dateTime |
string(date-time) |
Date and time (in UTC) that the user performed the audited action. |
|
user |
Reference to a platform user. |
Example#
{
"dateTime": "2019-10-30T15:03:27Z",
"user": {
"id": "V1ZVd2VyFzU3NiQ1NDA4NjIzNzk2MjD"
}
}
BatchUpdate#
A collection of updates to be done as a batch against the Process.
Properties#
Name |
Type |
Description |
Restrictions |
|---|---|---|---|
data |
List of updates to apply to the Process as a batch. |
required, Minimum items: 0, Maximum items: 3000 |
Example#
{
"data": [
{
"id": "jobId123",
"newName": "newJobTitle",
"type": "jobName"
},
{
"id": "groupId123",
"newName": "newGroupTitle",
"type": "groupName"
}
]
}
BatchUpdateItem#
Represents a single batch update request contained in a larger overall batch update.
Properties#
Name |
Type |
Description |
Restrictions |
|---|---|---|---|
groupNameUpdate |
A request to update a Group’s name. |
||
jobNameUpdate |
A request to update a Job’s name. |
||
type |
string |
The type of the update being requested. |
required |
Enumerated Values#
Property |
Value |
|---|---|
type |
|
type |
|
Example#
{
"jobNameUpdate": {
"id": "jobId123",
"newName": "new job name"
},
"type": "jobName"
}
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.
Properties#
Name |
Type |
Description |
Restrictions |
|---|---|---|---|
code |
string |
One of a server-defined set of error codes. |
required |
details |
[ErrorDetail]¦null |
An array of details about the error. |
|
documentationUrl |
string¦null |
Link to some documentation relevant to the issue or endpoint in use. |
|
message |
string |
A human-readable representation of the error. |
|
meta |
object¦null |
Contains additional metadata about the failure - ie “jobId”, “argumentName”,etc |
|
meta.additionalProperties |
string¦null |
Contains additional metadata about the failure - ie “jobId”, “argumentName”,etc |
|
target |
string¦null |
The target of the error. |
Example#
{
"code": "INVALID_ARGUMENT",
"details": [
{
"code": "VALIDATION_ERROR",
"message": "Field 'title' is required",
"target": "title"
}
],
"documentationUrl": "https://developers.workiva.com/workiva-platform/reference/platform-authentication",
"message": "The provided job id is invalid or does not exist",
"meta": {
"argumentName": "title",
"jobId": "job-abc123"
},
"target": "jobId"
}
ErrorDetail#
Detailed error information for a specific validation or processing failure. Provides granular error context including error codes, messages, and the specific field or resource that caused the error. Typically used as part of an array of errors in an error response.
Properties#
Name |
Type |
Description |
Restrictions |
|---|---|---|---|
code |
string |
One of a server-defined set of error codes. |
|
message |
string |
A human-readable representation of the error. |
|
meta |
object¦null |
Contains additional metadata about the failure - ie “jobId”, “argumentName”,etc |
|
meta.additionalProperties |
string¦null |
Contains additional metadata about the failure - ie “jobId”, “argumentName”,etc |
|
target |
string¦null |
The target of the error. |
Example#
{
"code": "VALIDATION_ERROR",
"message": "Field 'title' is required",
"target": "title"
}
ProcessGroup#
Group of Jobs and other Groups in a Process.
Properties#
Name |
Type |
Description |
Restrictions |
|---|---|---|---|
children |
The children of this group. Children can be a job or another group. |
||
created |
When the action was performed, and details about the user who did it. |
||
dueDate |
string(date) |
The due date of the group. |
|
id |
string |
The Group’s unique identifier |
|
modified |
When the action was performed, and details about the user who did it. |
||
name |
string |
The name of the group. |
|
ordinal |
integer(int32) |
The zero-based index representing the location of this group within its parent group |
read-only |
parallel |
boolean |
If true, execute jobs in this group in parallel. If false, serial. |
required |
parent |
string¦null |
The id of this child’s parent. Not present if the parent is the root group of the Process. |
|
readOnly |
boolean |
Whether this Group is read-only. |
required |
revision |
integer(int64) |
The revision number of the current representation of the Group |
read-only |
triggerType |
string |
What triggers a group child to execute. |
Enumerated Values#
Property |
Value |
|---|---|
triggerType |
|
triggerType |
|
Example#
{
"id": "root-group-123",
"name": "Main Workflow",
"parallel": false,
"readOnly": false,
"triggerType": "whenEligible"
}
ProcessGroupChild#
Represents a child element within a Group in a process definition (build-time). A group child can be either a Job or another nested Group, creating a hierarchical structure for organizing work. The type field determines which specific child type is present.
Properties#
Name |
Type |
Description |
Restrictions |
|---|---|---|---|
group |
Group of Jobs and other Groups in a Process. |
||
job |
A build-time representation of work to be done. |
||
type |
string |
The type of group child. |
required |
Enumerated Values#
Property |
Value |
|---|---|
type |
|
type |
|
Example#
{
"job": {
"id": "job-123",
"triggerType": "whenEligible"
},
"type": "job"
}
ProcessGroupNameUpdate#
A request to update a Group’s name.
Properties#
Name |
Type |
Description |
Restrictions |
|---|---|---|---|
id |
string |
The id of the group whose name will be updated. |
required, Minimum length: 1 |
newName |
string |
The new name for our group. |
required, Minimum length: 1 |
Example#
{
"id": "groupId2342342",
"newName": "new group name"
}
ProcessJob#
A build-time representation of work to be done.
The type of action the Job is dictates the type of arguments passed to it.
The arguments represent the input to the Job, describing the work to be done.
A Job can be built incrementally and only at the time it is attempted to be started,
or a call to the Process’ health-check endpoint will it and its arguments be validated.
Properties#
Name |
Type |
Description |
Restrictions |
|---|---|---|---|
action |
string |
The type of action the Job is performing. |
|
arguments |
Container for action-specific arguments for a Job. |
||
created |
When the action was performed, and details about the user who did it. |
||
generated |
Group of Jobs and other Groups in a Process. |
||
id |
string |
The Job’s unique identifier |
|
modified |
When the action was performed, and details about the user who did it. |
||
ordinal |
integer(int32) |
The zero-based index representing the location of this Job within its parent group |
read-only |
parent |
string¦null |
The id of this Job’s parent. Not present if the parent is the root group of the Process. |
|
readOnly |
boolean |
Whether this Job is read-only. |
read-only |
revision |
integer(int64) |
The revision number of the current representation of the Job |
read-only |
tags |
[TagLink] |
The tag link, category, and value information associated with this Job. |
read-only, unique |
triggerType |
string¦null |
What triggers a group child to execute. |
Enumerated Values#
Property |
Value |
|---|---|
action |
|
action |
|
action |
|
action |
|
action |
|
action |
|
action |
|
triggerType |
|
triggerType |
|
Example#
{
"arguments": {
"sendTaskArgs": {
"title": "Complete audit review"
},
"type": "sendTask"
},
"id": "job-xyz789",
"triggerType": "manual"
}
JobNameUpdate#
A request to update a Job’s name.
Properties#
Name |
Type |
Description |
Restrictions |
|---|---|---|---|
id |
string |
The id of the job whose name will be updated. |
required, Minimum length: 1 |
newName |
string |
The new name for the targeted job. |
required, Minimum length: 1 |
Example#
{
"id": "jobId2342342",
"newName": "new job name"
}
Process#
Build-time representation of a Process whose work is described by a collection of Jobs contained in its
root Group.
Properties#
Name |
Type |
Description |
Restrictions |
|---|---|---|---|
autoClose |
boolean |
If this process is configured to automatically close once all actions are completed or canceled. |
required |
businessDateExclusions |
[string] |
Individual dates that are excluded as business days of this Process. Impacts relative date calculations. |
unique |
businessDateInclusions |
[string] |
Individual dates that are included as business days of this Process, regardless of exclusion rules. |
unique |
businessDaysOfWeek |
[string] |
The days of the week that are deemed “working days” for this Process. Impacts relative date calculations. |
unique |
businessEndDate |
string(date) |
The end date for the process. |
|
businessStartDate |
string(date) |
Date for when the process should start for anchoring relative dates |
|
calendars |
[string] |
A set of calendar ids associated with this process. The events of these calendars are displayed in calendar |
unique |
certAutoApprove |
boolean |
If certification auto approval is turned on for certification actions on this process. |
required |
created |
When the action was performed, and details about the user who did it. |
||
defaultCertApproverReminders |
Configuration for reminder emails that will be sent to participants about incomplete tasks. |
||
defaultCertSignerReminders |
Configuration for reminder emails that will be sent to participants about incomplete tasks. |
||
dueDate |
string(date) |
When the Process is due. |
|
id |
string |
The Process’ unique identifier. |
Maximum length: 32, Minimum length: 1 |
modified |
When the action was performed, and details about the user who did it. |
||
name |
string |
The name of the Process. |
|
processTemplate |
string |
The id of the ProcessTemplate that this Process was created from. |
read-only, Maximum length: 32 |
relativeDates |
boolean |
If relative dates are enabled for this process. Enables automatic shifting of dates based on the |
required |
revision |
integer(int64) |
The revision number of the current representation of the Process |
read-only |
root |
Group of Jobs and other Groups in a Process. |
||
sourceProcessRun |
string |
The id of ProcessRun that this Process was copied from. |
read-only, Maximum length: 32 |
Example#
{
"autoClose": true,
"businessDateExclusions": [
"2024-12-25",
"2024-01-01"
],
"businessDateInclusions": [
"2024-12-28"
],
"businessDaysOfWeek": [
"monday",
"tuesday",
"wednesday",
"thursday",
"friday"
],
"businessEndDate": "2024-12-31",
"businessStartDate": "2024-01-01",
"calendars": [
"calendar-123",
"calendar-456"
],
"certAutoApprove": true,
"created": {
"dateTime": "2019-10-30T15:03:27Z",
"user": {
"id": "V1ZVd2VyFzU3NiQ1NDA4NjIzNzk2MjD"
}
},
"defaultCertApproverReminders": {
"mode": "default"
},
"defaultCertSignerReminders": {
"mode": "default"
},
"dueDate": "2026-01-01",
"id": "e7b9920095e342889190b4d7eaeca6fa",
"modified": {
"dateTime": "2019-10-30T15:03:27Z",
"user": {
"id": "V1ZVd2VyFzU3NiQ1NDA4NjIzNzk2MjD"
}
},
"name": "Q4 2024 Financial Close Process",
"processTemplate": "9e20a5aeaaf84d5ba676233938ac4222",
"relativeDates": false,
"revision": 3,
"root": {
"id": "root-group-123",
"name": "Main Workflow",
"parallel": false,
"readOnly": false,
"triggerType": "whenEligible"
},
"sourceProcessRun": "9e20a5aeaaf84d5ba676233938ac4222"
}
ProcessJSONPatchDocument#
A JSON Patch document as defined by RFC 6902. An array of patch operations. Valid “path” and operation (“op”) combinations below:
- /dueDate : “remove” and “replace”
- /businessStartDate : “remove” and “replace”
- /businessEndDate : “remove” and “replace”
- /businessDaysOfWeek : “remove” and “replace”
- /businessDateExclusions : “remove” and “replace”
- /businessDateInclusions : “remove” and “replace”
- /calendarIds : “remove” and “replace”
- /name : “replace”
- /autoClose : “replace”
- /ipmBetaEnabled : “replace”
- /iwmOptOut : “replace”
- /relativeDates : “replace”
- /root/parallel : “replace”
- /root/triggerType : “replace”
- /certAutoApprove : “replace”
- /defaultCertSignerReminders : “remove” and “replace”
- /defaultCertApproverReminders : “remove” and “replace”
Properties#
Name |
Type |
Description |
Restrictions |
|---|---|---|---|
op |
string |
The JSON Patch operation to perform. |
required |
path |
string |
JSON Pointer to the target location. |
required |
value |
any |
The value to replace the target with. |
Enumerated Values#
Property |
Value |
|---|---|
op |
|
op |
|
Example#
[
{
"op": "remove",
"path": "/dueDate"
},
{
"op": "replace",
"path": "/autoClose",
"value": true
}
]
ProcessValidationResults#
Process validation result
Properties#
Name |
Type |
Description |
Restrictions |
|---|---|---|---|
errors |
[Error] |
Set of validation errors found in the process definition. |
unique |
Example#
{
"errors": [
{
"code": "MISSING_REQUIRED_FIELD",
"message": "Job is missing required 'action' field",
"meta": {
"field": "action",
"jobId": "job-abc123"
},
"target": "job-abc123"
}
]
}
User#
Reference to a platform user.
Properties#
Name |
Type |
Description |
Restrictions |
|---|---|---|---|
id |
string |
The unique identifier of the user |
Maximum length: 36 |
Example#
{
"id": "V1ZVd2VyFzU3NiQ1NDA4NjIzNzk2MjD"
}