Skip to content

api

api

REST API endpoints for the web UI.

All endpoints return JSON and are prefixed with /api.

list_jobs(request: Request, project: Optional[str] = None, group: Optional[str] = None, status: Optional[JobStatus] = None, limit: int = Query(default=100, le=1000)) async

List all jobs with optional filtering.

list_running_jobs(request: Request) async

List all currently running jobs.

list_recent_jobs(request: Request, hours: int = Query(default=24, le=168), limit: int = Query(default=50, le=500)) async

List jobs started within the last N hours.

get_job(request: Request, project: str, group: str, name: str, run_id: str) async

Get a specific job by its identifiers.

get_job_runs(request: Request, project: str, group: str, name: str) async

Get all runs for a specific job.

list_projects(request: Request) async

List all projects with summary stats.

get_dashboard_stats(request: Request) async

Get aggregated dashboard statistics.

list_job_checkpoints(request: Request, project: str, group: str, job_name: str) async

List all checkpoints for a specific job.

get_log(request: Request, project: str, group: str, name: str, run_id: str, tail: Optional[int] = Query(default=None, description='Return last N lines'), offset: int = Query(default=0, description='Byte offset to start reading from')) async

Get log contents for a job.

If tail is specified, returns the last N lines. Otherwise, returns content starting from offset.

stream_log(request: Request, project: str, group: str, name: str, run_id: str) async

Stream log contents via Server-Sent Events.

Connect to this endpoint for real-time log updates.

health_check(request: Request) async

Health check endpoint.