Confluye
Endpoints

Human Tasks

Read-only monitoring of durable workflow Human Tasks for external agents and API clients.

Endpoints for durable workflow Human Tasks under /api/v1/human-tasks. A Human Task is the control-plane projection of a workflow run that has parked at an approval (Human Task) node: the run's checkpoint and wait token remain the execution source of truth, and the task record models lifecycle, assignment, work state, dates, and outcome.

Endpoints

MethodPathDescription
GET/api/v1/human-tasksList tasks the caller is authorized for
GET/api/v1/human-tasks/{id}Get one authorized task projection

Both require a workspace-scoped bearer API key. Authorization is resolved against the key owner's current workspace membership and task eligibility at request time (KTD9): a revoked or cross-workspace principal sees no task, even for a task issued earlier.

Listing tasks

GET /api/v1/human-tasks accepts these optional query params:

ParamDescription
filtereligible | mine | unassigned | open | due | overdue | completed
runIdRestrict to tasks for one run
limitMax results, default 25, clamped 1–100
offsetPagination offset; the response returns nextOffset (or null at the end)

An unknown filter returns 400. The response is { tasks, nextOffset, links }, where links maps each taskId to its detail path.

Task projection

Each task is a redacted summary. It never includes draft values, form contents, signal payloads, or resume secrets — only field presence flags and digestible metadata.

FieldMeaning
idTask id
workspaceIdOwning workspace
workflowId, runId, nodeIdLinked workflow, run, and Human Task node
taskTypeTask kind (e.g. approval, form)
lifecycleStateopen | completed | canceled | expired
workStateready | started | paused (independent of lifecycle)
priorityTask priority
assigneeUserIdCurrent assignee, or null when unassigned
eligibleRolesRoles eligible to claim/complete
outcomesNamed outcomes the completing human may select
instructionsReviewer instructions, or null
dueAt, followUpAt, escalateAtDue, follow-up, and escalation timestamps
terminalOutcomeThe winning outcome once terminal, else null
hasFormSchema, hasFormDraftPresence flags only — contents are never returned
revisionCompare-and-set revision guarding concurrent transitions
createdAt, updatedAtTimestamps

Lifecycle

Lifecycle is separate from assignment and work state. A task stays open while it is claimed, reassigned, drafted, started, paused, reminded, or escalated; only a terminal transition consumes the linked wait token exactly once:

  • completed — an eligible human selected a named outcome; the run resumes down that branch.
  • canceled — the run or task was canceled.
  • expired — a hard timeout elapsed; the run follows its configured timeout branch. An expired task is never silently treated as approval.

Reminders and escalations update task and audit state and notify the target, but they do not resume the run. When completion races a timeout or cancellation, one checkpoint compare-and-set wins and the loser receives a terminal conflict without a second resume.

  • Human-only session routes: /api/human-tasks (claim, save draft, complete, reassign) and pending Agent tool confirmations at /api/human-tasks/agent-confirmations.
  • Recovery: see the durable Human Task recovery runbook.

Clearbit and Medium request confirmations

The original persisted run actor approves the exact materialized request while current workspace AND organization execution rights remain valid. The selected account revision/live policy, published node/version/input, original task ID AND wait token and winning execution lease remain bound through dispatch, success/failure settlement and freshly authenticated output. A replacement task with the same wait token is not the original consent. Rejecting or losing authority before claim sends no request; a used claim permits no automatic replay after timeout, disconnect or uncertain settlement. HTTP acceptance alone does not verify the business effect.

AWS Textract AnalyzeExpense (preview)

Textract approval belongs only to the original persisted run actor. The exact materialized request includes the complete base64 workspace image. Review the five separate acknowledgments and the selected account before approving; importing a node or saving an account supplies no consent. The signed request approval expires after fifteen minutes and does not change the ordinary task-list projection contract above.

On resume, current organization AND workspace rights, encrypted account revision, workflow/source/input, exact ready file content, original task ID/wait token/decision and current lease must still match. A changed file or account requires a new approval. One durable physical claim is consumed before sending; an uncertain paid result never permits automatic replay. Complete image requests and raw expense responses can remain in normal approval/execution history and reach downstream AI; no additional encryption or expiry is promised.

Execution requires both the deployment setting WORKFLOW_LIVE_NATIVE_TEXTRACT=true and the workspace live preference aws-textract. Real AWS requests and authenticated organization/workspace Review walkthroughs remain untested.

Español: AnalyzeExpense en vista previa

Solo el actor original persistido puede aprobar Textract. La solicitud exacta contiene la imagen completa del workspace en base64. Revisa las cinco confirmaciones separadas y la cuenta elegida antes de aprobar; importar o guardar una cuenta no concede consentimiento. La aprobación firmada caduca en quince minutos y no modifica la proyección ordinaria de la lista de tareas descrita arriba.

Al reanudar deben coincidir los permisos actuales de organización Y workspace, revisión de la cuenta cifrada, flujo/origen/entrada, contenido exacto del archivo listo, tarea/token de espera/decisión originales y lease vigente. Cambiar archivo o cuenta exige otra aprobación. Se consume un único intento durable antes del envío; un resultado facturable incierto nunca permite repetición automática. La imagen completa y los gastos sin procesar pueden permanecer en historial ordinario y llegar a IA posterior; no se promete cifrado adicional ni caducidad.

Se exige tanto WORKFLOW_LIVE_NATIVE_TEXTRACT=true en el despliegue como la preferencia real aws-textract del workspace. Siguen sin probarse las solicitudes reales AWS y los recorridos autenticados de organización y workspace en Review.