GreenAviationHub
Green Aviation Hub

Partner API

Read approved charger data. Partners call this endpoint. This app does not call you.

Authentication

Each partner gets their own token. Send it on every request.

Authorization: Bearer <token>

A missing or wrong token returns 401 with the message Unauthenticated.

List charge points

Returns approved charge points, oldest id first.

GET https://aviation-dev.ultrabold.de/api/v1/charge-points

Unapproved charge points are omitted.

GeoJSON

The same chargers as a FeatureCollection. Each feature is a Point. Coordinates are [longitude, latitude]. The usual fields sit in properties. There is no pagination: every matching approved charger is in the file. Chargers without coordinates are left out. icao and country work the same way.

GET https://aviation-dev.ultrabold.de/api/v1/charge-points.geojson

Query parameters

icao
ICAO code or locator. Matches either field. Max 8 characters.
country
ICAO country prefix, the same value as the map country filter, for example ED. Max 4 characters.
page
Page number, starting at 1.
per_page
Results per page. Minimum 1, maximum 200, default 100.

Response

id
Charge point id in this system.
icao
ICAO code, or the locator when no ICAO code is stored.
airfield
Airfield name.
location
Coordinates used on the map. source is charge_point when an operator marked the charger, otherwise arp (the airfield reference point).
manufacturer
Charger manufacturer, or null.
connectors
Connector names.
aircraft_types
Aircraft types that can use this charger.
software_version
Charging software version, or null.
payment_types
Payment types.
available
Current yes/no. When the charger is linked to Monta, this follows the live state.
live_state, live_state_synced_at
Monta state, or null when the charger is not linked. Synced time is ISO 8601, or null.
availability
Weekly opening hours. Not live occupancy. Each day is monday through sunday with open, from, and to (HH:MM).
type
Charger type, for example AC or DC.
kw
Power in kW, as stored. May be null.
{
  "data": [
    {
      "id": 12,
      "icao": "EDFE",
      "airfield": "Egelsbach",
      "location": {
        "lat": 50.1234567,
        "lng": 8.7654321,
        "source": "charge_point"
      },
      "manufacturer": "Monta",
      "connectors": ["CCS"],
      "aircraft_types": ["eFlyer"],
      "software_version": "2.4.1",
      "payment_types": ["RFID"],
      "available": true,
      "live_state": "available",
      "live_state_synced_at": "2026-09-22T16:00:00+02:00",
      "availability": {
        "monday": { "open": true, "from": "08:00", "to": "18:00" }
      },
      "type": "DC",
      "kw": "50"
    }
  ],
  "meta": {
    "current_page": 1,
    "per_page": 100,
    "total": 1,
    "last_page": 1
  }
}

Live states

  • available Available
  • busy In use
  • busy-blocked Blocked
  • busy-charging Charging
  • busy-non-charging Occupied
  • busy-non-released Not released
  • busy-reserved Reserved
  • busy-scheduled Scheduled
  • error Error
  • disconnected Offline
  • passive Local control
  • maintenance Maintenance
  • exempt Exempt
  • other Unknown

Errors

  • 401 when the bearer token is missing or wrong.
  • 422 when a query parameter fails validation.
  • 429 above 120 requests per minute from one IP address.