Get a task run
Get a single task run by id, with its state projected from the execution.
A succeeded run also carries what it produced, read from the backend: its
outputs by name, so a task returning one value reads as {"o0": ...}. Null
where the run produced nothing, has not succeeded, or its outputs could not
be read just now.
The state is synced from the backend periodically, so it can lag the run by
up to 2 minutes: a run that has already finished may still read as RUNNING
for that long. When polling for completion, allow for this delay.
404: no task run of this id the caller’s organization owns — the same answer whether it never existed or belongs to another organization.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The id of the task run.
Response
Successful Response
e.g. { "taskRunId": "npqy9q19q4wlm3", "taskName": "predict_mosaic_geometries_recipe", "state": "SUCCEEDED", "region": "aws-us-west-2", "submittedAt": "2026-06-04T18:00:00Z", "name": "College Park roofs, 2023", "inputs": { "aoi_uri": "s3://wherobots-examples/rasterflow/aois/collegepark.parquet", "start": "2023-01-01T00:00:00Z", "end": "2024-01-01T00:00:00Z", "model_recipe": "sam3-text-geometry", "text_prompt": ["roofs"], "confidence_threshold": 0.3, "target_crs": "EPSG:3857" }, "startedAt": "2026-06-04T18:01:10Z", "endedAt": null, "durationSeconds": 240, "cached": false, "results": {"o0": "s3://.../predictions.parquet"}, "errorMessage": null }
Current mutable Task display metadata, not historical identity.
PENDING, SUBMITTED, RUNNING, SUCCEEDED, FAILED, TIMED_OUT, CANCELLING, CANCELLED, UNKNOWN, SKIPPED, MISSED, REJECTED Concrete task polymorphic identities.
uniontask, scripttask Origin of a run, independent of its backend.
manual, schedule, rerun The task run this one reran, when runSource is rerun. Null otherwise.
What batchTime means: tick for a nominal schedule time, gap for a journal boundary such as a pause or schedule edit. Null when batchTime is null.
tick, gap Journal outcomes that deliberately launch no workload.
cancelled, overlap, epoch_gap, inputs_rejected Terminal dispatch and execution failure categories.
QUOTA_REJECTED, CONFIG_REJECTED, USER_CODE, PLATFORM, TIMEOUT Recorded execution identity; absent before launch, never inferred from Task Run ID.
How long the backend executed the run, from its start to its end (or to now, while running). 0 if it never started there. A cached run executes nothing, so this is the moment it took to return the stored result, not how long the result took to produce.
Durable admitted Job Run payload when available, otherwise the captured prelaunch request. URI does not pin historical object bytes.
Whether the run returned a result stored by an earlier run of the same task with the same inputs, instead of executing. Only a run that succeeded stores its result; one that failed or was cancelled is never reused. False until the run has ended.
Why the run did not succeed. A run that could not be started says so and gives the task run ID to quote to support.

