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.
Base URL: https://api.example.com/workflow

Queues

Manage task routing queues.

GET /queues List queues

Retrieve a paginated list of queues.

Parameters
Name Type In Req Description
q string query Search query using field:value syntax. Multiple conditions separated by
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
Responses
200 A paginated collection of queues.
QueueList
items array[Queue] required
name string Machine-readable name for the queue (e.g., snap-intake).
description string Human-readable description of the queue's purpose.
id string (uuid) read-only Unique identifier for the queue.
source string read-only Origin of the queue. "system" queues are defined in workflow-config.yaml and cannot be deleted via the API. "user" queues are created at runtime via POST /queues and can be deleted. Consumers may use this field to disable destructive actions for system queues without first attempting the operation.
enumsystem user
createdAt string (date-time) read-only Timestamp when the queue was created.
updatedAt string (date-time) read-only Timestamp when the queue was last updated.
total integer required Total number of queues available.
limit integer required Maximum number of queues requested.
offset integer required Number of items skipped before the current page.
hasNext boolean Indicates whether more queues are available beyond the current page.
400 The request is malformed or contains invalid parameters.
BadRequest
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
500 An unexpected error occurred on the server.
InternalError
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
POST /queues Create a queue

Create a new routing queue.

Request body required
QueueCreate
name string Machine-readable name for the queue (e.g., snap-intake).
description string Human-readable description of the queue's purpose.
Responses
201 Queue created successfully.
Queue
name string Machine-readable name for the queue (e.g., snap-intake).
description string Human-readable description of the queue's purpose.
id string (uuid) read-only Unique identifier for the queue.
source string read-only Origin of the queue. "system" queues are defined in workflow-config.yaml and cannot be deleted via the API. "user" queues are created at runtime via POST /queues and can be deleted. Consumers may use this field to disable destructive actions for system queues without first attempting the operation.
enumsystem user
createdAt string (date-time) read-only Timestamp when the queue was created.
updatedAt string (date-time) read-only Timestamp when the queue was last updated.
400 The request is malformed or contains invalid parameters.
BadRequest
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
422 The request was well-formed but contained semantic errors.
UnprocessableEntity
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
500 An unexpected error occurred on the server.
InternalError
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
GET /queues/{queueId} Get a queue

Retrieve a single queue by identifier.

Parameters
Name Type In Req Description
queueId string path

Unique identifier of the queue.

Responses
200 Queue retrieved successfully.
Queue
name string Machine-readable name for the queue (e.g., snap-intake).
description string Human-readable description of the queue's purpose.
id string (uuid) read-only Unique identifier for the queue.
source string read-only Origin of the queue. "system" queues are defined in workflow-config.yaml and cannot be deleted via the API. "user" queues are created at runtime via POST /queues and can be deleted. Consumers may use this field to disable destructive actions for system queues without first attempting the operation.
enumsystem user
createdAt string (date-time) read-only Timestamp when the queue was created.
updatedAt string (date-time) read-only Timestamp when the queue was last updated.
404 The requested resource was not found.
NotFound
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
500 An unexpected error occurred on the server.
InternalError
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
PATCH /queues/{queueId} Update a queue

Apply partial updates to an existing queue.

Parameters
Name Type In Req Description
queueId string path

Unique identifier of the queue.

Request body required
QueueUpdate
name string Machine-readable name for the queue (e.g., snap-intake).
description string Human-readable description of the queue's purpose.
Responses
200 Queue updated successfully.
Queue
name string Machine-readable name for the queue (e.g., snap-intake).
description string Human-readable description of the queue's purpose.
id string (uuid) read-only Unique identifier for the queue.
source string read-only Origin of the queue. "system" queues are defined in workflow-config.yaml and cannot be deleted via the API. "user" queues are created at runtime via POST /queues and can be deleted. Consumers may use this field to disable destructive actions for system queues without first attempting the operation.
enumsystem user
createdAt string (date-time) read-only Timestamp when the queue was created.
updatedAt string (date-time) read-only Timestamp when the queue was last updated.
400 The request is malformed or contains invalid parameters.
BadRequest
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
404 The requested resource was not found.
NotFound
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
422 The request was well-formed but contained semantic errors.
UnprocessableEntity
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
500 An unexpected error occurred on the server.
InternalError
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
DELETE /queues/{queueId} Delete a queue

Permanently remove a queue record.

Parameters
Name Type In Req Description
queueId string path

Unique identifier of the queue.

Responses
204 Queue deleted successfully.
404 The requested resource was not found.
NotFound
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
500 An unexpected error occurred on the server.
InternalError
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.

Tasks

Manage workflow tasks.

GET /tasks List tasks

Retrieve a paginated list of tasks.

