Job Monitoring and Result Downloads

The workflow for following runtime progress, handling completion or failure, and downloading outputs or logs.

Jobs are pipeline executions. They move through queue, reservation, runtime, terminal status, and optional runtime log archive states.

List jobs

Use GET /v1/jobs to show a signed-in user's job queue and history. The endpoint returns jobs owned by the user and jobs owned by organizations the user belongs to.

GET /v1/jobs?status=queued&sortBy=createdAt&sortDir=desc
Authorization: Bearer <personal-access-token>

Useful filters:

  • status: queued, reserved, running, succeeded, failed, cancelled, or expired.
  • ownerType and ownerId: restrict to the signed-in user or one organization.
  • locationId: show work for one spatial location.
  • inputBundleId: show jobs started from one uploaded bundle.
  • outputBundleId: find the job that produced a generated bundle.
  • pipeline: filter by pipeline id.
  • search: match pipeline metadata, capability class, and failure details.

The response includes the pipeline, user-facing pipelineDisplayName, current status, resource requirements, timestamps, and outputBundleId when a successful job created a model bundle.

Queued jobs can also include:

  • queueReason: a stable short code for why the job is still waiting.
  • retryState: short retry context when a previous attempt had to be retried.
  • pendingCapacityState: capacity-wait context when no currently available worker can run the job yet.
  • statusMessage: a user-safe sentence such as waiting for a larger GPU, more memory, or more worker data space.

These fields are intended for frontend queue views. They do not expose internal worker names or backend execution technology.

Get one job

GET /v1/jobs/{jobId}
Authorization: Bearer <personal-access-token>

Use this endpoint for detail panes and polling. For active terminal UX, combine it with the event endpoints.

If a job is waiting for local or no-burst capacity, keep polling the job detail or list endpoint and display statusMessage. The job remains queued until matching capacity appears, a worker starts it, or the job is cancelled. Cloud-provider capacity failures can still surface as terminal failures when provisioning was allowed but could not be satisfied.

Stream runtime events

GET /v1/jobs/{jobId}/events
GET /v1/jobs/{jobId}/events/stream

events returns recent history. events/stream uses server-sent events and emits log entries as workers report progress.

Download archived logs

GET /v1/jobs/{jobId}/archive

When runtime log archiving is available for the job, the response contains a temporary download URL. If the archive is not available, the response still returns available: false and may include a short summary.

Outputs

Successful pipeline jobs create a generated artifact bundle. Use the returned outputBundleId with the bundle metadata, file listing, and download endpoints to display or fetch the result.

On this page