Skip to main content
The Reports API lets you generate structured agronomic analyses for your fields and download the results in PDF, JSON, or CSV format. Reports are generated asynchronously — you submit a request, poll for status (or use a webhook), and download the file once it is ready. Report types range from field scouting summaries and seasonal health overviews to variable-rate prescription maps for precision application equipment.

The Report Object

string
The unique identifier for the report. Prefixed with rpt_.
string
The ID of the field this report was generated for.
string
The report type. One of scouting, seasonal, health_summary, or prescription.
string
The output format. One of pdf, json, or csv.
string
The current processing status. One of:
  • pending — The report has been queued and has not started processing.
  • processing — The report is actively being generated.
  • ready — The report is complete and available for download.
  • failed — Report generation failed. Retry the request or contact support if the issue persists.
string
ISO 8601 timestamp of when the report was requested.
string
A pre-signed URL to download the completed report. Populated only when status is ready. This URL expires after 7 days — see the note below.
string
The ISO 8601 timestamp at which the download_url expires. After this time, re-fetch the report object to obtain a refreshed URL, or regenerate the report.

Generate a Report

Request a new report for a field. Report generation runs asynchronously. The API returns 202 Accepted immediately with a report object in pending status. Poll GET /reports/{id} or subscribe to the report.ready webhook event to know when the report is available for download.

Path Parameters

string
required
The unique field ID.

Request Body

string
required
The type of report to generate. Accepted values:
  • scouting — A point-in-time field health snapshot with anomaly highlights and scouting zone recommendations.
  • seasonal — A full-season analysis covering crop development, NDVI progression, and yield potential estimates.
  • health_summary — A concise weekly or monthly health summary with index trends and alert history.
  • prescription — A variable-rate application map for inputs such as fertiliser or seed, derived from index variability zones.
string
required
The output file format. Accepted values: pdf, json, csv.
  • pdf — A formatted report suitable for sharing with agronomists or farmers.
  • json — Machine-readable structured data for integration with other systems.
  • csv — Tabular data export suitable for spreadsheet analysis.
object
Additional configuration for the report type. Available options vary by type.

Example Request


Get a Report

Retrieve the current status and details of a report. Poll this endpoint after submitting a report request, or use the report.ready webhook event to avoid polling altogether.

Path Parameters

string
required
The unique report ID (e.g., rpt_01j9def).

Example Request

Example Response

The download_url expires 7 days after the report is generated. If the URL has expired, call GET /reports/{id} again — the response will contain a freshly signed URL valid for another 7 days.

List Reports

Retrieve a paginated list of all reports in your account, optionally filtered by field, type, or status.

Query Parameters

string
Filter reports to a specific field.
string
Filter by report type. Accepted values: scouting, seasonal, health_summary, prescription.
string
Filter by processing status. Accepted values: pending, processing, ready, failed.
integer
default:"1"
The page number to retrieve.
integer
default:"20"
The number of reports per page. Maximum 100.

Example Request


Delete a Report

Permanently delete a report and its associated download file. Returns 204 No Content on success.

Path Parameters

string
required
The unique report ID.

Example Request

Deleting a report is irreversible. If you need the same analysis again, submit a new POST /fields/{id}/reports request to regenerate it.