Skip to main content
The Fields API is the foundation of the SemaiSens platform. Every other resource — imagery, indices, reports — is scoped to a field. Use this API to register field boundaries as GeoJSON polygons, attach crop metadata such as planting and harvest dates, and manage the status of fields throughout the season. All area calculations are performed automatically from the boundary you provide.

The Field Object

A field object is returned by every endpoint in this resource.
string
The unique identifier for the field. Prefixed with fld_.
string
The human-readable name of the field, as provided at creation.
string
The crop currently planted in the field (e.g., corn, wheat, soybeans). Optional.
string
The date the crop was planted, in YYYY-MM-DD format. Optional.
string
The expected or actual harvest date, in YYYY-MM-DD format. Optional.
number
The area of the field in hectares, automatically calculated from the boundary polygon.
string
The current status of the field. One of active or archived.
string
ISO 8601 timestamp of when the field was created.
string
ISO 8601 timestamp of the most recent update to the field.
object
The field boundary as a GeoJSON Polygon object. Coordinates are in [longitude, latitude] order (WGS 84).

List Fields

Retrieve a paginated list of all fields in your account. Use query parameters to filter by status or control pagination.

Query Parameters

integer
default:"1"
The page number to retrieve.
integer
default:"20"
The number of fields to return per page. Maximum 100.
string
Filter fields by status. Accepted values: active, archived. Omit to return all fields regardless of status.

Example Request

Response

Returns a JSON object with a data array of field objects and pagination metadata.
array
An array of field objects matching the query.
integer
The total number of fields matching the query across all pages.
integer
The current page number.
integer
The number of results per page.

Create a Field

Register a new field by providing its name, optional crop metadata, and a GeoJSON boundary polygon. Returns 201 Created with the newly created field object.

Request Body

string
required
A descriptive name for the field (e.g., "North Corn Field"). Must be unique within your account.
string
The crop type planted in the field. Use lowercase common names (e.g., corn, wheat, canola, soybeans).
string
The planting date in YYYY-MM-DD format.
string
The expected or actual harvest date in YYYY-MM-DD format.
object
required
The field boundary as a GeoJSON Polygon. Coordinates must be in [longitude, latitude] order (WGS 84). The polygon must be closed (first and last coordinate identical) and must not self-intersect.

Example Request

The area_hectares value is calculated automatically from the boundary you provide. You do not need to supply it in the request.

Get a Field

Retrieve a single field by its ID.

Path Parameters

string
required
The unique field ID (e.g., fld_01j8xyz).

Example Request

Returns the full field object for the specified ID. Responds with 404 Not Found if no field with that ID exists in your account.

Update a Field

Update one or more properties of an existing field. You only need to include the fields you want to change — unspecified fields are left unchanged.

Path Parameters

string
required
The unique field ID.

Request Body

string
A new name for the field.
string
The updated crop type.
string
The updated planting date in YYYY-MM-DD format.
string
The updated harvest date in YYYY-MM-DD format.
Field boundaries cannot be updated after a field is created. If you need to correct a boundary, delete the field and create a new one. Updating the boundary would invalidate all historical imagery and index calculations tied to the original polygon.

Example Request


Delete a Field

Archive or permanently delete a field.

Path Parameters

string
required
The unique field ID.

Query Parameters

boolean
default:"false"
Set to true to permanently delete the field and all associated imagery, index, and report data. By default, a DELETE request archives the field (sets status to archived) and preserves all data.

Example Request

Permanent deletion is irreversible. All imagery, index calculations, and reports associated with the field will be permanently removed. Archive the field first if you are unsure.
Returns 204 No Content on success.