Agsemble
Docs/Start

Start

Core concepts

Understand fields, normalized measurements, provenance, capability modes, and tenant isolation.

Field-first data model

A field is the shared agricultural object across weather, earth observation, crop cycles, and scouting notes. Create the geometry once and reuse its field ID across integrations.

GeoJSON coordinates use the standard longitude, latitude order.

Measurements carry their units

Values are represented as objects such as { value: 12.4, unit: "mm" }. Units are part of the API contract, not implied by property names or account settings.

  • Area: ha
  • Temperature: celsius
  • Rainfall and reference evapotranspiration: mm
  • Wind speed: km_h
  • Cloud cover and humidity: percent

Provenance is application data

Weather and earth-observation responses include provider, mode, retrieval time, and license text. Preserve that source object when displaying, exporting, or transforming provider-derived data.

The field summary is a product boundary, not only Promise.all

The summary saves a prototype from coordinating several provider-shaped calls, but its durable value is the normalized field-centric contract: one request ID, component-level ready/partial/unavailable states, freshness and cache metadata, source provenance, and independent failures.

Use it for first paint and coding-agent scaffolding. Use granular endpoints when cards need different refresh schedules, date controls, or provider-specific depth. Agsemble does not turn the combined signals into an agronomic diagnosis.

Capabilities prevent accidental fixture use

const manifest = await agsemble.capabilities.get();
const earth = manifest.capabilities.find(
  ({ id }) => id === "earth_observation",
);

if (earth?.mode !== "live") {
  throw new Error("Live satellite data is required");
}