Chloris Geospatial · Schema
reportingUnitEntry
A reporting unit entry
CompanyGeospatialCarbonDataEnvironmental
Properties
| Name | Type | Description |
|---|---|---|
| organizationId | string | organization ID |
| reportingUnitId | string | reporting unit uuid7 |
| branchId | string | If the entry is an aggregate branch (i.e. a tag), this is the branch ID |
| controlReportingUnitId | string | The reporting unit ID of the control site |
| controlForReportingUnitId | string | The reporting unit ID of the site this is a control for |
| tags | array | A list of tags associated with the reporting unit. Acts as a key way to organize and aggregate reporting units. |
| label | string | The label / name of the reporting unit. |
| description | string | A description of the reporting unit. |
| createdAt | string | When the entry was created (ISO8601) |
| updatedAt | string | When the entry was last updated (ISO8601) |
| analysisSubmittedAt | string | When the entry was submitted for processing (ISO8601) |
| analysisCompletedAt | string | When the entry analysis was lasy updated (ISO8601) |
| qualityControlledAt | string | When the entry was QC approved, without this the analysis is considered preliminary and should not be used (ISO8601) |
| deletedAt | string | When the entry was archived (ISO8601) |
| refundedAt | string | When the entry's usage was refunded (ISO8601) |
| usersNotifiedAt | string | When the users were notified the site is ready, only happens once (ISO8601) |
| webhookNotifiedAt | string | When the registered webhook was notified successfully last. Can be used to recover from dropped webhook events. (ISO8601) |
| periodChangeStartYear | integer | The start of the period of interest |
| periodChangeEndYear | integer | The end of the period of interest (inclusive) |
| boundaryPath | string | The path to the geojson boundary for this site |
| hidden | boolean | Whether the entry is hidden by default in the frontend and excluded from aggregation stats. Useful for control sites. |
| controlReportingUnit | object | |
| areaKm2 | number | The vector area of the reporting unit in square kilometers. |
| analyzedAreaKm2 | number | The raster area of the reporting unit in square kilometers to be used when computing densities. |
| pointX | number | The representative circle X (long) coord, guaranteed to intersect the boundary |
| pointY | number | The representative circle Y (lat) coord, guaranteed to intersect the boundary |
| pointR | number | The representative circle R coord, such that the circle fully contains the boundary |
| srcOrganizationId | string | The organization ID of the source organization for this reporting unit, used only if it was copied between environments / organizations. |
| dataPath | string | The path to the data files for this reporting unit, used only if it was copied between environments / organizations. |
| periodChangeStartYearStock | number | The stock value for the start of the period of interest |
| periodChangeStartYearStockError | number | The stock error for the start of the period of interest |
| periodChangeEndYearStock | number | The stock value for the end of the period of interest |
| periodChangeEndYearStockError | number | The stock error for the end of the period of interest |
| periodChange | number | The change in stock over the period of interest |
| periodChangeError | number | The error in the change in stock over the period of interest |
| periodChangePercent | number | The percent change in stock over the period of interest compared to the start. |
| periodChangeGain | number | The gain in stock over the period of interest |
| periodChangeGainError | number | The error in the gain in stock over the period of interest |
| periodChangeLoss | number | The loss in stock over the period of interest |
| periodChangeLossError | number | The error in the loss in stock over the period of interest |
| dryrun | boolean | Whether the entry was created as a dryrun, prevents it from being processed and marks it as deletedAt 3 hours in the future. |
| createdAsDryrun | boolean | Present (true) on entries created with dryrun=true, and kept after such an entry is restored or approved and becomes a regular entry. Absent on entries created without dryrun. Whether an entry is a dr |
| calibratedTo | string | The reporting unit ID of the site this is calibrated to. |
| calibratedFrom | string | The reporting unit ID of the site this is calibrated from. |
| mangrove | boolean | Whether or not the reporting unit is a mangrove site. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/chloris-geospatial/main/json-schema/chloris-geospatial-reporting-unit-entry-schema.json",
"title": "reportingUnitEntry",
"description": "A reporting unit entry",
"x-generated": "2026-10-08",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/chloris-geospatial-openapi.yml#/components/schemas/reportingUnitEntry",
"properties": {
"organizationId": {
"type": "string",
"description": "organization ID"
},
"reportingUnitId": {
"type": "string",
"description": "reporting unit uuid7"
},
"branchId": {
"type": "string",
"description": "If the entry is an aggregate branch (i.e. a tag), this is the branch ID"
},
"controlReportingUnitId": {
"type": "string",
"description": "The reporting unit ID of the control site"
},
"controlForReportingUnitId": {
"type": "string",
"description": "The reporting unit ID of the site this is a control for"
},
"tags": {
"description": "A list of tags associated with the reporting unit. Acts as a key way to organize and aggregate reporting units.",
"type": "array",
"items": {
"type": "string",
"description": "A tag associated with the reporting unit, must be URL-safe.",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9:+.\\-_ ]+$"
}
},
"label": {
"type": "string",
"description": "The label / name of the reporting unit."
},
"description": {
"type": "string",
"description": "A description of the reporting unit."
},
"createdAt": {
"type": "string",
"description": "When the entry was created (ISO8601)"
},
"updatedAt": {
"type": "string",
"description": "When the entry was last updated (ISO8601)"
},
"analysisSubmittedAt": {
"type": "string",
"description": "When the entry was submitted for processing (ISO8601)"
},
"analysisCompletedAt": {
"type": "string",
"description": "When the entry analysis was lasy updated (ISO8601)"
},
"qualityControlledAt": {
"type": "string",
"description": "When the entry was QC approved, without this the analysis is considered preliminary and should not be used (ISO8601)"
},
"deletedAt": {
"type": "string",
"description": "When the entry was archived (ISO8601)"
},
"refundedAt": {
"type": "string",
"description": "When the entry's usage was refunded (ISO8601)"
},
"usersNotifiedAt": {
"type": "string",
"description": "When the users were notified the site is ready, only happens once (ISO8601)"
},
"webhookNotifiedAt": {
"type": "string",
"description": "When the registered webhook was notified successfully last. Can be used to recover from dropped webhook events. (ISO8601)"
},
"periodChangeStartYear": {
"type": "integer",
"description": "The start of the period of interest"
},
"periodChangeEndYear": {
"type": "integer",
"description": "The end of the period of interest (inclusive)"
},
"boundaryPath": {
"type": "string",
"description": "The path to the geojson boundary for this site"
},
"hidden": {
"type": "boolean",
"description": "Whether the entry is hidden by default in the frontend and excluded from aggregation stats. Useful for control sites."
},
"controlReportingUnit": {
"$ref": "#/$defs/reportingUnitEntry"
},
"areaKm2": {
"type": "number",
"description": "The vector area of the reporting unit in square kilometers."
},
"analyzedAreaKm2": {
"type": "number",
"description": "The raster area of the reporting unit in square kilometers to be used when computing densities."
},
"pointX": {
"type": "number",
"description": "The representative circle X (long) coord, guaranteed to intersect the boundary"
},
"pointY": {
"type": "number",
"description": "The representative circle Y (lat) coord, guaranteed to intersect the boundary"
},
"pointR": {
"type": "number",
"description": "The representative circle R coord, such that the circle fully contains the boundary"
},
"srcOrganizationId": {
"type": "string",
"description": "The organization ID of the source organization for this reporting unit, used only if it was copied between environments / organizations."
},
"dataPath": {
"type": "string",
"description": "The path to the data files for this reporting unit, used only if it was copied between environments / organizations."
},
"periodChangeStartYearStock": {
"type": "number",
"description": "The stock value for the start of the period of interest"
},
"periodChangeStartYearStockError": {
"type": "number",
"description": "The stock error for the start of the period of interest"
},
"periodChangeEndYearStock": {
"type": "number",
"description": "The stock value for the end of the period of interest"
},
"periodChangeEndYearStockError": {
"type": "number",
"description": "The stock error for the end of the period of interest"
},
"periodChange": {
"type": "number",
"description": "The change in stock over the period of interest"
},
"periodChangeError": {
"type": "number",
"description": "The error in the change in stock over the period of interest"
},
"periodChangePercent": {
"type": "number",
"description": "The percent change in stock over the period of interest compared to the start."
},
"periodChangeGain": {
"type": "number",
"description": "The gain in stock over the period of interest"
},
"periodChangeGainError": {
"type": "number",
"description": "The error in the gain in stock over the period of interest"
},
"periodChangeLoss": {
"type": "number",
"description": "The loss in stock over the period of interest"
},
"periodChangeLossError": {
"type": "number",
"description": "The error in the loss in stock over the period of interest"
},
"dryrun": {
"type": "boolean",
"description": "Whether the entry was created as a dryrun, prevents it from being processed and marks it as deletedAt 3 hours in the future."
},
"createdAsDryrun": {
"type": "boolean",
"description": "Present (true) on entries created with dryrun=true, and kept after such an entry is restored or approved and becomes a regular entry. Absent on entries created without dryrun. Whether an entry is a dryrun now is given by analysisStatus and expiresAt."
},
"calibratedTo": {
"type": "string",
"description": "The reporting unit ID of the site this is calibrated to."
},
"calibratedFrom": {
"type": "string",
"description": "The reporting unit ID of the site this is calibrated from."
},
"mangrove": {
"type": "boolean",
"description": "Whether or not the reporting unit is a mangrove site."
}
},
"$defs": {
"reportingUnitEntry": {
"description": "A reporting unit entry",
"properties": {
"organizationId": {
"type": "string",
"description": "organization ID"
},
"reportingUnitId": {
"type": "string",
"description": "reporting unit uuid7"
},
"branchId": {
"type": "string",
"description": "If the entry is an aggregate branch (i.e. a tag), this is the branch ID"
},
"controlReportingUnitId": {
"type": "string",
"description": "The reporting unit ID of the control site"
},
"controlForReportingUnitId": {
"type": "string",
"description": "The reporting unit ID of the site this is a control for"
},
"tags": {
"description": "A list of tags associated with the reporting unit. Acts as a key way to organize and aggregate reporting units.",
"type": "array",
"items": {
"type": "string",
"description": "A tag associated with the reporting unit, must be URL-safe.",
"minLength": 1,
"maxLength": 255,
"pattern": "^[a-zA-Z0-9:+.\\-_ ]+$"
}
},
"label": {
"type": "string",
"description": "The label / name of the reporting unit."
},
"description": {
"type": "string",
"description": "A description of the reporting unit."
},
"createdAt": {
"type": "string",
"description": "When the entry was created (ISO8601)"
},
"updatedAt": {
"type": "string",
"description": "When the entry was last updated (ISO8601)"
},
"analysisSubmittedAt": {
"type": "string",
"description": "When the entry was submitted for processing (ISO8601)"
},
"analysisCompletedAt": {
"type": "string",
"description": "When the entry analysis was lasy updated (ISO8601)"
},
"qualityControlledAt": {
"type": "string",
"description": "When the entry was QC approved, without this the analysis is considered preliminary and should not be used (ISO8601)"
},
"deletedAt": {
"type": "string",
"description": "When the entry was archived (ISO8601)"
},
"refundedAt": {
"type": "string",
"description": "When the entry's usage was refunded (ISO8601)"
},
"usersNotifiedAt": {
"type": "string",
"description": "When the users were notified the site is ready, only happens once (ISO8601)"
},
"webhookNotifiedAt": {
"type": "string",
"description": "When the registered webhook was notified successfully last. Can be used to recover from dropped webhook events. (ISO8601)"
},
"periodChangeStartYear": {
"type": "integer",
"description": "The start of the period of interest"
},
"periodChangeEndYear": {
"type": "integer",
"description": "The end of the period of interest (inclusive)"
},
"boundaryPath": {
"type": "string",
"description": "The path to the geojson boundary for this site"
},
"hidden": {
"type": "boolean",
"description": "Whether the entry is hidden by default in the frontend and excluded from aggregation stats. Useful for control sites."
},
"controlReportingUnit": {
"$ref": "#/$defs/reportingUnitEntry"
},
"areaKm2": {
"type": "number",
"description": "The vector area of the reporting unit in square kilometers."
},
"analyzedAreaKm2": {
"type": "number",
"description": "The raster area of the reporting unit in square kilometers to be used when computing densities."
},
"pointX": {
"type": "number",
"description": "The representative circle X (long) coord, guaranteed to intersect the boundary"
},
"pointY": {
"type": "number",
"description": "The representative circle Y (lat) coord, guaranteed to intersect the boundary"
},
"pointR": {
"type": "number",
"description": "The representative circle R coord, such that the circle fully contains the boundary"
},
"srcOrganizationId": {
"type": "string",
"description": "The organization ID of the source organization for this reporting unit, used only if it was copied between environments / organizations."
},
"dataPath": {
"type": "string",
"description": "The path to the data files for this reporting unit, used only if it was copied between environments / organizations."
},
"periodChangeStartYearStock": {
"type": "number",
"description": "The stock value for the start of the period of interest"
},
"periodChangeStartYearStockError": {
"type": "number",
"description": "The stock error for the start of the period of interest"
},
"periodChangeEndYearStock": {
"type": "number",
"description": "The stock value for the end of the period of interest"
},
"periodChangeEndYearStockError": {
"type": "number",
"description": "The stock error for the end of the period of interest"
},
"periodChange": {
"type": "number",
"description": "The change in stock over the period of interest"
},
"periodChangeError": {
"type": "number",
"description": "The error in the change in stock over the period of interest"
},
"periodChangePercent": {
"type": "number",
"description": "The percent change in stock over the period of interest compared to the start."
},
"periodChangeGain": {
"type": "number",
"description": "The gain in stock over the period of interest"
},
"periodChangeGainError": {
"type": "number",
"description": "The error in the gain in stock over the period of interest"
},
"periodChangeLoss": {
"type": "number",
"description": "The loss in stock over the period of interest"
},
"periodChangeLossError": {
"type": "number",
"description": "The error in the loss in stock over the period of interest"
},
"dryrun": {
"type": "boolean",
"description": "Whether the entry was created as a dryrun, prevents it from being processed and marks it as deletedAt 3 hours in the future."
},
"createdAsDryrun": {
"type": "boolean",
"description": "Present (true) on entries created with dryrun=true, and kept after such an entry is restored or approved and becomes a regular entry. Absent on entries created without dryrun. Whether an entry is a dryrun now is given by analysisStatus and expiresAt."
},
"calibratedTo": {
"type": "string",
"description": "The reporting unit ID of the site this is calibrated to."
},
"calibratedFrom": {
"type": "string",
"description": "The reporting unit ID of the site this is calibrated from."
},
"mangrove": {
"type": "boolean",
"description": "Whether or not the reporting unit is a mangrove site."
}
}
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/chloris-geospatial-reporting-unit-entry"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.