Jobs

Background job status for asynchronous asset operations.

GET /api/v1/jobs/

List background jobs.

Parameters

NameInTypeRequired
limitquerynumberoptional
offsetquerynumberoptional

Response

Response 200 (application/json)
{
  "items": [
    {
      "id": "string",
      "type": "ingest-url",
      "status": "pending",
      "assetId": "string",
      "sourceUrl": "string",
      "progress": 0,
      "bytesTransferred": 0,
      "attempts": 0,
      "createdAt": "string",
      "updatedAt": "string",
      "totalBytes": 0,
      "error": "string"
    }
  ],
  "total": 0
}

GET /api/v1/jobs/{id}

Get a job.

Parameters

NameInTypeRequired
idpathstringrequired

Response

Response 200 (application/json)
{
  "id": "string",
  "type": "ingest-url",
  "status": "pending",
  "assetId": "string",
  "sourceUrl": "string",
  "progress": 0,
  "bytesTransferred": 0,
  "attempts": 0,
  "createdAt": "string",
  "updatedAt": "string",
  "totalBytes": 0,
  "error": "string"
}
Field notes
  • interrupted — True when the job was interrupted by an infrastructure/topology event (not a media failure) and is being auto-retried. The job stays `running` — it is NOT reported as `failed`. Absent on jobs that were never interrupted. Additive and backward compatible with the existing status enum.
  • interruptionReason — Distinguishable, clearly-recoverable reason the job was interrupted, present only when `interrupted` is true. `interrupted_by_scaledown`: the shared worker pool scaled a worker away mid-job, so the work was lost to a topology event (not a media failure). This is RECOVERABLE and typically AUTO-RETRIED by the service with no operator intervention; callers may also retry safely.

DELETE /api/v1/jobs/{id}

Cancel or delete a job.

Parameters

NameInTypeRequired
idpathstringrequired

Response

Response 200 (application/json)
{
  "id": "string",
  "type": "ingest-url",
  "status": "pending",
  "assetId": "string",
  "sourceUrl": "string",
  "progress": 0,
  "bytesTransferred": 0,
  "attempts": 0,
  "createdAt": "string",
  "updatedAt": "string",
  "totalBytes": 0,
  "error": "string"
}
Field notes
  • interrupted — True when the job was interrupted by an infrastructure/topology event (not a media failure) and is being auto-retried. The job stays `running` — it is NOT reported as `failed`. Absent on jobs that were never interrupted. Additive and backward compatible with the existing status enum.
  • interruptionReason — Distinguishable, clearly-recoverable reason the job was interrupted, present only when `interrupted` is true. `interrupted_by_scaledown`: the shared worker pool scaled a worker away mid-job, so the work was lost to a topology event (not a media failure). This is RECOVERABLE and typically AUTO-RETRIED by the service with no operator intervention; callers may also retry safely.