Skip to content

Service API

Product applications do not embed deciders, workers, or service-role credentials. They call vyuh_workflow_service.

text
Product Flutter UI
  -> authenticated product API
    -> service-to-service workflow API
      -> WorkflowRuntime + workers
        -> WorkflowStorage

The product server authorizes the business record and constructs the trusted tenant/application/actor context. The workflow service authorizes workflow actions, assignment, signatures, replay, and administration.

Runtime Routes

MethodRoutePurpose
POST/v1/workflow_runsStart one immutable version
GET/v1/workflow_runs/{run_id}Read one run
GET/v1/workflow_runs/{run_id}/historyOrdered history
GET/v1/workflow_runs/{run_id}/eventsSSE revision stream
POST/v1/workflow_runs/{run_id}/queriesRead-only query
POST/v1/workflow_runs/{run_id}/signalsIdempotent signal
POST/v1/workflow_runs/{run_id}/cancelAudited cancel
POST/v1/workflow_runs/{run_id}/redriveAudited redrive
GET/v1/workflow_user_tasks/{command_id}Form-ready task
POST/v1/workflow_user_tasks/{command_id}/claimClaim pooled work
POST/v1/workflow_user_tasks/{command_id}/releaseRelease claim
POST/v1/workflow_user_tasks/{command_id}/completeComplete task
POST/v1/workflow_commands/{command_id}/retryRetry exhausted work

Every mutation requires an idempotency key. Claims must never be accepted directly from a Flutter client.

Operations Routes

MethodRoute
GET/v1/workflow_runs
GET/v1/workflow_user_tasks
GET/v1/workflow_operations/health
GET/v1/workflow_operations/readiness
GET/v1/workflow_operations/workers
GET/v1/workflow_operations/dead_letters
GET/v1/workflow_versions
POST/v1/workflow_versions/{code}/{version}/state
POST/v1/workflow_audit_exports
GET/PUT/v1/workflow_retention_policy
GET/v1/workflow_recovery_readiness

See Also