Retrieve an issue’s action task#
Description#
Return a single action task of the remediation issue, with the same representation as the items of GET /issues/{issueId}/actionTasks. The action task must belong to the issue in the path.
An issue or action task that does not exist, an action task that does not belong to the issue, and an issue the caller cannot read all return 403, so the response does not reveal which ids exist.
GET /issues/{issueId}/actionTasks/{id}
Required OAuth Scopes
grc:read
Parameters#
Parameter |
In |
Type |
Required |
Description |
|---|---|---|---|---|
X-Version |
header |
string |
true |
Version of the API (2026-09-01.grc.preview) |
Wk-Workspace |
header |
string |
true |
The id of the Workiva workspace to operate in. Authorization is enforced against the authenticated user’s access within this workspace. |
issueId |
path |
string |
true |
The unique system identifier of the issue. |
id |
path |
string |
true |
The unique system identifier of the resource. |
Code Samples#
curl -X GET https://api.app.wdesk.com/issues/{issueId}/actionTasks/{id} \
-H 'Accept: application/json' \
-H 'Wk-Workspace: 1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d' \
-H 'Authorization: Bearer {access-token}' \
-H 'X-Version: 2026-09-01.grc.preview'
http GET https://api.app.wdesk.com/issues/{issueId}/actionTasks/{id} \
X-Version:2026-09-01.grc.preview \
Accept:application/json \
Wk-Workspace:1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d \
Authorization:"Bearer {access-token}"
wget --method=GET "https://api.app.wdesk.com/issues/{issueId}/actionTasks/{id}" \
--output-document - \
--header 'Accept: application/json' \
--header 'Wk-Workspace: 1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d' \
--header 'Authorization: Bearer {access-token}' \
--header 'X-Version: 2026-09-01.grc.preview'
import requests
headers = {
'X-Version': '2026-09-01.grc.preview',
'Accept': 'application/json',
'Wk-Workspace': '1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.app.wdesk.com/issues/{issueId}/actionTasks/{id}', headers = headers)
print(r.json())
Returns#
200 - The action task.#
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.
400 - The request was invalid.#
Error response indicating the service could not process the request.
401 - Authentication is missing or invalid.#
Error response indicating the service could not process the request.
403 - The caller is not permitted to access this resource.#
Error response indicating the service could not process the request.
429 - The rate limit has been exceeded.#
Error response indicating the service could not process the request.
500 - An unexpected error occurred.#
Error response indicating the service could not process the request.
Example Responses#
{
"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"
}
{
"code": "invalidFilter",
"message": "The $filter value could not be parsed.",
"target": "$filter"
}
{
"code": "unauthenticated",
"message": "Authentication credentials were missing or invalid."
}
{
"code": "permissionDenied",
"message": "You do not have permission to access this resource."
}
{
"code": "rateLimitExceeded",
"message": "Rate limit exceeded. Retry after the period indicated in the response headers."
}
{
"code": "internalError",
"message": "An unexpected error occurred. Please try again later."
}
{
"code": "503ServiceUnavailable",
"message": "The server cannot handle the request due to a temporary overload or scheduled maintenance"
}