Action Tasks#
Retrieve a remediation issue’s action tasks, the discrete pieces of remediation work assigned to a user and tracked through completion. List them via GET /issues/{issueId}/actionTasks, retrieve one via GET /issues/{issueId}/actionTasks/{id}, update one via PATCH /issues/{issueId}/actionTasks/{id}, mark one as sent for work in an external system via POST /issues/{issueId}/actionTasks/{id}/externalSubmission, and mark one implemented via POST /issues/{issueId}/actionTasks/{id}/implementation. status is the action task’s own lifecycle status; assigneeStatus is the independent status of the assignee’s response. No survey answers, survey templates, reminder schedules, or file uploads are exposed. An issue has at most 10 action tasks, and the list returns all of them in one page; compare each action task’s modified.dateTime with the value from a previous sync to detect changes.
Action#
When the action was performed, and details about the user who did it
Properties#
Name |
Type |
Description |
Restrictions |
|---|---|---|---|
dateTime |
string(date-time) |
When the action was performed |
read-only |
user |
User¦null |
A user referenced by their unique identifier. Resolve the user’s profile details through the appropriate Workiva identity API. |
Example#
{
"dateTime": "2019-10-30T15:03:27Z",
"user": {
"id": "V0ZVc2VyHzU1MDg3OTc0MDE4MDg4OTY"
}
}
ActionTask#
An action task on a remediation issue — a discrete piece of remediation work assigned to a user and tracked through completion. Action tasks are available through GET /issues/{issueId}/actionTasks and GET /issues/{issueId}/actionTasks/{id}. No survey answers, survey templates, reminder schedules, schedule summaries, or file uploads are exposed.
Properties#
Name |
Type |
Description |
Restrictions |
|---|---|---|---|
assignee |
The user assigned to complete this action task. |
required |
|
assigneeStatus |
The independent status of the assignee’s response to the action task. Known values: |
required |
|
completedAt |
string(date-time)¦null |
When the assignee completed the action task. Null if not yet completed. |
|
created |
When the action task was created, and by whom. |
read-only, required |
|
description |
string |
A description of the work to be done. |
required |
dueDate |
string(date-time) |
When the action task is due. |
required |
id |
string |
The unique system identifier of the action task. |
required |
implementedAt |
string(date-time)¦null |
When the issue owner accepted the action task as implemented. Null if not yet implemented. |
|
issue |
The issue this action task belongs to. |
required |
|
modified |
When the action task last changed, and by whom, including assignee-side changes (sent, completed). |
read-only, required |
|
name |
string |
The name of the action task. |
required |
sentAt |
string(date-time)¦null |
When the action task was sent to the assignee. Null if not yet sent. |
|
status |
The action task’s own lifecycle status. Known values: |
required |
Example#
{
"assignee": {
"id": "u_4cc9f9128a684f45a7a37b08b70b54c1"
},
"assigneeStatus": "inProgress",
"completedAt": "2026-05-10T16:45:00Z",
"created": {
"dateTime": "2026-03-15T14:30:00Z",
"user": {
"id": "u_4cc9f9128a684f45a7a37b08b70b54c1"
}
},
"description": "Configure the AP system so purchase order creation and approval require two distinct users.",
"dueDate": "2026-06-30T23:59:00Z",
"id": "3f2b1a4c-6d5e-4f7a-8b9c-1d2e3f4a5b6c",
"implementedAt": "2026-05-12T10:00:00Z",
"issue": {
"id": "1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d"
},
"modified": {
"dateTime": "2026-05-10T16:45:00Z",
"user": {
"id": "u_4cc9f9128a684f45a7a37b08b70b54c1"
}
},
"name": "Implement dual-approval workflow",
"sentAt": "2026-03-20T09:00:00Z",
"status": "inProgress"
}
ActionTaskAssigneeStatus#
The independent status of the assignee’s response to the action task. Known values: notSent, inProgress, completed, cancelled. This field is a string, not a fixed enum — additional values may be introduced over time, so clients should tolerate unrecognized values.
Properties#
Name |
Type |
Description |
Restrictions |
|---|---|---|---|
anonymous |
string |
The independent status of the assignee’s response to the action task. Known values: |
Example#
"inProgress"
ActionTaskCollection#
A collection of action tasks.
Properties#
Name |
Type |
Description |
Restrictions |
|---|---|---|---|
@nextLink |
string |
URL of the next page of results, with the |
|
data |
The action tasks in this page. An issue has at most 10 action tasks, so one page holds all of them. |
required, Maximum items: 10 |
Example#
{
"@nextLink": "https://api.app.wdesk.com/issues/1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d/actionTasks?$next=b3BhcXVlLWN1cnNvci10b2tlbi05ZjhlN2Q=",
"data": [
{
"assignee": {
"id": "u_4cc9f9128a684f45a7a37b08b70b54c1"
},
"assigneeStatus": "inProgress",
"created": {
"dateTime": "2026-03-15T14:30:00Z",
"user": {
"id": "u_4cc9f9128a684f45a7a37b08b70b54c1"
}
},
"description": "Configure the AP system so purchase order creation and approval require two distinct users.",
"dueDate": "2026-06-30T23:59:00Z",
"id": "3f2b1a4c-6d5e-4f7a-8b9c-1d2e3f4a5b6c",
"issue": {
"id": "1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d"
},
"modified": {
"dateTime": "2026-03-20T09:00:00Z",
"user": {
"id": "u_4cc9f9128a684f45a7a37b08b70b54c1"
}
},
"name": "Implement dual-approval workflow",
"sentAt": "2026-03-20T09:00:00Z",
"status": "inProgress"
}
]
}
ActionTaskStatus#
The action task’s own lifecycle status. Known values: notSent, inProgress, implemented, overdue, cancelled. overdue is computed, not stored: an action task whose due date has passed reports overdue instead of notSent or inProgress until it is implemented or cancelled, including after it has been sent. The independent assigneeStatus is not affected. This field is a string, not a fixed enum — additional values may be introduced over time, so clients should tolerate unrecognized values.
Properties#
Name |
Type |
Description |
Restrictions |
|---|---|---|---|
anonymous |
string |
The action task’s own lifecycle status. Known values: |
Example#
"inProgress"
ErrorDetail#
An individual error detail.
Properties#
Name |
Type |
Description |
Restrictions |
|---|---|---|---|
code |
string |
A stable, machine-readable identifier for the error. |
|
message |
string |
A human-readable representation of the error. |
required |
target |
string |
The target of the error, for example |
Example#
{
"code": "notFound",
"message": "No resource with this id was found.",
"target": "/data/2"
}
ErrorResponse#
Error response indicating the service could not process the request.
Properties#
Name |
Type |
Description |
Restrictions |
|---|---|---|---|
code |
string |
A stable, machine-readable identifier for the error. |
|
details |
A list of detailed errors, one per offending item. |
||
message |
string |
A human-readable representation of the error. |
required |
target |
string |
The target of the error. A value starting with |
Example#
{
"code": "invalidFilter",
"details": [
{
"code": "notFound",
"message": "No resource with this id was found.",
"target": "/data/2"
}
],
"message": "The request was unacceptable, often due to a missing or invalid parameter.",
"target": "$filter"
}
IssueReference#
A remediation issue referenced by its unique identifier.
Properties#
Name |
Type |
Description |
Restrictions |
|---|---|---|---|
id |
string |
The unique identifier of the issue. |
required |
Example#
{
"id": "1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d"
}
JSONPatchDocument#
A JSON Patch document (RFC 6902): an ordered list of operations to apply to the resource. Each endpoint that accepts one lists the paths and value types it supports, and the most operations a document may carry, in its description.
Properties#
Name |
Type |
Description |
Restrictions |
|---|---|---|---|
anonymous |
A JSON Patch document (RFC 6902): an ordered list of operations to apply to the resource. Each endpoint that accepts one lists the paths and value types it supports, and the most operations a document may carry, in its description. |
Minimum items: 1, Maximum items: 100 |
Example#
[
{
"op": "replace",
"path": "/name",
"value": "Updated name"
}
]
JSONPatchOperation#
A single JSON Patch operation (RFC 6902). This API supports replace.
Properties#
Name |
Type |
Description |
Restrictions |
|---|---|---|---|
op |
string |
The operation to perform. Only |
required |
path |
string |
A JSON Pointer (RFC 6901) to the field to change. See the endpoint’s description for the supported paths. |
required |
value |
any |
The new value for the target field. The type depends on the field being patched (string, array, object, or |
required |
Enumerated Values#
Property |
Value |
|---|---|
op |
|
Example#
{
"op": "replace",
"path": "/name",
"value": "Updated name"
}
User#
A user referenced by their unique identifier. Resolve the user’s profile details through the appropriate Workiva identity API.
Properties#
Name |
Type |
Description |
Restrictions |
|---|---|---|---|
id |
string |
The unique identifier of the user. |
required |
Example#
{
"id": "u_4cc9f9128a684f45a7a37b08b70b54c1"
}