Download OpenAPI specification:
Multi-tenant job orchestration API with JWT auth and SSE telemetry.
{- "features": [
- {
- "category": "string",
- "description": "string",
- "key": "string"
}
], - "packages": [
- {
- "description": "string",
- "features": [
- {
- "feature_key": "string",
- "state": "string"
}
], - "id": "string",
- "name": "string"
}
]
}| limit | integer Page size (max 1000) |
| cursor | string Pagination cursor |
{- "has_more": true,
- "next_cursor": "string",
- "sessions": [
- {
- "created_at": "string",
- "expires_at": "string",
- "id": "string",
- "last_ip": "string",
- "last_used_at": "string",
- "tenant_id": "string",
- "user_agent": "string",
- "user_email": "string",
- "user_id": "string"
}
], - "total": 0
}| tenantID required | string Tenant ID |
| limit | integer Page size (max 1000) |
| cursor | string Pagination cursor |
{- "has_more": true,
- "next_cursor": "string",
- "sessions": [
- {
- "created_at": "string",
- "expires_at": "string",
- "id": "string",
- "last_ip": "string",
- "last_used_at": "string",
- "tenant_id": "string",
- "user_agent": "string",
- "user_email": "string",
- "user_id": "string"
}
], - "total": 0
}| limit | integer Page size (max 1000) |
| cursor | string Pagination cursor |
{- "has_more": true,
- "next_cursor": "string",
- "sessions": [
- {
- "created_at": "string",
- "expires_at": "string",
- "id": "string",
- "last_ip": "string",
- "last_used_at": "string",
- "tenant_id": "string",
- "user_agent": "string",
- "user_email": "string",
- "user_id": "string"
}
], - "total": 0
}| limit | integer Page size (max 1000) |
| cursor | string Pagination cursor |
{- "has_more": true,
- "next_cursor": "string",
- "notices": [
- {
- "body": "string",
- "cta_label": "string",
- "cta_url": "string",
- "dismissible": true,
- "ends_at": "string",
- "id": "string",
- "severity": "string",
- "starts_at": "string",
- "tenant_id": "string",
- "title": "string"
}
], - "total": 0
}Notice payload
| body | string |
| cta_label | string |
| cta_url | string |
| dismissible | boolean |
| ends_at | string |
| id | string |
| severity | string |
| starts_at | string |
| tenant_id | string |
| title | string |
{- "body": "string",
- "cta_label": "string",
- "cta_url": "string",
- "dismissible": true,
- "ends_at": "string",
- "id": "string",
- "severity": "string",
- "starts_at": "string",
- "tenant_id": "string",
- "title": "string"
}{- "property1": {
- "body": "string",
- "cta_label": "string",
- "cta_url": "string",
- "dismissible": true,
- "ends_at": "string",
- "id": "string",
- "severity": "string",
- "starts_at": "string",
- "tenant_id": "string",
- "title": "string"
}, - "property2": {
- "body": "string",
- "cta_label": "string",
- "cta_url": "string",
- "dismissible": true,
- "ends_at": "string",
- "id": "string",
- "severity": "string",
- "starts_at": "string",
- "tenant_id": "string",
- "title": "string"
}
}| tenantID required | string Tenant ID |
| limit | integer Page size (max 1000) |
| cursor | string Pagination cursor |
{- "has_more": true,
- "next_cursor": "string",
- "notices": [
- {
- "body": "string",
- "cta_label": "string",
- "cta_url": "string",
- "dismissible": true,
- "ends_at": "string",
- "id": "string",
- "severity": "string",
- "starts_at": "string",
- "tenant_id": "string",
- "title": "string"
}
], - "total": 0
}| tenantID required | string Tenant ID |
Notice payload
| body | string |
| cta_label | string |
| cta_url | string |
| dismissible | boolean |
| ends_at | string |
| id | string |
| severity | string |
| starts_at | string |
| tenant_id | string |
| title | string |
{- "body": "string",
- "cta_label": "string",
- "cta_url": "string",
- "dismissible": true,
- "ends_at": "string",
- "id": "string",
- "severity": "string",
- "starts_at": "string",
- "tenant_id": "string",
- "title": "string"
}{- "property1": {
- "body": "string",
- "cta_label": "string",
- "cta_url": "string",
- "dismissible": true,
- "ends_at": "string",
- "id": "string",
- "severity": "string",
- "starts_at": "string",
- "tenant_id": "string",
- "title": "string"
}, - "property2": {
- "body": "string",
- "cta_label": "string",
- "cta_url": "string",
- "dismissible": true,
- "ends_at": "string",
- "id": "string",
- "severity": "string",
- "starts_at": "string",
- "tenant_id": "string",
- "title": "string"
}
}{- "property1": [
- {
- "created_at": "string",
- "event_type": "string",
- "id": "string",
- "payload": {
- "property1": null,
- "property2": null
}, - "tenant_id": "string",
- "tenant_name": "string",
- "user_email": "string",
- "user_id": "string"
}
], - "property2": [
- {
- "created_at": "string",
- "event_type": "string",
- "id": "string",
- "payload": {
- "property1": null,
- "property2": null
}, - "tenant_id": "string",
- "tenant_name": "string",
- "user_email": "string",
- "user_id": "string"
}
]
}{- "property1": [
- {
- "bucket_size_seconds": 0,
- "bucket_start": "string",
- "count": 0,
- "element": "string",
- "event_type": "string",
- "route": "string",
- "target": "string",
- "tenant_id": "string",
- "updated_at": "string",
- "variant": "string"
}
], - "property2": [
- {
- "bucket_size_seconds": 0,
- "bucket_start": "string",
- "count": 0,
- "element": "string",
- "event_type": "string",
- "route": "string",
- "target": "string",
- "tenant_id": "string",
- "updated_at": "string",
- "variant": "string"
}
]
}{- "property1": [
- {
- "bucket_count": 0,
- "bucket_size_seconds": 0,
- "last_bucket": "string",
- "last_updated": "string",
- "tenant_id": "string"
}
], - "property2": [
- {
- "bucket_count": 0,
- "bucket_size_seconds": 0,
- "last_bucket": "string",
- "last_updated": "string",
- "tenant_id": "string"
}
]
}{- "property1": [
- {
- "auto_key": "string",
- "duration_ms": 0,
- "element": "string",
- "event_type": "string",
- "id": 0,
- "label": "string",
- "meta": {
- "property1": null,
- "property2": null
}, - "occurred_at": "string",
- "position": 0,
- "route": "string",
- "session_id": "string",
- "target": "string",
- "tenant_id": "string",
- "tenant_name": "string",
- "user_email": "string",
- "user_id": "string",
- "variant": "string"
}
], - "property2": [
- {
- "auto_key": "string",
- "duration_ms": 0,
- "element": "string",
- "event_type": "string",
- "id": 0,
- "label": "string",
- "meta": {
- "property1": null,
- "property2": null
}, - "occurred_at": "string",
- "position": 0,
- "route": "string",
- "session_id": "string",
- "target": "string",
- "tenant_id": "string",
- "tenant_name": "string",
- "user_email": "string",
- "user_id": "string",
- "variant": "string"
}
]
}Login request
string | |
| password | string |
| tenant_name | string |
{- "email": "string",
- "password": "string",
- "tenant_name": "string"
}{- "is_superuser": true,
- "roles": [
- "string"
], - "tenant": {
- "id": "string",
- "name": "string"
}, - "token": "string",
- "user": {
- "email": "string",
- "id": "string"
}
}Reset password request
| current_password | string |
| new_password | string |
{- "current_password": "string",
- "new_password": "string"
}"string"Signup request
string | |
| password | string |
| tenant_name | string |
{- "email": "string",
- "password": "string",
- "tenant_name": "string"
}{- "is_superuser": true,
- "roles": [
- "string"
], - "tenant": {
- "id": "string",
- "name": "string"
}, - "token": "string",
- "user": {
- "email": "string",
- "id": "string"
}
}{- "checked_at": "string",
- "ok": true,
- "rollup": "string",
- "services": [
- {
- "active_jobs": 0,
- "bucket_count": 0,
- "bucket_size_seconds": 0,
- "detail": "string",
- "failure_rate_percent": 0,
- "has_data": true,
- "idle": true,
- "lag_ms": 0,
- "last_bucket": "string",
- "last_updated": "string",
- "latency_ms": 0,
- "name": "string",
- "queue_lag_seconds": 0,
- "status": "string",
- "worker_idle_seconds": 0
}
], - "severity": "string"
}{- "avg_duration_ms": 0,
- "completed_last_hour": 0,
- "duration_p50_ms": 0,
- "duration_p95_ms": 0,
- "failed_last_hour": 0,
- "maintenance_tasks": {
- "property1": {
- "avg_duration_ms": 0,
- "failures": 0,
- "successes": 0
}, - "property2": {
- "avg_duration_ms": 0,
- "failures": 0,
- "successes": 0
}
}, - "queue_lag_seconds": 0,
- "queued_jobs": 0,
- "rbac_denials_24h": 0,
- "running_jobs": 0,
- "succeeded_last_hour": 0,
- "success_rate_percent": 0
}| limit | integer Limit results (1-200) |
| state | string Filter by state |
| type | string Job type |
| q | string Free text search |
| before | string Return jobs created before ISO timestamp |
{- "jobs": [
- {
- "attempt": 0,
- "created_at": "string",
- "created_by": "string",
- "finished_at": "string",
- "heartbeat_at": "string",
- "id": "string",
- "idempotency_key": "string",
- "max_attempts": 0,
- "params": null,
- "result": null,
- "started_at": "string",
- "state": "string",
- "tenant_id": "string",
- "trace_id": "string",
- "type": "string"
}
]
}Job request
| idempotency_key | string |
| job_type | string |
| max_attempts | integer |
| params | Array of integers |
object | |
| trace_id | string |
{- "idempotency_key": "string",
- "job_type": "string",
- "max_attempts": 0,
- "params": [
- 0
], - "secrets": {
- "property1": "string",
- "property2": "string"
}, - "trace_id": "string"
}{- "attempt": 0,
- "created_at": "string",
- "created_by": "string",
- "finished_at": "string",
- "heartbeat_at": "string",
- "id": "string",
- "idempotency_key": "string",
- "max_attempts": 0,
- "params": null,
- "result": null,
- "started_at": "string",
- "state": "string",
- "tenant_id": "string",
- "trace_id": "string",
- "type": "string"
}{- "attempt": 0,
- "created_at": "string",
- "created_by": "string",
- "finished_at": "string",
- "heartbeat_at": "string",
- "id": "string",
- "idempotency_key": "string",
- "max_attempts": 0,
- "params": null,
- "result": null,
- "started_at": "string",
- "state": "string",
- "tenant_id": "string",
- "trace_id": "string",
- "type": "string"
}{- "attempt": 0,
- "created_at": "string",
- "created_by": "string",
- "finished_at": "string",
- "heartbeat_at": "string",
- "id": "string",
- "idempotency_key": "string",
- "max_attempts": 0,
- "params": null,
- "result": null,
- "started_at": "string",
- "state": "string",
- "tenant_id": "string",
- "trace_id": "string",
- "type": "string"
}| tenant_id | string Tenant ID (superuser only; defaults to caller's tenant) |
{- "policies": [
- {
- "allowed_windows": [
- 0
], - "default_window_days": 0,
- "domain": "string",
- "effective_window_days": 0,
- "override": {
- "tenant_id": "string",
- "window_days": 0
}
}
]
}| domain required | string Retention domain |
| tenant_id | string Tenant ID (superuser only; defaults to caller's tenant) |
{- "property1": {
- "allowed_windows": [
- 0
], - "default_window_days": 0,
- "domain": "string",
- "effective_window_days": 0,
- "override": {
- "tenant_id": "string",
- "window_days": 0
}
}, - "property2": {
- "allowed_windows": [
- 0
], - "default_window_days": 0,
- "domain": "string",
- "effective_window_days": 0,
- "override": {
- "tenant_id": "string",
- "window_days": 0
}
}
}| domain required | string Retention domain |
| tenant_id | string Tenant ID (superuser only; defaults to caller's tenant) |
Desired window (allowed set from schema; 0=indefinite)
| window_days | integer |
{- "window_days": 0
}{- "property1": {
- "allowed_windows": [
- 0
], - "default_window_days": 0,
- "domain": "string",
- "effective_window_days": 0,
- "override": {
- "tenant_id": "string",
- "window_days": 0
}
}, - "property2": {
- "allowed_windows": [
- 0
], - "default_window_days": 0,
- "domain": "string",
- "effective_window_days": 0,
- "override": {
- "tenant_id": "string",
- "window_days": 0
}
}
}| domain required | string Retention domain |
| tenant_id | string Tenant ID (superuser only; defaults to caller's tenant) |
{- "property1": {
- "allowed_windows": [
- 0
], - "default_window_days": 0,
- "domain": "string",
- "effective_window_days": 0,
- "override": {
- "tenant_id": "string",
- "window_days": 0
}
}, - "property2": {
- "allowed_windows": [
- 0
], - "default_window_days": 0,
- "domain": "string",
- "effective_window_days": 0,
- "override": {
- "tenant_id": "string",
- "window_days": 0
}
}
}