Manage jobs
List jobs
Section titled “List jobs”curl "https://api.avflow.dev/v1/jobs?limit=20&page=1&status=running&q=relay" \ -H "Authorization: Bearer ${AVFLOW_API_KEY}"Query parameters
Section titled “Query parameters”| Parameter | Default | Description |
|---|---|---|
limit | 20 | Page size (1–100) |
page | 1 | Page number (1-based) |
status | — | Filter by job status (running, completed, failed, etc.) |
q | — | Substring match on job name |
Response
Section titled “Response”{ "jobs": [ { "id": "job_abc123", "name": "livekit-mix", "status": "running", "submittedAt": "2026-06-10T12:00:00Z", "startedAt": "2026-06-10T12:00:05Z", "endedAt": null } ], "page": 1, "limit": 20, "total": 42}The list includes active and ended jobs. Each entry is a summary (id, name, status, timestamps) — no job spec and no usage. Use Get a job for the full definition and live metrics.
Get a job
Section titled “Get a job”curl "https://api.avflow.dev/v1/jobs/my-job" \ -H "Authorization: Bearer ${AVFLOW_API_KEY}"Returns the full job definition plus status and componentStatus. For a running job, the response also includes a usage object with cumulative per-component metrics:
{ "name": "my-job", "status": "running", "sources": [ ], "nodes": [ ], "sinks": [ ], "componentStatus": { }, "usage": { "jobDurationSec": 120, "components": [ { "name": "room_src", "role": "source", "type": "livekit", "values": { "source": { "videoMillis": 120000 } } } ] }}Ended jobs return the submitted spec and final status without usage.
Delete a job
Section titled “Delete a job”curl -X DELETE "https://api.avflow.dev/v1/jobs/my-job" \ -H "Authorization: Bearer ${AVFLOW_API_KEY}"Stops the job and marks it as completed.