Parameters
Name Type In Req Description
q string query Search query using field:value syntax. Multiple conditions separated by
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
Responses
200 A paginated collection of tasks.
TaskList
total integer required Total number of items available.
limit integer required Maximum number of items requested.
offset integer required Number of items skipped before the current page.
hasNext boolean Whether more items are available beyond the current page.
items array[Task] required
name string Human-readable label for the task.
description string Detailed information about the task.
status string Current lifecycle state. Valid values are injected at resolve time from workflow-state-machine.yaml.
enumpending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_review
taskType string The type of work this task represents (e.g., application_review, interview, document_review). Used by state machine guards to enable type-specific lifecycle branches and by routing rules for type-aware assignment. Open string — states extend via overlay without schema changes.
subjectType string The type of entity this task is associated with. Used together with subjectId to form a polymorphic association. States extend the enum via overlay. Resolution of subjectId is conditional on subjectType — no automatic expansion is performed.
enumapplication case document appointment
subjectId string (uuid) Reference to the entity this task is associated with. The target entity type is determined by subjectType. Resolution is conditional on subjectType — consumers must resolve by type; no automatic expansion is performed.
programType string The benefits program this task is associated with. Program-specific field used for routing and SLA assignment on application review tasks. Candidate for removal once context enrichment (#203) provides a generic alternative.
enumsnap medicaid chip tanf aca
isExpedited boolean Whether this task requires expedited processing. SNAP-specific concept tied to the 7-day regulatory deadline. Candidate for removal once context enrichment (#203) provides a generic alternative.
queueId string (uuid) Reference to the Queue this task is routed to.
priority integer Task processing priority (1=expedited, 2=high, 3=normal, 4=low). Lower number = higher urgency. Numeric representation enables correct ascending sort: expedited tasks surface first.
startedAt string (date-time) When work began (status transitioned to in_progress).
completedAt string (date-time) When work finished.
escalatedAt string (date-time) When the task was escalated.
cancelledAt string (date-time) When the task was cancelled.
blockedAt string (date-time) When the task entered a waiting state (awaiting_client or awaiting_verification).
assignedToId string (uuid) Reference to the User assigned to this task.
outcome string Completion outcome recorded when the task was completed (e.g., approved, denied).
completionNotes string Optional notes recorded when the task was completed.
id string (uuid) read-only Unique identifier for the task.
slaInfo array[object] read-only Engine-managed SLA tracking entries. Populated on create and updated on every transition. Read-only — use slaInfo on TaskCreate to specify which SLA types to track.
slaTypeCode string required Identifies which SLA type applies. Valid values are injected at resolve time from the domain's *-sla-types.yaml.
enumsnap_expedited snap_standard medicaid_standard medicaid_disability
status string required read-only Engine-managed SLA clock status. active — clock is running. warning — clock is running but warningThresholdPercent has elapsed. paused — clock is paused (e.g., awaiting client response). breached — deadline has passed without completion. completed — SLA was satisfied before the deadline.
enumactive warning paused breached completed
clockStartedAt string (date-time) required read-only When the SLA clock started. Engine-managed.
deadline string (date-time) required read-only Computed deadline. Recalculated after a resume to exclude accumulated paused duration. Engine-managed.
slaDeadline string (date-time) read-only Engine-managed. The earliest active deadline across all slaInfo entries. Null when no active SLA entries exist. Recalculated whenever slaInfo is updated.
createdAt string (date-time) read-only Timestamp when the task was created.
updatedAt string (date-time) read-only Timestamp when the task was last updated.
400 The request is malformed or contains invalid parameters.
BadRequest
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
500 An unexpected error occurred on the server.
InternalError
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
POST /tasks Create a task

Create a new workflow task.

Request body required
TaskCreate
name string Human-readable label for the task.
description string Detailed information about the task.
status string Current lifecycle state. Valid values are injected at resolve time from workflow-state-machine.yaml.
enumpending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_review
taskType string The type of work this task represents (e.g., application_review, interview, document_review). Used by state machine guards to enable type-specific lifecycle branches and by routing rules for type-aware assignment. Open string — states extend via overlay without schema changes.
subjectType string The type of entity this task is associated with. Used together with subjectId to form a polymorphic association. States extend the enum via overlay. Resolution of subjectId is conditional on subjectType — no automatic expansion is performed.
enumapplication case document appointment
subjectId string (uuid) Reference to the entity this task is associated with. The target entity type is determined by subjectType. Resolution is conditional on subjectType — consumers must resolve by type; no automatic expansion is performed.
programType string The benefits program this task is associated with. Program-specific field used for routing and SLA assignment on application review tasks. Candidate for removal once context enrichment (#203) provides a generic alternative.
enumsnap medicaid chip tanf aca
isExpedited boolean Whether this task requires expedited processing. SNAP-specific concept tied to the 7-day regulatory deadline. Candidate for removal once context enrichment (#203) provides a generic alternative.
queueId string (uuid) Reference to the Queue this task is routed to.
priority integer Task processing priority (1=expedited, 2=high, 3=normal, 4=low). Lower number = higher urgency. Numeric representation enables correct ascending sort: expedited tasks surface first.
startedAt string (date-time) When work began (status transitioned to in_progress).
completedAt string (date-time) When work finished.
escalatedAt string (date-time) When the task was escalated.
cancelledAt string (date-time) When the task was cancelled.
blockedAt string (date-time) When the task entered a waiting state (awaiting_client or awaiting_verification).
assignedToId string (uuid) Reference to the User assigned to this task.
outcome string Completion outcome recorded when the task was completed (e.g., approved, denied).
completionNotes string Optional notes recorded when the task was completed.
slaInfo array[object] Optional SLA types to track for this task. Client-provided types are merged with any types auto-assigned by autoAssignWhen evaluation — both apply. Engine populates status, clockStartedAt, and deadline.
slaTypeCode string required Identifies which SLA type to track. Valid values are injected at resolve time from the domain's *-sla-types.yaml.
enumsnap_expedited snap_standard medicaid_standard medicaid_disability
Responses
201 Task created successfully.
Task
name string Human-readable label for the task.
description string Detailed information about the task.
status string Current lifecycle state. Valid values are injected at resolve time from workflow-state-machine.yaml.
enumpending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_review
taskType string The type of work this task represents (e.g., application_review, interview, document_review). Used by state machine guards to enable type-specific lifecycle branches and by routing rules for type-aware assignment. Open string — states extend via overlay without schema changes.
subjectType string The type of entity this task is associated with. Used together with subjectId to form a polymorphic association. States extend the enum via overlay. Resolution of subjectId is conditional on subjectType — no automatic expansion is performed.
enumapplication case document appointment
subjectId string (uuid) Reference to the entity this task is associated with. The target entity type is determined by subjectType. Resolution is conditional on subjectType — consumers must resolve by type; no automatic expansion is performed.
programType string The benefits program this task is associated with. Program-specific field used for routing and SLA assignment on application review tasks. Candidate for removal once context enrichment (#203) provides a generic alternative.
enumsnap medicaid chip tanf aca
isExpedited boolean Whether this task requires expedited processing. SNAP-specific concept tied to the 7-day regulatory deadline. Candidate for removal once context enrichment (#203) provides a generic alternative.
queueId string (uuid) Reference to the Queue this task is routed to.
priority integer Task processing priority (1=expedited, 2=high, 3=normal, 4=low). Lower number = higher urgency. Numeric representation enables correct ascending sort: expedited tasks surface first.
startedAt string (date-time) When work began (status transitioned to in_progress).
completedAt string (date-time) When work finished.
escalatedAt string (date-time) When the task was escalated.
cancelledAt string (date-time) When the task was cancelled.
blockedAt string (date-time) When the task entered a waiting state (awaiting_client or awaiting_verification).
assignedToId string (uuid) Reference to the User assigned to this task.
outcome string Completion outcome recorded when the task was completed (e.g., approved, denied).
completionNotes string Optional notes recorded when the task was completed.
id string (uuid) read-only Unique identifier for the task.
slaInfo array[object] read-only Engine-managed SLA tracking entries. Populated on create and updated on every transition. Read-only — use slaInfo on TaskCreate to specify which SLA types to track.
slaTypeCode string required Identifies which SLA type applies. Valid values are injected at resolve time from the domain's *-sla-types.yaml.
enumsnap_expedited snap_standard medicaid_standard medicaid_disability
status string required read-only Engine-managed SLA clock status. active — clock is running. warning — clock is running but warningThresholdPercent has elapsed. paused — clock is paused (e.g., awaiting client response). breached — deadline has passed without completion. completed — SLA was satisfied before the deadline.
enumactive warning paused breached completed
clockStartedAt string (date-time) required read-only When the SLA clock started. Engine-managed.
deadline string (date-time) required read-only Computed deadline. Recalculated after a resume to exclude accumulated paused duration. Engine-managed.
slaDeadline string (date-time) read-only Engine-managed. The earliest active deadline across all slaInfo entries. Null when no active SLA entries exist. Recalculated whenever slaInfo is updated.
createdAt string (date-time) read-only Timestamp when the task was created.
updatedAt string (date-time) read-only Timestamp when the task was last updated.
400 The request is malformed or contains invalid parameters.
BadRequest
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
422 The request was well-formed but contained semantic errors.
UnprocessableEntity
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
500 An unexpected error occurred on the server.
InternalError
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
GET /tasks/{taskId} Get a task

Retrieve a single task by identifier.

Parameters
Name Type In Req Description
taskId string path

Unique identifier of the task.

Responses
200 Task retrieved successfully.
Task
name string Human-readable label for the task.
description string Detailed information about the task.
status string Current lifecycle state. Valid values are injected at resolve time from workflow-state-machine.yaml.
enumpending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_review
taskType string The type of work this task represents (e.g., application_review, interview, document_review). Used by state machine guards to enable type-specific lifecycle branches and by routing rules for type-aware assignment. Open string — states extend via overlay without schema changes.
subjectType string The type of entity this task is associated with. Used together with subjectId to form a polymorphic association. States extend the enum via overlay. Resolution of subjectId is conditional on subjectType — no automatic expansion is performed.
enumapplication case document appointment
subjectId string (uuid) Reference to the entity this task is associated with. The target entity type is determined by subjectType. Resolution is conditional on subjectType — consumers must resolve by type; no automatic expansion is performed.
programType string The benefits program this task is associated with. Program-specific field used for routing and SLA assignment on application review tasks. Candidate for removal once context enrichment (#203) provides a generic alternative.
enumsnap medicaid chip tanf aca
isExpedited boolean Whether this task requires expedited processing. SNAP-specific concept tied to the 7-day regulatory deadline. Candidate for removal once context enrichment (#203) provides a generic alternative.
queueId string (uuid) Reference to the Queue this task is routed to.
priority integer Task processing priority (1=expedited, 2=high, 3=normal, 4=low). Lower number = higher urgency. Numeric representation enables correct ascending sort: expedited tasks surface first.
startedAt string (date-time) When work began (status transitioned to in_progress).
completedAt string (date-time) When work finished.
escalatedAt string (date-time) When the task was escalated.
cancelledAt string (date-time) When the task was cancelled.
blockedAt string (date-time) When the task entered a waiting state (awaiting_client or awaiting_verification).
assignedToId string (uuid) Reference to the User assigned to this task.
outcome string Completion outcome recorded when the task was completed (e.g., approved, denied).
completionNotes string Optional notes recorded when the task was completed.
id string (uuid) read-only Unique identifier for the task.
slaInfo array[object] read-only Engine-managed SLA tracking entries. Populated on create and updated on every transition. Read-only — use slaInfo on TaskCreate to specify which SLA types to track.
slaTypeCode string required Identifies which SLA type applies. Valid values are injected at resolve time from the domain's *-sla-types.yaml.
enumsnap_expedited snap_standard medicaid_standard medicaid_disability
status string required read-only Engine-managed SLA clock status. active — clock is running. warning — clock is running but warningThresholdPercent has elapsed. paused — clock is paused (e.g., awaiting client response). breached — deadline has passed without completion. completed — SLA was satisfied before the deadline.
enumactive warning paused breached completed
clockStartedAt string (date-time) required read-only When the SLA clock started. Engine-managed.
deadline string (date-time) required read-only Computed deadline. Recalculated after a resume to exclude accumulated paused duration. Engine-managed.
slaDeadline string (date-time) read-only Engine-managed. The earliest active deadline across all slaInfo entries. Null when no active SLA entries exist. Recalculated whenever slaInfo is updated.
createdAt string (date-time) read-only Timestamp when the task was created.
updatedAt string (date-time) read-only Timestamp when the task was last updated.
404 The requested resource was not found.
NotFound
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
500 An unexpected error occurred on the server.
InternalError
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
PATCH /tasks/{taskId} Update a task

Apply partial updates to an existing task.

Parameters
Name Type In Req Description
taskId string path

Unique identifier of the task.

Request body required
TaskUpdate
name string Human-readable label for the task.
description string Detailed information about the task.
status string Current lifecycle state. Valid values are injected at resolve time from workflow-state-machine.yaml.
enumpending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_review
taskType string The type of work this task represents (e.g., application_review, interview, document_review). Used by state machine guards to enable type-specific lifecycle branches and by routing rules for type-aware assignment. Open string — states extend via overlay without schema changes.
subjectType string The type of entity this task is associated with. Used together with subjectId to form a polymorphic association. States extend the enum via overlay. Resolution of subjectId is conditional on subjectType — no automatic expansion is performed.
enumapplication case document appointment
subjectId string (uuid) Reference to the entity this task is associated with. The target entity type is determined by subjectType. Resolution is conditional on subjectType — consumers must resolve by type; no automatic expansion is performed.
programType string The benefits program this task is associated with. Program-specific field used for routing and SLA assignment on application review tasks. Candidate for removal once context enrichment (#203) provides a generic alternative.
enumsnap medicaid chip tanf aca
isExpedited boolean Whether this task requires expedited processing. SNAP-specific concept tied to the 7-day regulatory deadline. Candidate for removal once context enrichment (#203) provides a generic alternative.
queueId string (uuid) Reference to the Queue this task is routed to.
priority integer Task processing priority (1=expedited, 2=high, 3=normal, 4=low). Lower number = higher urgency. Numeric representation enables correct ascending sort: expedited tasks surface first.
startedAt string (date-time) When work began (status transitioned to in_progress).
completedAt string (date-time) When work finished.
escalatedAt string (date-time) When the task was escalated.
cancelledAt string (date-time) When the task was cancelled.
blockedAt string (date-time) When the task entered a waiting state (awaiting_client or awaiting_verification).
assignedToId string (uuid) Reference to the User assigned to this task.
outcome string Completion outcome recorded when the task was completed (e.g., approved, denied).
completionNotes string Optional notes recorded when the task was completed.
Responses
200 Task updated successfully.
Task
name string Human-readable label for the task.
description string Detailed information about the task.
status string Current lifecycle state. Valid values are injected at resolve time from workflow-state-machine.yaml.
enumpending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_review
taskType string The type of work this task represents (e.g., application_review, interview, document_review). Used by state machine guards to enable type-specific lifecycle branches and by routing rules for type-aware assignment. Open string — states extend via overlay without schema changes.
subjectType string The type of entity this task is associated with. Used together with subjectId to form a polymorphic association. States extend the enum via overlay. Resolution of subjectId is conditional on subjectType — no automatic expansion is performed.
enumapplication case document appointment
subjectId string (uuid) Reference to the entity this task is associated with. The target entity type is determined by subjectType. Resolution is conditional on subjectType — consumers must resolve by type; no automatic expansion is performed.
programType string The benefits program this task is associated with. Program-specific field used for routing and SLA assignment on application review tasks. Candidate for removal once context enrichment (#203) provides a generic alternative.
enumsnap medicaid chip tanf aca
isExpedited boolean Whether this task requires expedited processing. SNAP-specific concept tied to the 7-day regulatory deadline. Candidate for removal once context enrichment (#203) provides a generic alternative.
queueId string (uuid) Reference to the Queue this task is routed to.
priority integer Task processing priority (1=expedited, 2=high, 3=normal, 4=low). Lower number = higher urgency. Numeric representation enables correct ascending sort: expedited tasks surface first.
startedAt string (date-time) When work began (status transitioned to in_progress).
completedAt string (date-time) When work finished.
escalatedAt string (date-time) When the task was escalated.
cancelledAt string (date-time) When the task was cancelled.
blockedAt string (date-time) When the task entered a waiting state (awaiting_client or awaiting_verification).
assignedToId string (uuid) Reference to the User assigned to this task.
outcome string Completion outcome recorded when the task was completed (e.g., approved, denied).
completionNotes string Optional notes recorded when the task was completed.
id string (uuid) read-only Unique identifier for the task.
slaInfo array[object] read-only Engine-managed SLA tracking entries. Populated on create and updated on every transition. Read-only — use slaInfo on TaskCreate to specify which SLA types to track.
slaTypeCode string required Identifies which SLA type applies. Valid values are injected at resolve time from the domain's *-sla-types.yaml.
enumsnap_expedited snap_standard medicaid_standard medicaid_disability
status string required read-only Engine-managed SLA clock status. active — clock is running. warning — clock is running but warningThresholdPercent has elapsed. paused — clock is paused (e.g., awaiting client response). breached — deadline has passed without completion. completed — SLA was satisfied before the deadline.
enumactive warning paused breached completed
clockStartedAt string (date-time) required read-only When the SLA clock started. Engine-managed.
deadline string (date-time) required read-only Computed deadline. Recalculated after a resume to exclude accumulated paused duration. Engine-managed.
slaDeadline string (date-time) read-only Engine-managed. The earliest active deadline across all slaInfo entries. Null when no active SLA entries exist. Recalculated whenever slaInfo is updated.
createdAt string (date-time) read-only Timestamp when the task was created.
updatedAt string (date-time) read-only Timestamp when the task was last updated.
400 The request is malformed or contains invalid parameters.
BadRequest
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
404 The requested resource was not found.
NotFound
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
422 The request was well-formed but contained semantic errors.
UnprocessableEntity
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
500 An unexpected error occurred on the server.
InternalError
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
DELETE /tasks/{taskId} Delete a task

Permanently remove a task record.

Parameters
Name Type In Req Description
taskId string path

Unique identifier of the task.

Responses
204 Task deleted successfully.
404 The requested resource was not found.
NotFound
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
500 An unexpected error occurred on the server.
InternalError
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
POST /tasks/{taskId}/claim Claim task State machine →

POST /tasks/{taskId}/claim — Caseworker takes ownership of an unassigned pending task

Parameters
Name Type In Req Description
taskId string path

Unique identifier of the task.

Responses
200 Transition applied successfully.
Task
name string Human-readable label for the task.
description string Detailed information about the task.
status string Current lifecycle state. Valid values are injected at resolve time from workflow-state-machine.yaml.
enumpending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_review
taskType string The type of work this task represents (e.g., application_review, interview, document_review). Used by state machine guards to enable type-specific lifecycle branches and by routing rules for type-aware assignment. Open string — states extend via overlay without schema changes.
subjectType string The type of entity this task is associated with. Used together with subjectId to form a polymorphic association. States extend the enum via overlay. Resolution of subjectId is conditional on subjectType — no automatic expansion is performed.
enumapplication case document appointment
subjectId string (uuid) Reference to the entity this task is associated with. The target entity type is determined by subjectType. Resolution is conditional on subjectType — consumers must resolve by type; no automatic expansion is performed.
programType string The benefits program this task is associated with. Program-specific field used for routing and SLA assignment on application review tasks. Candidate for removal once context enrichment (#203) provides a generic alternative.
enumsnap medicaid chip tanf aca
isExpedited boolean Whether this task requires expedited processing. SNAP-specific concept tied to the 7-day regulatory deadline. Candidate for removal once context enrichment (#203) provides a generic alternative.
queueId string (uuid) Reference to the Queue this task is routed to.
priority integer Task processing priority (1=expedited, 2=high, 3=normal, 4=low). Lower number = higher urgency. Numeric representation enables correct ascending sort: expedited tasks surface first.
startedAt string (date-time) When work began (status transitioned to in_progress).
completedAt string (date-time) When work finished.
escalatedAt string (date-time) When the task was escalated.
cancelledAt string (date-time) When the task was cancelled.
blockedAt string (date-time) When the task entered a waiting state (awaiting_client or awaiting_verification).
assignedToId string (uuid) Reference to the User assigned to this task.
outcome string Completion outcome recorded when the task was completed (e.g., approved, denied).
completionNotes string Optional notes recorded when the task was completed.
id string (uuid) read-only Unique identifier for the task.
slaInfo array[object] read-only Engine-managed SLA tracking entries. Populated on create and updated on every transition. Read-only — use slaInfo on TaskCreate to specify which SLA types to track.
slaTypeCode string required Identifies which SLA type applies. Valid values are injected at resolve time from the domain's *-sla-types.yaml.
enumsnap_expedited snap_standard medicaid_standard medicaid_disability
status string required read-only Engine-managed SLA clock status. active — clock is running. warning — clock is running but warningThresholdPercent has elapsed. paused — clock is paused (e.g., awaiting client response). breached — deadline has passed without completion. completed — SLA was satisfied before the deadline.
enumactive warning paused breached completed
clockStartedAt string (date-time) required read-only When the SLA clock started. Engine-managed.
deadline string (date-time) required read-only Computed deadline. Recalculated after a resume to exclude accumulated paused duration. Engine-managed.
slaDeadline string (date-time) read-only Engine-managed. The earliest active deadline across all slaInfo entries. Null when no active SLA entries exist. Recalculated whenever slaInfo is updated.
createdAt string (date-time) read-only Timestamp when the task was created.
updatedAt string (date-time) read-only Timestamp when the task was last updated.
400 The request is malformed or contains invalid parameters.
BadRequest
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
404 The requested resource was not found.
NotFound
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
409 A conflict occurred with the current state of the resource.
Conflict
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
500 An unexpected error occurred on the server.
InternalError
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
POST /tasks/{taskId}/complete Complete task State machine →

POST /tasks/{taskId}/complete — Marks an in-progress task done with an outcome and optional notes

Parameters
Name Type In Req Description
taskId string path

Unique identifier of the task.

Request body required
CompleteTaskRequest
outcome string required Completion outcome (e.g., approved, denied)
notes string Optional notes about the completion
createFollowUp boolean When true, a follow-up task is automatically created
Responses
200 Transition applied successfully.
Task
name string Human-readable label for the task.
description string Detailed information about the task.
status string Current lifecycle state. Valid values are injected at resolve time from workflow-state-machine.yaml.
enumpending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_review
taskType string The type of work this task represents (e.g., application_review, interview, document_review). Used by state machine guards to enable type-specific lifecycle branches and by routing rules for type-aware assignment. Open string — states extend via overlay without schema changes.
subjectType string The type of entity this task is associated with. Used together with subjectId to form a polymorphic association. States extend the enum via overlay. Resolution of subjectId is conditional on subjectType — no automatic expansion is performed.
enumapplication case document appointment
subjectId string (uuid) Reference to the entity this task is associated with. The target entity type is determined by subjectType. Resolution is conditional on subjectType — consumers must resolve by type; no automatic expansion is performed.
programType string The benefits program this task is associated with. Program-specific field used for routing and SLA assignment on application review tasks. Candidate for removal once context enrichment (#203) provides a generic alternative.
enumsnap medicaid chip tanf aca
isExpedited boolean Whether this task requires expedited processing. SNAP-specific concept tied to the 7-day regulatory deadline. Candidate for removal once context enrichment (#203) provides a generic alternative.
queueId string (uuid) Reference to the Queue this task is routed to.
priority integer Task processing priority (1=expedited, 2=high, 3=normal, 4=low). Lower number = higher urgency. Numeric representation enables correct ascending sort: expedited tasks surface first.
startedAt string (date-time) When work began (status transitioned to in_progress).
completedAt string (date-time) When work finished.
escalatedAt string (date-time) When the task was escalated.
cancelledAt string (date-time) When the task was cancelled.
blockedAt string (date-time) When the task entered a waiting state (awaiting_client or awaiting_verification).
assignedToId string (uuid) Reference to the User assigned to this task.
outcome string Completion outcome recorded when the task was completed (e.g., approved, denied).
completionNotes string Optional notes recorded when the task was completed.
id string (uuid) read-only Unique identifier for the task.
slaInfo array[object] read-only Engine-managed SLA tracking entries. Populated on create and updated on every transition. Read-only — use slaInfo on TaskCreate to specify which SLA types to track.
slaTypeCode string required Identifies which SLA type applies. Valid values are injected at resolve time from the domain's *-sla-types.yaml.
enumsnap_expedited snap_standard medicaid_standard medicaid_disability
status string required read-only Engine-managed SLA clock status. active — clock is running. warning — clock is running but warningThresholdPercent has elapsed. paused — clock is paused (e.g., awaiting client response). breached — deadline has passed without completion. completed — SLA was satisfied before the deadline.
enumactive warning paused breached completed
clockStartedAt string (date-time) required read-only When the SLA clock started. Engine-managed.
deadline string (date-time) required read-only Computed deadline. Recalculated after a resume to exclude accumulated paused duration. Engine-managed.
slaDeadline string (date-time) read-only Engine-managed. The earliest active deadline across all slaInfo entries. Null when no active SLA entries exist. Recalculated whenever slaInfo is updated.
createdAt string (date-time) read-only Timestamp when the task was created.
updatedAt string (date-time) read-only Timestamp when the task was last updated.
400 The request is malformed or contains invalid parameters.
BadRequest
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
404 The requested resource was not found.
NotFound
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
409 A conflict occurred with the current state of the resource.
Conflict
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
500 An unexpected error occurred on the server.
InternalError
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
POST /tasks/{taskId}/release Release task State machine →

POST /tasks/{taskId}/release — Returns an in-progress task to the queue, clearing the assignment

Parameters
Name Type In Req Description
taskId string path

Unique identifier of the task.

Request body required
ReleaseTaskRequest
reason string required Why the task is being released
Responses
200 Transition applied successfully.
Task
name string Human-readable label for the task.
description string Detailed information about the task.
status string Current lifecycle state. Valid values are injected at resolve time from workflow-state-machine.yaml.
enumpending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_review
taskType string The type of work this task represents (e.g., application_review, interview, document_review). Used by state machine guards to enable type-specific lifecycle branches and by routing rules for type-aware assignment. Open string — states extend via overlay without schema changes.
subjectType string The type of entity this task is associated with. Used together with subjectId to form a polymorphic association. States extend the enum via overlay. Resolution of subjectId is conditional on subjectType — no automatic expansion is performed.
enumapplication case document appointment
subjectId string (uuid) Reference to the entity this task is associated with. The target entity type is determined by subjectType. Resolution is conditional on subjectType — consumers must resolve by type; no automatic expansion is performed.
programType string The benefits program this task is associated with. Program-specific field used for routing and SLA assignment on application review tasks. Candidate for removal once context enrichment (#203) provides a generic alternative.
enumsnap medicaid chip tanf aca
isExpedited boolean Whether this task requires expedited processing. SNAP-specific concept tied to the 7-day regulatory deadline. Candidate for removal once context enrichment (#203) provides a generic alternative.
queueId string (uuid) Reference to the Queue this task is routed to.
priority integer Task processing priority (1=expedited, 2=high, 3=normal, 4=low). Lower number = higher urgency. Numeric representation enables correct ascending sort: expedited tasks surface first.
startedAt string (date-time) When work began (status transitioned to in_progress).
completedAt string (date-time) When work finished.
escalatedAt string (date-time) When the task was escalated.
cancelledAt string (date-time) When the task was cancelled.
blockedAt string (date-time) When the task entered a waiting state (awaiting_client or awaiting_verification).
assignedToId string (uuid) Reference to the User assigned to this task.
outcome string Completion outcome recorded when the task was completed (e.g., approved, denied).
completionNotes string Optional notes recorded when the task was completed.
id string (uuid) read-only Unique identifier for the task.
slaInfo array[object] read-only Engine-managed SLA tracking entries. Populated on create and updated on every transition. Read-only — use slaInfo on TaskCreate to specify which SLA types to track.
slaTypeCode string required Identifies which SLA type applies. Valid values are injected at resolve time from the domain's *-sla-types.yaml.
enumsnap_expedited snap_standard medicaid_standard medicaid_disability
status string required read-only Engine-managed SLA clock status. active — clock is running. warning — clock is running but warningThresholdPercent has elapsed. paused — clock is paused (e.g., awaiting client response). breached — deadline has passed without completion. completed — SLA was satisfied before the deadline.
enumactive warning paused breached completed
clockStartedAt string (date-time) required read-only When the SLA clock started. Engine-managed.
deadline string (date-time) required read-only Computed deadline. Recalculated after a resume to exclude accumulated paused duration. Engine-managed.
slaDeadline string (date-time) read-only Engine-managed. The earliest active deadline across all slaInfo entries. Null when no active SLA entries exist. Recalculated whenever slaInfo is updated.
createdAt string (date-time) read-only Timestamp when the task was created.
updatedAt string (date-time) read-only Timestamp when the task was last updated.
400 The request is malformed or contains invalid parameters.
BadRequest
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
404 The requested resource was not found.
NotFound
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
409 A conflict occurred with the current state of the resource.
Conflict
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
500 An unexpected error occurred on the server.
InternalError
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
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

Parameters
Name Type In Req Description
taskId string path

Unique identifier of the task.

Request body required
EscalateTaskRequest
reason string required Why the task is being escalated
Responses
200 Transition applied successfully.
Task
name string Human-readable label for the task.
description string Detailed information about the task.
status string Current lifecycle state. Valid values are injected at resolve time from workflow-state-machine.yaml.
enumpending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_review
taskType string The type of work this task represents (e.g., application_review, interview, document_review). Used by state machine guards to enable type-specific lifecycle branches and by routing rules for type-aware assignment. Open string — states extend via overlay without schema changes.
subjectType string The type of entity this task is associated with. Used together with subjectId to form a polymorphic association. States extend the enum via overlay. Resolution of subjectId is conditional on subjectType — no automatic expansion is performed.
enumapplication case document appointment
subjectId string (uuid) Reference to the entity this task is associated with. The target entity type is determined by subjectType. Resolution is conditional on subjectType — consumers must resolve by type; no automatic expansion is performed.
programType string The benefits program this task is associated with. Program-specific field used for routing and SLA assignment on application review tasks. Candidate for removal once context enrichment (#203) provides a generic alternative.
enumsnap medicaid chip tanf aca
isExpedited boolean Whether this task requires expedited processing. SNAP-specific concept tied to the 7-day regulatory deadline. Candidate for removal once context enrichment (#203) provides a generic alternative.
queueId string (uuid) Reference to the Queue this task is routed to.
priority integer Task processing priority (1=expedited, 2=high, 3=normal, 4=low). Lower number = higher urgency. Numeric representation enables correct ascending sort: expedited tasks surface first.
startedAt string (date-time) When work began (status transitioned to in_progress).
completedAt string (date-time) When work finished.
escalatedAt string (date-time) When the task was escalated.
cancelledAt string (date-time) When the task was cancelled.
blockedAt string (date-time) When the task entered a waiting state (awaiting_client or awaiting_verification).
assignedToId string (uuid) Reference to the User assigned to this task.
outcome string Completion outcome recorded when the task was completed (e.g., approved, denied).
completionNotes string Optional notes recorded when the task was completed.
id string (uuid) read-only Unique identifier for the task.
slaInfo array[object] read-only Engine-managed SLA tracking entries. Populated on create and updated on every transition. Read-only — use slaInfo on TaskCreate to specify which SLA types to track.
slaTypeCode string required Identifies which SLA type applies. Valid values are injected at resolve time from the domain's *-sla-types.yaml.
enumsnap_expedited snap_standard medicaid_standard medicaid_disability
status string required read-only Engine-managed SLA clock status. active — clock is running. warning — clock is running but warningThresholdPercent has elapsed. paused — clock is paused (e.g., awaiting client response). breached — deadline has passed without completion. completed — SLA was satisfied before the deadline.
enumactive warning paused breached completed
clockStartedAt string (date-time) required read-only When the SLA clock started. Engine-managed.
deadline string (date-time) required read-only Computed deadline. Recalculated after a resume to exclude accumulated paused duration. Engine-managed.
slaDeadline string (date-time) read-only Engine-managed. The earliest active deadline across all slaInfo entries. Null when no active SLA entries exist. Recalculated whenever slaInfo is updated.
createdAt string (date-time) read-only Timestamp when the task was created.
updatedAt string (date-time) read-only Timestamp when the task was last updated.
400 The request is malformed or contains invalid parameters.
BadRequest
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
404 The requested resource was not found.
NotFound
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
409 A conflict occurred with the current state of the resource.
Conflict
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
500 An unexpected error occurred on the server.
InternalError
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
POST /tasks/{taskId}/de-escalate De escalate task State machine →

POST /tasks/{taskId}/de-escalate — Returns an escalated task to the pending queue

Parameters
Name Type In Req Description
taskId string path

Unique identifier of the task.

Request body required
DeEscalateTaskRequest
notes string Optional notes about the de-escalation
Responses
200 Transition applied successfully.
Task
name string Human-readable label for the task.
description string Detailed information about the task.
status string Current lifecycle state. Valid values are injected at resolve time from workflow-state-machine.yaml.
enumpending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_review
taskType string The type of work this task represents (e.g., application_review, interview, document_review). Used by state machine guards to enable type-specific lifecycle branches and by routing rules for type-aware assignment. Open string — states extend via overlay without schema changes.
subjectType string The type of entity this task is associated with. Used together with subjectId to form a polymorphic association. States extend the enum via overlay. Resolution of subjectId is conditional on subjectType — no automatic expansion is performed.
enumapplication case document appointment
subjectId string (uuid) Reference to the entity this task is associated with. The target entity type is determined by subjectType. Resolution is conditional on subjectType — consumers must resolve by type; no automatic expansion is performed.
programType string The benefits program this task is associated with. Program-specific field used for routing and SLA assignment on application review tasks. Candidate for removal once context enrichment (#203) provides a generic alternative.
enumsnap medicaid chip tanf aca
isExpedited boolean Whether this task requires expedited processing. SNAP-specific concept tied to the 7-day regulatory deadline. Candidate for removal once context enrichment (#203) provides a generic alternative.
queueId string (uuid) Reference to the Queue this task is routed to.
priority integer Task processing priority (1=expedited, 2=high, 3=normal, 4=low). Lower number = higher urgency. Numeric representation enables correct ascending sort: expedited tasks surface first.
startedAt string (date-time) When work began (status transitioned to in_progress).
completedAt string (date-time) When work finished.
escalatedAt string (date-time) When the task was escalated.
cancelledAt string (date-time) When the task was cancelled.
blockedAt string (date-time) When the task entered a waiting state (awaiting_client or awaiting_verification).
assignedToId string (uuid) Reference to the User assigned to this task.
outcome string Completion outcome recorded when the task was completed (e.g., approved, denied).
completionNotes string Optional notes recorded when the task was completed.
id string (uuid) read-only Unique identifier for the task.
slaInfo array[object] read-only Engine-managed SLA tracking entries. Populated on create and updated on every transition. Read-only — use slaInfo on TaskCreate to specify which SLA types to track.
slaTypeCode string required Identifies which SLA type applies. Valid values are injected at resolve time from the domain's *-sla-types.yaml.
enumsnap_expedited snap_standard medicaid_standard medicaid_disability
status string required read-only Engine-managed SLA clock status. active — clock is running. warning — clock is running but warningThresholdPercent has elapsed. paused — clock is paused (e.g., awaiting client response). breached — deadline has passed without completion. completed — SLA was satisfied before the deadline.
enumactive warning paused breached completed
clockStartedAt string (date-time) required read-only When the SLA clock started. Engine-managed.
deadline string (date-time) required read-only Computed deadline. Recalculated after a resume to exclude accumulated paused duration. Engine-managed.
slaDeadline string (date-time) read-only Engine-managed. The earliest active deadline across all slaInfo entries. Null when no active SLA entries exist. Recalculated whenever slaInfo is updated.
createdAt string (date-time) read-only Timestamp when the task was created.
updatedAt string (date-time) read-only Timestamp when the task was last updated.
400 The request is malformed or contains invalid parameters.
BadRequest
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
404 The requested resource was not found.
NotFound
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
409 A conflict occurred with the current state of the resource.
Conflict
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
500 An unexpected error occurred on the server.
InternalError
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
POST /tasks/{taskId}/cancel Cancel task State machine →

POST /tasks/{taskId}/cancel — Supervisor cancels a task from any active state

Parameters
Name Type In Req Description
taskId string path

Unique identifier of the task.

Request body required
CancelTaskRequest
reason string required Why the task is being cancelled
Responses
200 Transition applied successfully.
Task
name string Human-readable label for the task.
description string Detailed information about the task.
status string Current lifecycle state. Valid values are injected at resolve time from workflow-state-machine.yaml.
enumpending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_review
taskType string The type of work this task represents (e.g., application_review, interview, document_review). Used by state machine guards to enable type-specific lifecycle branches and by routing rules for type-aware assignment. Open string — states extend via overlay without schema changes.
subjectType string The type of entity this task is associated with. Used together with subjectId to form a polymorphic association. States extend the enum via overlay. Resolution of subjectId is conditional on subjectType — no automatic expansion is performed.
enumapplication case document appointment
subjectId string (uuid) Reference to the entity this task is associated with. The target entity type is determined by subjectType. Resolution is conditional on subjectType — consumers must resolve by type; no automatic expansion is performed.
programType string The benefits program this task is associated with. Program-specific field used for routing and SLA assignment on application review tasks. Candidate for removal once context enrichment (#203) provides a generic alternative.
enumsnap medicaid chip tanf aca
isExpedited boolean Whether this task requires expedited processing. SNAP-specific concept tied to the 7-day regulatory deadline. Candidate for removal once context enrichment (#203) provides a generic alternative.
queueId string (uuid) Reference to the Queue this task is routed to.
priority integer Task processing priority (1=expedited, 2=high, 3=normal, 4=low). Lower number = higher urgency. Numeric representation enables correct ascending sort: expedited tasks surface first.
startedAt string (date-time) When work began (status transitioned to in_progress).
completedAt string (date-time) When work finished.
escalatedAt string (date-time) When the task was escalated.
cancelledAt string (date-time) When the task was cancelled.
blockedAt string (date-time) When the task entered a waiting state (awaiting_client or awaiting_verification).
assignedToId string (uuid) Reference to the User assigned to this task.
outcome string Completion outcome recorded when the task was completed (e.g., approved, denied).
completionNotes string Optional notes recorded when the task was completed.
id string (uuid) read-only Unique identifier for the task.
slaInfo array[object] read-only Engine-managed SLA tracking entries. Populated on create and updated on every transition. Read-only — use slaInfo on TaskCreate to specify which SLA types to track.
slaTypeCode string required Identifies which SLA type applies. Valid values are injected at resolve time from the domain's *-sla-types.yaml.
enumsnap_expedited snap_standard medicaid_standard medicaid_disability
status string required read-only Engine-managed SLA clock status. active — clock is running. warning — clock is running but warningThresholdPercent has elapsed. paused — clock is paused (e.g., awaiting client response). breached — deadline has passed without completion. completed — SLA was satisfied before the deadline.
enumactive warning paused breached completed
clockStartedAt string (date-time) required read-only When the SLA clock started. Engine-managed.
deadline string (date-time) required read-only Computed deadline. Recalculated after a resume to exclude accumulated paused duration. Engine-managed.
slaDeadline string (date-time) read-only Engine-managed. The earliest active deadline across all slaInfo entries. Null when no active SLA entries exist. Recalculated whenever slaInfo is updated.
createdAt string (date-time) read-only Timestamp when the task was created.
updatedAt string (date-time) read-only Timestamp when the task was last updated.
400 The request is malformed or contains invalid parameters.
BadRequest
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
404 The requested resource was not found.
NotFound
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
409 A conflict occurred with the current state of the resource.
Conflict
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
500 An unexpected error occurred on the server.
InternalError
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
POST /tasks/{taskId}/reopen Reopen task State machine →

POST /tasks/{taskId}/reopen — Supervisor returns a cancelled task to the pending queue

Parameters
Name Type In Req Description
taskId string path

Unique identifier of the task.

Request body required
ReopenTaskRequest
reason string required Why the cancelled task is being reopened
Responses
200 Transition applied successfully.
Task
name string Human-readable label for the task.
description string Detailed information about the task.
status string Current lifecycle state. Valid values are injected at resolve time from workflow-state-machine.yaml.
enumpending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_review
taskType string The type of work this task represents (e.g., application_review, interview, document_review). Used by state machine guards to enable type-specific lifecycle branches and by routing rules for type-aware assignment. Open string — states extend via overlay without schema changes.
subjectType string The type of entity this task is associated with. Used together with subjectId to form a polymorphic association. States extend the enum via overlay. Resolution of subjectId is conditional on subjectType — no automatic expansion is performed.
enumapplication case document appointment
subjectId string (uuid) Reference to the entity this task is associated with. The target entity type is determined by subjectType. Resolution is conditional on subjectType — consumers must resolve by type; no automatic expansion is performed.
programType string The benefits program this task is associated with. Program-specific field used for routing and SLA assignment on application review tasks. Candidate for removal once context enrichment (#203) provides a generic alternative.
enumsnap medicaid chip tanf aca
isExpedited boolean Whether this task requires expedited processing. SNAP-specific concept tied to the 7-day regulatory deadline. Candidate for removal once context enrichment (#203) provides a generic alternative.
queueId string (uuid) Reference to the Queue this task is routed to.
priority integer Task processing priority (1=expedited, 2=high, 3=normal, 4=low). Lower number = higher urgency. Numeric representation enables correct ascending sort: expedited tasks surface first.
startedAt string (date-time) When work began (status transitioned to in_progress).
completedAt string (date-time) When work finished.
escalatedAt string (date-time) When the task was escalated.
cancelledAt string (date-time) When the task was cancelled.
blockedAt string (date-time) When the task entered a waiting state (awaiting_client or awaiting_verification).
assignedToId string (uuid) Reference to the User assigned to this task.
outcome string Completion outcome recorded when the task was completed (e.g., approved, denied).
completionNotes string Optional notes recorded when the task was completed.
id string (uuid) read-only Unique identifier for the task.
slaInfo array[object] read-only Engine-managed SLA tracking entries. Populated on create and updated on every transition. Read-only — use slaInfo on TaskCreate to specify which SLA types to track.
slaTypeCode string required Identifies which SLA type applies. Valid values are injected at resolve time from the domain's *-sla-types.yaml.
enumsnap_expedited snap_standard medicaid_standard medicaid_disability
status string required read-only Engine-managed SLA clock status. active — clock is running. warning — clock is running but warningThresholdPercent has elapsed. paused — clock is paused (e.g., awaiting client response). breached — deadline has passed without completion. completed — SLA was satisfied before the deadline.
enumactive warning paused breached completed
clockStartedAt string (date-time) required read-only When the SLA clock started. Engine-managed.
deadline string (date-time) required read-only Computed deadline. Recalculated after a resume to exclude accumulated paused duration. Engine-managed.
slaDeadline string (date-time) read-only Engine-managed. The earliest active deadline across all slaInfo entries. Null when no active SLA entries exist. Recalculated whenever slaInfo is updated.
createdAt string (date-time) read-only Timestamp when the task was created.
updatedAt string (date-time) read-only Timestamp when the task was last updated.
400 The request is malformed or contains invalid parameters.
BadRequest
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
404 The requested resource was not found.
NotFound
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
409 A conflict occurred with the current state of the resource.
Conflict
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
500 An unexpected error occurred on the server.
InternalError
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
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

Parameters
Name Type In Req Description
taskId string path

Unique identifier of the task.

Request body required
AwaitClientRequest
notes string Optional context about what action is being awaited from the client
Responses
200 Transition applied successfully.
Task
name string Human-readable label for the task.
description string Detailed information about the task.
status string Current lifecycle state. Valid values are injected at resolve time from workflow-state-machine.yaml.
enumpending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_review
taskType string The type of work this task represents (e.g., application_review, interview, document_review). Used by state machine guards to enable type-specific lifecycle branches and by routing rules for type-aware assignment. Open string — states extend via overlay without schema changes.
subjectType string The type of entity this task is associated with. Used together with subjectId to form a polymorphic association. States extend the enum via overlay. Resolution of subjectId is conditional on subjectType — no automatic expansion is performed.
enumapplication case document appointment
subjectId string (uuid) Reference to the entity this task is associated with. The target entity type is determined by subjectType. Resolution is conditional on subjectType — consumers must resolve by type; no automatic expansion is performed.
programType string The benefits program this task is associated with. Program-specific field used for routing and SLA assignment on application review tasks. Candidate for removal once context enrichment (#203) provides a generic alternative.
enumsnap medicaid chip tanf aca
isExpedited boolean Whether this task requires expedited processing. SNAP-specific concept tied to the 7-day regulatory deadline. Candidate for removal once context enrichment (#203) provides a generic alternative.
queueId string (uuid) Reference to the Queue this task is routed to.
priority integer Task processing priority (1=expedited, 2=high, 3=normal, 4=low). Lower number = higher urgency. Numeric representation enables correct ascending sort: expedited tasks surface first.
startedAt string (date-time) When work began (status transitioned to in_progress).
completedAt string (date-time) When work finished.
escalatedAt string (date-time) When the task was escalated.
cancelledAt string (date-time) When the task was cancelled.
blockedAt string (date-time) When the task entered a waiting state (awaiting_client or awaiting_verification).
assignedToId string (uuid) Reference to the User assigned to this task.
outcome string Completion outcome recorded when the task was completed (e.g., approved, denied).
completionNotes string Optional notes recorded when the task was completed.
id string (uuid) read-only Unique identifier for the task.
slaInfo array[object] read-only Engine-managed SLA tracking entries. Populated on create and updated on every transition. Read-only — use slaInfo on TaskCreate to specify which SLA types to track.
slaTypeCode string required Identifies which SLA type applies. Valid values are injected at resolve time from the domain's *-sla-types.yaml.
enumsnap_expedited snap_standard medicaid_standard medicaid_disability
status string required read-only Engine-managed SLA clock status. active — clock is running. warning — clock is running but warningThresholdPercent has elapsed. paused — clock is paused (e.g., awaiting client response). breached — deadline has passed without completion. completed — SLA was satisfied before the deadline.
enumactive warning paused breached completed
clockStartedAt string (date-time) required read-only When the SLA clock started. Engine-managed.
deadline string (date-time) required read-only Computed deadline. Recalculated after a resume to exclude accumulated paused duration. Engine-managed.
slaDeadline string (date-time) read-only Engine-managed. The earliest active deadline across all slaInfo entries. Null when no active SLA entries exist. Recalculated whenever slaInfo is updated.
createdAt string (date-time) read-only Timestamp when the task was created.
updatedAt string (date-time) read-only Timestamp when the task was last updated.
400 The request is malformed or contains invalid parameters.
BadRequest
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
404 The requested resource was not found.
NotFound
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
409 A conflict occurred with the current state of the resource.
Conflict
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
500 An unexpected error occurred on the server.
InternalError
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
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

Parameters
Name Type In Req Description
taskId string path

Unique identifier of the task.

Request body required
AwaitVerificationRequest
notes string Optional context about what external verification is pending
Responses
200 Transition applied successfully.
Task
name string Human-readable label for the task.
description string Detailed information about the task.
status string Current lifecycle state. Valid values are injected at resolve time from workflow-state-machine.yaml.
enumpending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_review
taskType string The type of work this task represents (e.g., application_review, interview, document_review). Used by state machine guards to enable type-specific lifecycle branches and by routing rules for type-aware assignment. Open string — states extend via overlay without schema changes.
subjectType string The type of entity this task is associated with. Used together with subjectId to form a polymorphic association. States extend the enum via overlay. Resolution of subjectId is conditional on subjectType — no automatic expansion is performed.
enumapplication case document appointment
subjectId string (uuid) Reference to the entity this task is associated with. The target entity type is determined by subjectType. Resolution is conditional on subjectType — consumers must resolve by type; no automatic expansion is performed.
programType string The benefits program this task is associated with. Program-specific field used for routing and SLA assignment on application review tasks. Candidate for removal once context enrichment (#203) provides a generic alternative.
enumsnap medicaid chip tanf aca
isExpedited boolean Whether this task requires expedited processing. SNAP-specific concept tied to the 7-day regulatory deadline. Candidate for removal once context enrichment (#203) provides a generic alternative.
queueId string (uuid) Reference to the Queue this task is routed to.
priority integer Task processing priority (1=expedited, 2=high, 3=normal, 4=low). Lower number = higher urgency. Numeric representation enables correct ascending sort: expedited tasks surface first.
startedAt string (date-time) When work began (status transitioned to in_progress).
completedAt string (date-time) When work finished.
escalatedAt string (date-time) When the task was escalated.
cancelledAt string (date-time) When the task was cancelled.
blockedAt string (date-time) When the task entered a waiting state (awaiting_client or awaiting_verification).
assignedToId string (uuid) Reference to the User assigned to this task.
outcome string Completion outcome recorded when the task was completed (e.g., approved, denied).
completionNotes string Optional notes recorded when the task was completed.
id string (uuid) read-only Unique identifier for the task.
slaInfo array[object] read-only Engine-managed SLA tracking entries. Populated on create and updated on every transition. Read-only — use slaInfo on TaskCreate to specify which SLA types to track.
slaTypeCode string required Identifies which SLA type applies. Valid values are injected at resolve time from the domain's *-sla-types.yaml.
enumsnap_expedited snap_standard medicaid_standard medicaid_disability
status string required read-only Engine-managed SLA clock status. active — clock is running. warning — clock is running but warningThresholdPercent has elapsed. paused — clock is paused (e.g., awaiting client response). breached — deadline has passed without completion. completed — SLA was satisfied before the deadline.
enumactive warning paused breached completed
clockStartedAt string (date-time) required read-only When the SLA clock started. Engine-managed.
deadline string (date-time) required read-only Computed deadline. Recalculated after a resume to exclude accumulated paused duration. Engine-managed.
slaDeadline string (date-time) read-only Engine-managed. The earliest active deadline across all slaInfo entries. Null when no active SLA entries exist. Recalculated whenever slaInfo is updated.
createdAt string (date-time) read-only Timestamp when the task was created.
updatedAt string (date-time) read-only Timestamp when the task was last updated.
400 The request is malformed or contains invalid parameters.
BadRequest
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
404 The requested resource was not found.
NotFound
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
409 A conflict occurred with the current state of the resource.
Conflict
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
500 An unexpected error occurred on the server.
InternalError
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
POST /tasks/{taskId}/resume Resume task State machine →

POST /tasks/{taskId}/resume — Resumes a blocked task, cancelling any active wait timers

Parameters
Name Type In Req Description
taskId string path

Unique identifier of the task.

Responses
200 Transition applied successfully.
Task
name string Human-readable label for the task.
description string Detailed information about the task.
status string Current lifecycle state. Valid values are injected at resolve time from workflow-state-machine.yaml.
enumpending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_review
taskType string The type of work this task represents (e.g., application_review, interview, document_review). Used by state machine guards to enable type-specific lifecycle branches and by routing rules for type-aware assignment. Open string — states extend via overlay without schema changes.
subjectType string The type of entity this task is associated with. Used together with subjectId to form a polymorphic association. States extend the enum via overlay. Resolution of subjectId is conditional on subjectType — no automatic expansion is performed.
enumapplication case document appointment
subjectId string (uuid) Reference to the entity this task is associated with. The target entity type is determined by subjectType. Resolution is conditional on subjectType — consumers must resolve by type; no automatic expansion is performed.
programType string The benefits program this task is associated with. Program-specific field used for routing and SLA assignment on application review tasks. Candidate for removal once context enrichment (#203) provides a generic alternative.
enumsnap medicaid chip tanf aca
isExpedited boolean Whether this task requires expedited processing. SNAP-specific concept tied to the 7-day regulatory deadline. Candidate for removal once context enrichment (#203) provides a generic alternative.
queueId string (uuid) Reference to the Queue this task is routed to.
priority integer Task processing priority (1=expedited, 2=high, 3=normal, 4=low). Lower number = higher urgency. Numeric representation enables correct ascending sort: expedited tasks surface first.
startedAt string (date-time) When work began (status transitioned to in_progress).
completedAt string (date-time) When work finished.
escalatedAt string (date-time) When the task was escalated.
cancelledAt string (date-time) When the task was cancelled.
blockedAt string (date-time) When the task entered a waiting state (awaiting_client or awaiting_verification).
assignedToId string (uuid) Reference to the User assigned to this task.
outcome string Completion outcome recorded when the task was completed (e.g., approved, denied).
completionNotes string Optional notes recorded when the task was completed.
id string (uuid) read-only Unique identifier for the task.
slaInfo array[object] read-only Engine-managed SLA tracking entries. Populated on create and updated on every transition. Read-only — use slaInfo on TaskCreate to specify which SLA types to track.
slaTypeCode string required Identifies which SLA type applies. Valid values are injected at resolve time from the domain's *-sla-types.yaml.
enumsnap_expedited snap_standard medicaid_standard medicaid_disability
status string required read-only Engine-managed SLA clock status. active — clock is running. warning — clock is running but warningThresholdPercent has elapsed. paused — clock is paused (e.g., awaiting client response). breached — deadline has passed without completion. completed — SLA was satisfied before the deadline.
enumactive warning paused breached completed
clockStartedAt string (date-time) required read-only When the SLA clock started. Engine-managed.
deadline string (date-time) required read-only Computed deadline. Recalculated after a resume to exclude accumulated paused duration. Engine-managed.
slaDeadline string (date-time) read-only Engine-managed. The earliest active deadline across all slaInfo entries. Null when no active SLA entries exist. Recalculated whenever slaInfo is updated.
createdAt string (date-time) read-only Timestamp when the task was created.
updatedAt string (date-time) read-only Timestamp when the task was last updated.
400 The request is malformed or contains invalid parameters.
BadRequest
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
404 The requested resource was not found.
NotFound
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
409 A conflict occurred with the current state of the resource.
Conflict
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
500 An unexpected error occurred on the server.
InternalError
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
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

Parameters
Name Type In Req Description
taskId string path

Unique identifier of the task.

Request body required
SystemResumeTaskRequest
causationid string (uuid) ID of the event that triggered this resumption (e.g., the workflow.verification_timeout or data_exchange.call.completed event). Propagated to the emitted workflow.task.resumed event envelope.
Responses
200 Transition applied successfully.
Task
name string Human-readable label for the task.
description string Detailed information about the task.
status string Current lifecycle state. Valid values are injected at resolve time from workflow-state-machine.yaml.
enumpending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_review
taskType string The type of work this task represents (e.g., application_review, interview, document_review). Used by state machine guards to enable type-specific lifecycle branches and by routing rules for type-aware assignment. Open string — states extend via overlay without schema changes.
subjectType string The type of entity this task is associated with. Used together with subjectId to form a polymorphic association. States extend the enum via overlay. Resolution of subjectId is conditional on subjectType — no automatic expansion is performed.
enumapplication case document appointment
subjectId string (uuid) Reference to the entity this task is associated with. The target entity type is determined by subjectType. Resolution is conditional on subjectType — consumers must resolve by type; no automatic expansion is performed.
programType string The benefits program this task is associated with. Program-specific field used for routing and SLA assignment on application review tasks. Candidate for removal once context enrichment (#203) provides a generic alternative.
enumsnap medicaid chip tanf aca
isExpedited boolean Whether this task requires expedited processing. SNAP-specific concept tied to the 7-day regulatory deadline. Candidate for removal once context enrichment (#203) provides a generic alternative.
queueId string (uuid) Reference to the Queue this task is routed to.
priority integer Task processing priority (1=expedited, 2=high, 3=normal, 4=low). Lower number = higher urgency. Numeric representation enables correct ascending sort: expedited tasks surface first.
startedAt string (date-time) When work began (status transitioned to in_progress).
completedAt string (date-time) When work finished.
escalatedAt string (date-time) When the task was escalated.
cancelledAt string (date-time) When the task was cancelled.
blockedAt string (date-time) When the task entered a waiting state (awaiting_client or awaiting_verification).
assignedToId string (uuid) Reference to the User assigned to this task.
outcome string Completion outcome recorded when the task was completed (e.g., approved, denied).
completionNotes string Optional notes recorded when the task was completed.
id string (uuid) read-only Unique identifier for the task.
slaInfo array[object] read-only Engine-managed SLA tracking entries. Populated on create and updated on every transition. Read-only — use slaInfo on TaskCreate to specify which SLA types to track.
slaTypeCode string required Identifies which SLA type applies. Valid values are injected at resolve time from the domain's *-sla-types.yaml.
enumsnap_expedited snap_standard medicaid_standard medicaid_disability
status string required read-only Engine-managed SLA clock status. active — clock is running. warning — clock is running but warningThresholdPercent has elapsed. paused — clock is paused (e.g., awaiting client response). breached — deadline has passed without completion. completed — SLA was satisfied before the deadline.
enumactive warning paused breached completed
clockStartedAt string (date-time) required read-only When the SLA clock started. Engine-managed.
deadline string (date-time) required read-only Computed deadline. Recalculated after a resume to exclude accumulated paused duration. Engine-managed.
slaDeadline string (date-time) read-only Engine-managed. The earliest active deadline across all slaInfo entries. Null when no active SLA entries exist. Recalculated whenever slaInfo is updated.
createdAt string (date-time) read-only Timestamp when the task was created.
updatedAt string (date-time) read-only Timestamp when the task was last updated.
400 The request is malformed or contains invalid parameters.
BadRequest
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
404 The requested resource was not found.
NotFound
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
409 A conflict occurred with the current state of the resource.
Conflict
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
500 An unexpected error occurred on the server.
InternalError
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
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)

Parameters
Name Type In Req Description
taskId string path

Unique identifier of the task.

Request body required
SystemEscalateTaskRequest
reason string required Why the task is being automatically escalated (deadline_exceeded, sla_deadline_approaching, sla_deadline_exceeded)
Responses
200 Transition applied successfully.
Task
name string Human-readable label for the task.
description string Detailed information about the task.
status string Current lifecycle state. Valid values are injected at resolve time from workflow-state-machine.yaml.
enumpending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_review
taskType string The type of work this task represents (e.g., application_review, interview, document_review). Used by state machine guards to enable type-specific lifecycle branches and by routing rules for type-aware assignment. Open string — states extend via overlay without schema changes.
subjectType string The type of entity this task is associated with. Used together with subjectId to form a polymorphic association. States extend the enum via overlay. Resolution of subjectId is conditional on subjectType — no automatic expansion is performed.
enumapplication case document appointment
subjectId string (uuid) Reference to the entity this task is associated with. The target entity type is determined by subjectType. Resolution is conditional on subjectType — consumers must resolve by type; no automatic expansion is performed.
programType string The benefits program this task is associated with. Program-specific field used for routing and SLA assignment on application review tasks. Candidate for removal once context enrichment (#203) provides a generic alternative.
enumsnap medicaid chip tanf aca
isExpedited boolean Whether this task requires expedited processing. SNAP-specific concept tied to the 7-day regulatory deadline. Candidate for removal once context enrichment (#203) provides a generic alternative.
queueId string (uuid) Reference to the Queue this task is routed to.
priority integer Task processing priority (1=expedited, 2=high, 3=normal, 4=low). Lower number = higher urgency. Numeric representation enables correct ascending sort: expedited tasks surface first.
startedAt string (date-time) When work began (status transitioned to in_progress).
completedAt string (date-time) When work finished.
escalatedAt string (date-time) When the task was escalated.
cancelledAt string (date-time) When the task was cancelled.
blockedAt string (date-time) When the task entered a waiting state (awaiting_client or awaiting_verification).
assignedToId string (uuid) Reference to the User assigned to this task.
outcome string Completion outcome recorded when the task was completed (e.g., approved, denied).
completionNotes string Optional notes recorded when the task was completed.
id string (uuid) read-only Unique identifier for the task.
slaInfo array[object] read-only Engine-managed SLA tracking entries. Populated on create and updated on every transition. Read-only — use slaInfo on TaskCreate to specify which SLA types to track.
slaTypeCode string required Identifies which SLA type applies. Valid values are injected at resolve time from the domain's *-sla-types.yaml.
enumsnap_expedited snap_standard medicaid_standard medicaid_disability
status string required read-only Engine-managed SLA clock status. active — clock is running. warning — clock is running but warningThresholdPercent has elapsed. paused — clock is paused (e.g., awaiting client response). breached — deadline has passed without completion. completed — SLA was satisfied before the deadline.
enumactive warning paused breached completed
clockStartedAt string (date-time) required read-only When the SLA clock started. Engine-managed.
deadline string (date-time) required read-only Computed deadline. Recalculated after a resume to exclude accumulated paused duration. Engine-managed.
slaDeadline string (date-time) read-only Engine-managed. The earliest active deadline across all slaInfo entries. Null when no active SLA entries exist. Recalculated whenever slaInfo is updated.
createdAt string (date-time) read-only Timestamp when the task was created.
updatedAt string (date-time) read-only Timestamp when the task was last updated.
400 The request is malformed or contains invalid parameters.
BadRequest
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
404 The requested resource was not found.
NotFound
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
409 A conflict occurred with the current state of the resource.
Conflict
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
500 An unexpected error occurred on the server.
InternalError
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
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

Parameters
Name Type In Req Description
taskId string path

Unique identifier of the task.

Responses
200 Transition applied successfully.
Task
name string Human-readable label for the task.
description string Detailed information about the task.
status string Current lifecycle state. Valid values are injected at resolve time from workflow-state-machine.yaml.
enumpending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_review
taskType string The type of work this task represents (e.g., application_review, interview, document_review). Used by state machine guards to enable type-specific lifecycle branches and by routing rules for type-aware assignment. Open string — states extend via overlay without schema changes.
subjectType string The type of entity this task is associated with. Used together with subjectId to form a polymorphic association. States extend the enum via overlay. Resolution of subjectId is conditional on subjectType — no automatic expansion is performed.
enumapplication case document appointment
subjectId string (uuid) Reference to the entity this task is associated with. The target entity type is determined by subjectType. Resolution is conditional on subjectType — consumers must resolve by type; no automatic expansion is performed.
programType string The benefits program this task is associated with. Program-specific field used for routing and SLA assignment on application review tasks. Candidate for removal once context enrichment (#203) provides a generic alternative.
enumsnap medicaid chip tanf aca
isExpedited boolean Whether this task requires expedited processing. SNAP-specific concept tied to the 7-day regulatory deadline. Candidate for removal once context enrichment (#203) provides a generic alternative.
queueId string (uuid) Reference to the Queue this task is routed to.
priority integer Task processing priority (1=expedited, 2=high, 3=normal, 4=low). Lower number = higher urgency. Numeric representation enables correct ascending sort: expedited tasks surface first.
startedAt string (date-time) When work began (status transitioned to in_progress).
completedAt string (date-time) When work finished.
escalatedAt string (date-time) When the task was escalated.
cancelledAt string (date-time) When the task was cancelled.
blockedAt string (date-time) When the task entered a waiting state (awaiting_client or awaiting_verification).
assignedToId string (uuid) Reference to the User assigned to this task.
outcome string Completion outcome recorded when the task was completed (e.g., approved, denied).
completionNotes string Optional notes recorded when the task was completed.
id string (uuid) read-only Unique identifier for the task.
slaInfo array[object] read-only Engine-managed SLA tracking entries. Populated on create and updated on every transition. Read-only — use slaInfo on TaskCreate to specify which SLA types to track.
slaTypeCode string required Identifies which SLA type applies. Valid values are injected at resolve time from the domain's *-sla-types.yaml.
enumsnap_expedited snap_standard medicaid_standard medicaid_disability
status string required read-only Engine-managed SLA clock status. active — clock is running. warning — clock is running but warningThresholdPercent has elapsed. paused — clock is paused (e.g., awaiting client response). breached — deadline has passed without completion. completed — SLA was satisfied before the deadline.
enumactive warning paused breached completed
clockStartedAt string (date-time) required read-only When the SLA clock started. Engine-managed.
deadline string (date-time) required read-only Computed deadline. Recalculated after a resume to exclude accumulated paused duration. Engine-managed.
slaDeadline string (date-time) read-only Engine-managed. The earliest active deadline across all slaInfo entries. Null when no active SLA entries exist. Recalculated whenever slaInfo is updated.
createdAt string (date-time) read-only Timestamp when the task was created.
updatedAt string (date-time) read-only Timestamp when the task was last updated.
400 The request is malformed or contains invalid parameters.
BadRequest
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
404 The requested resource was not found.
NotFound
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
409 A conflict occurred with the current state of the resource.
Conflict
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
500 An unexpected error occurred on the server.
InternalError
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
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

Parameters
Name Type In Req Description
taskId string path

Unique identifier of the task.

Responses
200 Transition applied successfully.
Task
name string Human-readable label for the task.
description string Detailed information about the task.
status string Current lifecycle state. Valid values are injected at resolve time from workflow-state-machine.yaml.
enumpending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_review
taskType string The type of work this task represents (e.g., application_review, interview, document_review). Used by state machine guards to enable type-specific lifecycle branches and by routing rules for type-aware assignment. Open string — states extend via overlay without schema changes.
subjectType string The type of entity this task is associated with. Used together with subjectId to form a polymorphic association. States extend the enum via overlay. Resolution of subjectId is conditional on subjectType — no automatic expansion is performed.
enumapplication case document appointment
subjectId string (uuid) Reference to the entity this task is associated with. The target entity type is determined by subjectType. Resolution is conditional on subjectType — consumers must resolve by type; no automatic expansion is performed.
programType string The benefits program this task is associated with. Program-specific field used for routing and SLA assignment on application review tasks. Candidate for removal once context enrichment (#203) provides a generic alternative.
enumsnap medicaid chip tanf aca
isExpedited boolean Whether this task requires expedited processing. SNAP-specific concept tied to the 7-day regulatory deadline. Candidate for removal once context enrichment (#203) provides a generic alternative.
queueId string (uuid) Reference to the Queue this task is routed to.
priority integer Task processing priority (1=expedited, 2=high, 3=normal, 4=low). Lower number = higher urgency. Numeric representation enables correct ascending sort: expedited tasks surface first.
startedAt string (date-time) When work began (status transitioned to in_progress).
completedAt string (date-time) When work finished.
escalatedAt string (date-time) When the task was escalated.
cancelledAt string (date-time) When the task was cancelled.
blockedAt string (date-time) When the task entered a waiting state (awaiting_client or awaiting_verification).
assignedToId string (uuid) Reference to the User assigned to this task.
outcome string Completion outcome recorded when the task was completed (e.g., approved, denied).
completionNotes string Optional notes recorded when the task was completed.
id string (uuid) read-only Unique identifier for the task.
slaInfo array[object] read-only Engine-managed SLA tracking entries. Populated on create and updated on every transition. Read-only — use slaInfo on TaskCreate to specify which SLA types to track.
slaTypeCode string required Identifies which SLA type applies. Valid values are injected at resolve time from the domain's *-sla-types.yaml.
enumsnap_expedited snap_standard medicaid_standard medicaid_disability
status string required read-only Engine-managed SLA clock status. active — clock is running. warning — clock is running but warningThresholdPercent has elapsed. paused — clock is paused (e.g., awaiting client response). breached — deadline has passed without completion. completed — SLA was satisfied before the deadline.
enumactive warning paused breached completed
clockStartedAt string (date-time) required read-only When the SLA clock started. Engine-managed.
deadline string (date-time) required read-only Computed deadline. Recalculated after a resume to exclude accumulated paused duration. Engine-managed.
slaDeadline string (date-time) read-only Engine-managed. The earliest active deadline across all slaInfo entries. Null when no active SLA entries exist. Recalculated whenever slaInfo is updated.
createdAt string (date-time) read-only Timestamp when the task was created.
updatedAt string (date-time) read-only Timestamp when the task was last updated.
400 The request is malformed or contains invalid parameters.
BadRequest
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
404 The requested resource was not found.
NotFound
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
409 A conflict occurred with the current state of the resource.
Conflict
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
500 An unexpected error occurred on the server.
InternalError
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
POST /tasks/{taskId}/approve Approve task State machine →

POST /tasks/{taskId}/approve — Supervisor approves a submitted task and records the final outcome

Parameters
Name Type In Req Description
taskId string path

Unique identifier of the task.

Request body required
ApproveTaskRequest
outcome string required Completion outcome (e.g., approved, denied)
notes string Optional notes from the supervisor
Responses
200 Transition applied successfully.
Task
name string Human-readable label for the task.
description string Detailed information about the task.
status string Current lifecycle state. Valid values are injected at resolve time from workflow-state-machine.yaml.
enumpending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_review
taskType string The type of work this task represents (e.g., application_review, interview, document_review). Used by state machine guards to enable type-specific lifecycle branches and by routing rules for type-aware assignment. Open string — states extend via overlay without schema changes.
subjectType string The type of entity this task is associated with. Used together with subjectId to form a polymorphic association. States extend the enum via overlay. Resolution of subjectId is conditional on subjectType — no automatic expansion is performed.
enumapplication case document appointment
subjectId string (uuid) Reference to the entity this task is associated with. The target entity type is determined by subjectType. Resolution is conditional on subjectType — consumers must resolve by type; no automatic expansion is performed.
programType string The benefits program this task is associated with. Program-specific field used for routing and SLA assignment on application review tasks. Candidate for removal once context enrichment (#203) provides a generic alternative.
enumsnap medicaid chip tanf aca
isExpedited boolean Whether this task requires expedited processing. SNAP-specific concept tied to the 7-day regulatory deadline. Candidate for removal once context enrichment (#203) provides a generic alternative.
queueId string (uuid) Reference to the Queue this task is routed to.
priority integer Task processing priority (1=expedited, 2=high, 3=normal, 4=low). Lower number = higher urgency. Numeric representation enables correct ascending sort: expedited tasks surface first.
startedAt string (date-time) When work began (status transitioned to in_progress).
completedAt string (date-time) When work finished.
escalatedAt string (date-time) When the task was escalated.
cancelledAt string (date-time) When the task was cancelled.
blockedAt string (date-time) When the task entered a waiting state (awaiting_client or awaiting_verification).
assignedToId string (uuid) Reference to the User assigned to this task.
outcome string Completion outcome recorded when the task was completed (e.g., approved, denied).
completionNotes string Optional notes recorded when the task was completed.
id string (uuid) read-only Unique identifier for the task.
slaInfo array[object] read-only Engine-managed SLA tracking entries. Populated on create and updated on every transition. Read-only — use slaInfo on TaskCreate to specify which SLA types to track.
slaTypeCode string required Identifies which SLA type applies. Valid values are injected at resolve time from the domain's *-sla-types.yaml.
enumsnap_expedited snap_standard medicaid_standard medicaid_disability
status string required read-only Engine-managed SLA clock status. active — clock is running. warning — clock is running but warningThresholdPercent has elapsed. paused — clock is paused (e.g., awaiting client response). breached — deadline has passed without completion. completed — SLA was satisfied before the deadline.
enumactive warning paused breached completed
clockStartedAt string (date-time) required read-only When the SLA clock started. Engine-managed.
deadline string (date-time) required read-only Computed deadline. Recalculated after a resume to exclude accumulated paused duration. Engine-managed.
slaDeadline string (date-time) read-only Engine-managed. The earliest active deadline across all slaInfo entries. Null when no active SLA entries exist. Recalculated whenever slaInfo is updated.
createdAt string (date-time) read-only Timestamp when the task was created.
updatedAt string (date-time) read-only Timestamp when the task was last updated.
400 The request is malformed or contains invalid parameters.
BadRequest
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
404 The requested resource was not found.
NotFound
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
409 A conflict occurred with the current state of the resource.
Conflict
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
500 An unexpected error occurred on the server.
InternalError
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
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

Parameters
Name Type In Req Description
taskId string path

Unique identifier of the task.

Request body required
ReturnToWorkerRequest
reason string required Why the work is being returned for revision
Responses
200 Transition applied successfully.
Task
name string Human-readable label for the task.
description string Detailed information about the task.
status string Current lifecycle state. Valid values are injected at resolve time from workflow-state-machine.yaml.
enumpending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_review
taskType string The type of work this task represents (e.g., application_review, interview, document_review). Used by state machine guards to enable type-specific lifecycle branches and by routing rules for type-aware assignment. Open string — states extend via overlay without schema changes.
subjectType string The type of entity this task is associated with. Used together with subjectId to form a polymorphic association. States extend the enum via overlay. Resolution of subjectId is conditional on subjectType — no automatic expansion is performed.
enumapplication case document appointment
subjectId string (uuid) Reference to the entity this task is associated with. The target entity type is determined by subjectType. Resolution is conditional on subjectType — consumers must resolve by type; no automatic expansion is performed.
programType string The benefits program this task is associated with. Program-specific field used for routing and SLA assignment on application review tasks. Candidate for removal once context enrichment (#203) provides a generic alternative.
enumsnap medicaid chip tanf aca
isExpedited boolean Whether this task requires expedited processing. SNAP-specific concept tied to the 7-day regulatory deadline. Candidate for removal once context enrichment (#203) provides a generic alternative.
queueId string (uuid) Reference to the Queue this task is routed to.
priority integer Task processing priority (1=expedited, 2=high, 3=normal, 4=low). Lower number = higher urgency. Numeric representation enables correct ascending sort: expedited tasks surface first.
startedAt string (date-time) When work began (status transitioned to in_progress).
completedAt string (date-time) When work finished.
escalatedAt string (date-time) When the task was escalated.
cancelledAt string (date-time) When the task was cancelled.
blockedAt string (date-time) When the task entered a waiting state (awaiting_client or awaiting_verification).
assignedToId string (uuid) Reference to the User assigned to this task.
outcome string Completion outcome recorded when the task was completed (e.g., approved, denied).
completionNotes string Optional notes recorded when the task was completed.
id string (uuid) read-only Unique identifier for the task.
slaInfo array[object] read-only Engine-managed SLA tracking entries. Populated on create and updated on every transition. Read-only — use slaInfo on TaskCreate to specify which SLA types to track.
slaTypeCode string required Identifies which SLA type applies. Valid values are injected at resolve time from the domain's *-sla-types.yaml.
enumsnap_expedited snap_standard medicaid_standard medicaid_disability
status string required read-only Engine-managed SLA clock status. active — clock is running. warning — clock is running but warningThresholdPercent has elapsed. paused — clock is paused (e.g., awaiting client response). breached — deadline has passed without completion. completed — SLA was satisfied before the deadline.
enumactive warning paused breached completed
clockStartedAt string (date-time) required read-only When the SLA clock started. Engine-managed.
deadline string (date-time) required read-only Computed deadline. Recalculated after a resume to exclude accumulated paused duration. Engine-managed.
slaDeadline string (date-time) read-only Engine-managed. The earliest active deadline across all slaInfo entries. Null when no active SLA entries exist. Recalculated whenever slaInfo is updated.
createdAt string (date-time) read-only Timestamp when the task was created.
updatedAt string (date-time) read-only Timestamp when the task was last updated.
400 The request is malformed or contains invalid parameters.
BadRequest
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
404 The requested resource was not found.
NotFound
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
409 A conflict occurred with the current state of the resource.
Conflict
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
500 An unexpected error occurred on the server.
InternalError
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
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

Parameters
Name Type In Req Description
taskId string path

Unique identifier of the task.

Request body required
AssignTaskRequest
assignedToId string (uuid) required ID of the caseworker to assign the task to
queueId string (uuid) Optional queue to move the task to
Responses
200 Transition applied successfully.
Task
name string Human-readable label for the task.
description string Detailed information about the task.
status string Current lifecycle state. Valid values are injected at resolve time from workflow-state-machine.yaml.
enumpending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_review
taskType string The type of work this task represents (e.g., application_review, interview, document_review). Used by state machine guards to enable type-specific lifecycle branches and by routing rules for type-aware assignment. Open string — states extend via overlay without schema changes.
subjectType string The type of entity this task is associated with. Used together with subjectId to form a polymorphic association. States extend the enum via overlay. Resolution of subjectId is conditional on subjectType — no automatic expansion is performed.
enumapplication case document appointment
subjectId string (uuid) Reference to the entity this task is associated with. The target entity type is determined by subjectType. Resolution is conditional on subjectType — consumers must resolve by type; no automatic expansion is performed.
programType string The benefits program this task is associated with. Program-specific field used for routing and SLA assignment on application review tasks. Candidate for removal once context enrichment (#203) provides a generic alternative.
enumsnap medicaid chip tanf aca
isExpedited boolean Whether this task requires expedited processing. SNAP-specific concept tied to the 7-day regulatory deadline. Candidate for removal once context enrichment (#203) provides a generic alternative.
queueId string (uuid) Reference to the Queue this task is routed to.
priority integer Task processing priority (1=expedited, 2=high, 3=normal, 4=low). Lower number = higher urgency. Numeric representation enables correct ascending sort: expedited tasks surface first.
startedAt string (date-time) When work began (status transitioned to in_progress).
completedAt string (date-time) When work finished.
escalatedAt string (date-time) When the task was escalated.
cancelledAt string (date-time) When the task was cancelled.
blockedAt string (date-time) When the task entered a waiting state (awaiting_client or awaiting_verification).
assignedToId string (uuid) Reference to the User assigned to this task.
outcome string Completion outcome recorded when the task was completed (e.g., approved, denied).
completionNotes string Optional notes recorded when the task was completed.
id string (uuid) read-only Unique identifier for the task.
slaInfo array[object] read-only Engine-managed SLA tracking entries. Populated on create and updated on every transition. Read-only — use slaInfo on TaskCreate to specify which SLA types to track.
slaTypeCode string required Identifies which SLA type applies. Valid values are injected at resolve time from the domain's *-sla-types.yaml.
enumsnap_expedited snap_standard medicaid_standard medicaid_disability
status string required read-only Engine-managed SLA clock status. active — clock is running. warning — clock is running but warningThresholdPercent has elapsed. paused — clock is paused (e.g., awaiting client response). breached — deadline has passed without completion. completed — SLA was satisfied before the deadline.
enumactive warning paused breached completed
clockStartedAt string (date-time) required read-only When the SLA clock started. Engine-managed.
deadline string (date-time) required read-only Computed deadline. Recalculated after a resume to exclude accumulated paused duration. Engine-managed.
slaDeadline string (date-time) read-only Engine-managed. The earliest active deadline across all slaInfo entries. Null when no active SLA entries exist. Recalculated whenever slaInfo is updated.
createdAt string (date-time) read-only Timestamp when the task was created.
updatedAt string (date-time) read-only Timestamp when the task was last updated.
400 The request is malformed or contains invalid parameters.
BadRequest
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
404 The requested resource was not found.
NotFound
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
409 A conflict occurred with the current state of the resource.
Conflict
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
500 An unexpected error occurred on the server.
InternalError
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
POST /tasks/{taskId}/set-priority Set priority task State machine →

POST /tasks/{taskId}/set-priority — Supervisor manually overrides the task priority

Parameters
Name Type In Req Description
taskId string path

Unique identifier of the task.

Request body required
SetPriorityRequest
priority integer required New priority level (1=expedited, 2=high, 3=normal, 4=low)
reason string Optional reason for the priority change
Responses
200 Transition applied successfully.
Task
name string Human-readable label for the task.
description string Detailed information about the task.
status string Current lifecycle state. Valid values are injected at resolve time from workflow-state-machine.yaml.
enumpending in_progress completed escalated cancelled awaiting_client awaiting_verification pending_review
taskType string The type of work this task represents (e.g., application_review, interview, document_review). Used by state machine guards to enable type-specific lifecycle branches and by routing rules for type-aware assignment. Open string — states extend via overlay without schema changes.
subjectType string The type of entity this task is associated with. Used together with subjectId to form a polymorphic association. States extend the enum via overlay. Resolution of subjectId is conditional on subjectType — no automatic expansion is performed.
enumapplication case document appointment
subjectId string (uuid) Reference to the entity this task is associated with. The target entity type is determined by subjectType. Resolution is conditional on subjectType — consumers must resolve by type; no automatic expansion is performed.
programType string The benefits program this task is associated with. Program-specific field used for routing and SLA assignment on application review tasks. Candidate for removal once context enrichment (#203) provides a generic alternative.
enumsnap medicaid chip tanf aca
isExpedited boolean Whether this task requires expedited processing. SNAP-specific concept tied to the 7-day regulatory deadline. Candidate for removal once context enrichment (#203) provides a generic alternative.
queueId string (uuid) Reference to the Queue this task is routed to.
priority integer Task processing priority (1=expedited, 2=high, 3=normal, 4=low). Lower number = higher urgency. Numeric representation enables correct ascending sort: expedited tasks surface first.
startedAt string (date-time) When work began (status transitioned to in_progress).
completedAt string (date-time) When work finished.
escalatedAt string (date-time) When the task was escalated.
cancelledAt string (date-time) When the task was cancelled.
blockedAt string (date-time) When the task entered a waiting state (awaiting_client or awaiting_verification).
assignedToId string (uuid) Reference to the User assigned to this task.
outcome string Completion outcome recorded when the task was completed (e.g., approved, denied).
completionNotes string Optional notes recorded when the task was completed.
id string (uuid) read-only Unique identifier for the task.
slaInfo array[object] read-only Engine-managed SLA tracking entries. Populated on create and updated on every transition. Read-only — use slaInfo on TaskCreate to specify which SLA types to track.
slaTypeCode string required Identifies which SLA type applies. Valid values are injected at resolve time from the domain's *-sla-types.yaml.
enumsnap_expedited snap_standard medicaid_standard medicaid_disability
status string required read-only Engine-managed SLA clock status. active — clock is running. warning — clock is running but warningThresholdPercent has elapsed. paused — clock is paused (e.g., awaiting client response). breached — deadline has passed without completion. completed — SLA was satisfied before the deadline.
enumactive warning paused breached completed
clockStartedAt string (date-time) required read-only When the SLA clock started. Engine-managed.
deadline string (date-time) required read-only Computed deadline. Recalculated after a resume to exclude accumulated paused duration. Engine-managed.
slaDeadline string (date-time) read-only Engine-managed. The earliest active deadline across all slaInfo entries. Null when no active SLA entries exist. Recalculated whenever slaInfo is updated.
createdAt string (date-time) read-only Timestamp when the task was created.
updatedAt string (date-time) read-only Timestamp when the task was last updated.
400 The request is malformed or contains invalid parameters.
BadRequest
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
404 The requested resource was not found.
NotFound
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
409 A conflict occurred with the current state of the resource.
Conflict
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
500 An unexpected error occurred on the server.
InternalError
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.

Metrics

Computed operational metrics derived from task and event data.

GET /metrics List metrics

Retrieve computed values for all workflow metrics.

Parameters
Name Type In Req Description
q string query Search query using field:value syntax. Multiple conditions separated by
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
groupBy string query

Field to group results by (e.g., queueId, programType). When specified, value in each metric is null and breakdown contains a map of group value to computed metric value.

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.

Responses
200 A paginated collection of computed metrics.
MetricList
total integer required Total number of items available.
limit integer required Maximum number of items requested.
offset integer required Number of items skipped before the current page.
hasNext boolean Whether more items are available beyond the current page.
items array[Metric] required
id string required read-only Unique metric identifier, from the domain's *-metrics.yaml.
name string required read-only Human-readable metric name.
aggregate string required read-only Aggregation function used to compute the value.
enumcount ratio duration
value number required read-only Computed scalar value. count: total matching records. ratio: 0–1. duration: median seconds between paired events. null when groupBy is specified.
breakdown object read-only Map of group value to computed metric value. Present when groupBy is specified; null otherwise.
targets array[MetricTarget] read-only Thresholds and goals from the metric definition.
stat string Statistic type (e.g., p50, ratio, trend).
operator string Comparison operator for evaluating the target.
enum< <= > >= ==
amount number Machine-readable threshold value.
unit string Unit for the amount field.
enumhours minutes days percent count
label string Human-readable target label (e.g., "4h", "10%").
direction string Desired trend direction (for trend-type targets).
enumup down
computedAt string (date-time) required read-only Timestamp when the value was computed.
400 The request is malformed or contains invalid parameters.
BadRequest
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
500 An unexpected error occurred on the server.
InternalError
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
GET /metrics/{metricId} Get a metric

Retrieve the computed value for a single workflow metric by identifier.

Parameters
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, value is null and breakdown contains a map of group value to computed metric value.

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.

Responses
200 Metric retrieved successfully.
Metric
id string required read-only Unique metric identifier, from the domain's *-metrics.yaml.
name string required read-only Human-readable metric name.
aggregate string required read-only Aggregation function used to compute the value.
enumcount ratio duration
value number required read-only Computed scalar value. count: total matching records. ratio: 0–1. duration: median seconds between paired events. null when groupBy is specified.
breakdown object read-only Map of group value to computed metric value. Present when groupBy is specified; null otherwise.
targets array[MetricTarget] read-only Thresholds and goals from the metric definition.
stat string Statistic type (e.g., p50, ratio, trend).
operator string Comparison operator for evaluating the target.
enum< <= > >= ==
amount number Machine-readable threshold value.
unit string Unit for the amount field.
enumhours minutes days percent count
label string Human-readable target label (e.g., "4h", "10%").
direction string Desired trend direction (for trend-type targets).
enumup down
computedAt string (date-time) required read-only Timestamp when the value was computed.
404 The requested resource was not found.
NotFound
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.
500 An unexpected error occurred on the server.
InternalError
code string required Machine-readable error code.
message string required Human-readable error description.
details array[object] Additional error details.