Admin

Get Job Status By Dataset

Changed on

Look up the most recent ingest job for a dataset.

Used by the dataset detail page to surface ingest warnings permanently (S3 completion) — the job is the source of truth for reserved_rename / dbf_truncation_collision / mercator_clip / archive_failed / temporal_parse_errors metadata.

Returns the most recently created completed job for the dataset. When the dataset is visible but has no ingest job (e.g. registered from an existing table, or a remote/STAC dataset), returns 200 with a null body instead of 404 — a "no job" outcome is normal for these datasets and a 404 would needlessly pollute the browser console on the dataset detail page. A genuine 404 is still raised when the dataset is not visible to the user, to avoid leaking job existence (see visibility check below).

Not every caller gets every field. Seeing the dataset decides whether there is an answer at all; who ran the job decides how much of the answer is filled in. The dataset's owner, an admin, and the job's own creator get the full payload. Any other reader of a visible dataset gets the job id, its status and its timestamps, with the run's own detail nulled: no error_message, source_filename, warnings, step, row counts or retry hint. That is the redaction GET /datasets/{dataset_id}/refresh-runs already applies to the same failure text, and _redacted_job_status documents the decision field by field.

get/jobs/by-dataset/{dataset_id}

Request

  • The document declares no server URL.
  • Auth: one of:
    • OAuth 2 (password, token URL /api/auth/login)
    • API key in header X-Api-Key
    • API key in query parameter api_key

Path parameters

dataset_idstring uuid required

Response

Successful Response

idstring uuid required
status'pending' | 'running' | 'complete' | 'failed' | 'cancelled' | 'fanned_out' required
dataset_idstring uuid nullable required
source_filenamestring nullable required
error_messagestring nullable required
error_codestring nullable

Stable code for a fixed failure reason, so a client can show it in the reader's language; error_message keeps its English text. Null when the reason is free text.

can_retryboolean required
retry_reasonstring nullable required
warning_messagestring nullable
progressnumber nullable
current_step'queued' | 'downloading' | 'validating' | 'ogr2ogr' | 'finalize' | 'complete' | 'cog_convert' | 'quicklook' | 'analyzing' | 'registering' nullable
rows_processedinteger nullable
rows_failedinteger nullable
archive_failedboolean
quicklook_pendingboolean

True while the dataset's quicklook image is still owed after publication, so a client showing the thumbnail can poll again until the image has been replaced.

temporal_parse_errorsobject
started_atstring date-time nullable required
completed_atstring date-time nullable required
created_atstring date-time required

Changes

    • info

      added the optional property / to the response with the status