app, target_user, access_request_id, and entitlement_id. Each task also has a status that
changes as people act on it.
The Task object
Attributes
Every field above except
assignees, actions, and comments is always present, with null when
it has no value.
Statuses
pending, accepted, and blocked are the open statuses. completed, dismissed, retried,
and expired are final.
Which tasks you can see
What you can do with a task depends on how it’s assigned to you and on your role. A token acts as its user, so the same rules apply to API tokens. The table covers List Tasks, Get Task, List Task Actions, and the endpoints that act on a task.show_all_tasks=true returns 403 for anyone the table doesn’t list with it. Acting on a task you
aren’t assigned to requires the built-in Admin role.
Filtering the list
An unknown value for
status, type, category, or product_area returns 400. An order_by
value outside the list above also returns 400. One unknown ID in assigned_user_ids or
assigned_group_ids returns 404 with code not_found, even when the other IDs match.
The maximum page_size on this endpoint is 100. List Tasks
reduces a larger value to 100.
Acting on a task
Four endpoints act on a task, and a fifth adds a comment. The four return204 when they succeed.
Complete or dismiss. Complete Task and
Dismiss Task run the one action that moves the task to
completed or dismissed. When there isn’t exactly one such action:
- If no action moves the task to that status, the call returns
400withcodetask.no_action_for_status. - If such an action exists but you can’t take it, the call returns
403. - If you can take more than one, the call returns
400withcodetask.action_ambiguous. Use Perform Task Action to choose one. - If the task is already completed or dismissed, the call returns
400withcodetask.no_action_for_status, because no action moves a finished task.
expand=actions. Each item has an action_type and the transitions it
can make. An assignee of a pending task of type access-request-approval sees something like this:
transition_to of null means the action leaves the status as it is.
Send the action_type to Perform Task Action. Add
transition_to to choose the resulting status. It must be one of that action’s transitions.
Otherwise the call returns 400 with code task.transition_not_allowed. When the action has one
transition, omit transition_to, and Lumos uses that transition. An action_type that Lumos
doesn’t recognize returns 400 with code task.action_unknown.
Reassign. Reassign Task replaces the task’s assignees
with the user_ids and group_ids you send. Send "replace": false to add them to the existing
assignees instead.
- Reassign Task skips IDs that don’t match a user or group. If none match, the call returns
400. - Replacing also removes assignments made through a custom attribute, such as a manager field.
assigneeslists such an assignment as a user, so sending that list back assigns that user directly, and the task stops following the attribute. - For some task types, reassigning also changes the status. A
blockedtask of typeaccount-removalreturns topending.
201.
The four endpoints that act on a task return 409 with code task.already_in_status when the
task is already in the status the action would move it to. Any of the five endpoints returns 403
when you aren’t allowed to take the action.
Entitlement IDs on tasks
entitlement_id is the id of the entitlement the task grants
or removes. Pass it to Get Entitlement. It’s
null when the task isn’t about one entitlement. Approval tasks always carry null. If you’re
moving from requestable permissions, see
Migrate requestable permissions to entitlements.