The Assessment API lets you create and manage crop assessments tied to a farm or field record. An assessment captures a full production profile for a given year — including crop details, inputs (fertilizers, pesticides, seeds, fuel, irrigation), emissions-related data (refrigerants, transport, machinery), and carbon/biomass information.
Base URL
https://backend.spacenus.de/api/v1.2/regen-scope-3
Prerequisite
The resource_id (farm or field) must already exist in the platform via the Farm Management API. The assessment will be rejected if the resource is not registered or does not belong to your company.
Endpoints
| Method | Endpoint | Description |
|---|---|---|
POST | /assessments | Create a new assessment |
GET | /assessments | List all assessments |
GET | /assessments/{id} | Fetch a single assessment |
PATCH | /assessments/{id} | Update an existing assessment |
DELETE | /assessments/{id} | Delete an assessment |
Assessment Object
An assessment is a parent object. All data sections (crop details, fertilizers, pesticides, etc.) are nested inside it. Sections that accept a single entry are objects; sections that accept multiple entries are arrays.
| Field | Type | Writable | Description |
|---|---|---|---|
id | integer | No | Auto-generated assessment ID |
assessment_year | integer | Yes | The crop year e.g. 2022 |
resource_id | integer | Yes | ID of the farm or field |
resource_type | string | Yes | "farm" or "field" |
status | string | Yes | "draft" or "submitted". Defaults to "draft" |
growing_area | {value, unit} | Yes | Total growing area with unit |
average_temperature | {value, unit} | Yes | Average temperature with unit |
climate_region | string | Yes | Climate region key. See choices |
farm_country | string | Yes | Country code. See choices |
submitted_data_quality | string | Yes | Data quality indicator. See choices |
resource | object | No | Read-only. Returns the linked farm or field name |
created_at | datetime | No | ISO 8601 timestamp |
updated_at | datetime | No | ISO 8601 timestamp |
crop_details | object | Yes | See Crop Details |
residues | object | Yes | See Crop Residues |
seeds | object | Yes | See Seeds |
soil_carbon_changes | object | Yes | See Soil Carbon Changes |
non_crop_biomass_estimated | object | Yes | See Non-Crop Biomass — Estimated |
re_deforestation | object | Yes | See Forestry / Re-deforestation |
fertilizers | array | Yes | See Fertilizers |
pesticides | array | Yes | See Pesticides |
wastewater | array | Yes | See Wastewater |
co_products | array | Yes | See Co-Products |
refrigerants | array | Yes | See Refrigerants |
fuel_and_energy | array | Yes | See Fuel & Energy |
irrigation_energy | array | Yes | See Irrigation Energy |
transport | array | Yes | See Transport |
machinery_operations | object | Yes | See Machinery Operations |
non_crop_biomass_measured | array | Yes | See Non-Crop Biomass — Measured |
Create an Assessment
POST /assessments?api_key=<your_api_key>
Content-Type: application/jsonYou can submit any combination of nested sections in a single request. All nested sections are optional at creation.
Minimal request
{
"assessment_year": 2022,
"resource_id": 1483,
"resource_type": "farm"
}Full request example
{
"assessment_year": 2022,
"resource_id": 1483,
"resource_type": "farm",
"climate_region": "cool_temperate_dry",
"farm_country": "germany",
"growing_area": { "value": 50, "unit": "ha" },
"average_temperature": { "value": 12.5, "unit": "C" },
"submitted_data_quality": "all_actual_data",
"crop_details": {
"crop_type_key": "winter_wheat",
"total_harvested": { "value": 3, "unit": "tonnes" },
"farmgate_amount": { "value": 2, "unit": "tonnes" }
},
"residues": {
"residue_management_practice": "left_on_field",
"above_ground_dry_matter": { "value": 15.5, "unit": "kg_per_hectare" }
}
,
"fertilizers": [
{
"fertilizer_type": "triple_super_phosphate",
"production_region": "africa_2014",
"fertilizer_application_rate": {
"unit": "kg per hectare",
"value": 140
},
"weight_or_units": "product",
"fertilizer_application_date": "2024-04-12"
},
{
"fertilizer_type": "calcium_ammonium_nitrate",
"production_region": "europe_2014",
"fertilizer_application_rate": {
"unit": "kg per hectare",
"value": 205
},
"weight_or_units": "product",
"emission_factor_choice": "default_emission_factor",
"fertilizer_application_date": "2024-05-25"
}
],
"pesticides": [
{
"pesticide_type": "herbicide",
"pesticide_category": "post_emergence",
"field_percentage": 100,
"active_ingredient_percentage": 72,
"pesticide_application_rate": {
"unit": "litres per hectare",
"value": 0.6
}
},
{
"pesticide_type": "pesticide",
"pesticide_category": "post_emergence",
"field_percentage": 100,
"active_ingredient_percentage": 25,
"pesticide_application_rate": {
"unit": "litres per hectare",
"value": 0.7
}
},
{
"pesticide_type": "fungicide",
"pesticide_category": "post_emergence",
"field_percentage": 100,
"active_ingredient_percentage": 12.5,
"pesticide_application_rate": {
"unit": "litres per hectare",
"value": 0.9
}
}
],
"fuel_and_energy": [
{
"by_volume_volume_of_fuel_used": {
"unit": "litres",
"value": 224
},
"by_volume_energy_source": "diesel_100_mineral",
"energy_boundary": "within_farm_operations",
"category_within_farm": "field"
}
],
"seeds": {
"purchase_type": "seed",
"seed_source_type": "hybrid_seed_from_breeder",
"mass_of_seed": { "value": 4, "unit": "kg" }
}
}Response — returns the full assessment object with all nested sections and generated IDs.
{
"id": 901,
"assessment_year": 2022,
"resource_id": 1483,
"resource_type": "farm",
"status": "draft",
"crop_details": {
"id": 45,
"crop_type_key": "winter_wheat",
"total_harvested": { "value": 3, "unit": "tonnes" },
"farmgate_amount": { "value": 2, "unit": "tonnes" }
},
"fertilizers": [],
"created_at": "2026-05-05T10:22:00Z",
"updated_at": "2026-05-05T10:22:00Z"
}Update an Assessment
PATCH /assessments/{id}?api_key=<your_api_key>
Content-Type: application/jsonOnly the fields included in the request body are updated. Omitted top-level fields are left unchanged.
Update Behaviour for Nested Sections
Single-entry sections (crop_details, residues, seeds, soil_carbon_changes, non_crop_biomass_estimated, re_deforestation):
-
If the section does not yet exist, it is created.
-
If it already exists, it is replaced with the new data.
-
Send
nullto delete the section. Multi-entry sections (fertilizers,pesticides,wastewater,co_products,refrigerants,fuel_and_energy,irrigation_energy,transport,non_crop_biomass_measured): -
Entries without an
idare treated as new and appended. -
Entries with an
idare matched and updated in place. -
Existing entries whose
idis not present in the request are deleted.
from_web Query Parameter
from_web Query ParameterPass ?from_web=true to enable granular nested update logic (used by the web application). Without this flag, multi-entry sections are fully replaced on each PATCH.
PATCH /assessments/901?api_key=<your_api_key>&from_web=true
Example — update crop details and add a pesticide
{
"crop_details": {
"total_harvested": { "value": 4, "unit": "tonnes" }
},
"pesticides": [
{
"pesticide_category": "herbicide",
"pesticide_type": "glyphosate",
"pesticide_application_rate": { "value": 2, "unit": "l/ha" }
}
]
}Fetch an Assessment
GET /assessments/{id}?api_key=<your_api_key>Returns the full assessment object, including all nested sections.
List Assessments
GET /assessments?api_key=<your_api_key>Returns all assessments belonging to your company.
Delete an Assessment
DELETE /assessments/{id}?api_key=<your_api_key>Permanently deletes the assessment and all nested data.
Nested Section Reference
{value, unit} Fields
{value, unit} FieldsMany fields use a structured measurement object:
{ "value": 3, "unit": "tonnes" }Always provide both value and unit when submitting a measurement. value must be a positive float (minimum: 1e-9) unless otherwise noted.
Crop Details
Single entry object. Captures core crop production figures for the assessment. Enter data only for the specific crop and field being assessed, including any associated cover crops or managed field boundaries.
Scope note: Set a clear boundary for all data entered (cradle-to-farm-gate is recommended). Avoid double-counting inputs used for other cash crops, and make sure all emissions within the 12-month harvest cycle are captured.
| Field | Type | Required | Description |
|---|---|---|---|
crop_type_key | string | Yes | Identifier for the type of annual crop being assessed. See Allowed Crop Types. |
total_harvested | {value, unit} | Yes | Total harvested yield from the growing area, recorded before any on-farm drying, grading, sorting, or other post-harvest losses. Exclude co-products. |
farmgate_amount | {value, unit} | Yes | Marketable weight of the crop after on-farm processing such as drying or cleaning. Used to compute emissions intensity (kg CO₂e/tonne). Exclude co-products. |
total_harvested and farmgate_amount — Field Structure
total_harvested and farmgate_amount — Field StructureBoth fields share the same {value, unit} shape:
| Property | Type | Required | Constraints |
|---|---|---|---|
value | number | Yes | Positive float. Minimum: 1e-9 |
unit | string | No | Defaults to "tonnes" (metric systems) or "tons short" (imperial systems) |
Allowed unit values:
| Value | Description | Default For |
|---|---|---|
"tonnes" | Metric tonnes | Metric |
"tons_short" | US short tons | Imperial |
"tons_long" | Imperial long tons | — |
Allowed Crop Types
Use the key string (left column) as the value for crop_type_key.
| Key | Display Name |
|---|---|
alfalfa | Alfalfa |
barley | Barley |
canola | Canola |
clover | Clover |
cotton | Cotton |
dry_bean | Dry Bean |
grass_clover_mix | Grass-clover mix |
hops | Hops |
maize | Maize |
millet | Millet |
oats | Oats |
other_annual_crop | Other annual crop |
other_grain | Other grain |
other_legume | Other legume |
other_n_fixing_forage | Other N-fixing forage |
other_non_n_fixing_forage | Other Non-N-fixing forage |
other_root_crops | Other root crops |
other_tuber_crop | Other tuber crop |
peanut | Peanut |
perennial_grass | Perennial grass |
rapeseed | Rapeseed |
rye | Rye |
sorghum | Sorghum |
soyabean | Soyabean |
spring_wheat | Spring Wheat |
strawberry | Strawberry |
sugarcane | Sugarcane |
tomato | Tomato |
upland_rice | Upland Rice |
vegetable_above_ground | Vegetable - above ground |
vegetable_root | Vegetable - root |
winter_wheat | Winter Wheat |
Example
{
"crop_type_key": "winter_wheat",
"total_harvested": {
"value": 250.5,
"unit": "tonnes"
},
"farmgate_amount": {
"value": 238.0,
"unit": "tonnes"
}
}Notes
total_harvestedis the gross yield before any post-harvest losses;farmgate_amountis the net marketable quantity after processing.- Emissions intensity in results (kg CO₂e/tonne) is scaled against
farmgate_amount. - Co-products must be entered separately in the
co_productssection — do not include them here.
Crop Residues
Single entry object. Records above-ground crop residues and how they are managed. Default dry-matter weights are provided automatically based on the crop type; override them with a manual value if you have more precise data.
Note: Residue amounts must be entered as dry weight. Dry weights vary by crop — typically around 90% of fresh weight for cereals and legumes, and between 10–20% for most fruits and vegetables. Residue management emissions appear in results separately from soil carbon effects.
| Field | Type | Required | Description |
|---|---|---|---|
residue_management_practice | string | Yes | How above-ground residues are managed after harvest. See allowed values below. |
above_ground_dry_matter | {value, unit} | No | Dry weight of above-ground residues per unit area. If omitted, a default value is calculated from the crop type. |
Allowed residue_management_practice values:
| Value | Description |
|---|---|
"burning" | Residues are burned in the field |
"heaps_pits" | Left in heaps or pits |
"compost_forced" | Composted with forced aeration |
"compost_non_forced" | Composted without forced aeration |
"left_on_field" | Left on the field surface |
"exporting" | Removed and exported from the farm |
Allowed above_ground_dry_matter unit values:
| Value | Default For |
|---|---|
"kg_per_hectare" | Metric |
"tonnes_per_hectare" | — |
"lb_per_acre" | Imperial |
"tons_short_per_acre" | — |
"tons_long_per_acre" | — |
"kg_per_acre" | — |
Example
{
"residue_management_practice": "left_on_field",
"above_ground_dry_matter": {
"value": 15.5,
"unit": "kg_per_hectare"
}
}Seeds
Single entry object. Records seed or plug inputs used to produce the assessed crop. Only include seed sourced externally or from on-farm production that is not already captured in a separate assessment.
Note: The
purchase_typefield controls which fields are active. Fields belonging to the inactive type are automatically set tonullby the API. Ifpurchase_typeis omitted or sent asnull, all seed and plug fields are nulled.
Fields
| Field | Type | Required | Description |
|---|---|---|---|
purchase_type | string or null | No (defaults to null) | Determines whether this entry is seed-based or plug-based. See allowed values below. |
mass_of_seed | {value, unit} | When purchase_type = "seed" | Total mass of seed used in the assessment year. |
seed_source_type | string | When purchase_type = "seed" | Breeding or sourcing origin of the seed. See allowed values below. |
number_of_plugs | integer | When purchase_type = "plug" | Number of plugs purchased in the assessment year. Minimum: 0. |
plugs_in_peat_soil | boolean | When purchase_type = "plug" | Set to true if the plugs were grown in peat-based growing media. |
purchase_type Conditional Behaviour
purchase_type Conditional Behaviour| Value | Active Fields | Nulled Fields |
|---|---|---|
"seed" | mass_of_seed, seed_source_type | number_of_plugs, plugs_in_peat_soil |
"plug" | number_of_plugs, plugs_in_peat_soil | mass_of_seed, seed_source_type |
null | — | All fields nulled |
Allowed seed_source_type values (applicable only when purchase_type = "seed"):
| Value | Description |
|---|---|
"hybrid_seed_from_breeder" | Hybrid seed sourced from a breeder |
"single_variety" | Single-variety seed |
Allowed mass_of_seed unit values:
| Value | Default For |
|---|---|
"tonnes" | Metric |
"kg" | — |
"tons_short" | Imperial |
"tons_long" | — |
"lb" | — |
Examples
Seed-based entry:
{
"purchase_type": "seed",
"mass_of_seed": { "value": 180, "unit": "kg" },
"seed_source_type": "single_variety"
}Plug-based entry:
{
"purchase_type": "plug",
"number_of_plugs": 5000,
"plugs_in_peat_soil": false
}No seed input (clear the section):
{
"purchase_type": null
}Fertilizers
Array. Each entry represents one fertilizer product applied to the growing area. Include inputs applied to the main crop, any cover crops, and managed field boundaries. Fuel used to apply fertilizers should be entered separately in the Fuel & Energy section.
Note: No production emissions are assumed for manure-based fertilizers, as these are considered by-products of livestock production. Custom emission factors can be entered when better data is available.
| Field | Type | Required | Description |
|---|---|---|---|
id | integer | No | Include when updating an existing entry |
fertilizer_type | string | Yes | See Fertilizer Type |
name | string | Yes | Fertilizer product name (from predefined list or custom) |
amount | float | Yes | Application quantity |
unit | string | Yes | Unit for amount |
production_region | string | No | The region where the fertilizer was manufactured. See Fertilizer Production Regions. |
weight_or_units | string | No | Whether the rate is expressed as total product weight or as active nutrient units (e.g. units of N, P2O5). |
emission_factor_choice | string | No | Whether to use the default or a custom emission factor |
fertilizer_application_rate | {value, unit} | Yes | Rate at which the fertilizer was applied per unit area |
fertilizer_application_date | date | No | ISO 8601 date, e.g. "2022-03-15". Currently informational only; does not affect calculations. |
fertilizer_emission_factor | {value, unit} | No | Custom production emission factor (kg CO₂e/kg). Requires supporting evidence. |
fertilizer_supporting_notes | string | No | Free-text notes, e.g. justification for a custom emission factor (max 500 characters) |
percentage_N_as_ammonium_N | {value, unit} | No | Percentage of nitrogen present as ammonium-N. Should not exceed 77.65%. |
percentage_N_as_nitrate_N | {value, unit} | No | Percentage of nitrogen present as nitrate-N. Should not exceed 22%. |
percentage_N_as_urea_N | {value, unit} | No | Percentage of nitrogen present as urea-N. Should not exceed 46%. |
percentage_P2O5_or_percentage_P | {value, unit} | No | Phosphorus content expressed as either % P2O5 or % P |
percentage_K2O_or_percentage_K | {value, unit} | No | Potassium content expressed as either % K2O or % K |
Fertilizer types
| ID / Key | Description | Nutrient Composition |
|---|---|---|
ammonium_nitrate_granulated | Ammonium nitrate (granulated) | 33.5% N |
ammonium_nitrate_prilled | Ammonium nitrate (prilled) | 33.5% N |
ammonium_sulphate | Ammonium sulphate | 21% N |
ammonium_sulphate_nitrate | Ammonium sulphate nitrate | 26% N |
anhydrous_ammonia | Anhydrous ammonia | 82% N |
broiler_turkey_litter | Broiler/Turkey litter | 3% N |
calcium_ammonium_nitrate | Calcium ammonium nitrate | 27% N |
calcium_nitrate | Calcium nitrate | 15.5% N |
cattle_digestate_026 | Cattle digestate | 0.26% N |
cattle_digestate_06 | Cattle digestate | 0.6% N |
cattle_manure | Cattle manure | 0.6% N |
cattle_slurry | Cattle slurry | 0.26% N |
compost | Compost | 1% N |
compost_zero_emissions | Compost (zero emissions) | 1% N |
compound_npk_mixed_acid | Compound NPK (mixed-acid process) | 15% N / 15% K2O / 15% P2O5 |
compound_npk_nitrophosphate | Compound NPK (nitrophosphate process) | 15% N / 15% K2O / 15% P2O5 |
diammonium_phosphate | Diammonium phosphate | 18% N / 46% P2O5 |
horse_digestate | Horse digestate | 0.7% N |
horse_manure | Horse manure | 0.5% N |
limestone | Limestone | 55% CaCO3 / 29% CaO |
monoammonium_phosphate | Monoammonium phosphate | 11% N / 52% P2O5 |
muriate_of_potash | Muriate of potash / Potassium chloride | 60% K2O |
peat | Peat | - |
phosphate_rock | Phosphate/Rock Phosphate | 32% P2O5 |
pig_digestate_036 | Pig digestate | 0.36% N |
pig_digestate_07 | Pig digestate | 0.7% N |
pig_manure | Pig manure | 0.7% N |
pig_slurry | Pig slurry | 0.36% N |
polyhalite | Polyhalite | 48% SO3 / 14% K2O / 6% MgO / 17% CaO |
potassium_nitrate_crystallized | Potassium nitrate - crystallized (caliche) | - |
potassium_nitrate_prilled | Potassium nitrate - prilled (caliche) | - |
potassium_sulphate | Potassium sulphate | 50% K2O / 45% SO3 |
poultry_layer_digestate | Poultry layer digestate | 1.9% N |
poultry_layer_manure | Poultry layer manure | 1.9% N |
separated_pig_slurry_liquid | Separated pig slurry (liquid part) | 0.36% N |
separated_pig_slurry_solid | Separated pig slurry (solid part) | 0.5% N |
sheep_digestate | Sheep digestate | 0.7% N |
sheep_manure | Sheep manure | 0.7% N |
straw_emissions_included | Straw (production emissions included) | - |
straw_zero_emissions | Straw (zero emissions) | - |
super_phosphate | Super phosphate | 21% P2O5 |
triple_super_phosphate | Triple super phosphate | 48% P2O5 |
urea | Urea | 46% N |
urea_ammonium_nitrate | Urea ammonium nitrate solution | 32% N |
Allowed fertilizer_application_rate unit values:
| Value | Default For |
|---|---|
"kg per hectare" | Metric |
"litres per hectare" | — |
"tonnes per hectare" | — |
"lb per acre" | Imperial |
"tons short per acre" | — |
"tons long per acre" | — |
"kg per acre" | — |
"litres per acre" | — |
Allowed weight_or_units (application_rate_basis) values:
| Value | Description |
|---|---|
"product" | Total weight of the product |
"unit of nitrogen (N)" | Active nitrogen weight |
"unit of P2O5 (P2O5)" | Active phosphate weight |
"unit of K2O (K2O)" | Active potash weight |
"unit of SO3 (SO3)" | Sulphur trioxide |
"unit of Ca (CA)" | Calcium |
"unit of CaO (CAO)" | Calcium oxide |
"unit of CaCO3 (CACO3)" | Calcium carbonate |
"unit of MgO (MGO)" | Magnesium oxide |
"unit of phosphorus (P)" | Elemental phosphorus |
"unit of K (K)" | Elemental potassium |
"unit of carbon (C)" | Elemental carbon |
For example: 100 kg/ha of Urea (46% N) can equivalently be entered as 46 kg/ha using
"unit of nitrogen (N)".
Fertilizer Production Regions
| Value | Display Name |
|---|---|
"africa_2014" | Africa 2014 |
"china_2014" | China 2014 |
"europe_2014" | Europe 2014 |
"middle_east_2014" | Middle East 2014 |
"n_america_2014" | N America 2014 |
"oceania_2014" | Oceania 2014 |
"russia_cis_2014" | Russia (CIS countries) 2014 |
"s_america_2014" | S America 2014 |
"s_asia_2014" | S Asia 2014 |
"se_asia_2014" | SE Asia 2014 |
"default" | Default |
"world_2014" | World 2014 |
"world_2019" | World 2019 |
"chile_2021" | Chile 2021 |
If uncertain, select
"default". The model first attempts to apply a region-specific emission factor; if unavailable, it falls back to a global factor.
Pesticides
Array. Each entry represents one pesticide application. Pesticide inputs contribute to emissions through production, using average emission factors (fewer options are available compared to fertilizers, as less environmental data exists for crop protection products).
| Field | Type | Required | Description |
|---|---|---|---|
id | integer | No | Include when updating an existing entry |
pesticide_category | string | Yes | Application timing or placement. See allowed values below. |
pesticide_type | string | Yes | Active ingredient category. See allowed values below. |
field_percentage | {value, unit} | Yes | Percentage of the growing area to which this product was applied (0–100%) |
active_ingredient_percentage | {value, unit} | Yes | Active ingredient content of the product as a percentage (0–100%). Usually on the label. |
pesticide_application_rate | {value, unit} | Yes | Application rate per unit area |
Allowed pesticide_category values:
| Value | Description |
|---|---|
"soil_treatment" | Applied directly to soil |
"post_emergence" | Applied after crop emergence |
"pre_emergence" | Applied before crop emergence |
"other" | Any other application timing |
Allowed pesticide_type values:
| Value | Description |
|---|---|
"pesticide" | General pesticide (use when specific type is unknown) |
"fungicide" | Fungicide |
"herbicide" | Herbicide |
"insecticide" | Insecticide |
Allowed pesticide_application_rate unit values:
| Value | Default For |
|---|---|
"kg per hectare" | Metric |
"litres per hectare" | — |
"tonnes per hectare" | — |
"lb per acre" | Imperial |
"tons short per acre" | — |
"tons long per acre" | — |
"kg per acre" | — |
"litres per acre" | — |
Wastewater
Array. Each entry represents one wastewater stream. This section is only relevant when pools of standing wastewater are actively managed on the farm and the average annual temperature exceeds 15°C. Skip this section if neither condition applies.
Wastewater includes run-off from land, livestock waste management (e.g. slurry), and any washing or processing activities within the assessment boundary.
| Field | Type | Required | Description |
|---|---|---|---|
id | integer | No | Include when updating an existing entry |
oxygen_demand_type | string | Yes | Whether oxygen demand is measured as BOD (biochemical) or COD (chemical) |
wastewater_treatment | string | Yes | Treatment method applied to the wastewater stream. See allowed values below. |
wastewater_volume | {value, unit} | Yes | Total volume of wastewater in the stream |
oxygen_demand | {value, unit} | Yes | Oxygen demand concentration of the wastewater. If unknown, use COD type and 0.009 kg/litre for coffee. |
Allowed oxygen_demand_type values:
| Value | Description |
|---|---|
"biochemical" | Biochemical oxygen demand (BOD) |
"chemical" | Chemical oxygen demand (COD) |
Allowed wastewater_treatment values:
| Value | Description |
|---|---|
"none_unspecified_aquatic" | None — unspecified aquatic environment |
"none_reservoirs_lakes_estuaries" | None — reservoirs, lakes and estuaries |
"none_other_than_reservoirs" | None — other than reservoirs, lakes and estuaries |
"none_stagnant_sewer" | None — stagnant sewer |
"centralized_aerobic_treatment" | Centralized anaerobic treatment plant |
"none_fast_flowing_sewer" | None — fast flowing sewer |
"anaerobic_reactor" | Anaerobic reactor |
"anaerobic_lagoon_shallow" | Anaerobic lagoon — depth < 2m |
"anaerobic_lagoon_deep" | Anaerobic lagoon — depth > 2m |
"constructed_wetlands_surface" | Constructed Wetlands — Surface Flow |
"constructed_wetlands_horizontal" | Constructed Wetlands — Horizontal Subsurface Flow |
"constructed_wetlands_vertical" | Constructed Wetlands — Vertical Flow |
Allowed wastewater_volume unit values:
| Value | Default For |
|---|---|
"litres" | Metric |
"cubic metres" | — |
"acre inches" | Imperial |
Allowed oxygen_demand unit values:
| Value | Default For |
|---|---|
"kg per litre" | Metric |
"g per litre" | — |
"mg per litre" | — |
Co-Products
Array. Each entry represents one co-product produced alongside the primary crop — either deliberately (co-cropping) or as a direct result of production (e.g. straw). Adding co-products distributes a portion of the total emissions away from the primary crop.
| Field | Type | Required | Description |
|---|---|---|---|
id | integer | No | Include when updating an existing entry |
co_product_type | string | Yes | Description of the co-product, e.g. "straw" or "sugar beet pulp" (max 50 characters) |
co_product_percentage | {value, unit} | Yes | Value of the co-product as a percentage relative to the primary crop (0–100%). For example, if grain is worth $1,000 and straw $100, enter 10%. |
co_allocation_method | string | Yes | Method used to share emissions between the primary crop and co-product. See allowed values below. |
Allowed co_allocation_method values:
| Value | Description |
|---|---|
"economic" | Emissions allocated based on relative market value (revenue share) of co-product vs. main product |
"mass" | Emissions allocated based on relative weight of co-product vs. main product |
"physical" | Physical allocation method |
"other" | Alternative method — document the approach in supporting notes |
Refrigerants
Array. Each entry represents one refrigerant-using piece of equipment on the farm. Use this section if the assessed crop is stored in a refrigerated or air-conditioned facility. Energy used by this equipment should be entered separately in Fuel & Energy.
| Field | Type | Required | Description |
|---|---|---|---|
id | integer | No | Include when updating an existing entry |
equipment_type_key | string | Yes | Type of refrigeration or air-conditioning equipment. See allowed values below. |
refrigerant_type_key | string | Yes | Refrigerant contained within the equipment. Defaults to "unknown". See allowed values below. |
number_of_units | integer | Yes | Number of identical equipment units (same age). Minimum: 1 |
age_of_equipment | integer | Yes | Age of the equipment in years. Minimum: 0 |
equipment_disposed | boolean | Yes | Set to true if this equipment was disposed of during the assessment period |
recovery_pathway_key | string | No | Refrigerant recovery method used at disposal. See allowed values below. Leave blank if equipment was not disposed of. |
initial_refrigerant_amount | {value, unit} | No | Quantity of refrigerant when the equipment is fully charged. If omitted, a default is used for the equipment type. |
refrigerant_allocation_method | string | No | Method used to allocate refrigerant emissions to this product. See allowed values below. |
allocation_percentage | {value, unit} | No | Percentage of refrigerant emissions allocated to this product (0–100%). Default is 100%. |
Allowed equipment_type_key values:
| Value | Display Name |
|---|---|
"domestic_refrigeration" | Domestic refrigeration |
"commercial_refrigeration_standalone" | Commercial refrigeration (standalone) |
"commercial_refrigeration_medium_and_large" | Commercial refrigeration (medium and large) |
"transport_refrigeration" | Transport refrigeration |
"industrial_refrigeration" | Industrial refrigeration |
"chillers" | Chillers |
"stationary_air_conditioning" | Stationary air conditioning |
"mobile_air_conditioning_maritime" | Mobile air conditioning — maritime |
"mobile_air_conditioning_railway" | Mobile air conditioning — railway |
"mobile_air_conditioning_busses" | Mobile air conditioning — busses |
"mobile_air_conditioning_other" | Mobile air conditioning — other |
Allowed recovery_pathway_key values:
| Value | Description |
|---|---|
"landfill" | Disposed to landfill |
"partial_refrigerant_recovery" | Partial refrigerant recovery |
"full_refrigerant_recovery" | Full refrigerant recovery |
"unknown" | Recovery method unknown |
Allowed refrigerant_allocation_method values:
| Value | Description |
|---|---|
"economic" | Allocated by relative market value |
"mass" | Allocated by product weight only |
"physical" | Accounts for the time the product occupied the equipment and the space required |
"other" | Alternative method |
Allowed refrigerant_type_key values (select from the full list below):
"unknown", "r400_50_50", "r400_60_40", "r401a" through "r422c", "r500" through "r509a", "hfc23" through "hfc43_10mee", "hcfc142b", "cfc114", "cfc115", "cfc12", "cfc13", "hc1270", "hc290", "hc600", "hc600a", "hcfc124", "hcfc22", "hcfc31", "he_e170", "pfc_116", "pfc_218", "pfc_318"
Use
"unknown"when the refrigerant type is not identifiable.
Fuel & Energy
Array. Each entry represents one fuel or energy source used in the production and on-farm processing of the assessed crop. Covers all energy within the assessment scope: storage, lighting, drying, cooling, ventilation, irrigation, and contractor energy. Do not double-count with the Machinery or Irrigation sections.
Each entry uses one of four input modes depending on how energy consumption is measured:
By Volume
| Field | Type | Required | Description |
|---|---|---|---|
by_volume_energy_source | string | Yes | Fuel type measured by volume. See allowed values below. |
by_volume_volume_of_fuel_used | {value, unit} | Yes | Volume of fuel consumed |
energy_boundary | string | Yes | System boundary for this energy entry. See allowed values below. |
category_within_farm | string | No | Farm activity category (only applicable to within-farm operations) |
Allowed by_volume_energy_source values:
| Value | Description |
|---|---|
"biodiesel_hvo" | Biodiesel HVO (renewable diesel, hydrotreated) |
"biodiesel_me" | Biodiesel ME (FAME, traditional biodiesel) |
"bioethanol" | Bioethanol |
"diesel_100_mineral" | Diesel (100% mineral diesel) |
"diesel_average_biofuel_blend" | Diesel (average biofuel blend) |
"gas_by_volume" | Gas (by volume) |
"oil_by_volume" | Oil (by volume) |
"petrol_100_mineral" | Petrol (100% mineral petrol) |
"petrol_biofuel_blend" | Petrol (average biofuel blend) |
"propane" | Propane |
Allowed volume unit values: "litres" (metric default), "cubic metres", "gallons", "gallons (US)" (imperial default)
By Weight
| Field | Type | Required | Description |
|---|---|---|---|
by_weight_energy_source | string | Yes | Fuel type measured by weight. See allowed values below. |
by_weight_weight_of_fuel_used | {value, unit} | Yes | Weight of fuel consumed |
energy_boundary | string | Yes | System boundary for this entry |
Allowed by_weight_energy_source values:
| Value | Description |
|---|---|
"coal_by_weight" | Coal (by weight) |
"fuel_wood" | Fuel wood |
"gas_by_weight" | Gas (by weight) |
"wood_pellets" | Wood pellets |
Allowed weight unit values: "tonnes" (metric default), "kg", "tons short" (imperial default), "tons long", "lb"
By Energy
| Field | Type | Required | Description |
|---|---|---|---|
by_energy_energy_source | string | Yes | Energy source measured in energy units. See allowed values below. |
by_energy_energy_used | {value, unit} | Yes | Energy consumed |
energy_boundary | string | Yes | System boundary for this entry |
Allowed by_energy_energy_source values:
| Value | Description |
|---|---|
"electricity_photo_voltaic" | Electricity (photo-voltaic) |
"electricity_wind" | Electricity (wind) |
"electricity_hydroelectric" | Electricity (hydroelectric) |
"chp_import_biogas" | CHP import (biogas) |
"chp_import_heat_natural_gas" | CHP import — heat (natural gas) |
"chp_import_electricity_natural_gas" | CHP import — electricity (natural gas) |
"chp_export_biogas" | CHP export (biogas) |
"chp_export_heat_natural_gas" | CHP export — heat (natural gas) |
"chp_export_electricity_natural_gas" | CHP export — electricity (natural gas) |
"chp_onsite_biogas" | CHP onsite (biogas) |
"chp_onsite_natural_gas" | CHP onsite (natural gas) |
"oil_by_energy" | Oil (by energy) |
"gas_by_energy" | Gas (by energy) |
"coal_by_energy" | Coal (by energy) |
"grid_electricity" | Grid electricity |
Allowed energy unit values: "kWh" (metric default), "MJ", "btu", "thm" (imperial default)
By Grid Energy (Custom Emission Factor)
Use this mode when entering grid electricity with a known custom emission factor.
| Field | Type | Required | Description |
|---|---|---|---|
by_energy_energy_source | string | Yes | Must be "grid_electricity" |
by_energy_energy_used | {value, unit} | Yes | Energy consumed |
energy_boundary | string | Yes | System boundary |
custom_grid_emission_factor | {value, unit} | Yes | Custom grid emission factor in kg CO₂e/kWh. Requires supporting notes. |
custom_grid_supporting_notes | string | Yes | Source or justification for the custom emission factor (max 500 characters) |
Shared Fields — Boundary and Category
Allowed energy_boundary values:
| Value | Description |
|---|---|
"incoming_to_farm_for_on_farm_use" | Incoming to farm for on-farm use |
"within_farm_operations" | Within farm operations |
"dispatched_from_farm" | Dispatched from farm |
"unknown" | Boundary not known (default) |
Allowed category_within_farm values (only applicable when boundary is "within_farm_operations"):
| Value | Description |
|---|---|
"field" | Field operations |
"facility_processing" | Facility processing |
Irrigation Energy
Array. Use this section to estimate fuel and energy use from irrigation when actual consumption data is unavailable. If you have measured energy data, enter it directly in Fuel & Energy instead — do not enter the same usage in both sections.
| Field | Type | Required | Description |
|---|---|---|---|
id | integer | No | Include when updating an existing entry |
irrigation_system_type | string | Yes | Method of irrigation. See allowed values below. |
water_source | string | Yes | Source of irrigation water. See allowed values below. |
power_source | string | Yes | Power source used to drive the irrigation system. See allowed values below. |
percentage_of_field_irrigated | {value, unit} | Yes | Percentage of the growing area that is irrigated (0–100%) |
pumping_depth | {value, unit} | No | Vertical depth from which water is pumped. Required for the volume+depth+distance method. |
horizontal_pumping_distance | {value, unit} | No | Horizontal distance over which water is pumped to the nozzle. Required for the volume+depth+distance method. |
total_water_added_depth | {value, unit} | No | Total water applied expressed as depth (mm or inches) |
total_water_added_volume | {value, unit} | No | Total water applied expressed as volume |
Provide either
total_water_added_depthortotal_water_added_volume(not both). If pumping depth and horizontal distance are also provided, the model uses these to refine the energy estimate.
Allowed irrigation_system_type values:
| Value | Description |
|---|---|
"centre_pivot" | Centre pivot |
"drip_irrigation" | Drip irrigation |
"flooding" | Flooding |
"rain_gun_sprinkler" | Rain gun / sprinkler |
Allowed water_source values:
| Value | Description |
|---|---|
"borehole_well" | Borehole / well |
"main_supply" | Main water supply |
"natural_lake_pond" | Natural lake or pond |
"on_farm_storage_pond_reservoir_tank" | On-farm storage pond, reservoir, or tank |
"reservoir" | Reservoir |
"river_stream_ditch" | River, stream, or ditch |
Allowed power_source values:
| Value | Description |
|---|---|
"diesel_100_mineral" | Diesel (100% mineral diesel) |
"diesel_average_biofuel_blend" | Diesel (average biofuel blend) |
"electric" | Electric |
"gravity" | Gravity-fed (no energy input) |
Allowed unit values for water depth: "mm" (metric default), "in" (imperial default)
Allowed unit values for pumping distances: "m" (metric default), "ft" (imperial default); also accepts "mm", "cm", "km", "in", "mi"
Allowed unit values for water volume: "litres" (metric default), "cubic metres", "acre inches" (imperial default)
Transport
Array. Each entry represents one transport leg. Use this section to capture fuel and energy from transport when actual consumption data is unavailable. If you have measured fuel data, enter it in Fuel & Energy and avoid double-counting.
Multiple journeys with the same vehicle and distance can be combined into a single entry. For example, five trips delivering 2 tonnes of fertiliser over 20 km by HGV can be entered as one entry: HGV, 10 tonnes, 20 km.
| Field | Type | Required | Description |
|---|---|---|---|
id | integer | No | Include when updating an existing entry |
transport_type | string | Yes | Vehicle or vessel type. See allowed values below. |
transport_boundary | string | Yes | Whether the transport is incoming to the farm, within farm operations, or dispatched from the farm. |
transport_label | string | No | Optional free-text label for this transport leg |
transport_weight | {value, unit} | Yes | Weight of goods transported |
transport_distance | {value, unit} | Yes | Distance travelled |
Allowed transport_type values:
| Value | Description |
|---|---|
"ship_large_container_vessel_2000_plus_teu" | Ship — large container vessel (2,000+ TEU) |
"ship_small_container_vessel_0_1999_teu" | Ship — small container vessel (0–1,999 TEU) |
"ship_very_large_bulk_carrier_70000t" | Ship — very large bulk carrier (~70,000t) |
"ship_large_bulk_carrier_15000t" | Ship — large bulk carrier (~15,000t) |
"ship_small_bulk_carrier_2000t" | Ship — small bulk carrier (~2,000t) |
"ship_very_large_tanker_60000t" | Ship — very large tanker (>60,000t) |
"ship_large_tanker_20000t" | Ship — large tanker (~20,000t) |
"ship_small_tanker_1000t" | Ship — small tanker (~1,000t) |
"air_long_haul_3700km" | Air — long haul (>3,700 km) |
"air_short_haul_800_3700km" | Air — short haul (800–3,700 km) |
"air_very_short_haul_800km" | Air — very short haul (<800 km) |
"rail" | Rail |
"road_lgv_cng_lpg_3_5t" | Road — LGV CNG/LPG (<3.5t) |
"road_lgv_petrol_light_goods_vehicle_3_5t" | Road — LGV petrol (<3.5t) |
"road_lgv_diesel_light_goods_vehicle_3_5t" | Road — LGV diesel (<3.5t) |
"road_hgv_average_heavy_goods_vehicle" | Road — HGV (average heavy goods vehicle) |
"car_diesel" | Car — diesel |
"car_petrol" | Car — petrol |
"motorbike" | Motorbike |
Allowed transport_boundary values:
| Value | Description |
|---|---|
"incoming_to_farm_for_on_farm_use" | Incoming to farm for on-farm use |
"within_farm_operations" | Within farm operations |
"dispatched_from_farm" | Dispatched from farm |
Allowed weight unit values: "tonnes" (metric default), "kg", "tons short" (imperial default), "tons long", "lb"
Allowed distance unit values: "km" (metric default), "mi" (imperial default)
Machinery Operations
Single structured object. Estimates diesel and biodiesel consumption from farm machinery when actual fuel data is unavailable. Use this as a fallback only — actual fuel data entered in Fuel & Energy is always preferable.
{
"machinery_operations": true,
"soil_type": "medium",
"list_of_machines": [
{
"machine_type": "moldboard_plough",
"fuel_type": "diesel_100_percent_mineral_diesel",
"number_of_operations": 1,
"machinery_operations_label": "Primary tillage"
}
]
}| Field | Type | Required | Description |
|---|---|---|---|
machinery_operations | boolean | Yes | Set to true if machinery was used; null if not |
soil_type | string | Yes | Soil texture class used in machinery fuel calculations. See allowed values below. |
list_of_machines | array | Yes | List of individual machine entries (max 25) |
list_of_machines[].id | integer | No | Include when updating an existing machine entry |
list_of_machines[].machine_type | string | Yes | Machine type key. See allowed values below. |
list_of_machines[].fuel_type | string | Yes | Fuel type used by the machine. See allowed values below. |
list_of_machines[].number_of_operations | number | Yes | Number of passes or operations. For balers, enter number of bales/ha × number of operations. |
list_of_machines[].machinery_operations_label | string | No | Optional free-text label for this operation |
Allowed soil_type values:
| Value | Description |
|---|---|
"fine" | Fine-textured: sandy clay, silty clay, and clay |
"medium" | Medium-textured: sandy clay loam, clay loam, and silty clay loam |
"coarse" | Coarse-textured: sand, loamy sand, sandy loam, loam, silt loam, silt |
Allowed fuel_type values:
| Value | Description |
|---|---|
"diesel_average_biofuel_blend" | Diesel (average biofuel blend) |
"diesel_100_percent_mineral_diesel" | Diesel (100% mineral diesel) |
"biodiesel_me" | Biodiesel ME (FAME) |
"biodiesel_hvo" | Biodiesel HVO (renewable diesel) |
Allowed machine_type values (partial list of common types):
| Value | Display Name |
|---|---|
"baler" | Baler |
"chisel_plough" | Chisel plough |
"combine" | Combine harvester |
"corn_combine" | Corn combine |
"disc_harrow" | Disc harrow |
"fertiliser_spreading" | Fertiliser spreading |
"forage_harvester" | Forage harvester |
"grain_drill" | Grain drill |
"grain_drill_notill" | Grain drill (no-till) |
"herbicide_spraying" | Herbicide spraying |
"manure_spreader" | Manure spreader |
"moldboard_plough" | Moldboard plough |
"mower_conditioner" | Mower-conditioner |
"roller_harrow" | Roller harrow |
"subsoiler" | Subsoiler |
"tomato_harvester" | Tomato harvester |
"vacuum_tanker" | Vacuum tanker |
"beet_harvester" | Beet harvester |
"potato_harvester" | Potato harvester |
"row_crop_planter" | Row crop planter |
The full list of machine type keys is available in the platform's choice dictionary. If the exact machine is not listed, select the closest available option.
Soil Carbon Changes
Single entry object. Models carbon stored in or released from soil due to changes in land use or management practices. Two modelling approaches are available depending on the land history.
| Field | Type | Required | Description |
|---|---|---|---|
relevant_land_use_history | string | No | Free-text description of land use history relevant to this assessment |
soil_classification | string | Yes | IPCC soil classification type. See allowed values below. |
land_use_changes | array | No | List of land use change events (max 4). See sub-fields below. |
Allowed soil_classification values:
| Value | Display Name | Notes |
|---|---|---|
"sandy_soils" | Sandy soils | |
"low_activity_clay" | Low activity clay | |
"high_activity_clay" | High activity clay | Recommended default if soil classification is unknown |
"volcanic_soils" | Volcanic soils | |
"wetland_soils" | Wetland soils | |
"spodic_soils" | Spodic soils |
Land Use Change Entry
| Field | Type | Required | Description |
|---|---|---|---|
year_of_change | string | Yes | Year in which the land use change occurred |
percentage_of_field_change_applies_to | {value, unit} | Yes | Proportion of the field area affected by this change (0–100%) |
previous_land_state_type | string | Yes | Previous land use category. See allowed values below. |
previous_land_use | string | No | Specific previous land use (for non-grassland states) |
previous_carbon_inputs | string | No | Carbon input level of the previous land state |
previous_tillage | string | No | Tillage practice used in the previous land state |
new_land_state_type | string | Yes | New land use category after the change |
new_land_use | string | No | Specific new land use (for non-grassland states) |
new_carbon_inputs | string | No | Carbon input level of the new land state |
new_tillage | string | No | Tillage practice used in the new land state |
Allowed land use values (for non-grassland states):
| Value | Description |
|---|---|
"set-aside" | Temporarily set-aside cropland revegetated with perennial grasses |
"cultivated" | Continuously managed cropland converted from native conditions |
"paddy" | Long-term (>20 year) annual cropping of flooded wetlands (paddy rice) |
"perennial" | Long-term perennial tree crops such as fruit, nut trees, coffee, cacao |
"native" | Non-degraded unimproved land under native vegetation (forest or grassland) |
Allowed carbon_inputs values:
| Value | Description |
|---|---|
"low" | Residues removed or burned; low-yield crops; no fertilization |
"medium" | Cereals with residue returned, or cover crops for >6 months — but not both |
"high_without_manure" | High residue inputs with cover crops >6 months, ley system within 3 years — no manure |
"high_with_manure" | Same as above plus regular addition of animal manure at least once every 3 years |
Allowed tillage values:
| Value | Description |
|---|---|
"no-till" | Direct seeding without primary tillage; minimal soil disturbance; herbicides typically used for weed control |
"reduced" | Shallow, reduced-disturbance tillage without full inversion; >30% of surface covered by residues at planting |
"full" | Substantial soil disturbance with full inversion; <30% residue cover at planting |
Non-Crop Biomass — Estimated
Single entry object. Records intercrops, shade trees, and hedges planted within the last 20 years. Uses a Tier 1 method to estimate carbon captured by these plants. Do not double-count with the Non-Crop Biomass — Measured section.
This section can only be updated while the assessment
statusis"draft". Attempting to update it after submission returns a validation error.
{
"intercrops": [
{
"intercrop_type": "avocado",
"intercrop_percentage_occupied": { "value": 20, "unit": "%" },
"intercrop_planting_density": { "value": 5000, "unit": "plants/ha" }
}
],
"shade_trees": [
{
"shade_tree_type": "tropical_shade_trees_in_wet_areas_canopy_trees",
"shade_tree_percentage_occupied": { "value": 10, "unit": "%" },
"shade_tree_planting_density": { "value": 50, "unit": "trees/ha" }
}
],
"hedges": [
{
"hedge_type": "species_mix",
"hedge_width": { "value": 2, "unit": "m" },
"hedge_length": { "value": 150, "unit": "m" }
}
]
}| System Key | Type | Required | Description |
|---|---|---|---|
intercrops | array [object] | No | Collection of secondary crop varieties planted alongside primary crops. See Intercrops Schema. |
shade_trees | array [object] | No | Permanent canopy tree elements designed for crop shade. See Shade Trees Schema. |
hedges | array [object] | No | Perimeter boundaries, windbreaks, or vegetative buffer corridors. See Hedges Schema. |
Detailed Component Schemas
1. Intercrops Schema
| Field | Type | Required | Description |
|---|---|---|---|
intercrop_type | string | No | allowed intercrop type |
intercrop_percentage_occupied | {value, unit} | No | Total percentage of surface space occupied. Maps to Measurement Layout. |
intercrop_planting_density | {value, unit} | No | Relative distribution density. Maps to Measurement Layout. |
2. Shade Trees Schema
| Field | Type | Required | Description |
|---|---|---|---|
shade_tree_type | string | No | Shade canopy selection type classification. |
shade_tree_percentage_occupied | {value, unit} | No | Percentage of assessment area shaded. Maps to Measurement Layout. |
shade_tree_planting_density | {value, unit} | No | Permanent tree stock planting counts. Maps to Measurement Layout. |
3. Hedges Schema
| Field | Type | Required | Description |
|---|---|---|---|
hedge_type | string | No | Selected barrier vegetation configuration hedge category. |
hedge_width | {value, unit} | No | Average cross-sectional thickness. Maps to Measurement Layout. |
hedge_length | {value, unit} | No | Linear coverage along boundaries. Maps to Measurement Layout. |
Common Measurement Layout
Every metric property defined within the lists above relies on this shared generic dictionary layout:
| Field | Type | Required | Description |
|---|---|---|---|
value | string | No | Quantitative numeric value string representation. |
unit | string | No | Metric context text notation (e.g., "percent", "meters", "plants/ha"). |
Allowed intercrop_type values:
intercrop_type values:| Value | Display Name |
|---|---|
"avocado" | Avocado |
"cashew" | Cashew |
"jackfruit" | Jackfruit |
"rubber" | Rubber |
"durian" | Durian |
Allowed shade_tree_type values:
shade_tree_type values:| Value | Display Name |
|---|---|
"tropical_shade_trees_in_wet_areas_canopy_trees" | Tropical shade trees in wet areas — canopy trees |
"tropical_shade_trees_in_wet_areas_understory" | Tropical shade trees in wet areas — understory |
"tropical_shade_trees_in_dry_areas" | Tropical shade trees in dry areas |
"temperate_conifers" | Temperate conifers |
"temperate_broadleaf_trees" | Temperate broadleaf trees |
"temperate_shrubs" | Temperate shrubs |
Allowed hedge_type values:
hedge_type values:| Value | Display Name |
|---|---|
"ash" | Ash |
"maple" | Maple |
"oak" | Oak |
"poplar" | Poplar |
"species_mix" | Species mix |
Allowed planting density unit values: "plants/ha", "trees/ha" (metric), "plants/acre", "trees/acre" (imperial)
"plants/ha", "trees/ha" (metric), "plants/acre", "trees/acre" (imperial)Allowed hedge dimension unit values: "m" or "km" (metric), "ft" or "mi" (imperial)
"m" or "km" (metric), "ft" or "mi" (imperial)Non-Crop Biomass — Measured
Array. Each entry records annual biomass changes for trees within or immediately adjacent to the field. Only include biomass that is permanent and additional (trees present for more than 20 years should not be included). Do not double-count across adjacent crop assessments.
| Field | Type | Required | Description |
|---|---|---|---|
id | integer | No | Include when updating an existing entry |
main_tree_type | string | Yes | Species or category of tree. See allowed values below. |
net_number_of_trees_planted_or_removed | integer | Yes | Net change in tree count across the entire field. Positive = net planting; negative = net removal. |
percentage_occupied_previous_year | {value, unit} | Yes | Proportion of the growing area occupied by this species in the previous year (min: 1e-9, max: 100%) |
planting_density_previous_year | {value, unit} | Yes | Number of trees per occupied area in the previous year. Note: density is per occupied area, not per total growing area. |
mean_diameter_at_15cm_above_ground_previous_year | {value, unit} | Yes | Mean trunk diameter measured at 15cm above ground for sample trees in the previous year |
std_dev_previous_year | number | No | Standard deviation of the sample tree measurements in the previous year. Required to obtain uncertainty estimates in results. |
sample_size_previous_year | integer | No | Number of sample trees used to calculate the previous-year mean and standard deviation. Minimum: 1. |
mean_diameter_at_15cm_above_ground_current_year | {value, unit} | Yes | Mean trunk diameter at 15cm above ground for sample trees in the current year |
std_dev_current_year | number | No | Standard deviation of the current-year sample tree measurements |
sample_size_current_year | integer | No | Number of sample trees used to calculate the current-year mean and standard deviation. Minimum: 1. |
Allowed main_tree_type values:
| Value | Display Name |
|---|---|
"coffee_arabica" | Coffee (arabica) |
"shade_cordia_alliodora_juglans_olanchana_inga_tonduzzi_i_punctata" | Shade (Cordia alliodora, Juglans olanchana, Inga tonduzzi, I. punctata) |
"tropical_moist_hardwood" | Tropical Moist Hardwood |
"tropical_wet_hardwood" | Tropical wet hardwood |
"temperate_tropical_pines" | Temperate/tropical pines |
"temperate_us_eastern_hardwood" | Temperate US eastern hardwood |
"palm_chrysophylla_sp" | Palm (Chrysophylla sp) |
"palm_attalea_cohune" | Palm (Attalea cohune) |
"palm_sabal_sp" | Palm (Sabal sp) |
"palm_attalea_phalarata" | Palm (Attalea phalarata) |
"palm_euterpe_precatoria" | Palm (Euterpe precatoria) |
"palm_phenakospermun_guianensis" | Palm (Phenakospermun guianensis) |
Allowed diameter measurement unit values: "m" (metric default), "cm", "ft" (imperial default), "in"
Forestry / Re-deforestation
Single-entry object. Records any deforestation or reforestation of native forest within the growing area during the past 20 years. The model returns zero emissions or removals for events older than 20 years. Toggle between the two modes using.reforestation_or_deforestation.
This is a Tier 1 model and should not be used for formally reporting carbon removals.
Example Payload: Deforestation Tracked
{
"reforestation_or_deforestation": "deforestation",
"reforestation": null,
"deforestation": {
"forest_type": "boreal_mountain_systems",
"years_since_forestry_event": 1,
"age_of_forest_removed": 12,
"area_affected_by_change_in_forestry": {
"value": 1,
"unit": "hectares"
}
}
}Main Object Structure
| Field | Type | Required | Description |
|---|---|---|---|
reforestation_or_deforestation | string | Yes | Toggle value: "reforestation" or "deforestation". |
reforestation | object | null | No | Reforestation tracking data. Object Scheams |
deforestation | object | null | No | Deforestation tracking data. Object Schemas |
Nested Object Schemas
Reforestation
| Field | Type | Required | Description |
|---|---|---|---|
forest_type | string | Yes | Category of forest involved. See allowed forest types below. |
years_since_forestry_event | integer | Yes | Number of years between the forestry event and the current assessment year. Range: 1 to 20. |
area_affected_by_change_in_forestry | object | Yes | Nested object containing {value, unit}. |
Deforestation
| Field | Type | Required | Description |
|---|---|---|---|
forest_type | string | Yes | Category of forest involved. See allowed forest types below. |
years_since_forestry_event | integer | Yes | Number of years between the forestry event and the current assessment year. Range: 1 to 20. |
age_of_forest_removed | integer | Yes | Age of the forest at the time it was cleared. Minimum: 0. |
area_affected_by_change_in_forestry | {value, unit} | Yes | Nested object containing.{value, unit}. |
Sub-Nested area_affected_by_change_in_forestry Structure
area_affected_by_change_in_forestry Structure| Field | Type | Required | Description |
|---|---|---|---|
value | number | Yes | Numerical size of the land area. |
unit | string | Yes | Measurement unit options: "hectares" (metric default) or "acres" (imperial default). |
Allowed forest_type values:
forest_type values:| Value | Display Name |
|---|---|
"boreal_coniferous_forest" | Boreal coniferous forest |
"boreal_mountain_systems" | Boreal mountain systems |
"boreal_tundra_woodland" | Boreal tundra woodland |
"subtropical_dry_forest" | Subtropical dry forest |
"subtropical_humid_forest" | Subtropical humid forest |
"subtropical_mountain_systems" | Subtropical mountain systems |
"subtropical_steppe" | Subtropical steppe |
"temperate_continental_forest" | Temperate continental forest |
"temperate_mountain_systems" | Temperate mountain systems |
"temperate_oceanic_forest" | Temperate oceanic forest |
"tropical_dry_forest" | Tropical dry forest |
"tropical_moist_deciduous_forest" | Tropical moist deciduous forest |
"tropical_mountain_systems" | Tropical mountain systems |
"tropical_rainforest" | Tropical rainforest |
"tropical_shrubland" | Tropical shrubland |
Allowed affected_area unit values: "hectares" (metric default), "acres" (imperial default)
Assessment Field Choices
Climate Region Values
Use the key string (left column) as the value for climate_region.
| Key | Display Name |
|---|---|
"tropical_montane" | Tropical Montane |
"tropical_wet" | Tropical Wet |
"tropical_moist" | Tropical Moist |
"tropical_dry" | Tropical Dry |
"warm_temperate_moist" | Warm Temperate Moist |
"warm_temperate_dry" | Warm Temperate Dry |
"cool_temperate_moist" | Cool Temperate Moist |
"cool_temperate_dry" | Cool Temperate Dry |
"boreal_moist" | Boreal Moist |
"boreal_dry" | Boreal Dry |
Submitted Data Quality Values
Use the key string (left column) as the value for submitted_data_quality.
| Key | Display Name |
|---|---|
"all_actual_data" | All actual data |
"all_estimated_data" | All estimated data |
"mix_of_actual_and_estimated_data" | Mix of actual and estimated data |
Farm Country Values
Use the key string (left column) as the value for farm_country.
| Key | Display Name |
|---|---|
"afghanistan" | Afghanistan |
"aland_islands" | Aland Islands |
"albania" | Albania |
"algeria" | Algeria |
"american_samoa" | American Samoa |
"andorra" | Andorra |
"angola" | Angola |
"anguilla" | Anguilla |
"antigua_and_barbuda" | Antigua and Barbuda |
"argentina" | Argentina |
"armenia" | Armenia |
"aruba" | Aruba |
"australia" | Australia |
"austria" | Austria |
"azerbaijan" | Azerbaijan |
"bahamas" | Bahamas |
"bahrain" | Bahrain |
"bangladesh" | Bangladesh |
"barbados" | Barbados |
"belarus" | Belarus |
"belgium" | Belgium |
"belize" | Belize |
"benin" | Benin |
"bermuda" | Bermuda |
"bhutan" | Bhutan |
"bolivia_plurinational_state_of" | Bolivia (Plurinational State of) |
"bonaire_sint_eustatius_and_saba" | Bonaire, Sint Eustatius and Saba |
"bosnia_and_herzegovina" | Bosnia and Herzegovina |
"botswana" | Botswana |
"bouvet_island" | Bouvet Island |
"brazil" | Brazil |
"british_indian_ocean_territory" | British Indian Ocean Territory |
"british_virgin_islands" | British Virgin Islands |
"brunei_darussalam" | Brunei Darussalam |
"bulgaria" | Bulgaria |
"burkina_faso" | Burkina Faso |
"burundi" | Burundi |
"cabo_verde" | Cabo Verde |
"cambodia" | Cambodia |
"cameroon" | Cameroon |
"canada" | Canada |
"cayman_islands" | Cayman Islands |
"central_african_republic" | Central African Republic |
"chad" | Chad |
"chile" | Chile |
"china" | China |
"china_hong_kong_special_administrative_region" | China, Hong Kong Special Administrative Region |
"china_macao_special_administrative_region" | China, Macao Special Administrative Region |
"christmas_island" | Christmas Island |
"cocos_keeling_islands" | Cocos (Keeling) Islands |
"colombia" | Colombia |
"comoros" | Comoros |
"congo" | Congo |
"cook_islands" | Cook Islands |
"costa_rica" | Costa Rica |
"cote_d_ivoire" | Cote d'Ivoire |
"croatia" | Croatia |
"cuba" | Cuba |
"curacao" | Curacao |
"cyprus" | Cyprus |
"czechia" | Czechia |
"democratic_people_s_republic_of_korea" | Democratic People's Republic of Korea |
"democratic_republic_of_the_congo" | Democratic Republic of the Congo |
"denmark" | Denmark |
"djibouti" | Djibouti |
"dominica" | Dominica |
"dominican_republic" | Dominican Republic |
"ecuador" | Ecuador |
"egypt" | Egypt |
"el_salvador" | El Salvador |
"equatorial_guinea" | Equatorial Guinea |
"eritrea" | Eritrea |
"estonia" | Estonia |
"eswatini" | Eswatini |
"ethiopia" | Ethiopia |
"falkland_islands_malvinas" | Falkland Islands (Malvinas) |
"faroe_islands" | Faroe Islands |
"fiji" | Fiji |
"finland" | Finland |
"france" | France |
"french_guiana" | French Guiana |
"french_polynesia" | French Polynesia |
"french_southern_territories" | French Southern Territories |
"gabon" | Gabon |
"gambia" | Gambia |
"georgia" | Georgia |
"germany" | Germany |
"ghana" | Ghana |
"gibraltar" | Gibraltar |
"greece" | Greece |
"greenland" | Greenland |
"grenada" | Grenada |
"guadeloupe" | Guadeloupe |
"guam" | Guam |
"guatemala" | Guatemala |
"guernsey" | Guernsey |
"guinea" | Guinea |
"guinea_bissau" | Guinea-Bissau |
"guyana" | Guyana |
"haiti" | Haiti |
"heard_island_and_mcdonald_islands" | Heard Island and McDonald Islands |
"holy_see" | Holy See |
"honduras" | Honduras |
"hungary" | Hungary |
"iceland" | Iceland |
"india" | India |
"indonesia" | Indonesia |
"iran_islamic_republic_of" | Iran (Islamic Republic of) |
"iraq" | Iraq |
"ireland" | Ireland |
"isle_of_man" | Isle of Man |
"israel" | Israel |
"italy" | Italy |
"jamaica" | Jamaica |
"japan" | Japan |
"jersey" | Jersey |
"jordan" | Jordan |
"kazakhstan" | Kazakhstan |
"kenya" | Kenya |
"kiribati" | Kiribati |
"kuwait" | Kuwait |
"kyrgyzstan" | Kyrgyzstan |
"lao_people_s_democratic_republic" | Lao People's Democratic Republic |
"latvia" | Latvia |
"lebanon" | Lebanon |
"lesotho" | Lesotho |
"liberia" | Liberia |
"libya" | Libya |
"liechtenstein" | Liechtenstein |
"lithuania" | Lithuania |
"luxembourg" | Luxembourg |
"madagascar" | Madagascar |
"malawi" | Malawi |
"malaysia" | Malaysia |
"maldives" | Maldives |
"mali" | Mali |
"malta" | Malta |
"marshall_islands" | Marshall Islands |
"martinique" | Martinique |
"mauritania" | Mauritania |
"mauritius" | Mauritius |
"mayotte" | Mayotte |
"mexico" | Mexico |
"micronesia_federated_states_of" | Micronesia (Federated States of) |
"monaco" | Monaco |
"mongolia" | Mongolia |
"montenegro" | Montenegro |
"montserrat" | Montserrat |
"morocco" | Morocco |
"mozambique" | Mozambique |
"myanmar" | Myanmar |
"namibia" | Namibia |
"nauru" | Nauru |
"nepal" | Nepal |
"netherlands_kingdom_of_the" | Netherlands (Kingdom of the) |
"new_caledonia" | New Caledonia |
"new_zealand" | New Zealand |
"nicaragua" | Nicaragua |
"niger" | Niger |
"nigeria" | Nigeria |
"niue" | Niue |
"norfolk_island" | Norfolk Island |
"north_macedonia" | North Macedonia |
"northern_mariana_islands" | Northern Mariana Islands |
"norway" | Norway |
"oman" | Oman |
"pakistan" | Pakistan |
"palau" | Palau |
"palestine" | Palestine |
"panama" | Panama |
"papua_new_guinea" | Papua New Guinea |
"paraguay" | Paraguay |
"peru" | Peru |
"philippines" | Philippines |
"pitcairn" | Pitcairn |
"poland" | Poland |
"portugal" | Portugal |
"puerto_rico" | Puerto Rico |
"qatar" | Qatar |
"republic_of_korea" | Republic of Korea |
"republic_of_moldova" | Republic of Moldova |
"reunion" | Reunion |
"romania" | Romania |
"russian_federation" | Russian Federation |
"rwanda" | Rwanda |
"saint_barthelemy" | Saint Barthelemy |
"saint_helena" | Saint Helena |
"saint_kitts_and_nevis" | Saint Kitts and Nevis |
"saint_lucia" | Saint Lucia |
"saint_martin_french_part" | Saint Martin (French Part) |
"saint_pierre_and_miquelon" | Saint Pierre and Miquelon |
"saint_vincent_and_the_grenadines" | Saint Vincent and the Grenadines |
"samoa" | Samoa |
"san_marino" | San Marino |
"sao_tome_and_principe" | Sao Tome and Principe |
"saudi_arabia" | Saudi Arabia |
"senegal" | Senegal |
"serbia" | Serbia |
"seychelles" | Seychelles |
"sierra_leone" | Sierra Leone |
"singapore" | Singapore |
"sint_maarten_dutch_part" | Sint Maarten (Dutch part) |
"slovakia" | Slovakia |
"slovenia" | Slovenia |
"solomon_islands" | Solomon Islands |
"somalia" | Somalia |
"south_africa" | South Africa |
"south_georgia_and_the_south_sandwich_islands" | South Georgia and the South Sandwich Islands |
"south_sudan" | South Sudan |
"spain" | Spain |
"sri_lanka" | Sri Lanka |
"state_of_palestine" | State of Palestine |
"sudan" | Sudan |
"suriname" | Suriname |
"svalbard_and_jan_mayen_islands" | Svalbard and Jan Mayen Islands |
"sweden" | Sweden |
"switzerland" | Switzerland |
"syrian_arab_republic" | Syrian Arab Republic |
"tajikistan" | Tajikistan |
"thailand" | Thailand |
"timor_leste" | Timor-Leste |
"togo" | Togo |
"tokelau" | Tokelau |
"tonga" | Tonga |
"trinidad_and_tobago" | Trinidad and Tobago |
"tunisia" | Tunisia |
"turkiye" | Turkiye |
"turkmenistan" | Turkmenistan |
"turks_and_caicos_islands" | Turks and Caicos Islands |
"tuvalu" | Tuvalu |
"uganda" | Uganda |
"ukraine" | Ukraine |
"united_arab_emirates" | United Arab Emirates |
"united_kingdom_of_great_britain_and_northern_ireland" | United Kingdom of Great Britain and Northern Ireland |
"united_republic_of_tanzania" | United Republic of Tanzania |
"united_states_minor_outlying_islands" | United States Minor Outlying Islands |
"united_states_of_america" | United States of America |
"united_states_virgin_islands" | United States Virgin Islands |
"uruguay" | Uruguay |
"uzbekistan" | Uzbekistan |
"vanuatu" | Vanuatu |
"venezuela_bolivarian_republic_of" | Venezuela (Bolivarian Republic of) |
"viet_nam" | Viet Nam |
"wallis_and_futuna_islands" | Wallis and Futuna Islands |
"western_sahara" | Western Sahara |
"yemen" | Yemen |
"zambia" | Zambia |
"zimbabwe" | Zimbabwe |
Status
| Value | Description |
|---|---|
draft | Assessment is in progress and can be freely edited |
submitted | Assessment has been finalised. Some sections become locked |
Error Reference
| Status | Description |
|---|---|
400 | Bad request — malformed JSON or invalid type format |
401 | Unauthorized — API key missing or invalid |
403 | Forbidden — the resource does not belong to your company |
404 | Not found — assessment or resource ID does not exist |
422 | Validation error — required field missing or business rule violated |
Example — resource not found
{
"resource_id": "The specified farm does not exist."
}Example — cross-company access attempt
{
"resource_id": "You do not have permission to create an assessment for this farm."
}Example — biomass locked after submission
{
"non_field_errors": "Cannot update biomass in a finalized assessment."
}