Get Job Status By Dataset
const url = 'https://example.com/jobs/by-dataset/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://example.com/jobs/by-dataset/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \ --header 'Authorization: Bearer <token>'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.
Authorizations
Section titled “ Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “ Path Parameters ”Responses
Section titled “ Responses ”Successful Response
object
object
object
object
object
object
Counts geometry changed by the Web Mercator clamp.
The clamp is a box, not a latitude cutoff: longitude -180 to 180 and latitude -85.06 to 85.06. Either bound can be the one that cost the user geometry, so clients must not present this as a latitude-only problem.
dropped_features lost their geometry entirely (a valid point at lat
-89.95 becomes MULTIPOINT EMPTY); clipped_features survived in
reduced form.
object
object
Example
{ "status": "pending", "warnings": [ { "kind": "reserved_rename" } ], "current_step": "queued", "archive_failed": false}Bad request — invalid query parameters or payload
Unauthorized — missing or invalid credentials
Forbidden — caller lacks access to this resource
Not found
Validation error
Too many requests — retry after the advertised interval
Headers
Section titled “ Headers ”Seconds until the request may be retried
Internal server error
Service unavailable — the database could not serve the request