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

User

The user assigned to complete this action task.

required

assigneeStatus

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.

required

completedAt

string(date-time)¦null

When the assignee completed the action task. Null if not yet completed.

created

Action

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

IssueReference

The issue this action task belongs to.

required

modified

Action

When the action task last changed, and by whom, including assignee-side changes (sent, completed). modified.dateTime is the later of the action task’s own last change and its assignee’s last change, and modified.user is the user who made that change. Compare it with the value from a previous sync to detect action tasks that have changed.

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

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.

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: 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.

Example#

"inProgress"

ActionTaskCollection#

A collection of action tasks.

Properties#

Name

Type

Description

Restrictions

@nextLink

string

URL of the next page of results, with the $next cursor already applied. Omitted on the last page. Follow it to fetch the next page.

data

[ActionTask]

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: 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.

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 /data/0 to identify the offending item in a batch request.

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

[ErrorDetail]

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 / refers to a field in the request payload using the JSON Pointer spec; a value starting with $ refers to a query parameter.

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

[JSONPatchOperation]

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 replace is supported.

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 null where the field is clearable); see the endpoint’s description.

required

Enumerated Values#

Property

Value

op

replace

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"
}