Agsemble
Docs/API reference

API reference

Fields

Create, validate, measure, and revise tenant-owned Polygon or MultiPolygon field boundaries.

List fields

GET /api/v1/fields?limit=100&starting_after=fld_...

Create a field

Send the boundary geometry; Agsemble calculates the authoritative area and perimeter. An optional area input remains accepted for compatibility but is never trusted as the stored measurement.

{
  "name": "North greenhouse",
  "farm_id": "frm_demo",
  "crop_cycle": {
    "crop": "Tomato",
    "variety": "Moneymaker",
    "planted_at": "2026-07-20"
  },
  "geometry": {
    "type": "Polygon",
    "coordinates": [[[103.80, 1.30], [103.81, 1.30],
      [103.81, 1.31], [103.80, 1.31], [103.80, 1.30]]]
  },
  "boundary": {
    "determination_method": "auto_imagery",
    "source": {
      "provider": "Fields of the World",
      "dataset": "Global field boundaries",
      "version": "2025-alpha",
      "license": "CC-BY-4.0"
    }
  }
}

Map a boundary visually

Open the Field mapper in the console to draw a boundary, import GeoJSON, or tap a 2025 Fields of the World satellite-derived suggestion. Drag the white vertices to correct the candidate before saving.

https://agsemble.com/console → Field mapper

Save a new boundary version

const updated = await agsemble.fields.update(fieldId, {
  geometry: correctedGeometry,
  boundary: {
    determination_method: "manual",
    source: { provider: "Field team review" }
  }
});

const history = await agsemble.fields.boundaries(fieldId);