Skip to main content
Upload soil sample .zip files, track processing status, and download normalized results in GeoJSON and canonical JSON formats. For output format details, see Soil Sampling Overview.
The Soil Sampling service is currently available by invitation. Contact your account team to request access.

Base URL

Endpoints


Upload soil files

POST /soil/batch Upload one or more .zip soil sample files for processing. Each file becomes an entry within the batch. Processing is asynchronous; poll the batch status endpoint to track progress.

Parameters

Headers

Request

To upload multiple files in a single batch, repeat the files field for each file. Each file becomes a separate entry within the batch.
In Python, pass a list of tuples:

Response

201 Created

Get batch status

GET /soil/batch/{id} Retrieve the current status of a batch and all its entries. When an entry reaches COMPLETED, downloadStandardGeojson contains the flat result URL. downloadCanonicalJson contains the hierarchical result URL when that output is available.

Parameters

Request

Response

200 OK

Get batch results

GET /soil/batch/{id}/results Returns a flat list of entries with their status and output URLs. Lighter than the full batch status when you only need the download links.

Parameters

Request

Response

200 OK

List all batches

GET /soil/batches List all batches for the authenticated API owner. Results are paginated.

Parameters

Request

Response

200 OK The response body is a JSON array of batch objects. Pagination metadata is returned in headers.

Status values

Error responses

Accessing result files

The downloadStandardGeojson, downloadCanonicalJson, and downloadRawFile fields contain URLs for the converted results. These URLs require the same Authorization: Bearer header used for all other API calls. Requests without a valid token return 401. downloadStandardGeojson is a flat GeoJSON FeatureCollection suited for mapping and GIS tools. downloadCanonicalJson is the hierarchical data model with lab info, provenance, and analyte categories when that output is available. downloadCanonicalJson may be null for some formats. Both output formats are described in Soil Sampling Overview: Output Formats.

What to do next

Last modified on April 17, 2026