REST API for managing workflow entities such as tasks and queues.
This service provides task lifecycle management for safety net benefits programs. Tasks represent units of work assigned to caseworkers, supervisors, or automated processes. Queues organize tasks by team, program, or skill for routing.
Status: Alpha — Breaking changes expected.
https://api.example.com/workflowQueues
Manage task routing queues.
▶
GET
/queues
List queues
#
Retrieve a paginated list of queues.
| Name | Type | In | Req | Description | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ▶q | string | query | Search query using field:value syntax. Multiple conditions separated by | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Search query using field:value syntax. Multiple conditions separated by spaces are ANDed together. URL Encoding: This parameter must be URL-encoded when sent over HTTP. Most HTTP clients handle this automatically. Examples in this documentation show human-readable syntax for clarity. Syntax
Examples
URL Encoding ReferenceWhen manually constructing URLs, encode these characters:
Example: `` | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| limit | integer | query | Maximum number of items to return (1-100). |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| offset | integer | query | Number of items to skip before collecting results. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▶sort | string | query | Comma-separated list of fields to sort the response by. Prefix a field | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Comma-separated list of fields to sort the response by. Prefix a field with URL Encoding: This parameter must be URL-encoded when sent over HTTP. Most HTTP clients handle this automatically. Examples below show human-readable syntax for clarity. Which fields a given list endpoint allows is declared in the operation's See Syntax
Examples
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
▶ QueueList
▶ items array[Queue] required
system user▶ BadRequest
▶ InternalError
▶
POST
/queues
Create a queue
#
Create a new routing queue.
▶ QueueCreate
▶ Queue
system user▶ BadRequest
▶ UnprocessableEntity
▶ InternalError
▶
GET
/queues/{queueId}
Get a queue
#
Retrieve a single queue by identifier.
| Name | Type | In | Req | Description |
|---|---|---|---|---|
| queueId | string | path | ✓ | Unique identifier of the queue. |
▶ Queue
system user▶ NotFound
▶ InternalError
▶
PATCH
/queues/{queueId}
Update a queue
#
Apply partial updates to an existing queue.
| Name | Type | In | Req | Description |
|---|---|---|---|---|
| queueId | string | path | ✓ | Unique identifier of the queue. |
▶ QueueUpdate
▶ Queue
system user▶ BadRequest
▶ NotFound
▶ UnprocessableEntity
▶ InternalError
▶
DELETE
/queues/{queueId}
Delete a queue
#
Permanently remove a queue record.
| Name | Type | In | Req | Description |
|---|---|---|---|---|
| queueId | string | path | ✓ | Unique identifier of the queue. |
▶ NotFound
▶ InternalError
Tasks
Manage workflow tasks.
▶
GET
/tasks
List tasks
#
Retrieve a paginated list of tasks.
| Name | Type | In | Req | Description | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ▶q | string | query | Search query using field:value syntax. Multiple conditions separated by | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Search query using field:value syntax. Multiple conditions separated by spaces are ANDed together. URL Encoding: This parameter must be URL-encoded when sent over HTTP. Most HTTP clients handle this automatically. Examples in this documentation show human-readable syntax for clarity. Syntax
Examples
URL Encoding ReferenceWhen manually constructing URLs, encode these characters:
Example: `` | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| limit | integer | query | Maximum number of items to return (1-100). |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| offset | integer | query | Number of items to skip before collecting results. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▶sort | string | query | Comma-separated list of fields to sort the response by. Prefix a field | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Comma-separated list of fields to sort the response by. Prefix a field with URL Encoding: This parameter must be URL-encoded when sent over HTTP. Most HTTP clients handle this automatically. Examples below show human-readable syntax for clarity. Which fields a given list endpoint allows is declared in the operation's See Syntax
Examples
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
▶ TaskList
▶ items array[Task] required
pending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_reviewapplication case document appointmentsnap medicaid chip tanf acasnap_expedited snap_standard medicaid_standard medicaid_disabilityactive warning paused breached completed▶ BadRequest
▶ InternalError
▶
POST
/tasks
Create a task
#
Create a new workflow task.
▶ TaskCreate
pending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_reviewapplication case document appointmentsnap medicaid chip tanf acasnap_expedited snap_standard medicaid_standard medicaid_disability▶ Task
pending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_reviewapplication case document appointmentsnap medicaid chip tanf acasnap_expedited snap_standard medicaid_standard medicaid_disabilityactive warning paused breached completed▶ BadRequest
▶ UnprocessableEntity
▶ InternalError
▶
GET
/tasks/{taskId}
Get a task
#
Retrieve a single task by identifier.
| Name | Type | In | Req | Description |
|---|---|---|---|---|
| taskId | string | path | ✓ | Unique identifier of the task. |
▶ Task
pending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_reviewapplication case document appointmentsnap medicaid chip tanf acasnap_expedited snap_standard medicaid_standard medicaid_disabilityactive warning paused breached completed▶ NotFound
▶ InternalError
▶
PATCH
/tasks/{taskId}
Update a task
#
Apply partial updates to an existing task.
| Name | Type | In | Req | Description |
|---|---|---|---|---|
| taskId | string | path | ✓ | Unique identifier of the task. |
▶ TaskUpdate
pending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_reviewapplication case document appointmentsnap medicaid chip tanf aca▶ Task
pending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_reviewapplication case document appointmentsnap medicaid chip tanf acasnap_expedited snap_standard medicaid_standard medicaid_disabilityactive warning paused breached completed▶ BadRequest
▶ NotFound
▶ UnprocessableEntity
▶ InternalError
▶
DELETE
/tasks/{taskId}
Delete a task
#
Permanently remove a task record.
| Name | Type | In | Req | Description |
|---|---|---|---|---|
| taskId | string | path | ✓ | Unique identifier of the task. |
▶ NotFound
▶ InternalError
▶
POST
/tasks/{taskId}/claim
Claim task
State machine →
#
POST /tasks/{taskId}/claim — Caseworker takes ownership of an unassigned pending task
| Name | Type | In | Req | Description |
|---|---|---|---|---|
| taskId | string | path | ✓ | Unique identifier of the task. |
▶ Task
pending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_reviewapplication case document appointmentsnap medicaid chip tanf acasnap_expedited snap_standard medicaid_standard medicaid_disabilityactive warning paused breached completed▶ BadRequest
▶ NotFound
▶ Conflict
▶ InternalError
▶
POST
/tasks/{taskId}/complete
Complete task
State machine →
#
POST /tasks/{taskId}/complete — Marks an in-progress task done with an outcome and optional notes
| Name | Type | In | Req | Description |
|---|---|---|---|---|
| taskId | string | path | ✓ | Unique identifier of the task. |
▶ CompleteTaskRequest
▶ Task
pending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_reviewapplication case document appointmentsnap medicaid chip tanf acasnap_expedited snap_standard medicaid_standard medicaid_disabilityactive warning paused breached completed▶ BadRequest
▶ NotFound
▶ Conflict
▶ InternalError
▶
POST
/tasks/{taskId}/release
Release task
State machine →
#
POST /tasks/{taskId}/release — Returns an in-progress task to the queue, clearing the assignment
| Name | Type | In | Req | Description |
|---|---|---|---|---|
| taskId | string | path | ✓ | Unique identifier of the task. |
▶ ReleaseTaskRequest
▶ Task
pending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_reviewapplication case document appointmentsnap medicaid chip tanf acasnap_expedited snap_standard medicaid_standard medicaid_disabilityactive warning paused breached completed▶ BadRequest
▶ NotFound
▶ Conflict
▶ InternalError
▶
POST
/tasks/{taskId}/escalate
Escalate task
State machine →
#
POST /tasks/{taskId}/escalate — Escalate a task; assigned workers can escalate in-progress tasks, supervisors can escalate from any state
| Name | Type | In | Req | Description |
|---|---|---|---|---|
| taskId | string | path | ✓ | Unique identifier of the task. |
▶ EscalateTaskRequest
▶ Task
pending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_reviewapplication case document appointmentsnap medicaid chip tanf acasnap_expedited snap_standard medicaid_standard medicaid_disabilityactive warning paused breached completed▶ BadRequest
▶ NotFound
▶ Conflict
▶ InternalError
▶
POST
/tasks/{taskId}/de-escalate
De escalate task
State machine →
#
POST /tasks/{taskId}/de-escalate — Returns an escalated task to the pending queue
| Name | Type | In | Req | Description |
|---|---|---|---|---|
| taskId | string | path | ✓ | Unique identifier of the task. |
▶ DeEscalateTaskRequest
▶ Task
pending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_reviewapplication case document appointmentsnap medicaid chip tanf acasnap_expedited snap_standard medicaid_standard medicaid_disabilityactive warning paused breached completed▶ BadRequest
▶ NotFound
▶ Conflict
▶ InternalError
▶
POST
/tasks/{taskId}/cancel
Cancel task
State machine →
#
POST /tasks/{taskId}/cancel — Supervisor cancels a task from any active state
| Name | Type | In | Req | Description |
|---|---|---|---|---|
| taskId | string | path | ✓ | Unique identifier of the task. |
▶ CancelTaskRequest
▶ Task
pending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_reviewapplication case document appointmentsnap medicaid chip tanf acasnap_expedited snap_standard medicaid_standard medicaid_disabilityactive warning paused breached completed▶ BadRequest
▶ NotFound
▶ Conflict
▶ InternalError
▶
POST
/tasks/{taskId}/reopen
Reopen task
State machine →
#
POST /tasks/{taskId}/reopen — Supervisor returns a cancelled task to the pending queue
| Name | Type | In | Req | Description |
|---|---|---|---|---|
| taskId | string | path | ✓ | Unique identifier of the task. |
▶ ReopenTaskRequest
▶ Task
pending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_reviewapplication case document appointmentsnap medicaid chip tanf acasnap_expedited snap_standard medicaid_standard medicaid_disabilityactive warning paused breached completed▶ BadRequest
▶ NotFound
▶ Conflict
▶ InternalError
▶
POST
/tasks/{taskId}/await-client
Await client task
State machine →
#
POST /tasks/{taskId}/await-client — Pauses an in-progress task while waiting for a client response
| Name | Type | In | Req | Description |
|---|---|---|---|---|
| taskId | string | path | ✓ | Unique identifier of the task. |
▶ AwaitClientRequest
▶ Task
pending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_reviewapplication case document appointmentsnap medicaid chip tanf acasnap_expedited snap_standard medicaid_standard medicaid_disabilityactive warning paused breached completed▶ BadRequest
▶ NotFound
▶ Conflict
▶ InternalError
▶
POST
/tasks/{taskId}/await-verification
Await verification task
State machine →
#
POST /tasks/{taskId}/await-verification — Pauses an in-progress task while waiting for a verification result
| Name | Type | In | Req | Description |
|---|---|---|---|---|
| taskId | string | path | ✓ | Unique identifier of the task. |
▶ AwaitVerificationRequest
▶ Task
pending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_reviewapplication case document appointmentsnap medicaid chip tanf acasnap_expedited snap_standard medicaid_standard medicaid_disabilityactive warning paused breached completed▶ BadRequest
▶ NotFound
▶ Conflict
▶ InternalError
▶
POST
/tasks/{taskId}/resume
Resume task
State machine →
#
POST /tasks/{taskId}/resume — Resumes a blocked task, cancelling any active wait timers
| Name | Type | In | Req | Description |
|---|---|---|---|---|
| taskId | string | path | ✓ | Unique identifier of the task. |
▶ Task
pending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_reviewapplication case document appointmentsnap medicaid chip tanf acasnap_expedited snap_standard medicaid_standard medicaid_disabilityactive warning paused breached completed▶ BadRequest
▶ NotFound
▶ Conflict
▶ InternalError
▶
POST
/tasks/{taskId}/auto-resume
Auto resume task
State machine →
#
POST /tasks/{taskId}/auto-resume — System resumes a verification-blocked task when the timeout fires or a verification result arrives
| Name | Type | In | Req | Description |
|---|---|---|---|---|
| taskId | string | path | ✓ | Unique identifier of the task. |
▶ SystemResumeTaskRequest
▶ Task
pending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_reviewapplication case document appointmentsnap medicaid chip tanf acasnap_expedited snap_standard medicaid_standard medicaid_disabilityactive warning paused breached completed▶ BadRequest
▶ NotFound
▶ Conflict
▶ InternalError
▶
POST
/tasks/{taskId}/sla-escalate
Sla escalate task
State machine →
#
POST /tasks/{taskId}/sla-escalate — System escalates a task when an SLA timer fires (creation deadline, warning, or breach)
| Name | Type | In | Req | Description |
|---|---|---|---|---|
| taskId | string | path | ✓ | Unique identifier of the task. |
▶ SystemEscalateTaskRequest
▶ Task
pending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_reviewapplication case document appointmentsnap medicaid chip tanf acasnap_expedited snap_standard medicaid_standard medicaid_disabilityactive warning paused breached completed▶ BadRequest
▶ NotFound
▶ Conflict
▶ InternalError
▶
POST
/tasks/{taskId}/auto-cancel
Auto cancel task
State machine →
#
POST /tasks/{taskId}/auto-cancel — System cancels a client-blocked task after 30 days without a response
| Name | Type | In | Req | Description |
|---|---|---|---|---|
| taskId | string | path | ✓ | Unique identifier of the task. |
▶ Task
pending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_reviewapplication case document appointmentsnap medicaid chip tanf acasnap_expedited snap_standard medicaid_standard medicaid_disabilityactive warning paused breached completed▶ BadRequest
▶ NotFound
▶ Conflict
▶ InternalError
▶
POST
/tasks/{taskId}/submit-for-review
Submit for review task
State machine →
#
POST /tasks/{taskId}/submit-for-review — Worker submits a completed task to a supervisor for review and approval
| Name | Type | In | Req | Description |
|---|---|---|---|---|
| taskId | string | path | ✓ | Unique identifier of the task. |
▶ Task
pending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_reviewapplication case document appointmentsnap medicaid chip tanf acasnap_expedited snap_standard medicaid_standard medicaid_disabilityactive warning paused breached completed▶ BadRequest
▶ NotFound
▶ Conflict
▶ InternalError
▶
POST
/tasks/{taskId}/approve
Approve task
State machine →
#
POST /tasks/{taskId}/approve — Supervisor approves a submitted task and records the final outcome
| Name | Type | In | Req | Description |
|---|---|---|---|---|
| taskId | string | path | ✓ | Unique identifier of the task. |
▶ ApproveTaskRequest
▶ Task
pending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_reviewapplication case document appointmentsnap medicaid chip tanf acasnap_expedited snap_standard medicaid_standard medicaid_disabilityactive warning paused breached completed▶ BadRequest
▶ NotFound
▶ Conflict
▶ InternalError
▶
POST
/tasks/{taskId}/return-to-worker
Return to worker task
State machine →
#
POST /tasks/{taskId}/return-to-worker — Supervisor sends a review-pending task back to the worker with feedback
| Name | Type | In | Req | Description |
|---|---|---|---|---|
| taskId | string | path | ✓ | Unique identifier of the task. |
▶ ReturnToWorkerRequest
▶ Task
pending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_reviewapplication case document appointmentsnap medicaid chip tanf acasnap_expedited snap_standard medicaid_standard medicaid_disabilityactive warning paused breached completed▶ BadRequest
▶ NotFound
▶ Conflict
▶ InternalError
▶
POST
/tasks/{taskId}/assign
Assign task
State machine →
#
POST /tasks/{taskId}/assign — Supervisor reassigns a task to a specific caseworker or moves it to a different queue
| Name | Type | In | Req | Description |
|---|---|---|---|---|
| taskId | string | path | ✓ | Unique identifier of the task. |
▶ AssignTaskRequest
▶ Task
pending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_reviewapplication case document appointmentsnap medicaid chip tanf acasnap_expedited snap_standard medicaid_standard medicaid_disabilityactive warning paused breached completed▶ BadRequest
▶ NotFound
▶ Conflict
▶ InternalError
▶
POST
/tasks/{taskId}/set-priority
Set priority task
State machine →
#
POST /tasks/{taskId}/set-priority — Supervisor manually overrides the task priority
| Name | Type | In | Req | Description |
|---|---|---|---|---|
| taskId | string | path | ✓ | Unique identifier of the task. |
▶ SetPriorityRequest
▶ Task
pending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_reviewapplication case document appointmentsnap medicaid chip tanf acasnap_expedited snap_standard medicaid_standard medicaid_disabilityactive warning paused breached completed▶ BadRequest
▶ NotFound
▶ Conflict
▶ InternalError
Metrics
Computed operational metrics derived from task and event data.
▶
GET
/metrics
List metrics
#
Retrieve computed values for all workflow metrics.
| Name | Type | In | Req | Description | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ▶q | string | query | Search query using field:value syntax. Multiple conditions separated by | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Search query using field:value syntax. Multiple conditions separated by spaces are ANDed together. URL Encoding: This parameter must be URL-encoded when sent over HTTP. Most HTTP clients handle this automatically. Examples in this documentation show human-readable syntax for clarity. Syntax
Examples
URL Encoding ReferenceWhen manually constructing URLs, encode these characters:
Example: `` | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| limit | integer | query | Maximum number of items to return (1-100). |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| offset | integer | query | Number of items to skip before collecting results. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▶sort | string | query | Comma-separated list of fields to sort the response by. Prefix a field | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Comma-separated list of fields to sort the response by. Prefix a field with URL Encoding: This parameter must be URL-encoded when sent over HTTP. Most HTTP clients handle this automatically. Examples below show human-readable syntax for clarity. Which fields a given list endpoint allows is declared in the operation's See Syntax
Examples
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| groupBy | string | query | Field to group results by (e.g., |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| from | string | query | Start of time window for filtering events and tasks by timestamp. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| to | string | query | End of time window for filtering events and tasks by timestamp. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| queueId | string | query | Filter to tasks and events associated with a specific queue. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| program | string | query | Filter to tasks and events associated with a specific program. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
▶ MetricList
▶ items array[Metric] required
count ratio duration▶ targets array[MetricTarget] read-only Thresholds and goals from the metric definition.
< <= > >= ==hours minutes days percent countup down▶ BadRequest
▶ InternalError
▶
GET
/metrics/{metricId}
Get a metric
#
Retrieve the computed value for a single workflow metric by identifier.
| Name | Type | In | Req | Description |
|---|---|---|---|---|
| metricId | string | path | ✓ | Unique identifier of the metric (e.g., task_time_to_claim). |
| groupBy | string | query | Field to group results by. When specified, |
|
| from | string | query | Start of time window for filtering events and tasks by timestamp. |
|
| to | string | query | End of time window for filtering events and tasks by timestamp. |
|
| queueId | string | query | Filter to tasks and events associated with a specific queue. |
|
| program | string | query | Filter to tasks and events associated with a specific program. |
▶ Metric
count ratio duration▶ targets array[MetricTarget] read-only Thresholds and goals from the metric definition.
< <= > >= ==hours minutes days percent countup down