Hubject · Schema

eRoamingPullEVSEData

eRoamingPullEVSEData is a message that is sent in order to request the download of EVSE data of operators stored on the Hubject system.

CompanyE-MobilityEV ChargingInteroperability

Properties

Name Type Description
ProviderID object
SearchCenter object "The data can be restricted using search parameters that are provided in this field. Cannot be combined with “LastCall”."
LastCall string In case that this field is set, Hubject does not return the currently valid set of EVSE data but the changes compared to the status of EVSE data at the time of the last call. Cannot be combined with “
GeoCoordinatesResponseFormat object
CountryCodes array A list of countries whose EVSE’s a provider wants to retrieve. Cannot be combined with “LastCall”.
OperatorIds array A list of Operator Ids in ISO or DIN standard to download only EVSE’s of one or more operators. Cannot be combined with “LastCall”.
AuthenticationModes array A list of Authentication Modes to start a charging process
Accessibility array A list of accessibility of the charging point
CalibrationLawDataAvailability array A list of how caliration law data is provided by the charging point
RenewableEnergy boolean Select the charging stations use Renewable energy or not
IsHubjectCompatible boolean Select if the charging station is Hubject Compatible
IsOpen24Hours boolean Select the charging stations that are open 24 hours.
View JSON Schema on GitHub

JSON Schema

