VaakLoom
Platform & Hub

REST API & OpenAPI Reference

Complete HTTP reference for VaakLoom Platform, Hub Control Plane endpoints, authentication, and execution endpoints.

Authentication

All administrative and control plane endpoints under /hub/* require an API key passed in the x-api-key header:

curl -H "x-api-key: your_api_key_here" http://localhost:8787/hub/apis

System & Health Endpoints

EndpointMethodAuth RequiredDescription
/healthGETNoHealth check returning {"status":"ok","uptime":1234}
/metricsGETNoPrometheus plain-text metrics scrape endpoint
/openapi.jsonGETNoOpenAPI 3.1 specification for all registered workflow routes

Hub Control Plane Endpoints

EndpointMethodPermissionDescription
/hub/meGETAuthenticatedReturns the current user/key profile and permissions
/hub/apisGETworkflow:readReturns a list of all registered workflows and metadata
/hub/workflowsGETworkflow:readQuery all workflow definitions stored in the database
/hub/workflowsPOSTworkflow:createCreate and register a new workflow definition
/hub/workflows/:idPUTworkflow:editUpdate an existing workflow definition
/hub/workflows/:idDELETEworkflow:deleteRemove a workflow definition
/hub/workflows/validatePOSTworkflow:readValidates a workflow JSON schema without executing it
/hub/tracesGETtelemetry:readQuery historical execution traces and step timelines
/hub/testsGETworkflow:testList registered Snapline regression tests
/hub/tests/runPOSTworkflow:testTrigger an automated Snapline test run
/hub/deploy/planPOSTworkflow:deployGenerate deployment plan & migration diff
/hub/deploy/exportPOSTworkflow:deployExport standalone runnable bundle
/hub/rbac/usersGETrbac:manageList users and assigned roles
/hub/rbac/keysPOSTrbac:manageGenerate new scoped API keys

Invoking Workflow Endpoints

Workflow routes declared via .route(method, path) are directly reachable at their configured endpoints:

# Example: Triggering the orders workflow
curl -X POST http://localhost:8787/orders \
  -H "Content-Type: application/json" \
  -H "x-tenant-id: tenant-42" \
  -d '{
    "orderId": "ord-9821",
    "amount": 1450,
    "items": [{"sku": "SKU-001", "qty": 2}]
  }'