Skip to content

POST /v1/process/jobs

Available now A lean v1 extension, not in the v1 contract. It takes the same body as POST /v1/process and renders it in the background, for outputs over the synchronous limit.

Methods and paths POST /v1/process/jobs, GET /v1/process/jobs/{jobId}
Key needed
Request the process body
Response 202 with the job; then the job’s state
Lean OpenAPI createProcessJob, getProcessJob
  1. POST /v1/process/jobs with the process body. The request is checked at once, so a bad or oversized body fails here, not later. The answer is 202 with id, status (queued), created and a self link, and a Location header pointing at the job.
  2. Poll GET /v1/process/jobs/{jobId} every few seconds.
  3. status moves through queued and running to done or failed.
  4. When done, links holds one rel: result link per output file (type: image/tiff, title the file name). Each poll returns fresh links, each valid for one hour. When failed, error is a problem object with type, status, detail and code.
Terminal window
curl -s -i -X POST https://api.satellitedata.net/v1/process/jobs \
-H "X-API-Key: $SDN_API_KEY" \
-H "Content-Type: application/json" \
-d @request.json
# HTTP/1.1 202 ... Location: https://api.satellitedata.net/v1/process/jobs/<id>
curl -s "https://api.satellitedata.net/v1/process/jobs/$JOB_ID" \
-H "X-API-Key: $SDN_API_KEY"

A Python polling loop is in Download an area as GeoTIFF.

status Meaning
queued accepted, waiting for a worker
running rendering
done finished; links carries the output files
failed error carries the problem
Limit Value
Output size 20,000 pixels a side
Output values (width × height × bands) 600,000,000
Values × scenes read 2,400,000,000
Scenes in one mosaic 6
Run time 5 minutes
Jobs running at once, whole service 4
Job records and files kept 1 day

The POST fails with the same errors as POST /v1/process, with the job caps in place of the synchronous ones. GET on an unknown or expired job id returns 404 not-found; jobs are kept for a day.