---
title: "Get async job status"
method: GET
path: "/v1/jobs/{job_id}"
tags: ["Jobs"]
---

# Get async job status

`GET /v1/jobs/{job_id}`

## Request

- Base URL: `https://api.terranode.co`
- URL: `https://api.terranode.co/v1/jobs/{job_id}`
- Auth: API key in header `x-api-key`

Poll the status of an asynchronous batch job. Returns request metadata while processing, and includes a presigned download URL when complete.

## Path parameters

- `job_id` string, required

## Response `200`

Job status.

- JobStatusResponse
  - `job_id` string, required
  - `status` 'processing' | 'complete' | 'error', required
  - `type` 'pip-batch' | 'nearest-batch' | 'spatial-join', required: The batch operation type.
  - `request` object, required
    - `operation` string, required
    - `dataset` string, required
    - `params` object, required
    - `format` 'json' | 'csv', required
    - `pointCount` integer, required
    - `pointSource` 'inline' | 'dataset', required
  - `result` object: Present when status is "complete".
    - `summary` object, required: Summary counts (keys depend on operation type).
    - `download_url` string, uri, required: Presigned S3 URL to download results (valid for 24 hours).
    - `expires_at` string, date-time, required
  - `error` string: Error message when status is "error".
  - `created_at` string, date-time, required
  - `api_version` string, required

## Other responses

- `401`: Missing or invalid API key.
- `404`: Resource not found.
- `500`: Internal server error.

---

[API](https://skmtc.dev/terranode/apis/terranode-geospatial-api.md) · [All operations](https://skmtc.dev/terranode/apis/terranode-geospatial-api/llms.txt) · [OpenAPI document](https://skmtc.dev/terranode/apis/terranode-geospatial-api/revisions/bdd80613bc7a?raw)
