Ecosystem Services Calculation API (0.1.0)

Download OpenAPI specification:

License: GPL

Calculates ecosystem service scores for urban greening and biodiversity projects. Inputs are derived from project data (BioValues) and reduced to only the fields relevant to each calculation.

Score interpretation

  • score: normalised index in the range [0, 1] (higher = better)
  • category: qualitative tier derived from the score
    • low — 0.00–0.39
    • medium — 0.40–0.69
    • high — 0.70–1.00

services

Ecosystem service calculations

Get API specification

Returns the full OpenAPI specification for this API.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{ }

Calculate habitat connectivity score

Calculates a normalised connectivity score based on green patch geometry, corridor dimensions, and vegetation cover. Returns a score, category, and improvement recommendations.

Authorizations:
bearerAuth
Request Body schema: application/json
required
projectId
string

Project entry ID — used for traceability, not for calculation.

object
bffArea
required
number >= 0

Total biodiversity promotion area in m².

bffBuildingArea
required
number >= 0

Building footprint in m².

projectType
string

Category ID for project type.

useType
Array of strings

Category IDs for land use types.

density
string

Category ID for site density.

patchArea
number >= 0

Area of the largest continuous green patch on site (m²). Maps to characteristic_2_1.

corridorWidth
number >= 0

Minimum width of the main green corridor on site (m). Maps to characteristic_2_2.

steppingStoneCount
number >= 0

Number of stepping-stone habitat elements. Maps to characteristic_2_3.

habitatQualityIndex
number or null

Reserved — confirm field meaning with domain experts. Maps to characteristic_2_4.

greenCoverFraction
number [ 0 .. 1 ]

Fraction of bffArea covered by vegetation (0–1). Maps to characteristic_2_5.

connectivityBarrierCount
number

Reserved — confirm field meaning with domain experts. Maps to characteristic_2_6.

Responses

Request samples

Content type
application/json
{
  • "projectId": "275050",
  • "location": {
    },
  • "bffArea": 200,
  • "bffBuildingArea": 100,
  • "projectType": "521",
  • "useType": [
    ],
  • "density": "524",
  • "patchArea": 80,
  • "corridorWidth": 3.5,
  • "steppingStoneCount": 2,
  • "greenCoverFraction": 0.6,
  • "connectivityBarrierCount": 0
}

Response samples

Content type
application/json
{
  • "serviceId": "connectivity",
  • "score": 0.72,
  • "category": "high",
  • "unit": "index",
  • "recommendations": [
    ],
  • "breakdown": {
    },
  • "calculatedAt": "2026-04-17T08:01:15+02:00"
}

Calculate air temperature regulation score

Estimates the site's cooling contribution based on tree canopy cover, green roof area, and vegetation composition. Returns a score, category, and improvement recommendations.

Authorizations:
bearerAuth
Request Body schema: application/json
required
projectId
string

Project entry ID — used for traceability, not for calculation.

object
bffArea
required
number >= 0

Total biodiversity promotion area in m².

bffBuildingArea
required
number >= 0

Building footprint in m².

projectType
string

Category ID for project type.

useType
Array of strings

Category IDs for land use types.

density
string

Category ID for site density.

treeCanopyFraction
number [ 0 .. 1 ]

Fraction of site area shaded by tree canopy (0–1). Maps to characteristic_3_1.

greenRoofArea
number >= 0

Area of green roof on the building (m²). Maps to characteristic_3_2.

vegetationTypes
Array of strings

List of vegetation type identifiers present on site. Maps to characteristic_3_3.

shadingElements
Array of strings

Non-vegetation shading features (e.g. pergola, sail). Maps to characteristic_3_4.

Responses

Request samples

Content type
application/json
{
  • "projectId": "275050",
  • "location": {
    },
  • "bffArea": 200,
  • "bffBuildingArea": 100,
  • "projectType": "521",
  • "useType": [
    ],
  • "density": "524",
  • "treeCanopyFraction": 0.25,
  • "greenRoofArea": 40,
  • "vegetationTypes": [
    ],
  • "shadingElements": [
    ]
}

Response samples

Content type
application/json
{
  • "serviceId": "connectivity",
  • "score": 0.72,
  • "category": "high",
  • "unit": "index",
  • "recommendations": [
    ],
  • "breakdown": {
    },
  • "calculatedAt": "2026-04-17T08:01:15+02:00"
}

Calculate soil erosion prevention score

Assesses soil loss risk based on surface permeability, cover types, and site characteristics. Returns a score, category, and improvement recommendations.

Authorizations:
bearerAuth
Request Body schema: application/json
required
projectId
string

Project entry ID — used for traceability, not for calculation.

object
bffArea
required
number >= 0

Total biodiversity promotion area in m².

bffBuildingArea
required
number >= 0

Building footprint in m².

projectType
string

Category ID for project type.

useType
Array of strings

Category IDs for land use types.

density
string

Category ID for site density.

surfaceTypes
Array of strings

Identifiers of surface cover types present on site. Maps to characteristic_4_0.

permeableSurfaceFraction
number [ 0 .. 1 ]

Fraction of total site area that is water-permeable (0–1). Maps to characteristic_4_1.

slopeGradient
number

Reserved — confirm field meaning with domain experts. Maps to characteristic_4_2.

soilErodibility
number

Reserved — confirm field meaning with domain experts. Maps to characteristic_4_3.

rainfallErosivity
number

Reserved — confirm field meaning with domain experts. Maps to characteristic_4_4.

vegetationCoverFactor
number

Reserved — confirm field meaning with domain experts. Maps to characteristic_4_5.

Responses

Request samples

Content type
application/json
{
  • "projectId": "275050",
  • "location": {
    },
  • "bffArea": 200,
  • "bffBuildingArea": 100,
  • "projectType": "521",
  • "useType": [
    ],
  • "density": "524",
  • "surfaceTypes": [
    ],
  • "permeableSurfaceFraction": 0.55,
  • "slopeGradient": 0,
  • "soilErodibility": 0,
  • "rainfallErosivity": 0,
  • "vegetationCoverFactor": 0
}

Response samples

Content type
application/json
{
  • "serviceId": "connectivity",
  • "score": 0.72,
  • "category": "high",
  • "unit": "index",
  • "recommendations": [
    ],
  • "breakdown": {
    },
  • "calculatedAt": "2026-04-17T08:01:15+02:00"
}