hubject-e-roaming-pull-evsedata-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/hubject/main/json-schema/hubject-e-roaming-pull-evsedata-schema.json",
  "title": "eRoamingPullEVSEData",
  "description": "eRoamingPullEVSEData is a message that is sent in order to request the download of EVSE data of operators stored on the Hubject system.",
  "x-generated": "2026-10-13",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/hubject-oicp-emp-2.3-openapi.yml#/components/schemas/eRoamingPullEVSEData",
  "type": "object",
  "required": [
    "ProviderID",
    "GeoCoordinatesResponseFormat"
  ],
  "properties": {
    "ProviderID": {
      "$ref": "#/$defs/ProviderID"
    },
    "SearchCenter": {
      "type": "object",
      "description": "\"The data can be restricted using search parameters that are provided in this field.\n\nCannot be combined with “LastCall”.\"\n",
      "required": [
        "GeoCoordinates",
        "Radius"
      ],
      "properties": {
        "GeoCoordinates": {
          "$ref": "#/$defs/GeoCoordinates"
        },
        "Radius": {
          "type": "number",
          "description": "Radius in km around the position that is defined by the geo coordinates"
        }
      }
    },
    "LastCall": {
      "type": "string",
      "format": "date-time",
      "description": "In case that this field is set, Hubject does not return the currently valid set of EVSE data but the changes compared to the status of EVSE data at the time of the last call. Cannot be combined with “SearchCenter”, “CountryCodes”, and “OperatorIDs”. "
    },
    "GeoCoordinatesResponseFormat": {
      "$ref": "#/$defs/GeoCoordinatesResponseFormat"
    },
    "CountryCodes": {
      "type": "array",
      "description": "A list of countries whose EVSE’s a provider wants to retrieve. Cannot be combined with “LastCall”.",
      "items": {
        "$ref": "#/$defs/CountryCode"
      }
    },
    "OperatorIds": {
      "type": "array",
      "description": "A list of Operator Ids in ISO or DIN standard to download only EVSE’s of one or more operators. Cannot be combined with “LastCall”.",
      "items": {
        "$ref": "#/$defs/OperatorID"
      }
    },
    "AuthenticationModes": {
      "type": "array",
      "description": "A list of Authentication Modes to start a charging process",
      "items": {
        "$ref": "#/$defs/AuthenticationMode"
      }
    },
    "Accessibility": {
      "type": "array",
      "description": "A list of accessibility of the charging point",
      "items": {
        "$ref": "#/$defs/Accessibility"
      }
    },
    "CalibrationLawDataAvailability": {
      "type": "array",
      "description": "A list of how caliration law data is provided by the charging point",
      "items": {
        "type": "string",
        "enum": [
          "Local",
          "External",
          "Not Available"
        ]
      }
    },
    "RenewableEnergy": {
      "type": "boolean",
      "description": "Select the charging stations use Renewable energy or not"
    },
    "IsHubjectCompatible": {
      "type": "boolean",
      "description": "Select if the charging station is Hubject Compatible"
    },
    "IsOpen24Hours": {
      "type": "boolean",
      "description": "Select the charging stations that are open 24 hours."
    }
  },
  "$defs": {
    "Accessibility": {
      "type": "string",
      "enum": [
        "Free publicly accessible",
        "Restricted access",
        "Paying publicly accessible",
        "Test Station"
      ],
      "description": "Specifies how the charging station can be accessed.\n\n| Option | Description |\n| ------ | ----------- |\n| Free publicly accessible | EV Driver can reach the charging point without paying a fee, e.g. street, free public place, free parking lot, etc. |\n| Restricted access | EV Driver needs permission to reach the charging point, e.g. Campus, building complex, etc. |\n| Paying publicly accessible | EV Driver needs to pay a fee in order to reach the charging point, e.g. payable parking garage, etc. |\n| Test Station | Station is just for testing purposes. Access may be restricted. |\n"
    },
    "AuthenticationMode": {
      "type": "string",
      "enum": [
        "NFC RFID Classic",
        "NFC RFID DESFire",
        "PnC",
        "REMOTE",
        "Direct Payment",
        "No Authentication Required"
      ],
      "description": "| Option | Description |\n| NFC RFID Classic | Defined authentication. |\n| NFC RFID DESFire | Defined authentication. |\n| PnC | ISO/IEC 15118. |\n| REMOTE | App, QR-Code, Phone. |\n| Direct Payment | Remote use via direct payment. E.g. intercharge direct |\n| No Authentication Required | Not Authentication Method Required |\n"
    },
    "CountryCode": {
      "type": "string",
      "description": "The CountryCodeType allows for Alpha-3 country codes only as of OICP 2.2 and OICP 2.3\n\nFor Alpha-3 (three-letter) country codes as defined in ISO 3166-1.\n\n__Examples:__\n\n| Option | Description |\n| ------ | ----------- |\n| AUT | Austria |\n| DEU | Germany |\n| FRA | France |\n| USA | United States |\n",
      "maximum": 3,
      "minimum": 3
    },
    "GeoCoordinates": {
      "type": "object",
      "description": "Important\n\n__One of the following three options `MUST` be provided__\n",
      "properties": {
        "Google": {
          "type": "object",
          "description": "Geocoordinates using Google Structure\nBased on WGS84\n",
          "required": [
            "Coordinates"
          ],
          "properties": {
            "Coordinates": {
              "type": "string",
              "pattern": "^-?1?\\d{1,2}\\.\\d{1,6}\\s*\\,?\\s*-?1?\\d{1,2}\\.\\d{1,6}$",
              "description": "A string that `MUST` be valid with respect to the following regular expression:\n\n`^-?1?\\d{1,2}\\.\\d{1,6}\\s*\\,?\\s*-?1?\\d{1,2}\\.\\d{1,6}$`\nThe expression validates the string as geo coordinates with respect to the Google standard. The string contains latitude and longitude (in this sequence) separated by a space.\n\nExample: “47.662249 9.360922”\n"
            }
          }
        },
        "DecimalDegree": {
          "type": "object",
          "description": "Geocoordinates using DecimalDegree Structure",
          "required": [
            "Longitude",
            "Latitude"
          ],
          "properties": {
            "Longitude": {
              "type": "string",
              "pattern": "^-?1?\\d{1,2}\\.\\d{1,6}$",
              "description": "A string that `MUST` be valid with respect to the following regular expression:\n\n`^-?1?\\d{1,2}\\.\\d{1,6}$`\nThe expression validates the string as a geo coordinate (longitude or latitude) with decimal degree syntax.\n\nExamples: “9.360922”, “-21.568201”\n"
            },
            "Latitude": {
              "type": "string",
              "pattern": "^-?1?\\d{1,2}\\.\\d{1,6}$",
              "description": "A string that `MUST` be valid with respect to the following regular expression:\n\n`^-?1?\\d{1,2}\\.\\d{1,6}$`\nThe expression validates the string as a geo coordinate (longitude or latitude) with decimal degree syntax.\n\nExamples: “9.360922”, “-21.568201”\n"
            }
          }
        },
        "DegreeMinuteSeconds": {
          "type": "object",
          "description": "Geocoordinates using DegreeMinutesSeconds Structure",
          "required": [
            "Longitude",
            "Latitude"
          ],
          "properties": {
            "Longitude": {
              "type": "string",
              "pattern": "^-?1?\\d{1,2}°[ ]?\\d{1,2}'[ ]?\\d{1,2}\\.\\d+''$",
              "description": "A string that `MUST` be valid with respect to the following regular expression:\n\n`^-?1?\\d{1,2}°[ ]?\\d{1,2}'[ ]?\\d{1,2}\\.\\d+''$`\nThe expression validates the string as a geo coordinate (longitude or latitude) consisting of degree, minutes, and seconds\n\nExamples: “9°21'39.32''”, “-21°34'23.16''\n"
            },
            "Latitude": {
              "type": "string",
              "pattern": "^-?1?\\d{1,2}°[ ]?\\d{1,2}'[ ]?\\d{1,2}\\.\\d+''$",
              "description": "A string that `MUST` be valid with respect to the following regular expression:\n\n`^-?1?\\d{1,2}°[ ]?\\d{1,2}'[ ]?\\d{1,2}\\.\\d+''$`\nThe expression validates the string as a geo coordinate (longitude or latitude) consisting of degree, minutes, and seconds\n\nExamples: “9°21'39.32''”, “-21°34'23.16''\n"
            }
          }
        }
      }
    },
    "GeoCoordinatesResponseFormat": {
      "type": "string",
      "description": "Defines the format of geo coordinates that shall be provided with the response.",
      "enum": [
        "Google",
        "DegreeMinuteSeconds",
        "DecimalDegree"
      ]
    },
    "OperatorID": {
      "type": "string",
      "pattern": "^(([A-Za-z]{2}\\*?[A-Za-z0-9]{3})|(\\+?[0-9]{1,3}\\*[0-9]{3}))$",
      "description": "A string that MUST be valid with respect to the following regular expression: ISO | DIN\n\n^(([A-Za-z]{2}\\*?[A-Za-z0-9]{3})|(\\+?[0-9]{1,3}\\*[0-9]{3}))$\nThe expression validates the string as OperatorID including the preceding country code, which is part of EvseID. It supports both definitions DIN SPEC 91286:2011-11 as well as ISO 15118. In case the OperatorID is provided corresponding to ISO, the country code MUST be provided as Alpha-2-Code (DIN EN ISO-3166-1) and the separator character “*” is optional.\n\nIn case the OperatorID is provided corresponding to DIN, the country code MUST be provided according to the international telecommunication numbering plan (ITU-T E.164:11/2010) and the separator character “*” is mandatory.\n\nExamples ISO: “DE*A36”, “DEA36”\n\nExample DIN: “+49*536”\n"
    },
    "ProviderID": {
      "type": "string",
      "pattern": "^([A-Za-z]{2}\\-?[A-Za-z0-9]{3}|[A-Za-z]{2}[\\*|-]?[A-Za-z0-9]{3})$",
      "description": "The ProviderID is defined by Hubject and is used to identify the EMP\n\nA string that `MUST` be valid with respect to the following regular expression: ISO | DIN\n\n`^([A-Za-z]{2}\\-?[A-Za-z0-9]{3}|[A-Za-z]{2}[\\*|-]?[A-Za-z0-9]{3})$`\n\nThe expression validates the string as ProviderID including the preceding country code, which is part of EvcoID. It supports both definitions DIN SPEC 91286:2011-11 as well as ISO 15118-1.\n\nIn case the ProviderID is provided corresponding to ISO, the country code `MUST` be provided as Alpha-2-Code (DIN EN ISO-3166-1) and the separator character “-” is optional.\n\nExamples ISO: “DE8EO”, “DE-8EO”\n\nExamples DIN: “DE8EO”, “DE*8EO”, “DE-8EO”\n"
    }
  }
}

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.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/hubject-e-roaming-pull-evsedata"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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.