Referencia

Catalogs

The values the rest of the API accepts. Read these first: an invented reportType or statistic gets refused with a message that names the field but not the valid set.

GET/api/v2/catalogs/report-types

The valid reportType values per analysis type, with their id, label and associated statistics.

Response

json
{
  "counting": [
    {
      "id": "3146878f-39c3-44f1-8a95-f2a17170a1d9",
      "key": "NDRE",
      "label": { "en": "NDRE", "es": "NDRE" },
      "statistics": ["viGlobalMedian", "viTotalPlants"],
      "reportCategory": "vegetation_index"
    }
  ],
  "replanting": [],
  "path": []
}

A tener en cuenta

  • The Kaax super admin edits this list, so don't hardcode it — read it.
  • `key` is what goes in `reportType`; `id` is what goes in `reportTypeId`.
GET/api/v2/catalogs/statistics

The statistic keys that exist per analysis type — the set selectedStatistics must come from.

GET/api/v2/catalogs/vegetation-index-defaults

Everything needed to assemble a vegetation-index template without guessing: index names, calibrated colour scales, default layouts and the formula whitelist.

Response

json
{
  "indexNames": ["NDVI", "NDWI", "EVI", "SAVI", "NDRE", "LCI", "Custom_Index"],
  "colorScales": { "NDRE": [ /* … */ ] },
  "accentColors": { "NDRE": "#27AE60" },
  "layouts": { "portrait": { /* … */ }, "landscape": { /* … */ } },
  "defaults": {
    "paperSize": "letter",
    "mapResolution": 150,
    "margins": { "top": 2, "right": 2, "bottom": 2, "left": 2 },
    "saviL": 0.5
  },
  "customFormula": {
    "allowedBands": ["R", "G", "B", "RE", "NIR"],
    "allowedScalars": ["eps", "L"],
    "allowedFunctions": ["sqrt", "abs"],
    "rules": { "divisionRequiresEps": true }
  }
}

A tener en cuenta

  • `mapResolution` comes back as a number. Copying it as text ("150") is refused for its TYPE, and the message names the field but not the reason.