Manager API
Use the Manager API to submit and inspect jobs, operate Workers, issue enrollment tokens, check dependencies, and follow live operational changes. The version-one base URL is http://localhost:4400/api/v1.
Endpoint map
| Area | Endpoints |
|---|---|
| Health | GET /api/health/live, GET /api/health/ready |
| Jobs | POST /jobs, GET /jobs, GET /jobs/:jobId, POST /jobs/:jobId/cancel |
| Workers | GET /workers, GET /workers/:workerId, POST /workers/:workerId/drain |
| Enrollment | POST /enrollment-tokens |
| Events | GET /events using Server-Sent Events |
Health routes are version-neutral and include /api but not /v1.
Media type and timestamps
Request and response bodies use JSON unless an endpoint explicitly returns text/event-stream. Send content-type: application/json for POST bodies. Timestamps are ISO 8601 UTC strings.
Pagination
List resources use offset pagination and return the applied window:
{
"items": [],
"total": 0,
"limit": 50,
"offset": 0
}
limit must be 1–100. offset must be 0–100000. Defaults are 50 and 0.
Validation errors
Invalid path, query, or body input returns 400 Bad Request. All detected nested failures are flattened into stable dot paths.
{
"statusCode": 400,
"error": "Bad Request",
"message": "Validation failed",
"details": [
{
"path": "executionPlan.input.uri",
"message": "uri must be an S3 URI"
}
]
}
Unknown body fields are removed. Do not rely on the server preserving or echoing extensions that are not part of the DTO.
Security
The Admin server completes the interactive OIDC flow and proxies operations calls. Enrollment tokens are time limited, single use, stored as HMAC hashes, and required when a Worker first registers.
Consistency model
Lifecycle changes are durably stored in PostgreSQL. High-rate progress and Worker statistics are held in Manager memory and may disappear across a Manager restart. SSE is a transient notification channel; reconnecting clients must refetch REST resources.