GraphQL API Reference
Welcome to the technical specification for the GraphQL API.
You will find here all available endpoints (queries and mutations) which can be used.
For all endpoints you will find an explanation about the purpose, types, and how they should be used.
Some of the endpoints are marked as deprecated. Please don't use them any more for new developments, because soon enough they will be removed. We will inform you about that beforehand.
If you face any problems, please do not hesitate to contact us via support-beenergised@chargepoint.com.
API Endpoints
https://<your-subdomain>.v2.api.htb.services/graphql/
Queries
accountDocument
Description
Get a document by it's ID.
Example
query {
accountDocument(id: "doc-uuid-...") {
id
type
title
documentDate
downloadLink
}
}
Response
Returns an AccountDocument
Arguments
| Name | Description |
|---|---|
id - String
|
UUID of the document to retrieve. |
Example
Query
query accountDocument($id: String) {
accountDocument(id: $id) {
documentDate
downloadLink
id
title
type
}
}
Variables
{"id": "xyz789"}
Response
{
"data": {
"accountDocument": {
"documentDate": "2024-03-15T00:00:00.000Z",
"downloadLink": "https://files.example.has-to-be.com/invoices/cbce05d9-9172-4201-a8e4-bd3b47366097.pdf",
"id": "cbce05d9-9172-4201-a8e4-bd3b47366097",
"title": "Invoice 2024-001",
"type": "invoice"
}
}
}
accountDocumentsPaged
Description
Get the list of all documents of the authenticated user.
Example
query {
accountDocumentsPaged(pagination: { limit: 10, offset: 0 }) {
pagination { totalCount }
data { id type title documentDate downloadLink }
}
}
Response
Returns an AccountDocumentsPaged
Arguments
| Name | Description |
|---|---|
pagination - PaginationFilter
|
Pagination parameters (limit and offset). |
Example
Query
query accountDocumentsPaged($pagination: PaginationFilter) {
accountDocumentsPaged(pagination: $pagination) {
data {
...AccountDocumentFragment
}
pagination {
...PaginationFragment
}
}
}
Variables
{"pagination": PaginationFilter}
Response
{
"data": {
"accountDocumentsPaged": {
"data": [
{
"id": "cbce05d9-9172-4201-a8e4-bd3b47366097",
"title": "Invoice 2024-001",
"type": "invoice"
}
],
"pagination": {
"limit": 10,
"offset": 0,
"totalCount": 1,
"isLastPage": true
}
}
}
}
additionalRegistrationFields
Description
Get the tenant-specific extra fields a new user must provide on registration (e.g. company VAT, employee ID). Each field has a name, description, type, required flag, and optional initial value. Use the result to render the registration form dynamically. Allowed for role INI.
Example
query {
additionalRegistrationFields {
name
description
type
required
value
}
}
Response
Returns [AdditionalRegistrationField]
Example
Query
query additionalRegistrationFields {
additionalRegistrationFields {
description
name
required
type
value
}
}
Response
{
"data": {
"additionalRegistrationFields": [
{
"description": "Your company employee ID",
"name": "employee_id",
"required": "true",
"type": "text",
"value": "EMP-00123"
}
]
}
}
availableCardsForChargingProcess
Description
Get a list of authentication media (cards) of the authorized user which can be used to start a charging process on a specific connector.
Response
Returns [CardForChargingProcess]
Arguments
| Name | Description |
|---|---|
connectorId - String!
|
UUID of the connector to check card eligibility against. |
Example
Query
query availableCardsForChargingProcess($connectorId: String!) {
availableCardsForChargingProcess(connectorId: $connectorId) {
expiryDate
id
label
number
preauthRequired
rate {
...RateDescriptionForChargingProcessFragment
}
tagId
type
}
}
Variables
{"connectorId": "abc123"}
Response
{
"data": {
"availableCardsForChargingProcess": [
{
"expiryDate": "2026-12-31T23:59:59.000Z",
"id": "4a7fb3a6-c5ff-4739-b46c-c013a4c8ce3f",
"label": "My Work Card",
"number": "HTB-0001234",
"preauthRequired": true,
"rate": {
"description": "Pay per kWh",
"shortDescription": "0.35 EUR/kWh",
"preauthCurrencyAmounts": [
{"amount": 30, "currency": {"isoCode": "EUR"}}
]
},
"tagId": "c1a4f434-d8c1-4bc3-8b51-4784298cc442",
"type": "default"
}
]
}
}
availableCurrencies
Description
Get a list of available currencies of the authorized user.
Example
query {
availableCurrencies(pagination: { limit: 10, offset: 0 }) {
pagination { totalCount }
data { isoCode name symbol }
}
}
Response
Returns an AvailableCurrencies
Arguments
| Name | Description |
|---|---|
pagination - PaginationFilter
|
Pagination parameters (limit and offset). |
Example
Query
query availableCurrencies($pagination: PaginationFilter) {
availableCurrencies(pagination: $pagination) {
data {
...AvailableCurrencyFragment
}
pagination {
...PaginationFragment
}
}
}
Variables
{"pagination": PaginationFilter}
Response
{
"data": {
"availableCurrencies": {
"data": [
{"currency": {"isoCode": "EUR"}},
{"currency": {"isoCode": "USD"}}
],
"pagination": {
"limit": 10,
"offset": 0,
"totalCount": 2,
"isLastPage": true
}
}
}
}
bankAccount
Description
Get the SEPA bank account (IBAN, BIC, account holder) registered against the current user's SEPA contract. Returns null / empty fields if no SEPA contract is active. Allowed for role CRM.
Example
query {
bankAccount {
iban
bic
bank
accountHolder
}
}
Response
Returns a BankAccountResponse
Example
Query
query bankAccount {
bankAccount {
accountHolder
bank
bic
iban
}
}
Response
{
"data": {
"bankAccount": {
"accountHolder": "Max Mustermann",
"bank": "Erste Bank",
"bic": "GIBAATWWXXX",
"iban": "AT12 3456 7890 1234 5678"
}
}
}
card
Description
Get a single authentication card by its tag ID or UUID, including status, type, and rate.
Response
Returns a Card
Arguments
| Name | Description |
|---|---|
id - String!
|
UUID or tag ID of the card to retrieve. |
Example
Query
query card($id: String!) {
card(id: $id) {
deactivationReason
expiryDate
id
label
number
preauthRequired
rate {
...RateOptionFragment
}
status
tagId
type
}
}
Variables
{"id": "xyz789"}
Response
{
"data": {
"card": {
"deactivationReason": "",
"expiryDate": "2026-12-31T23:59:59.000Z",
"id": "4a7fb3a6-c5ff-4739-b46c-c013a4c8ce3f",
"label": "My Work Card",
"number": "HTB-0001234",
"preauthRequired": true,
"rate": {
"id": "6c69d520-44c4-48be-8192-22b3d97ed975",
"name": "Standard Rate",
"shortDescription": "0.35 EUR/kWh"
},
"status": "active",
"tagId": "c1a4f434-d8c1-4bc3-8b51-4784298cc442",
"type": "default"
}
}
}
cardsPaged
Description
Get a list of authentication media (cards) of the authorized user.
Example
query {
cardsPaged(pagination: { limit: 20, offset: 0 }) {
pagination { totalCount }
data { id label status type expiryDate }
}
}
Response
Returns a CardsPaged
Arguments
| Name | Description |
|---|---|
pagination - PaginationFilter
|
Pagination parameters (limit and offset). |
Example
Query
query cardsPaged($pagination: PaginationFilter) {
cardsPaged(pagination: $pagination) {
data {
...CardFragment
}
pagination {
...PaginationFragment
}
}
}
Variables
{"pagination": PaginationFilter}
Response
{
"data": {
"cardsPaged": {
"data": [
{
"id": "4a7fb3a6-c5ff-4739-b46c-c013a4c8ce3f",
"label": "My Work Card",
"number": "HTB-0001234",
"status": "active"
}
],
"pagination": {
"limit": 10,
"offset": 0,
"totalCount": 1,
"isLastPage": true
}
}
}
}
chargelog
Description
Get a chargelog by id.
Example
query {
chargelog(id: "chargelog-uuid-...") {
id
status
dateStart
dateEnd
energyConsumption
cost { total currency }
}
}
Response
Returns a Chargelog
Arguments
| Name | Description |
|---|---|
id - ID!
|
UUID of the chargelog entry to retrieve. |
Example
Query
query chargelog($id: ID!) {
chargelog(id: $id) {
accountDocument {
...AccountDocumentFragment
}
authId
authType
calibrationDetails
co2Saving
connector {
...ConnectorFragment
}
cost {
...CostFragment
}
dateEnd
dateStart
energyConsumption
id
meterEnd
meterStart
rateName
sessionId
status
}
}
Variables
{"id": "4"}
Response
{
"data": {
"chargelog": {
"accountDocument": {
"id": "cbce05d9-9172-4201-a8e4-bd3b47366097",
"title": "Invoice 2024-001",
"type": "invoice"
},
"authId": "c1a4f434-d8c1-4bc3-8b51-4784298cc442",
"authType": "RFID",
"calibrationDetails": null,
"co2Saving": 11.7,
"connector": {
"id": "5c749d00-315f-4127-a94d-17289206d054",
"evseId": "AT*HTB*E000001*1",
"label": "Connector 1"
},
"cost": {"total": 8.54, "grossAmount": 8.54, "currency": "EUR"},
"dateEnd": "2024-03-15T10:15:00.000Z",
"dateStart": "2024-03-15T08:30:00.000Z",
"energyConsumption": 24.37,
"id": "c258a8ab-e265-4f14-a9ba-12cef13f49f7",
"meterEnd": 48740000,
"meterStart": 24370000,
"rateName": "Standard Rate",
"sessionId": "8b60a3b3-e26c-4df8-8f29-02a682dc15c3",
"status": "stopped"
}
}
}
chargelogMeterValuesSummary
Description
Returns detailed information about the meter values of a charging session.
In some cases, we do not receive meter values during the charging session. In this case, only null values will be returned.
As parameter you will need the uuid of the charging station. This can be obtained by chargelogsPaged, among others.
Response
Returns a chargelogMeterValuesSummary
Arguments
| Name | Description |
|---|---|
uuid - String!
|
The uuid of the charging session |
Example
Query
query chargelogMeterValuesSummary($uuid: String!) {
chargelogMeterValuesSummary(uuid: $uuid) {
currentPower
currentPowerLastChanged
currentStateOfCharge
energyFirstValue
energyFirstValueTime
energyLastValue
energyLastValueTime
energyUpdatedAt
initialStateOfCharge
stateOfChargeLastChanged
sumEnergy
updatedAt
}
}
Variables
{"uuid": "abc123"}
Response
{
"data": {
"chargelogMeterValuesSummary": {
"currentPower": 11000,
"currentPowerLastChanged": "2024-03-15T09:45:00.000Z",
"currentStateOfCharge": 78,
"energyFirstValue": 12500,
"energyFirstValueTime": "2024-03-15T08:30:00.000Z",
"energyLastValue": 36870,
"energyLastValueTime": "2024-03-15T10:15:00.000Z",
"energyUpdatedAt": "2024-03-15T10:15:05.000Z",
"initialStateOfCharge": 22,
"stateOfChargeLastChanged": "2024-03-15T10:10:00.000Z",
"sumEnergy": 24.37,
"updatedAt": "2024-03-15T10:15:05.000Z"
}
}
}
chargelogsPaged
Description
Get a list of chargelogs of the authorized user, filterable with a ChargelogFilter object.
Example
query {
chargelogsPaged(pagination: { limit: 10, offset: 0 }) {
pagination { totalCount }
data {
id
status
dateStart
energyConsumption
connector { id label }
}
}
}
Response
Returns a ChargelogsPaged
Arguments
| Name | Description |
|---|---|
filters - ChargelogFilter
|
Filter chargelogs by status. |
pagination - PaginationFilter
|
Pagination parameters (limit and offset). |
timeframe - TimeFrameFilter
|
Restrict results to a specific time range. |
type - ChargeLogType
|
Type of chargelogs to return (e.g. contact). |
Example
Query
query chargelogsPaged(
$filters: ChargelogFilter,
$pagination: PaginationFilter,
$timeframe: TimeFrameFilter,
$type: ChargeLogType
) {
chargelogsPaged(
filters: $filters,
pagination: $pagination,
timeframe: $timeframe,
type: $type
) {
data {
...ChargelogFragment
}
pagination {
...PaginationFragment
}
}
}
Variables
{
"filters": ChargelogFilter,
"pagination": PaginationFilter,
"timeframe": TimeFrameFilter,
"type": "contact"
}
Response
{
"data": {
"chargelogsPaged": {
"data": [
{
"id": "c258a8ab-e265-4f14-a9ba-12cef13f49f7",
"status": "stopped",
"energyConsumption": 24.37
}
],
"pagination": {
"limit": 10,
"offset": 0,
"totalCount": 1,
"isLastPage": true
}
}
}
}
chargingStatistics
Description
Get statistics for chargelogs (optionally within a specific timerange)
Example
query {
chargingStatistics(timeframe: { start: "2026-01-01T00:00:00Z", end: "2026-03-31T23:59:59Z" }) {
number
energyConsumption
co2Saving
}
}
Response
Returns a ChargingStatistics
Arguments
| Name | Description |
|---|---|
timeframe - TimeFrameFilter
|
Restrict statistics to a specific time range. Omit for all-time statistics. |
Example
Query
query chargingStatistics($timeframe: TimeFrameFilter) {
chargingStatistics(timeframe: $timeframe) {
co2Saving
energyConsumption
number
}
}
Variables
{"timeframe": TimeFrameFilter}
Response
{
"data": {
"chargingStatistics": {
"co2Saving": 186,
"energyConsumption": 387.5,
"number": 42
}
}
}
connector
Description
Load a single connector
Example
query {
connector(id: "connector-uuid-...") {
id
evseId
connectorType { label standard maxPowerRating }
status { simple }
}
}
Response
Returns a Connector
Example
Query
query connector(
$id: ID!,
$ignoreMarketingConfiguration: Boolean
) {
connector(
id: $id,
ignoreMarketingConfiguration: $ignoreMarketingConfiguration
) {
connectorType {
...ConnectorTypeFragment
}
cp {
...CpFragment
}
evseId
freeOfCharge
id
label
maintenanceWindows {
...ConnectorMaintenanceWindowFragment
}
physicalReference
sortOrder
status {
...ConnectorStatusFragment
}
}
}
Variables
{
"id": "4",
"ignoreMarketingConfiguration": false
}
Response
{
"data": {
"connector": {
"connectorType": {
"id": "36",
"label": "Type 2 – 22 kW",
"plugType": "Type 2 Outlet",
"chargePointType": "AC",
"maxPowerRating": 22
},
"cp": {
"id": "624e81bd-c0cf-4252-9bc4-30054fb6a6a8",
"label": "Main Street Station",
"publicName": "Main Street Station"
},
"evseId": "AT*HTB*E000001*1",
"freeOfCharge": false,
"id": "5c749d00-315f-4127-a94d-17289206d054",
"label": "Connector 1",
"maintenanceWindows": [],
"physicalReference": "1",
"sortOrder": "1",
"status": {
"connectorId": "5c749d00-315f-4127-a94d-17289206d054",
"calculated": "Available",
"ocpp": "Available",
"simple": "Available"
}
}
}
}
connectorByEvseId
Description
Load a single connector by its EVSEID.
Response
Returns a Connector
Example
Query
query connectorByEvseId(
$evseId: String!,
$ignoreMarketingConfiguration: Boolean
) {
connectorByEvseId(
evseId: $evseId,
ignoreMarketingConfiguration: $ignoreMarketingConfiguration
) {
connectorType {
...ConnectorTypeFragment
}
cp {
...CpFragment
}
evseId
freeOfCharge
id
label
maintenanceWindows {
...ConnectorMaintenanceWindowFragment
}
physicalReference
sortOrder
status {
...ConnectorStatusFragment
}
}
}
Variables
{
"evseId": "abc123",
"ignoreMarketingConfiguration": false
}
Response
{
"data": {
"connectorByEvseId": {
"connectorType": {
"id": "36",
"label": "Type 2 – 22 kW",
"plugType": "Type 2 Outlet",
"chargePointType": "AC",
"maxPowerRating": 22
},
"cp": {
"id": "624e81bd-c0cf-4252-9bc4-30054fb6a6a8",
"label": "Main Street Station",
"publicName": "Main Street Station"
},
"evseId": "AT*HTB*E000001*1",
"freeOfCharge": false,
"id": "5c749d00-315f-4127-a94d-17289206d054",
"label": "Connector 1",
"maintenanceWindows": [],
"physicalReference": "1",
"sortOrder": "1",
"status": {
"connectorId": "5c749d00-315f-4127-a94d-17289206d054",
"calculated": "Available",
"ocpp": "Available",
"simple": "Available"
}
}
}
}
contact
Description
Get the full contact record of the currently authenticated user (name, email, address, marketing preferences, role flags, etc.). Equivalent to "GET /me" in REST terms. Allowed for role CRM.
Example
query {
contact {
id
firstName
name
email
currency
}
}
Response
Returns a Contact
Example
Query
query contact {
contact {
address {
...AddressFragment
}
birthday
companyId
createdAt
currency {
...CurrencyFragment
}
displayName
email
firstName
gender
id
isCompany
isDeactivated
language
legalDocumentsAccepted {
...LegalDocumentAcceptedFragment
}
mobile
name
phone
termsAndConditionsAccepted
updatedAt
vat
}
}
Response
{
"data": {
"contact": {
"address": {
"street": "Mozartplatz 1",
"city": "Salzburg",
"zip": "5020",
"country": "AT"
},
"birthday": "1985-06-15T00:00:00.000Z",
"companyId": null,
"createdAt": "2022-01-10T09:00:00.000Z",
"currency": {"isoCode": "EUR"},
"displayName": "Max Mustermann",
"email": "max.mustermann@example.com",
"firstName": "Max",
"gender": "male",
"id": "9d276eba-1ce2-47d2-a1ea-0c40a2b1479e",
"isCompany": false,
"isDeactivated": false,
"language": "de_DE",
"legalDocumentsAccepted": [
{
"legalDocumentType": "TERMS_AND_CONDITIONS",
"legalDocumentAccepted": true
},
{"legalDocumentType": "PRIVACY_POLICY", "legalDocumentAccepted": true}
],
"mobile": "+43 664 1234567",
"name": "Mustermann",
"phone": "+43 316 1234567",
"termsAndConditionsAccepted": true,
"updatedAt": "2024-03-01T14:22:00.000Z",
"vat": "ATU12345678"
}
}
}
contractPaymentMethods
Description
List the payment methods configured at the tenant level for new contracts (e.g. SEPA, Postpaid, Optile-backed payment gateway). Each entry exposes the EMP, application ID, payment type, and terms-of-service URLs. Use registerPaymentMethod to enrol the user against the paymentGateway entry. Allowed for role CRM.
Example
query {
contractPaymentMethods {
uuid
paymentName
paymentType
termsOfServiceUrl
}
}
Response
Returns [ContractPaymentMethod]
Example
Query
query contractPaymentMethods {
contractPaymentMethods {
applicationId
cardCreateMode
createdAt
directPaymentMethod
emp
paymentName
paymentType
termsOfServiceUrl
termsOfUseUrl
updatedAt
uuid
}
}
Response
{
"data": {
"contractPaymentMethods": [
{
"applicationId": "beenergised",
"cardCreateMode": "OPTIONAL",
"createdAt": "2022-01-01T00:00:00.000Z",
"directPaymentMethod": "SEPA",
"emp": "HTB",
"paymentName": "SEPA Direct Debit",
"paymentType": "SEPA",
"termsOfServiceUrl": "https://example.has-to-be.com/terms",
"termsOfUseUrl": "https://example.has-to-be.com/terms-of-use",
"updatedAt": "2024-01-01T00:00:00.000Z",
"uuid": "5ffe9724-2ef1-4191-9a5c-682a20f7a0fb"
}
]
}
}
contractRateOptions
Description
Get rate options applicable to contracts and available to clients.
Response
Returns [RateOption!]
Example
Query
query contractRateOptions {
contractRateOptions {
description
id
name
preauthAmount
preauthCurrencyAmount {
...CurrencyAmountFragment
}
preauthCurrencyAmounts {
...CurrencyAmountFragment
}
shortDescription
uuid
}
}
Response
{
"data": {
"contractRateOptions": [
{
"description": "Pay per kWh — billed after the session ends.",
"id": "6c69d520-44c4-48be-8192-22b3d97ed975",
"name": "Standard Rate",
"preauthAmount": 30,
"preauthCurrencyAmount": {"amount": 30, "currency": {"isoCode": "EUR"}},
"preauthCurrencyAmounts": [
{"amount": 30, "currency": {"isoCode": "EUR"}}
],
"shortDescription": "0.35 EUR/kWh",
"uuid": "6c69d520-44c4-48be-8192-22b3d97ed975"
}
]
}
}
cp
Description
Load a single charging point by its UUID, including connectors, status, and site info
Response
Returns a Cp
Example
Query
query cp(
$id: ID!,
$ignoreMarketingConfiguration: Boolean
) {
cp(
id: $id,
ignoreMarketingConfiguration: $ignoreMarketingConfiguration
) {
accessType
additionalFields {
...AdditionalCpFieldFragment
}
address
capabilities {
...CpCapabilitiesFragment
}
city
connectors {
...ConnectorFragment
}
contact {
...ContactInformationFragment
}
country
directions
displayAttributes {
...DisplayAttributesFragment
}
id
images {
...CpImageFragment
}
information {
...CpInfoFragment
}
isFavoured
label
latitude
longitude
operator {
...CpOperatorFragment
}
publicName
site {
...SiteFragment
}
siteId
status {
...CpStatusFragment
}
zip
}
}
Variables
{"id": 4, "ignoreMarketingConfiguration": true}
Response
{
"data": {
"cp": {
"accessType": "INTERNAL",
"additionalFields": [],
"address": "Mozartplatz 1",
"capabilities": {"hasRemoteCommands": true},
"city": "Salzburg",
"connectors": [
{
"id": "5c749d00-315f-4127-a94d-17289206d054",
"evseId": "AT*HTB*E000001*1",
"label": "Connector 1"
}
],
"contact": {
"email": "station-info@example.com",
"phone": "+43 316 9876543"
},
"country": "AT",
"directions": "Enter the parking garage on the left side.",
"displayAttributes": {"mode": "DEFAULT"},
"id": "624e81bd-c0cf-4252-9bc4-30054fb6a6a8",
"images": [
{
"url": "https://files.example.has-to-be.com/cp-images/main-street-station.jpg"
}
],
"information": {
"payment": "Prepaid or contract required",
"additional": null
},
"isFavoured": false,
"label": "Main Street Station",
"latitude": 47.8095,
"longitude": 13.055,
"operator": {"identifier": "AT*HTB", "name": "has-to-be"},
"publicName": "Main Street Station",
"site": {
"id": "12c25c47-255a-4c75-922b-69cd9b328140",
"label": "Mozartplatz Parking"
},
"siteId": "12c25c47-255a-4c75-922b-69cd9b328140",
"status": {
"calculated": "Available",
"ocpp": "Available",
"simple": "Available"
},
"zip": "5020"
}
}
}
cpCapabilities
Description
Get the capabilities of an given charging station.
Response
Returns a CpCapabilities!
Arguments
| Name | Description |
|---|---|
id - String!
|
UUID of the charging station. |
Example
Query
query cpCapabilities($id: String!) {
cpCapabilities(id: $id) {
hasRemoteCommands
}
}
Variables
{"id": "xyz789"}
Response
{"data": {"cpCapabilities": {"hasRemoteCommands": true}}}
cpOccupancyRate
Description
Get the historical 24-hour occupancy curve for a single charging point on a given weekday. Returns one bucket per hour with the percentage of time the CP was occupied. Use the day argument with the OccupancyDays enum (e.g. MONDAY). Replaces the deprecated occupancyRate(connectors: [...]) query. Allowed for roles INI, CRM, ANYM.
Example
query {
cpOccupancyRate(cpId: "cp-uuid-...", day: MONDAY) {
day
hour
occupancyRate
}
}
Response
Returns [OccupancyRate]
Arguments
| Name | Description |
|---|---|
cpId - String!
|
UUID of the charging point. |
day - OccupancyDays!
|
Weekday to retrieve occupancy data for (use the OccupancyDays enum, e.g. MONDAY). |
Example
Query
query cpOccupancyRate(
$cpId: String!,
$day: OccupancyDays!
) {
cpOccupancyRate(
cpId: $cpId,
day: $day
) {
day
hour
occupancyRate
}
}
Variables
{"cpId": "xyz789", "day": "ALL"}
Response
{
"data": {
"cpOccupancyRate": [{"day": "MONDAY", "hour": 9, "occupancyRate": 0.72}]
}
}
cpsPaged
Description
Load a list of stations with pagination based on filters (optional)
Example
query {
cpsPaged(pagination: { limit: 20, offset: 0 }) {
pagination { totalCount }
data {
id
label
latitude
longitude
connectors { id status { simple } }
}
}
}
Response
Returns a CpsPaged
Arguments
| Name | Description |
|---|---|
cursorPagination - CursorFilter
|
Pagination by cursor. Only one pagination can be selected! |
filter - [ConnectorFilter]
|
Stations can be filtered on different properties of the Connector. Check out the type definition for more details. |
freeOfCharge - Boolean
|
|
ignoreMarketingConfiguration - Boolean
|
|
pagination - PaginationFilter
|
Pagination by limit and offset. Only one pagination can be selected! |
Example
Query
query cpsPaged(
$cursorPagination: CursorFilter,
$filter: [ConnectorFilter],
$freeOfCharge: Boolean,
$ignoreMarketingConfiguration: Boolean,
$pagination: PaginationFilter
) {
cpsPaged(
cursorPagination: $cursorPagination,
filter: $filter,
freeOfCharge: $freeOfCharge,
ignoreMarketingConfiguration: $ignoreMarketingConfiguration,
pagination: $pagination
) {
data {
...CpFragment
}
pagination {
...PaginationInterfaceFragment
}
}
}
Variables
{
"cursorPagination": CursorFilter,
"filter": [ConnectorFilter],
"freeOfCharge": true,
"ignoreMarketingConfiguration": true,
"pagination": PaginationFilter
}
Response
{
"data": {
"cpsPaged": {
"data": [
{
"id": "624e81bd-c0cf-4252-9bc4-30054fb6a6a8",
"label": "Main Street Station",
"city": "Salzburg"
}
],
"pagination": {
"limit": 10,
"offset": 0,
"totalCount": 1,
"isLastPage": true
}
}
}
}
cpsPagedLocationBased
Description
Load a list of stations with pagination based on location
Response
Returns a CpsPaged
Arguments
| Name | Description |
|---|---|
filter - [ConnectorFilter]
|
Stations can be filtered on different properties of the Connector. Check out the type definition for more details. |
freeOfCharge - Boolean
|
|
ignoreMarketingConfiguration - Boolean
|
|
location - LocationFilter
|
|
orderedByDistance - String
|
If the Cps should be returned ordered by the distance or not. The backend will order by distance when:
|
pagination - PaginationFilter
|
Example
Query
query cpsPagedLocationBased(
$filter: [ConnectorFilter],
$freeOfCharge: Boolean,
$ignoreMarketingConfiguration: Boolean,
$location: LocationFilter,
$orderedByDistance: String,
$pagination: PaginationFilter
) {
cpsPagedLocationBased(
filter: $filter,
freeOfCharge: $freeOfCharge,
ignoreMarketingConfiguration: $ignoreMarketingConfiguration,
location: $location,
orderedByDistance: $orderedByDistance,
pagination: $pagination
) {
data {
...CpFragment
}
pagination {
...PaginationInterfaceFragment
}
}
}
Variables
{
"filter": [ConnectorFilter],
"freeOfCharge": true,
"ignoreMarketingConfiguration": false,
"location": LocationFilter,
"orderedByDistance": "abc123",
"pagination": PaginationFilter
}
Response
{
"data": {
"cpsPagedLocationBased": {
"data": [
{
"id": "624e81bd-c0cf-4252-9bc4-30054fb6a6a8",
"label": "Main Street Station",
"city": "Salzburg"
}
],
"pagination": {
"limit": 10,
"offset": 0,
"totalCount": 1,
"isLastPage": true
}
}
}
}
filters
Description
Load a list of filters for the connector.
As the filter options can change over time, depending on the stations available in our system, the different options are not hardcoded.
Response
Returns [Filter]
Example
Query
query filters {
filters {
label
options {
...FilterOptionFragment
}
slug
type
}
}
Response
{
"data": {
"filters": [
{
"label": "Power Class",
"options": [
{
"slug": "power_class_high",
"label": ">= 50kW",
"default": false,
"icon": null
}
],
"slug": "POWER_CLASS",
"type": "multiselect"
}
]
}
}
getFavouriteCps
Description
List the charging points the current user has marked as favourites. Returns the full Cp shape (not just IDs). The reverse-side mutations setFavouriteCps and unsetFavouriteCps modify the list. Allowed for role CRM.
Example
query {
getFavouriteCps {
id
label
latitude
longitude
}
}
Response
Returns [Cp]
Example
Query
query getFavouriteCps {
getFavouriteCps {
accessType
additionalFields {
...AdditionalCpFieldFragment
}
address
capabilities {
...CpCapabilitiesFragment
}
city
connectors {
...ConnectorFragment
}
contact {
...ContactInformationFragment
}
country
directions
displayAttributes {
...DisplayAttributesFragment
}
id
images {
...CpImageFragment
}
information {
...CpInfoFragment
}
isFavoured
label
latitude
longitude
operator {
...CpOperatorFragment
}
publicName
site {
...SiteFragment
}
siteId
status {
...CpStatusFragment
}
zip
}
}
Response
{
"data": {
"getFavouriteCps": [
{
"accessType": "INTERNAL",
"additionalFields": [],
"address": "Mozartplatz 1",
"capabilities": {"hasRemoteCommands": true},
"city": "Salzburg",
"connectors": [
{
"id": "5c749d00-315f-4127-a94d-17289206d054",
"evseId": "AT*HTB*E000001*1",
"label": "Connector 1"
}
],
"contact": {
"email": "station-info@example.com",
"phone": "+43 316 9876543"
},
"country": "AT",
"directions": "Enter the parking garage on the left side.",
"displayAttributes": {"mode": "DEFAULT"},
"id": "624e81bd-c0cf-4252-9bc4-30054fb6a6a8",
"images": [
{
"url": "https://files.example.has-to-be.com/cp-images/main-street-station.jpg"
}
],
"information": {
"payment": "Prepaid or contract required",
"additional": null
},
"isFavoured": false,
"label": "Main Street Station",
"latitude": 47.8095,
"longitude": 13.055,
"operator": {"identifier": "AT*HTB", "name": "has-to-be"},
"publicName": "Main Street Station",
"site": {
"id": "12c25c47-255a-4c75-922b-69cd9b328140",
"label": "Mozartplatz Parking"
},
"siteId": "12c25c47-255a-4c75-922b-69cd9b328140",
"status": {
"calculated": "Available",
"ocpp": "Available",
"simple": "Available"
},
"zip": "5020"
}
]
}
}
hasPaymentMedium
Description
Returns true if current user already has an active payment medium and false if not.
Response
Returns a Boolean
Example
Query
query hasPaymentMedium {
hasPaymentMedium
}
Response
{"data": {"hasPaymentMedium": true}}
legalDocuments
Description
The most recent legal document in device language. Possible types are "terms_and_conditions" and "privacy_policy".
Example
query {
legalDocuments(type: TERMS_AND_CONDITIONS) {
id
url
version
type
}
}
Response
Returns [LegalDocument!]!
Arguments
| Name | Description |
|---|---|
type - LegalDocumentTypeEnum
|
Filter by document type (e.g. TERMS_AND_CONDITIONS, PRIVACY_POLICY). Omit to retrieve all types. |
Example
Query
query legalDocuments($type: LegalDocumentTypeEnum) {
legalDocuments(type: $type) {
id
type
url
version
}
}
Variables
{"type": "PRIVACY_POLICY"}
Response
{
"data": {
"legalDocuments": [
{
"id": "e7076445-fbaa-465b-af4f-925f4472560f",
"type": "TERMS_AND_CONDITIONS",
"url": "https://files.example.has-to-be.com/legal/terms-and-conditions-v3.pdf",
"version": "3.0"
}
]
}
}
occupancyRate
Description
A query to get all occupancy of a connector
Response
Returns [OccupancyRate]
Arguments
| Name | Description |
|---|---|
connectors - [String]!
|
List of connector IDs to query occupancy for. |
day - OccupancyDays!
|
Weekday to retrieve occupancy data for (use the OccupancyDays enum). |
Example
Query
query occupancyRate(
$connectors: [String]!,
$day: OccupancyDays!
) {
occupancyRate(
connectors: $connectors,
day: $day
) {
day
hour
occupancyRate
}
}
Variables
{"connectors": ["xyz789"], "day": "ALL"}
Response
{
"data": {
"occupancyRate": [{"day": "MONDAY", "hour": 9, "occupancyRate": 0.72}]
}
}
paymentMethods
Description
Get all payment cards registered in PSPs for the session user.
Response
Returns a PaymentMethods
Example
Query
query paymentMethods {
paymentMethods {
hostedSession {
...HostedPaymentMethodGetSessionFragment
}
nativeSession {
...NativePaymentMethodGetSessionFragment
}
}
}
Response
{
"data": {
"paymentMethods": {
"hostedSession": HostedPaymentMethodGetSession,
"nativeSession": NativePaymentMethodGetSession
}
}
}
ratePackageByConnectorId
Description
Get all rate packages by a specific connector uuid.
Example
query {
ratePackageByConnectorId(id: "connector-uuid-...") {
id
amount
visibleRuntime
rate { name shortDescription }
}
}
Response
Returns [RatePackage!]
Arguments
| Name | Description |
|---|---|
id - String
|
UUID of the connector to retrieve rate packages for. |
Example
Query
query ratePackageByConnectorId($id: String) {
ratePackageByConnectorId(id: $id) {
amount
automaticStop
id
rate {
...RateOptionFragment
}
visibleRuntime
}
}
Variables
{"id": "abc123"}
Response
{
"data": {
"ratePackageByConnectorId": [
{
"amount": 30,
"automaticStop": 120,
"id": "28e70f8a-0589-40c6-a0b2-53c1b602fba1",
"rate": {
"id": "6c69d520-44c4-48be-8192-22b3d97ed975",
"name": "Standard Rate",
"shortDescription": "0.35 EUR/kWh"
},
"visibleRuntime": 120
}
]
}
}
remoteStartAttemptStatus
Description
Get the current status of the remoteStartAttempt
Response
Returns an AttemptRemoteStartResponse!
Arguments
| Name | Description |
|---|---|
id - String!
|
The id which you will get back after triggering a remoteStartAttempt |
Example
Query
query remoteStartAttemptStatus($id: String!) {
remoteStartAttemptStatus(id: $id) {
chargeLogId
connectorId
failureReason
id
isFailure
lastSentAt
status
}
}
Variables
{"id": "abc123"}
Response
{
"data": {
"remoteStartAttemptStatus": {
"chargeLogId": "0ae16ec5-0810-449f-b452-8ab98110cdc4",
"connectorId": "5c749d00-315f-4127-a94d-17289206d054",
"failureReason": null,
"id": "980d6288-4828-4a18-be20-dbdc7c3be164",
"isFailure": false,
"lastSentAt": "2024-03-15T10:23:45.000Z",
"status": "ACCEPTED"
}
}
}
remoteStartWithPreauthStatus
Description
Get the current status of the remote start with preauth
Response
Returns a RemoteStartResponse
Arguments
| Name | Description |
|---|---|
remoteStartPreauthId - String!
|
The preauth remote start session ID returned by the remoteStartWithPreauth mutation. |
Example
Query
query remoteStartWithPreauthStatus($remoteStartPreauthId: String!) {
remoteStartWithPreauthStatus(remoteStartPreauthId: $remoteStartPreauthId) {
attemptId
code
id
message
session
status
transaction
}
}
Variables
{"remoteStartPreauthId": "xyz789"}
Response
{
"data": {
"remoteStartWithPreauthStatus": {
"attemptId": "xyz789",
"code": 200,
"id": "980d6288-4828-4a18-be20-dbdc7c3be164",
"message": "Remote start accepted.",
"session": "TXN-20240315-00042",
"status": "ACCEPTED",
"transaction": "TXN-20240315-00042"
}
}
}
settings
Description
Get global tenant-level settings — legal documents (terms, privacy, etc.), the CRM currency, and the configured app-store rating. Pass key to filter to a single setting type (e.g. key: "crm_currency"). Allowed for roles INI, CRM, ANYM.
Example
query {
settings {
key
value
}
}
Response
Returns [Setting!]!
Arguments
| Name | Description |
|---|---|
key - String
|
Optional setting key to filter by (e.g. "crm_currency", "app_rating"). Omit to retrieve all settings. |
Example
Query
query settings($key: String) {
settings(key: $key) {
key
value
}
}
Variables
{"key": "abc123"}
Response
{
"data": {
"settings": [
{
"key": "app.support.email",
"value": "support-beenergised@chargepoint.com"
}
]
}
}
site
Description
Load a site by id
Response
Returns a Site
Example
Query
query site(
$id: String,
$ignoreMarketingConfiguration: Boolean
) {
site(
id: $id,
ignoreMarketingConfiguration: $ignoreMarketingConfiguration
) {
company
cps {
...CpFragment
}
id
label
latitude
longitude
scope
}
}
Variables
{
"id": "abc123",
"ignoreMarketingConfiguration": true
}
Response
{
"data": {
"site": {
"company": "City of Salzburg",
"cps": [
{
"id": "624e81bd-c0cf-4252-9bc4-30054fb6a6a8",
"label": "Main Street Station"
}
],
"id": "12c25c47-255a-4c75-922b-69cd9b328140",
"label": "Mozartplatz Parking",
"latitude": 47.8095,
"longitude": 13.055,
"scope": "public"
}
}
}
sitesPaged
Description
Load a paginated list of sites (locations), optionally filtered by connector properties
Response
Returns a SitesPaged
Arguments
| Name | Description |
|---|---|
filter - [ConnectorFilter]
|
Connector property filters (use the filters query to discover available options). |
ignoreMarketingConfiguration - Boolean
|
When true, returns sites even if hidden by marketing configuration. |
pagination - PaginationFilter
|
Pagination parameters (limit and offset). |
Example
Query
query sitesPaged(
$filter: [ConnectorFilter],
$ignoreMarketingConfiguration: Boolean,
$pagination: PaginationFilter
) {
sitesPaged(
filter: $filter,
ignoreMarketingConfiguration: $ignoreMarketingConfiguration,
pagination: $pagination
) {
data {
...SiteFragment
}
pagination {
...PaginationFragment
}
}
}
Variables
{
"filter": [ConnectorFilter],
"ignoreMarketingConfiguration": false,
"pagination": PaginationFilter
}
Response
{
"data": {
"sitesPaged": {
"data": [
{
"id": "12c25c47-255a-4c75-922b-69cd9b328140",
"label": "Mozartplatz Parking"
}
],
"pagination": {
"limit": 10,
"offset": 0,
"totalCount": 1,
"isLastPage": true
}
}
}
}
sitesPagedLocationBased
Description
Load a paginated list of sites with location-based proximity search
Response
Returns a SitesPaged
Arguments
| Name | Description |
|---|---|
filter - [ConnectorFilter]
|
Connector property filters (use the filters query to discover available options). |
ignoreMarketingConfiguration - Boolean
|
When true, returns sites even if hidden by marketing configuration. |
location - LocationFilter
|
Geographic center and radius to search within. |
pagination - PaginationFilter
|
Pagination parameters (limit and offset). |
Example
Query
query sitesPagedLocationBased(
$filter: [ConnectorFilter],
$ignoreMarketingConfiguration: Boolean,
$location: LocationFilter,
$pagination: PaginationFilter
) {
sitesPagedLocationBased(
filter: $filter,
ignoreMarketingConfiguration: $ignoreMarketingConfiguration,
location: $location,
pagination: $pagination
) {
data {
...SiteFragment
}
pagination {
...PaginationFragment
}
}
}
Variables
{
"filter": [ConnectorFilter],
"ignoreMarketingConfiguration": false,
"location": LocationFilter,
"pagination": PaginationFilter
}
Response
{
"data": {
"sitesPagedLocationBased": {
"data": [
{
"id": "12c25c47-255a-4c75-922b-69cd9b328140",
"label": "Mozartplatz Parking"
}
],
"pagination": {
"limit": 10,
"offset": 0,
"totalCount": 1,
"isLastPage": true
}
}
}
}
termsAndConditions
Description
The most recent terms and conditions in device language.
Response
Returns a LegalDocument
Example
Query
query termsAndConditions {
termsAndConditions {
id
type
url
version
}
}
Response
{
"data": {
"termsAndConditions": {
"id": "e7076445-fbaa-465b-af4f-925f4472560f",
"type": "TERMS_AND_CONDITIONS",
"url": "https://files.example.has-to-be.com/legal/terms-and-conditions-v3.pdf",
"version": "3.0"
}
}
}
Mutations
acceptLegalDocument
Description
Accept a legal document like "Terms and Conditions" or "Privacy Policy" by uuid.
Response
Returns a LegalDocumentStatus!
Arguments
| Name | Description |
|---|---|
id - String!
|
UUID of the legal document to accept (terms and conditions or privacy policy). |
Example
Query
mutation acceptLegalDocument($id: String!) {
acceptLegalDocument(id: $id) {
message
status
}
}
Variables
{"id": "abc123"}
Response
{
"data": {
"acceptLegalDocument": {
"message": "Legal document accepted successfully.",
"status": "success"
}
}
}
acceptTermsAndConditions
Description
Accept the terms and conditions by uuid.
Response
Returns a TermsAndConditionsStatus!
Arguments
| Name | Description |
|---|---|
id - String!
|
UUID of the terms-and-conditions document to accept. |
Example
Query
mutation acceptTermsAndConditions($id: String!) {
acceptTermsAndConditions(id: $id) {
message
status
}
}
Variables
{"id": "abc123"}
Response
{
"data": {
"acceptTermsAndConditions": {
"message": "Terms and conditions accepted successfully.",
"status": "success"
}
}
}
attemptRemoteStart
Description
Is similar to the remote start, but provides the customer with more detailed information about the current status. To get the current status after the mutation you need this query: remoteStartAttemptStatus
<!-- @module chargingProcess -->
Response
Returns an AttemptRemoteStartResponse!
Arguments
| Name | Description |
|---|---|
input - AttemptRemoteStartInput!
|
The remote start input containing connectorId, tagId, and optional config. |
Example
Query
mutation attemptRemoteStart($input: AttemptRemoteStartInput!) {
attemptRemoteStart(input: $input) {
chargeLogId
connectorId
failureReason
id
isFailure
lastSentAt
status
}
}
Variables
{"input": AttemptRemoteStartInput}
Response
{
"data": {
"attemptRemoteStart": {
"chargeLogId": "0ae16ec5-0810-449f-b452-8ab98110cdc4",
"connectorId": "5c749d00-315f-4127-a94d-17289206d054",
"failureReason": null,
"id": "980d6288-4828-4a18-be20-dbdc7c3be164",
"isFailure": false,
"lastSentAt": "2024-03-15T10:23:45.000Z",
"status": "ACCEPTED"
}
}
}
createAuthenticationMedia
Description
Create an authentication media
Response
Returns an AuthenticationMediaResponse
Arguments
| Name | Description |
|---|---|
authenticationMedia - authenticationMediaContract!
|
The authentication media (card) details including rateId and customerReference. |
Example
Query
mutation createAuthenticationMedia($authenticationMedia: authenticationMediaContract!) {
createAuthenticationMedia(authenticationMedia: $authenticationMedia) {
customerReference
id
rateId
}
}
Variables
{"authenticationMedia": authenticationMediaContract}
Response
{
"data": {
"createAuthenticationMedia": {
"customerReference": "My charging card",
"id": "80c085ee-cec6-43ec-a7de-2da8fe72688c",
"rateId": "6c69d520-44c4-48be-8192-22b3d97ed975"
}
}
}
createPostpaidContract
Description
Create a new postpaid billing contract for the authenticated user
Response
Returns a ContractPostpaidResponse
Arguments
| Name | Description |
|---|---|
postpaidContract - creatingPostpaidContract
|
The postpaid contract details to create. |
Example
Query
mutation createPostpaidContract($postpaidContract: creatingPostpaidContract) {
createPostpaidContract(postpaidContract: $postpaidContract) {
error {
...ContractErrorBodyFragment
}
message
status
}
}
Variables
{"postpaidContract": creatingPostpaidContract}
Response
{
"data": {
"createPostpaidContract": {
"error": null,
"message": "Contract created successfully.",
"status": "success"
}
}
}
createSepaContract
Description
Create a new SEPA direct debit contract with bank account details
Response
Returns a ContractSepaResponse
Arguments
| Name | Description |
|---|---|
sepaContract - creatingSepaContract
|
The SEPA contract details to create. |
Example
Query
mutation createSepaContract($sepaContract: creatingSepaContract) {
createSepaContract(sepaContract: $sepaContract) {
error {
...ContractErrorBodyFragment
}
message
status
}
}
Variables
{"sepaContract": creatingSepaContract}
Response
{
"data": {
"createSepaContract": {
"error": null,
"message": "SEPA contract created successfully.",
"status": "success"
}
}
}
deleteContact
Description
Delete Contact: Deleting the current logged in user
Response
Returns a ContactDeleteResponse
Example
Query
mutation deleteContact {
deleteContact {
additionalFields {
...AdditionalRegistrationFieldFragment
}
error {
...ErrorBodyFragment
}
profile {
...ContactFragment
}
status
}
}
Response
{
"data": {
"deleteContact": {
"additionalFields": [],
"error": null,
"profile": null,
"status": "success"
}
}
}
initAnonymousSession
Description
Initialise an anonymous session (no user identity required). Returns a JWT pair scoped to role ANYM, which grants read-only access to public charging-point information (e.g. cpsPaged, cpOccupancyRate, settings). Use this when your client wants to browse the network before login. Allowed for role INI.
Example
mutation {
initAnonymousSession {
sessionToken
refreshToken
}
}
Response
Returns a SessionAuthenticationResponse!
Example
Query
mutation initAnonymousSession {
initAnonymousSession {
refreshToken
sessionToken
}
}
Response
{
"data": {
"initAnonymousSession": {
"refreshToken": "eyJhbGciOiJSUzUxMiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI5ZDI3NmViYS0xY2UyLTQ3ZDItYTFlYS0wYzQwYTJiMTQ3OWUiLCJyb2xlIjoiUkZUIiwiaWF0IjoxNzEwNDkxMjAwLCJleHAiOjE3MTMwODMyMDB9.signature",
"sessionToken": "eyJhbGciOiJSUzUxMiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI5ZDI3NmViYS0xY2UyLTQ3ZDItYTFlYS0wYzQwYTJiMTQ3OWUiLCJyb2xlIjoiQ1JNIiwiaWF0IjoxNzEwNDkxMjAwLCJleHAiOjE3MTA0OTQ4MDB9.signature"
}
}
}
initSession
Description
Initialise an authenticated session for an existing user. Exchanges a username and password for a session-token / refresh-token pair (JWT). The returned sessionToken must be sent as Authorization: Bearer <token> on all subsequent CRM-role queries; the refreshToken is only valid for renewSession. Errors: EMAIL_CONFIRMATION_REQUIRED if the email has never been confirmed; otherwise "Wrong username or password." Allowed for role INI only.
Example
mutation {
initSession(username: "user@example.com", password: "s3cret") {
sessionToken
refreshToken
}
}
Response
Returns a SessionAuthenticationResponse!
Example
Query
mutation initSession(
$password: String!,
$username: String!
) {
initSession(
password: $password,
username: $username
) {
refreshToken
sessionToken
}
}
Variables
{
"password": "abc123",
"username": "xyz789"
}
Response
{
"data": {
"initSession": {
"refreshToken": "eyJhbGciOiJSUzUxMiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI5ZDI3NmViYS0xY2UyLTQ3ZDItYTFlYS0wYzQwYTJiMTQ3OWUiLCJyb2xlIjoiUkZUIiwiaWF0IjoxNzEwNDkxMjAwLCJleHAiOjE3MTMwODMyMDB9.signature",
"sessionToken": "eyJhbGciOiJSUzUxMiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI5ZDI3NmViYS0xY2UyLTQ3ZDItYTFlYS0wYzQwYTJiMTQ3OWUiLCJyb2xlIjoiQ1JNIiwiaWF0IjoxNzEwNDkxMjAwLCJleHAiOjE3MTA0OTQ4MDB9.signature"
}
}
}
invalidateSession
Description
Log the current user out by invalidating the refresh token server-side. The session token will continue to work until natural expiry — clients should also discard it locally. Throws SESSION_INVALIDATION_ERROR if the server-side invalidation fails. Allowed for role CRM.
Example
mutation {
invalidateSession {
isInvalidated
status
}
}
Response
Returns a SessionInvalidationResponse!
Example
Query
mutation invalidateSession {
invalidateSession {
isInvalidated
status
}
}
Response
{"data": {"invalidateSession": {"isInvalidated": true, "status": "success"}}}
registerContact
Description
Create user profile: Expecting a JSON containing the users information a new account is created in the mandant
Response
Returns a ContactResponse
Arguments
| Name | Description |
|---|---|
additionalFields - [AdditionalRegistrationFieldInput]
|
Tenant-specific additional fields required for registration. |
contactProfile - RegisteringContactProfile
|
The user profile data for the new account. |
Example
Query
mutation registerContact(
$additionalFields: [AdditionalRegistrationFieldInput],
$contactProfile: RegisteringContactProfile
) {
registerContact(
additionalFields: $additionalFields,
contactProfile: $contactProfile
) {
additionalFields {
...AdditionalRegistrationFieldFragment
}
error {
...ErrorBodyFragment
}
profile {
...ContactFragment
}
}
}
Variables
{
"additionalFields": [AdditionalRegistrationFieldInput],
"contactProfile": RegisteringContactProfile
}
Response
{
"data": {
"registerContact": {
"additionalFields": [],
"error": null,
"profile": {
"id": "9d276eba-1ce2-47d2-a1ea-0c40a2b1479e",
"email": "max.mustermann@example.com"
}
}
}
}
registerPaymentMethod
Description
Register a new payment method for the current user via Optile. The returned link should be opened in a browser/webview to complete card or SEPA enrolment; id is the Optile transaction handle for status polling. rateId ties the registration to the rate package the user is signing up to. callbackType controls whether Optile posts the success callback as JSON (server-to-server) or HTML (browser redirect). Allowed for role CRM.
Example
mutation {
registerPaymentMethod(rateId: "rate-uuid-...", callbackType: JSON) {
id
absoluteLink
}
}
Response
Returns an OptileTransaction
Arguments
| Name | Description |
|---|---|
callbackType - PaymentCallbackType
|
Callback format for Optile: JSON (server-to-server) or HTML (browser redirect). Defaults to JSON. Default = JSON |
customerReference - String
|
Optional customer reference string for the payment registration. |
rateId - String!
|
UUID of the rate package the user is enrolling in. |
Example
Query
mutation registerPaymentMethod(
$callbackType: PaymentCallbackType,
$customerReference: String,
$rateId: String!
) {
registerPaymentMethod(
callbackType: $callbackType,
customerReference: $customerReference,
rateId: $rateId
) {
absoluteLink
id
link
}
}
Variables
{
"callbackType": "JSON",
"customerReference": "xyz789",
"rateId": "xyz789"
}
Response
{
"data": {
"registerPaymentMethod": {
"absoluteLink": "https://payment-gateway.example.com/checkout/txn-optile-00123",
"id": "txn-optile-00123",
"link": "/checkout/txn-optile-00123"
}
}
}
remoteStart
Description
Start a remote charging process
Example
mutation {
remoteStart(authorization: { identifier: "tag-id-...", type: RFID }, connector: "connector-uuid-...") {
id
status
transaction
}
}
Response
Returns a RemoteStartResponse
Arguments
| Name | Description |
|---|---|
authorization - Authorization
|
The authorization credentials (identifier + type) to use for the charging session. |
connector - String
|
UUID of the connector to start charging on. |
Example
Query
mutation remoteStart(
$authorization: Authorization,
$connector: String
) {
remoteStart(
authorization: $authorization,
connector: $connector
) {
attemptId
code
id
message
session
status
transaction
}
}
Variables
{
"authorization": Authorization,
"connector": "xyz789"
}
Response
{
"data": {
"remoteStart": {
"attemptId": "xyz789",
"code": 200,
"id": "980d6288-4828-4a18-be20-dbdc7c3be164",
"message": "Remote start accepted.",
"session": "TXN-20240315-00042",
"status": "ACCEPTED",
"transaction": "TXN-20240315-00042"
}
}
}
remoteStartWithPreauth
Description
Start a remote charging process with preauthorization.
Response
Returns a RemoteStartWithPreauthResponse
Arguments
| Name | Description |
|---|---|
authorization - Authorization
|
The authorization credentials (identifier + type) to use for the charging session. |
connector - String
|
UUID of the connector to start charging on. |
preauthCurrencyAmount - CurrencyAmountInput
|
The preauthorization amount to use. Must be one of the values returned by RateOption.preauthCurrencyAmounts for this connector — not a freely chosen amount. |
Example
Query
mutation remoteStartWithPreauth(
$authorization: Authorization,
$connector: String,
$preauthCurrencyAmount: CurrencyAmountInput
) {
remoteStartWithPreauth(
authorization: $authorization,
connector: $connector,
preauthCurrencyAmount: $preauthCurrencyAmount
) {
message
redirectUrl
remoteStartPreauthId
}
}
Variables
{
"authorization": Authorization,
"connector": "xyz789",
"preauthCurrencyAmount": CurrencyAmountInput
}
Response
{
"data": {
"remoteStartWithPreauth": {
"message": "Preauth initiated. Complete payment to start charging.",
"redirectUrl": "https://payment-gateway.example.com/checkout/preauth-00123",
"remoteStartPreauthId": "980d6288-4828-4a18-be20-dbdc7c3be164"
}
}
}
remoteStartWithoutInvoicing
Description
Start a remote charging process without invoicing
Response
Returns a RemoteStartResponse
Arguments
| Name | Description |
|---|---|
authorization - Authorization
|
The authorization credentials (identifier + type) to use for the charging session. |
connector - String
|
UUID of the connector to start charging on. |
Example
Query
mutation remoteStartWithoutInvoicing(
$authorization: Authorization,
$connector: String
) {
remoteStartWithoutInvoicing(
authorization: $authorization,
connector: $connector
) {
attemptId
code
id
message
session
status
transaction
}
}
Variables
{
"authorization": Authorization,
"connector": "xyz789"
}
Response
{
"data": {
"remoteStartWithoutInvoicing": {
"attemptId": "xyz789",
"code": 200,
"id": "980d6288-4828-4a18-be20-dbdc7c3be164",
"message": "Remote start accepted.",
"session": "TXN-20240315-00042",
"status": "ACCEPTED",
"transaction": "TXN-20240315-00042"
}
}
}
remoteStop
Description
Stop a remote charging process
Example
mutation {
remoteStop(transaction: "transaction-id-...") {
status
message
}
}
Response
Returns a RemoteStopResponse
Arguments
| Name | Description |
|---|---|
transaction - String
|
The transaction ID of the charging session to stop (returned by remoteStart). |
Example
Query
mutation remoteStop($transaction: String) {
remoteStop(transaction: $transaction) {
code
message
status
title
}
}
Variables
{"transaction": "xyz789"}
Response
{
"data": {
"remoteStop": {
"code": 200,
"message": "Remote stop accepted.",
"status": "ACCEPTED",
"title": "Stop Accepted"
}
}
}
renewSession
Description
Exchange a still-valid refreshToken for a new sessionToken + refreshToken pair. Use just before the current sessionToken expires. The previous refresh token is single-use and is invalidated server-side. Allowed for role RFT.
Example
mutation {
renewSession {
sessionToken
refreshToken
}
}
Response
Returns a SessionAuthenticationResponse!
Example
Query
mutation renewSession {
renewSession {
refreshToken
sessionToken
}
}
Response
{
"data": {
"renewSession": {
"refreshToken": "eyJhbGciOiJSUzUxMiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI5ZDI3NmViYS0xY2UyLTQ3ZDItYTFlYS0wYzQwYTJiMTQ3OWUiLCJyb2xlIjoiUkZUIiwiaWF0IjoxNzEwNDkxMjAwLCJleHAiOjE3MTMwODMyMDB9.signature",
"sessionToken": "eyJhbGciOiJSUzUxMiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI5ZDI3NmViYS0xY2UyLTQ3ZDItYTFlYS0wYzQwYTJiMTQ3OWUiLCJyb2xlIjoiQ1JNIiwiaWF0IjoxNzEwNDkxMjAwLCJleHAiOjE3MTA0OTQ4MDB9.signature"
}
}
}
setFavouriteCps
Description
Update the list of favourite Charge Points for the current user
Response
Returns [CpFavouredStatus]
Arguments
| Name | Description |
|---|---|
ids - [String]!
|
List of charging point UUIDs to add as favourites. |
Example
Query
mutation setFavouriteCps($ids: [String]!) {
setFavouriteCps(ids: $ids) {
id
isFavoured
}
}
Variables
{"ids": ["abc123"]}
Response
{
"data": {
"setFavouriteCps": [
{"id": "624e81bd-c0cf-4252-9bc4-30054fb6a6a8", "isFavoured": true}
]
}
}
unsetFavouriteCps
Description
Removing the favourite Charge Points for the current user
Response
Returns [CpFavouredStatus]
Arguments
| Name | Description |
|---|---|
ids - [String]!
|
List of charging point UUIDs to remove from favourites. |
Example
Query
mutation unsetFavouriteCps($ids: [String]!) {
unsetFavouriteCps(ids: $ids) {
id
isFavoured
}
}
Variables
{"ids": ["xyz789"]}
Response
{
"data": {
"unsetFavouriteCps": [
{"id": "624e81bd-c0cf-4252-9bc4-30054fb6a6a8", "isFavoured": true}
]
}
}
updateCard
Description
Update an existing authentication card belonging to the authenticated user — change its label (display name) and/or status (ACTIVATE / DEACTIVATE). The cardId argument is the card UUID. Returns the full updated card record. Allowed for role CRM.
Example
mutation {
updateCard(input: { cardId: "a1b2c3d4-...", label: "My Office Card", status: ACTIVATE }) {
id
label
status
}
}
Response
Returns an UpdateCardResponse!
Arguments
| Name | Description |
|---|---|
input - UpdateCardInput!
|
The card update payload containing cardId, optional label, and optional status. |
Example
Query
mutation updateCard($input: UpdateCardInput!) {
updateCard(input: $input) {
expiryDate
id
label
message
number
status
tagId
type
}
}
Variables
{"input": UpdateCardInput}
Response
{
"data": {
"updateCard": {
"expiryDate": "2026-12-31",
"id": "4a7fb3a6-c5ff-4739-b46c-c013a4c8ce3f",
"label": "My Work Card",
"message": "Card updated successfully.",
"number": "HTB-0001234",
"status": "active",
"tagId": "c1a4f434-d8c1-4bc3-8b51-4784298cc442",
"type": "default"
}
}
}
updateContact
Description
Update user profile: Providing a user ID and user JSON, all set fields with a non null value will be updated for user.
Response
Returns a ContactResponse
Arguments
| Name | Description |
|---|---|
contactProfile - ContactProfile!
|
The user profile fields to update (only non-null fields are applied). |
Example
Query
mutation updateContact($contactProfile: ContactProfile!) {
updateContact(contactProfile: $contactProfile) {
additionalFields {
...AdditionalRegistrationFieldFragment
}
error {
...ErrorBodyFragment
}
profile {
...ContactFragment
}
}
}
Variables
{"contactProfile": ContactProfile}
Response
{
"data": {
"updateContact": {
"additionalFields": [],
"error": null,
"profile": {
"id": "9d276eba-1ce2-47d2-a1ea-0c40a2b1479e",
"email": "max.mustermann@example.com"
}
}
}
}
updatePostpaidContract
Description
Update an existing postpaid contract (e.g. change customer reference)
Response
Returns a ContractPostpaidResponse
Arguments
| Name | Description |
|---|---|
postpaidContract - updatePostpaidContract
|
The postpaid contract fields to update. |
Example
Query
mutation updatePostpaidContract($postpaidContract: updatePostpaidContract) {
updatePostpaidContract(postpaidContract: $postpaidContract) {
error {
...ContractErrorBodyFragment
}
message
status
}
}
Variables
{"postpaidContract": updatePostpaidContract}
Response
{
"data": {
"updatePostpaidContract": {
"error": null,
"message": "Contract created successfully.",
"status": "success"
}
}
}
updateSepaContract
Description
Update an existing SEPA contract (e.g. change bank details or customer reference)
Response
Returns a ContractSepaResponse
Arguments
| Name | Description |
|---|---|
updateSepaContract - updatingSepaContract
|
The SEPA contract fields to update. |
Example
Query
mutation updateSepaContract($updateSepaContract: updatingSepaContract) {
updateSepaContract(updateSepaContract: $updateSepaContract) {
error {
...ContractErrorBodyFragment
}
message
status
}
}
Variables
{"updateSepaContract": updatingSepaContract}
Response
{
"data": {
"updateSepaContract": {
"error": null,
"message": "SEPA contract created successfully.",
"status": "success"
}
}
}
Types
AccessType
Description
AccessType defines the possible states of how the station can be accessed. Typically a station is either external (e.g. via Roaming) or is a internal station.
Values
| Enum Value | Description |
|---|---|
|
|
The station is accessible via the internal infrastructure |
|
|
The station is accessible via an external roaming interface |
Example
"INTERNAL"
AccountDocument
Description
Details about one document.
Fields
| Field Name | Description |
|---|---|
documentDate - DateTime
|
The date when the document was issued |
downloadLink - String
|
A Link to download the pdf |
id - String
|
UUID of the document. |
title - String
|
The title of the document |
type - accountDocumentType
|
The type of the document |
Example
{
"documentDate": "2024-03-15T00:00:00.000Z",
"downloadLink": "https://files.example.has-to-be.com/invoices/cbce05d9-9172-4201-a8e4-bd3b47366097.pdf",
"id": "cbce05d9-9172-4201-a8e4-bd3b47366097",
"title": "Invoice 2024-001",
"type": "invoice"
}
AccountDocumentsPaged
Description
AccountDocuments filtered by page
Fields
| Field Name | Description |
|---|---|
data - [AccountDocument]
|
The paged set of documents of the authenticated user. |
pagination - Pagination
|
Pagination filter |
Example
{
"data": [
{
"id": "cbce05d9-9172-4201-a8e4-bd3b47366097",
"title": "Invoice 2024-001",
"type": "invoice"
}
],
"pagination": {"limit": 10, "offset": 0, "totalCount": 1, "isLastPage": true}
}
AdditionalCpField
AdditionalRegistrationField
Description
A tenant-specific extra field shown during registration.
Fields
| Field Name | Description |
|---|---|
description - String
|
Human-readable description of what this field is for. |
name - String
|
Field name / identifier. |
required - String
|
Whether this field is mandatory ("1" = required). |
type - String
|
Data type hint (e.g. text, number). |
value - String
|
Current or default value of the field. |
Example
{
"description": "Your company employee ID",
"name": "employee_id",
"required": "true",
"type": "text",
"value": "EMP-00123"
}
AdditionalRegistrationFieldInput
Description
Input for submitting a tenant-specific additional registration field value.
Fields
| Input Field | Description |
|---|---|
description - String
|
Human-readable description of the field. |
name - String!
|
Field name / identifier. |
required - String!
|
Whether this field is mandatory ("1" = required). |
type - String
|
Data type hint for the field (e.g. text, number). |
value - String!
|
The user-provided value for this field. |
Example
{
"description": "Your company employee ID",
"name": "employee_id",
"required": "true",
"type": "text",
"value": "EMP-00123"
}
Address
Description
Postal address of a contact.
Fields
| Field Name | Description |
|---|---|
city - String
|
City name. |
country - CountryAlpha
|
Country (ISO 3166-1 alpha-2 code). |
state - String
|
State or province. |
street - String
|
Street name and number. |
zip - String
|
Postal / ZIP code. |
Example
{
"city": "Salzburg",
"country": "AT",
"state": "Salzburg",
"street": "Mozartplatz 1",
"zip": "5020"
}
AddressInput
Description
Postal address input for creating or updating a contact.
Fields
| Input Field | Description |
|---|---|
city - String
|
City name. |
country - CountryAlpha
|
Country (ISO 3166-1 alpha-2 code). |
state - String
|
State or province. |
street - String
|
Street name and number. |
zip - String
|
Postal / ZIP code. |
Example
{
"city": "Salzburg",
"country": "AT",
"state": "Salzburg",
"street": "Mozartplatz 1",
"zip": "5020"
}
AttemptRemoteStartConfig
Description
Additional configuration options for the remote start attempt.
Fields
| Input Field | Description |
|---|---|
ratePackage - String
|
ID of a selected rate package. |
stopMinutes - Int
|
Number of minutes after which a remote stop is automatically triggered. |
validUntil - String
|
A start will be permitted until the specified date and time. If validUntil is not set, it is automatically set to now +10 minutes. Must be a valid ISO 8601 date string. |
Example
{
"ratePackage": "28e70f8a-0589-40c6-a0b2-53c1b602fba1",
"stopMinutes": 120,
"validUntil": "2025-05-07T15:30:00Z"
}
AttemptRemoteStartInput
Description
Input for attempting a remote start on a connector with a specific card.
Fields
| Input Field | Description |
|---|---|
config - AttemptRemoteStartConfig
|
Optional configuration parameters. |
connectorId - String!
|
UUID of the connector to start charging on. |
tagId - String!
|
Tag ID of the authentication card to authorize with. |
Example
{
"config": {"stopMinutes": 120, "validUntil": "2025-05-07T15:30:00Z"},
"connectorId": "5c749d00-315f-4127-a94d-17289206d054",
"tagId": "c1a4f434-d8c1-4bc3-8b51-4784298cc442"
}
AttemptRemoteStartResponse
Description
Status of a remote start attempt, including success/failure info and related IDs.
Fields
| Field Name | Description |
|---|---|
chargeLogId - String
|
The id of the chargelog related to this attempt. |
connectorId - String!
|
The connector this attempt was carried out on. |
failureReason - String
|
Message describing why this attempt did not succeed. |
id - ID!
|
UUID of this remote start attempt. |
isFailure - Boolean!
|
Indicates if this attempt was successful so far. |
lastSentAt - String
|
The last time a message was sent to the station for this attempt. |
status - String!
|
The current status of this attempt. |
Example
{
"chargeLogId": "0ae16ec5-0810-449f-b452-8ab98110cdc4",
"connectorId": "5c749d00-315f-4127-a94d-17289206d054",
"failureReason": null,
"id": "980d6288-4828-4a18-be20-dbdc7c3be164",
"isFailure": false,
"lastSentAt": "2024-03-15T10:23:45.000Z",
"status": "ACCEPTED"
}
AuthenticationMediaResponse
Description
Response after creating an authentication media (card) for a contract.
Example
{
"customerReference": "My charging card",
"id": "80c085ee-cec6-43ec-a7de-2da8fe72688c",
"rateId": "6c69d520-44c4-48be-8192-22b3d97ed975"
}
Authorization
Description
Authorization credentials for starting a remote charging session.
Fields
| Input Field | Description |
|---|---|
identifier - String!
|
The identifier value (e.g. RFID tag ID or card UUID depending on type). |
type - AuthorizationType!
|
The type of authorization — AUTO (system selects best card) or RFID. |
Example
{"identifier": "c1a4f434-d8c1-4bc3-8b51-4784298cc442", "type": "RFID"}
AuthorizationType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"AUTO"
AvailableCurrencies
Description
Paginated list of currencies available to the user.
Fields
| Field Name | Description |
|---|---|
data - [AvailableCurrency!]
|
List of available currency entries. |
pagination - Pagination
|
Pagination metadata for the result set. |
Example
{
"data": [{"currency": {"isoCode": "EUR"}}, {"currency": {"isoCode": "USD"}}],
"pagination": {"limit": 10, "offset": 0, "totalCount": 2, "isLastPage": true}
}
AvailableCurrency
Description
A currency available for the authenticated user.
Fields
| Field Name | Description |
|---|---|
currency - Currency
|
Unique identifier in form of an iso code. |
Example
{"currency": {"isoCode": "EUR"}}
BankAccountResponse
Description
SEPA bank account details associated with the user's SEPA contract.
Example
{
"accountHolder": "Max Mustermann",
"bank": "Erste Bank",
"bic": "GIBAATWWXXX",
"iban": "AT12 3456 7890 1234 5678"
}
Boolean
Description
The Boolean scalar type represents true or false.
Example
true
Card
Description
An authentication media (card) belonging to the user, with full details.
Fields
| Field Name | Description |
|---|---|
deactivationReason - String!
|
Reason of deactivation |
expiryDate - DateTime
|
Expiry date of the authentication media (card). |
id - String!
|
UUID of the card. |
label - String
|
Label of the authentication media (card). |
number - String!
|
Number of the authentication media (card). |
preauthRequired - Boolean!
|
Indicator whether a preauthentication is necessary on the corresponding payment medium. |
rate - RateOption
|
Rate options of card |
status - CardStatus
|
Indicator whether authentication media (card) is active/inactive. |
tagId - String!
|
RFID tag identifier of the card. |
type - CardType
|
Type of the authentication media (card). |
Example
{
"deactivationReason": "",
"expiryDate": "2026-12-31T23:59:59.000Z",
"id": "4a7fb3a6-c5ff-4739-b46c-c013a4c8ce3f",
"label": "My Work Card",
"number": "HTB-0001234",
"preauthRequired": true,
"rate": {
"id": "6c69d520-44c4-48be-8192-22b3d97ed975",
"name": "Standard Rate",
"shortDescription": "0.35 EUR/kWh"
},
"status": "active",
"tagId": "c1a4f434-d8c1-4bc3-8b51-4784298cc442",
"type": "default"
}
CardForChargingProcess
Description
A card eligible for starting a charging process on a specific connector.
Fields
| Field Name | Description |
|---|---|
expiryDate - DateTime
|
Expiry date of the authentication media (card). |
id - String!
|
UUID of the card. |
label - String
|
Label of the authentication media (card). |
number - String!
|
Number of the authentication media (card). |
preauthRequired - Boolean!
|
Indicator whether a preauthentication is necessary on the corresponding payment medium. |
rate - RateDescriptionForChargingProcess
|
Information on rate which will be applied to the charging process. |
tagId - String!
|
RFID tag identifier of the card. |
type - CardType
|
Type of the authentication media (card). |
Example
{
"expiryDate": "2026-12-31T23:59:59.000Z",
"id": "4a7fb3a6-c5ff-4739-b46c-c013a4c8ce3f",
"label": "My Work Card",
"number": "HTB-0001234",
"preauthRequired": true,
"rate": {
"description": "Pay per kWh",
"shortDescription": "0.35 EUR/kWh",
"preauthCurrencyAmounts": [{"amount": 30, "currency": {"isoCode": "EUR"}}]
},
"tagId": "c1a4f434-d8c1-4bc3-8b51-4784298cc442",
"type": "default"
}
CardInterface
Description
Shared interface for authentication media (cards) defining common fields.
Fields
| Field Name | Description |
|---|---|
expiryDate - DateTime
|
Expiry date of the authentication media (card). |
id - String!
|
UUID of the card. |
label - String
|
Label of the authentication media (card). |
number - String!
|
Number of the authentication media (card). |
preauthRequired - Boolean!
|
Indicator whether a preauthentication is necessary on the corresponding payment medium. |
tagId - String!
|
RFID tag identifier of the card. |
type - CardType
|
Type of the authentication media (card). |
Possible Types
| CardInterface Types |
|---|
Example
{
"expiryDate": "2007-12-03T10:15:30Z",
"id": "abc123",
"label": "xyz789",
"number": "abc123",
"preauthRequired": true,
"tagId": "abc123",
"type": "default"
}
CardStatus
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"active"
CardStatusActionEnum
Description
defined values for card status actions
Values
| Enum Value | Description |
|---|---|
|
|
Example
"DEACTIVATE"
CardType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"default"
CardsPaged
Description
Paginated list of authentication media (cards) belonging to the user.
Fields
| Field Name | Description |
|---|---|
data - [Card]
|
List of cards in the current page. |
pagination - Pagination
|
Pagination metadata for the result set. |
Example
{
"data": [
{
"id": "4a7fb3a6-c5ff-4739-b46c-c013a4c8ce3f",
"label": "My Work Card",
"number": "HTB-0001234",
"status": "active"
}
],
"pagination": {"limit": 10, "offset": 0, "totalCount": 1, "isLastPage": true}
}
CdrCostItem
Description
A single cost line item within a charging session cost breakdown.
Fields
| Field Name | Description |
|---|---|
description - String
|
Description of the item type |
grossAmount - Float
|
Gross amount |
grossAmountLocalCurrency - Float
|
Gross amount expressed in local currency |
netAmount - Float
|
Net amount |
netAmountLocalCurrency - Float
|
Net amount expressed in local currency |
taxAmount - Float
|
Tax amount |
taxAmountLocalCurrency - Float
|
Tax amount expressed in local currency |
taxRate - Float
|
Percentage of the tax |
Example
{
"description": "Energy",
"grossAmount": 8.54,
"grossAmountLocalCurrency": 8.54,
"netAmount": 7.12,
"netAmountLocalCurrency": 7.12,
"taxAmount": 1.42,
"taxAmountLocalCurrency": 1.42,
"taxRate": 20
}
ChargeLogFilterStatus
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"started"
ChargeLogType
Description
ToDo Add cp,card ....
Values
| Enum Value | Description |
|---|---|
|
|
Example
"contact"
Chargelog
Description
A single charging session log entry with consumption, cost, and connector details.
Fields
| Field Name | Description |
|---|---|
accountDocument - AccountDocument
|
The related account document. |
authId - String!
|
The identifier with whom the charging process was authorized. |
authType - String
|
The type of authentication media with whom the charging process was authorized. |
calibrationDetails - String
|
The link to download calibration details. |
co2Saving - Float
|
The CO2 saving in kg CO2. |
connector - Connector!
|
The connector on which the charging process is/was running. |
cost - Cost
|
The costs of the charging process. |
dateEnd - DateTime
|
End date of the charging process. |
dateStart - DateTime
|
Start date of the charging process. |
energyConsumption - Float
|
The consumed energy in kWh. |
id - ID!
|
Unique identifier in form of an uuid. |
meterEnd - Int
|
End value of the meter. |
meterStart - Int
|
Starting value of the meter. |
rateName - String
|
Name of the used rate. |
sessionId - String
|
Id of the Session. Needed to stop the transaction |
status - String!
|
The current status of the charging process. |
Example
{
"accountDocument": {
"id": "cbce05d9-9172-4201-a8e4-bd3b47366097",
"title": "Invoice 2024-001",
"type": "invoice"
},
"authId": "c1a4f434-d8c1-4bc3-8b51-4784298cc442",
"authType": "RFID",
"calibrationDetails": null,
"co2Saving": 11.7,
"connector": {
"id": "5c749d00-315f-4127-a94d-17289206d054",
"evseId": "AT*HTB*E000001*1",
"label": "Connector 1"
},
"cost": {"total": 8.54, "grossAmount": 8.54, "currency": "EUR"},
"dateEnd": "2024-03-15T10:15:00.000Z",
"dateStart": "2024-03-15T08:30:00.000Z",
"energyConsumption": 24.37,
"id": "c258a8ab-e265-4f14-a9ba-12cef13f49f7",
"meterEnd": 48740000,
"meterStart": 24370000,
"rateName": "Standard Rate",
"sessionId": "8b60a3b3-e26c-4df8-8f29-02a682dc15c3",
"status": "stopped"
}
ChargelogFilter
Description
Filter for chargelogs.
Fields
| Input Field | Description |
|---|---|
status - ChargeLogFilterStatus
|
The current status of the charging process. |
Example
{"status": "stopped"}
ChargelogsPaged
Description
Paginated list of charging session logs.
Fields
| Field Name | Description |
|---|---|
data - [Chargelog]
|
List of chargelogs in the current page. |
pagination - Pagination
|
Pagination metadata for the result set. |
Example
{
"data": [
{
"id": "c258a8ab-e265-4f14-a9ba-12cef13f49f7",
"status": "stopped",
"energyConsumption": 24.37
}
],
"pagination": {"limit": 10, "offset": 0, "totalCount": 1, "isLastPage": true}
}
ChargingStatistics
Description
Aggregated statistics about charging sessions (count, energy, CO2 saving).
Example
{"co2Saving": 186, "energyConsumption": 387.5, "number": 42}
Connector
Description
A single EV charging connector (plug) attached to a charging point.
Fields
| Field Name | Description |
|---|---|
connectorType - ConnectorType
|
Physical connector type information (plug type, power rating, etc.). |
cp - Cp
|
The parent charging point this connector belongs to. |
evseId - String
|
EVSE ID (Electric Vehicle Supply Equipment identifier) per OCPI standard. |
freeOfCharge - Boolean
|
Whether charging at this connector is free of charge. |
id - ID!
|
UUID of the connector. |
label - String
|
Human-readable label for the connector. |
maintenanceWindows - [ConnectorMaintenanceWindow]!
|
Scheduled maintenance windows when this connector will be unavailable. |
physicalReference - String
|
Physical identifier (e.g., sticker number) displayed on the charger for user wayfinding. May be null if not configured. |
sortOrder - String
|
Display sort order for listing connectors within a CP. |
status - ConnectorStatus
|
Current availability status of the connector. |
Example
{
"connectorType": {
"id": "36",
"label": "Type 2 – 22 kW",
"plugType": "Type 2 Outlet",
"chargePointType": "AC",
"maxPowerRating": 22
},
"cp": {
"id": "624e81bd-c0cf-4252-9bc4-30054fb6a6a8",
"label": "Main Street Station",
"publicName": "Main Street Station"
},
"evseId": "AT*HTB*E000001*1",
"freeOfCharge": false,
"id": "5c749d00-315f-4127-a94d-17289206d054",
"label": "Connector 1",
"maintenanceWindows": [],
"physicalReference": "1",
"sortOrder": "1",
"status": {
"connectorId": "5c749d00-315f-4127-a94d-17289206d054",
"calculated": "Available",
"ocpp": "Available",
"simple": "Available"
}
}
ConnectorFilter
Description
With this parameter, you can set different filter options for the connector.
As the filter options can change over time, depending on the stations available in our system, the different options are not hardcoded. They can be retrieved from the filters query.
Fields
| Input Field | Description |
|---|---|
options - [String]
|
Array of options for the type of filter. |
slug - FilterType
|
The type of the filter to apply |
Example
{"options": ["current_type_dc"], "slug": "POWER_CLASS"}
ConnectorMaintenanceWindow
Description
Connector maintenance window
Example
{
"comment": "Scheduled firmware upgrade",
"endDate": "2024-04-02T04:00:00.000Z",
"startDate": "2024-04-01T22:00:00.000Z"
}
ConnectorStatus
Description
Current availability status of a connector (raw OCPP, calculated, and simplified).
Fields
| Field Name | Description |
|---|---|
calculated - String
|
Calculated current cp connector status |
connectorId - ID!
|
The connector’s internal ID. |
ocpp - String
|
Latest/current ocpp connector status that was received from the connector |
simple - SimpleConnectorStatus
|
Calculated current cp connector status in simplified form |
Example
{
"calculated": "Available",
"connectorId": "5c749d00-315f-4127-a94d-17289206d054",
"ocpp": "Available",
"simple": "Available"
}
ConnectorType
Description
Type of connector
Fields
| Field Name | Description |
|---|---|
chargePointType - String
|
Charge point type of the connector (AC or DC). |
chargingFacilityType - String
|
Charging facility type of the connector. |
chargingModeType - String
|
Charging mode type of the connector. |
id - ID!
|
Internal ID of the connector type. |
label - String
|
Label of the connector's type. |
maxPowerRating - Float
|
Maximum power rating of the connector, defined in kW. |
plugType - String
|
Plug type of the connector. |
standard - String
|
Standard of the connector's type. |
Example
{
"chargePointType": "AC",
"chargingFacilityType": "380 - 480V, 3-Phase ≤32A",
"chargingModeType": "Mode_3",
"id": "36",
"label": "Type 2 – 22 kW",
"maxPowerRating": 22,
"plugType": "Type 2 Outlet",
"standard": "IEC-62196-T2"
}
Contact
Description
Contact data
Fields
| Field Name | Description |
|---|---|
address - Address
|
Postal address of the contact. |
birthday - DateTime
|
Date of birth. |
companyId - Int
|
Company ID (for contacts belonging to a company). |
createdAt - DateTime
|
Timestamp when this contact was created. |
currency - Currency
|
Preferred currency for this contact. |
displayName - String
|
Computed display name (e.g. firstName + name). |
email - String
|
Email address. |
firstName - String
|
First name of the contact. |
gender - Gender
|
Gender: female, male, company, or diverse. |
id - String
|
UUID of the contact. |
isCompany - Boolean
|
Whether this contact represents a company rather than an individual. |
isDeactivated - Boolean
|
Whether this contact has been deactivated. |
language - LanguageCode
|
Preferred language (locale code). |
legalDocumentsAccepted - [LegalDocumentAccepted]
|
List of legal documents the user has accepted. |
mobile - String
|
Mobile phone number. |
name - String
|
Last name / family name of the contact. |
phone - String
|
Phone number. |
termsAndConditionsAccepted - Boolean
|
Use 'legalDocumentsAccepted' instead |
updatedAt - DateTime
|
Timestamp of the last update. |
vat - String
|
VAT identification number (for company contacts). |
Example
{
"address": {
"street": "Mozartplatz 1",
"city": "Salzburg",
"zip": "5020",
"country": "AT"
},
"birthday": "1985-06-15T00:00:00.000Z",
"companyId": null,
"createdAt": "2022-01-10T09:00:00.000Z",
"currency": {"isoCode": "EUR"},
"displayName": "Max Mustermann",
"email": "max.mustermann@example.com",
"firstName": "Max",
"gender": "male",
"id": "9d276eba-1ce2-47d2-a1ea-0c40a2b1479e",
"isCompany": false,
"isDeactivated": false,
"language": "de_DE",
"legalDocumentsAccepted": [
{
"legalDocumentType": "TERMS_AND_CONDITIONS",
"legalDocumentAccepted": true
},
{"legalDocumentType": "PRIVACY_POLICY", "legalDocumentAccepted": true}
],
"mobile": "+43 664 1234567",
"name": "Mustermann",
"phone": "+43 316 1234567",
"termsAndConditionsAccepted": true,
"updatedAt": "2024-03-01T14:22:00.000Z",
"vat": "ATU12345678"
}
ContactDeleteResponse
Description
Response after deleting a user contact.
Fields
| Field Name | Description |
|---|---|
additionalFields - [AdditionalRegistrationField]
|
Additional registration fields associated with the deleted contact. |
error - ErrorBody
|
Error details if the deletion failed. |
profile - Contact
|
The contact profile at time of deletion. |
status - String
|
Status of the deletion operation. |
Example
{"additionalFields": [], "error": null, "profile": null, "status": "success"}
ContactInformation
ContactProfile
Description
User profile
Fields
| Input Field | Description |
|---|---|
address - AddressInput
|
Postal address. |
birthday - DateTime
|
Date of birth. |
companyId - Int
|
Company ID. |
currency - String
|
Preferred currency ISO code. |
email - String
|
Email address. |
fax - String
|
Fax number. |
firstName - String
|
First name. |
gender - Gender
|
Gender: female, male, company, or diverse. |
id - String
|
UUID of the contact to update. |
isCompany - Boolean
|
Whether this contact represents a company. |
isDeactivated - Boolean
|
Whether to deactivate this contact. |
language - LanguageCode
|
Preferred language (locale code). |
mobile - String
|
Mobile phone number. |
name - String
|
Last name / family name. |
phone - String
|
Phone number. |
vat - String
|
VAT identification number. |
Example
{
"address": {
"street": "Mozartplatz 1",
"city": "Salzburg",
"zip": "5020",
"country": "AT"
},
"birthday": "1985-06-15T00:00:00.000Z",
"companyId": null,
"currency": "EUR",
"email": "max.mustermann@example.com",
"fax": null,
"firstName": "Max",
"gender": "male",
"id": "9d276eba-1ce2-47d2-a1ea-0c40a2b1479e",
"isCompany": false,
"isDeactivated": false,
"language": "de_DE",
"mobile": "+43 664 1234567",
"name": "Mustermann",
"phone": "+43 316 1234567",
"vat": "ATU12345678"
}
ContactResponse
Description
Response for contact register/update operations. Contains the updated profile, additional fields, and potential errors.
Fields
| Field Name | Description |
|---|---|
additionalFields - [AdditionalRegistrationField]
|
The current additional registration fields for this user. |
error - ErrorBody
|
Error details if the operation failed. |
profile - Contact
|
The updated contact profile (null on error). |
Example
{
"additionalFields": [],
"error": null,
"profile": {
"id": "9d276eba-1ce2-47d2-a1ea-0c40a2b1479e",
"email": "max.mustermann@example.com"
}
}
ContractData
Description
Contract-level data for payment integration (environment and locale settings).
Example
{
"JAVASCRIPT_INTEGRATION": "xyz789",
"PAGE_BUTTON_LOCALE": "xyz789",
"PAGE_ENVIRONMENT": "abc123"
}
ContractErrorBody
Description
Error details for a failed contract operation.
Fields
| Field Name | Description |
|---|---|
code - String
|
Error code identifier. |
response - ContractErrorResponse
|
Detailed HTTP error response. |
Example
{
"code": "xyz789",
"response": ContractErrorResponse
}
ContractErrorResponse
Description
HTTP-level error response from the contract backend.
Fields
| Field Name | Description |
|---|---|
body - ContractErrorResponseStatus
|
Parsed error body. |
status - Int
|
HTTP status code. |
statusText - String
|
HTTP status text. |
Example
{
"body": ContractErrorResponseStatus,
"status": 123,
"statusText": "abc123"
}
ContractErrorResponseStatus
ContractPaymentMethod
Description
A payment method available at the tenant level for contract enrollment.
Fields
| Field Name | Description |
|---|---|
applicationId - String
|
Application ID of the payment provider. |
cardCreateMode - String
|
Card creation mode. |
createdAt - DateTime
|
Timestamp when this payment method was created. |
directPaymentMethod - String
|
Whether this is a direct payment method. |
emp - String
|
E-Mobility Provider identifier. |
paymentName - String
|
Display name of the payment method. |
paymentType - String
|
Type of payment (e.g. SEPA, credit card). |
termsOfServiceUrl - String
|
URL to the terms of service document. |
termsOfUseUrl - String
|
URL to the terms of use document. |
updatedAt - DateTime
|
Timestamp of the last update. |
uuid - String!
|
UUID of this contract payment method. |
Example
{
"applicationId": "beenergised",
"cardCreateMode": "OPTIONAL",
"createdAt": "2022-01-01T00:00:00.000Z",
"directPaymentMethod": "SEPA",
"emp": "HTB",
"paymentName": "SEPA Direct Debit",
"paymentType": "SEPA",
"termsOfServiceUrl": "https://example.has-to-be.com/terms",
"termsOfUseUrl": "https://example.has-to-be.com/terms-of-use",
"updatedAt": "2024-01-01T00:00:00.000Z",
"uuid": "5ffe9724-2ef1-4191-9a5c-682a20f7a0fb"
}
ContractPostpaidResponse
Description
Response after creating or updating a postpaid contract.
Fields
| Field Name | Description |
|---|---|
error - ContractErrorBody
|
Error details if the operation failed. |
message - String
|
Human-readable message describing the result. |
status - String
|
Status of the operation (e.g. success, error). |
Example
{
"error": null,
"message": "Contract created successfully.",
"status": "success"
}
ContractSepaResponse
Description
Response after creating or updating a SEPA contract.
Fields
| Field Name | Description |
|---|---|
error - ContractErrorBody
|
Error details if the operation failed. |
message - String
|
Human-readable message describing the result. |
status - String
|
Status of the operation (e.g. success, error). |
Example
{
"error": null,
"message": "SEPA contract created successfully.",
"status": "success"
}
Cost
Description
Cost breakdown for a charging session (total, tax, gross, and individual line items).
Fields
| Field Name | Description |
|---|---|
costItems - [CdrCostItem]
|
List of individual cost line items. |
currency - String
|
ISO 4217 currency code. |
grossAmount - Float
|
Total gross amount (net + tax). |
grossAmountLocalCurrency - Float
|
Total gross amount expressed in local currency. |
tax - Float
|
Tax amount. Use costItems[].taxAmount instead. |
taxAmount - Float
|
Tax amount (duplicate, deprecated). Use costItems[].taxAmount instead. |
total - Float
|
Total net cost amount. |
Example
{
"costItems": [{"description": "Energy", "grossAmount": 8.54, "taxRate": 20}],
"currency": "EUR",
"grossAmount": 8.54,
"grossAmountLocalCurrency": 8.54,
"tax": 1.42,
"taxAmount": 1.42,
"total": 8.54
}
CountryAlpha
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"AC"
Cp
Description
Representation of a charging station.
Fields
| Field Name | Description |
|---|---|
accessType - AccessType
|
Type of the access to a station which is either a internal or external connection. Depending on the access type the request is either handled only in our system or parts might be forwarded to other parties. |
additionalFields - [AdditionalCpField]
|
Additional cp fields (customisable info fields per mandant) |
address - String
|
Address (Streetname) |
capabilities - CpCapabilities
|
Capabilities of a charging station |
city - String
|
City |
connectors - [Connector]
|
List of connectors. |
contact - ContactInformation
|
Contact information |
country - String
|
Country (3 characters) |
directions - String
|
Additional direction information for the station. Mostly used for truck-specific charging stations. |
displayAttributes - DisplayAttributes
|
Specific attributes about how the station should be displayed. |
id - ID!
|
Unique Identifier in form of UUID4 |
images - [CpImage]
|
CP Images as array |
information - CpInfo
|
Information |
isFavoured - Boolean
|
Is CP marked as a favourite by user |
label - String
|
Human readable string representation. |
latitude - Float
|
Latitude of the position. |
longitude - Float
|
Longitude of the position. |
operator - CpOperator
|
the operator of the station |
publicName - String
|
Public display name |
site - Site
|
Site |
siteId - String
|
UUID of the site this CP belongs to. |
status - CpStatus
|
Status information |
zip - String
|
Zip code |
Example
{
"accessType": "INTERNAL",
"additionalFields": [],
"address": "Mozartplatz 1",
"capabilities": {"hasRemoteCommands": true},
"city": "Salzburg",
"connectors": [
{
"id": "5c749d00-315f-4127-a94d-17289206d054",
"evseId": "AT*HTB*E000001*1",
"label": "Connector 1"
}
],
"contact": {"email": "station-info@example.com", "phone": "+43 316 9876543"},
"country": "AT",
"directions": "Enter the parking garage on the left side.",
"displayAttributes": {"mode": "DEFAULT"},
"id": "624e81bd-c0cf-4252-9bc4-30054fb6a6a8",
"images": [
{
"url": "https://files.example.has-to-be.com/cp-images/main-street-station.jpg"
}
],
"information": {
"payment": "Prepaid or contract required",
"additional": null
},
"isFavoured": false,
"label": "Main Street Station",
"latitude": 47.8095,
"longitude": 13.055,
"operator": {"identifier": "AT*HTB", "name": "has-to-be"},
"publicName": "Main Street Station",
"site": {
"id": "12c25c47-255a-4c75-922b-69cd9b328140",
"label": "Mozartplatz Parking"
},
"siteId": "12c25c47-255a-4c75-922b-69cd9b328140",
"status": {
"calculated": "Available",
"ocpp": "Available",
"simple": "Available"
},
"zip": "5020"
}
CpCapabilities
Description
Capabilities of a charging station
Fields
| Field Name | Description |
|---|---|
hasRemoteCommands - Boolean!
|
The capability of the station to work with remote commands |
Example
{"hasRemoteCommands": true}
CpFavouredStatus
CpImage
Description
An image associated with a charging point.
Fields
| Field Name | Description |
|---|---|
url - String
|
Url of a cp image |
Example
{"url": "https://files.example.has-to-be.com/cp-images/main-street-station.jpg"}
CpInfo
Description
Additional information about a charging point (opening times, payment info, marketing display).
Fields
| Field Name | Description |
|---|---|
additional - String
|
Additional information |
marketingDisplay - String
|
A display status, which can be configured within the backends marketing information section of a charging station |
openingTimes - OpeningTimes
|
Opening times |
operatingTimes - OperatingTimes
|
Operating times |
payment - String
|
Payment information |
Example
{
"additional": "Covered parking garage, barrier-free access.",
"marketingDisplay": null,
"openingTimes": {"description": "Mon–Fri 06:00–22:00, Sat–Sun 08:00–20:00"},
"operatingTimes": {
"regularHours": [
{"weekday": 1, "operatingHours": {"begin": "06:00:00", "end": "22:00:00"}}
]
},
"payment": "Prepaid or contract required"
}
CpOperator
CpStatus
Description
CpStatus
Fields
| Field Name | Description |
|---|---|
calculated - String
|
Calculated current cp status |
ocpp - String
|
Latest/current ocpp status that was received from the station |
simple - SimpleCpStatus
|
Calculated current cp status in simplified form |
Example
{"calculated": "Available", "ocpp": "Available", "simple": "Available"}
CpsPaged
Description
Paginated list of charging points.
Fields
| Field Name | Description |
|---|---|
data - [Cp]
|
List of charging points in the current page. |
pagination - PaginationInterface
|
Pagination metadata for the result set. |
Example
{
"data": [
{
"id": "624e81bd-c0cf-4252-9bc4-30054fb6a6a8",
"label": "Main Street Station",
"city": "Salzburg"
}
],
"pagination": {"limit": 10, "offset": 0, "totalCount": 1, "isLastPage": true}
}
Currency
Description
A currency identified by its ISO 4217 code.
Fields
| Field Name | Description |
|---|---|
isoCode - String
|
ISO 4217 currency code (e.g. EUR, USD). |
Example
{"isoCode": "EUR"}
CurrencyAmount
CurrencyAmountInput
Description
A currency amount used as input. When passed to remoteStartWithPreauth, this must be one of the values returned by RateOption.preauthCurrencyAmounts — not a freely chosen amount.
Fields
| Input Field | Description |
|---|---|
amount - Float!
|
The amount of the currency |
currency - CurrencyInput!
|
The currency of the amount |
Example
{"amount": 30, "currency": {"isoCode": "EUR"}}
CurrencyInput
Description
ISO 4217 currency code input.
Fields
| Input Field | Description |
|---|---|
isoCode - String!
|
The ISO 4217 code of the currency |
Example
{"isoCode": "EUR"}
CursorFilter
CursorPagination
Description
Pagination information with cursor.
Fields
| Field Name | Description |
|---|---|
cursor - String
|
The cursor with which the query can be continued. |
isLastPage - Boolean
|
Required for backward compatibility. Always null and will be removed in the future. Do not use, will be removed in the future. |
limit - Int
|
Maximum number of elements (limit) set for this pagination request |
offset - Int
|
Required for backward compatibility. Always null and will be removed in the future. Do not use, will be removed in the future. |
totalCount - Int
|
Required for backward compatibility. Always null and will be removed in the future. Do not use, will be removed in the future. |
Example
{
"cursor": "eyJpZCI6IjEwMCJ9",
"isLastPage": false,
"limit": 20,
"offset": null,
"totalCount": null
}
DateTime
Example
"2007-12-03T10:15:30Z"
DisplayAttributes
Description
Display attributes controlling how a charging station is rendered in the UI.
Fields
| Field Name | Description |
|---|---|
mode - DisplayAttributesMode
|
The mode in which the station should be displayed, regular or highlighted. |
Example
{"mode": "DEFAULT"}
DisplayAttributesMode
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"DEFAULT"
ErrorBody
Description
Error details returned on failed authentication or API operations.
Fields
| Field Name | Description |
|---|---|
code - String
|
Error code identifier. |
response - LoginErrorResponse
|
Detailed HTTP error response. |
Example
{
"code": "abc123",
"response": LoginErrorResponse
}
Filter
Description
This describes one possible property on which a connector can be filtered, as well as all possible options for this property. Can be used in conjunction with the ConnectorFilter input.
Fields
| Field Name | Description |
|---|---|
label - String
|
Description of the filter. This label can be displayed to the user. |
options - [FilterOption]
|
List of filter options for the type of filter. |
slug - FilterType
|
Unique identifier in form of a slug. The same enum is used in the filter input slug. |
type - String
|
Information on the filter type (eg. multiselect). |
Example
{
"label": "Power Class",
"options": [
{
"slug": "power_class_high",
"label": ">= 50kW",
"default": false,
"icon": null
}
],
"slug": "POWER_CLASS",
"type": "multiselect"
}
FilterOption
Description
One possible option for a specific type of filter.
Fields
| Field Name | Description |
|---|---|
default - Boolean
|
Default value of filter option. |
icon - String
|
Icon slug for filter option. Can be used to display a specific icon for the filter option. |
label - String
|
Detailed description of the filter option. This label can be displayed to the user. |
slug - String
|
Unique identifier in form of a slug. This slug is used in the filter input options array. |
Example
{
"default": true,
"icon": "connector-ccs",
"label": "CCS/Combo 2",
"slug": "connector_plug_type_connector-ccs"
}
FilterType
Description
The properties of the connector that can be filtered
Values
| Enum Value | Description |
|---|---|
|
|
the type of the connector (e.g. Type 2) |
|
|
the power class of the connector (e.g. < 50kW) |
|
|
the type of the current (AC or DC) |
Example
"FILTER_BY_CONNECTOR_TYPE"
Float
Description
The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.
Example
987.65
Gender
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"company"
HostedPaymentMethodGetSession
ID
Description
The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.
Example
"4"
Int
Description
The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
Example
123
LanguageCode
Description
All languages supported by the API
Values
| Enum Value | Description |
|---|---|
|
|
Czech |
|
|
Danish |
|
|
German |
|
|
Greek |
|
|
English |
|
|
Spanish |
|
|
Estonian |
|
|
Finnish |
|
|
French |
|
|
Croatian |
|
|
Hungarian |
|
|
Italian |
|
|
Japanese |
|
|
Lithuanian |
|
|
Latvian |
|
|
Dutch |
|
|
Norwegian |
|
|
Polish |
|
|
Romanian |
|
|
Russian |
|
|
Slovak |
|
|
Slovenian |
|
|
Swedish |
|
|
Ukrainian |
Example
"cs_CZ"
LegalDocument
Description
A legal document (terms and conditions or privacy policy) with its content URL and version.
Fields
| Field Name | Description |
|---|---|
id - String!
|
UUID of the document. |
type - LegalDocumentTypeEnum!
|
The type of legal document (TERMS_AND_CONDITIONS or PRIVACY_POLICY). |
url - String!
|
URL to the terms and condition in PDF format. |
version - String!
|
Version number of this document revision. |
Example
{
"id": "e7076445-fbaa-465b-af4f-925f4472560f",
"type": "TERMS_AND_CONDITIONS",
"url": "https://files.example.has-to-be.com/legal/terms-and-conditions-v3.pdf",
"version": "3.0"
}
LegalDocumentAccepted
Description
Record of whether a specific legal document has been accepted by the user.
Fields
| Field Name | Description |
|---|---|
legalDocumentAccepted - Boolean
|
Whether this document has been accepted. |
legalDocumentType - LegalDocumentTypeEnum
|
Type of the legal document. |
Example
{"legalDocumentAccepted": true, "legalDocumentType": "TERMS_AND_CONDITIONS"}
LegalDocumentStatus
Description
Response after accepting a legal document, indicating success or failure.
Example
{"message": "Legal document accepted successfully.", "status": "success"}
LegalDocumentTypeEnum
Description
The possible types of a legal document
Values
| Enum Value | Description |
|---|---|
|
|
Privacy policy |
|
|
Terms and conditions |
Example
"PRIVACY_POLICY"
LocationFilter
Description
Location filter for geographic proximity search.
Example
{"latitude": 47.8095, "longitude": 13.055, "radius": 5000}
LoginErrorResponse
Description
HTTP-level error response on login failure.
Fields
| Field Name | Description |
|---|---|
body - LoginErrorResponseStatus
|
Parsed error body. |
status - Int
|
HTTP status code. |
statusText - String
|
HTTP status text. |
Example
{
"body": LoginErrorResponseStatus,
"status": 987,
"statusText": "xyz789"
}
LoginErrorResponseStatus
MaskedAccount
Description
detailed information about the payment method to display to the user
Example
{
"displayLabel": "Visa •••• 4242",
"expiryMonth": 12,
"expiryYear": 2027,
"holderName": "Max Mustermann",
"number": "4242"
}
NativePaymentMethodGetSession
Description
Native payment method session containing registered and applicable payment methods.
Fields
| Field Name | Description |
|---|---|
applicablePaymentMethods - [PaymentMethod]
|
Payment methods available for registration. |
registeredPaymentsMethods - [PaymentMethod]
|
Payment methods already registered by the user. |
sessionId - String
|
Session identifier for this payment interaction. |
Example
{
"applicablePaymentMethods": [PaymentMethod],
"registeredPaymentsMethods": [PaymentMethod],
"sessionId": "xyz789"
}
OccupancyDays
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"ALL"
OccupancyRate
Description
Occupancy data for one hour of a specific weekday at a charging point.
Example
{"day": "MONDAY", "hour": 9, "occupancyRate": 0.72}
OpeningTimes
Description
Structured opening times for a charging point (regular hours and exceptions).
Fields
| Field Name | Description |
|---|---|
description - String
|
Opening times in textual format |
exceptionalClosings - [OperatingTime]
|
Exceptional closing times |
exceptionalOpenings - [OperatingTime]
|
Exceptional opening times |
regularHours - [RegularHours]
|
Structured data of opening times |
Example
{
"description": "Mon–Fri 06:00–22:00, Sat–Sun 08:00–20:00",
"exceptionalClosings": [],
"exceptionalOpenings": [],
"regularHours": [
{"weekday": 1, "operatingHours": {"begin": "06:00:00", "end": "22:00:00"}}
]
}
OperatingHours
Description
OperatingHours have the format 'hh/mm/ss'.
Defining the types as DateTime makes trouble because tests are failing. But in Sandbox DateTime is working.
Example
{"begin": "06:00:00", "end": "22:00:00"}
OperatingTime
OperatingTimes
Description
Structured operating times for a charging point.
Fields
| Field Name | Description |
|---|---|
regularHours - [RegularHours]
|
Structured data of operating times |
Example
{
"regularHours": [
{"weekday": 1, "operatingHours": {"begin": "06:00:00", "end": "22:00:00"}}
]
}
OperationType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"CHARGE"
OptileTransaction
Description
Response from the Optile payment gateway after registering a new payment method.
Example
{
"absoluteLink": "https://payment-gateway.example.com/checkout/txn-optile-00123",
"id": "txn-optile-00123",
"link": "/checkout/txn-optile-00123"
}
Pagination
Description
Pagination information.
Additional information for pagination responses
Fields
| Field Name | Description |
|---|---|
isLastPage - Boolean
|
Is this page the last page of the pagination set |
limit - Int
|
Maximum number of elements (limit) set for this pagination request |
offset - Int
|
The current offset chosen for the pagination set |
totalCount - Int
|
Overall count of pagination result (total number of objects) |
Example
{"isLastPage": false, "limit": 10, "offset": 0, "totalCount": 42}
PaginationFilter
Description
Filter to do pagination requests
Example
{"limit": 10, "offset": 0}
PaginationInterface
Description
Shared pagination interface implemented by offset-based and cursor-based pagination types.
Fields
| Field Name | Description |
|---|---|
isLastPage - Boolean
|
Is this page the last page of the pagination set Marked for deletion. Use inline fragments to stay compatible. |
limit - Int
|
Maximum number of elements (limit) set for this pagination request |
offset - Int
|
The current offset chosen for the pagination set Marked for deletion. Use inline fragments to stay compatible. |
totalCount - Int
|
Overall count of pagination result (total number of objects). Marked for deletion. Use inline fragments to stay compatible. |
Possible Types
| PaginationInterface Types |
|---|
Example
{"isLastPage": false, "limit": 987, "offset": 987, "totalCount": 987}
PaymentCallbackType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"HTML"
PaymentLink
Description
Links related to a payment method (form, logo, validation, etc.).
Fields
| Field Name | Description |
|---|---|
form - String
|
URL to the payment form. |
lang - String
|
Language/locale of the form. |
localizedForm - String
|
Localized form URL. |
logo - String
|
URL to the payment method logo. |
operation - String
|
URL for the payment operation. |
self - String
|
Self-referencing URL. |
validation - String
|
URL for input validation. |
Example
{
"form": "xyz789",
"lang": "abc123",
"localizedForm": "abc123",
"logo": "abc123",
"operation": "abc123",
"self": "abc123",
"validation": "xyz789"
}
PaymentMethod
Description
Represents a payment card that is either registered or available for registration for current session user.
Fields
| Field Name | Description |
|---|---|
button - String
|
Button label text for the payment form. |
code - String
|
Payment method code identifier. |
contractData - ContractData
|
Contract-level data for payment integration. |
deferral - String
|
Deferral configuration. |
grouping - String
|
Grouping category for the payment method. |
iFrameHeight - Int
|
Height of the payment iFrame in pixels. |
label - String
|
Display label for the payment method. |
links - PaymentLink
|
Related URLs (form, logo, validation, etc.). |
maskedAccount - MaskedAccount
|
detailed information about the payment method to display to the user |
method - String
|
Payment method type (e.g. CREDIT_CARD, SEPA). |
operationType - OperationType
|
Type of operation this payment method supports. |
recurrence - String
|
Recurrence type (e.g. one-time, recurring). |
redirect - Boolean
|
Whether this method requires a browser redirect. |
registration - String
|
Registration status of this payment method. |
selected - Boolean
|
Whether this payment method is currently selected. |
Example
{
"button": "xyz789",
"code": "abc123",
"contractData": ContractData,
"deferral": "xyz789",
"grouping": "xyz789",
"iFrameHeight": 123,
"label": "abc123",
"links": PaymentLink,
"maskedAccount": MaskedAccount,
"method": "abc123",
"operationType": "CHARGE",
"recurrence": "xyz789",
"redirect": false,
"registration": "abc123",
"selected": false
}
PaymentMethods
Description
Response body for payment cards fetched from PSPs
Fields
| Field Name | Description |
|---|---|
hostedSession - HostedPaymentMethodGetSession
|
Hosted payment session (redirect-based payment flow). |
nativeSession - NativePaymentMethodGetSession
|
Native payment session (in-app payment methods). |
Example
{
"hostedSession": HostedPaymentMethodGetSession,
"nativeSession": NativePaymentMethodGetSession
}
RateDescriptionForChargingProcess
Description
Rate description and preauthorization details for a card eligible for charging.
Fields
| Field Name | Description |
|---|---|
description - String
|
Description of the rate. |
preauthAmount - Float
|
How much money will be preauthorized on the payment medium when this rate is used. Use preauthCurrencyAmounts instead. |
preauthCurrencyAmount - CurrencyAmount
|
How much money will be preauthorized on the payment medium when this rate is used. Use preauthCurrencyAmounts instead. |
preauthCurrencyAmounts - [CurrencyAmount!]
|
The amounts that will be preauthorized on the payment medium when this rate is used. One of these values must be passed as preauthCurrencyAmount when calling the remoteStartWithPreauth mutation. |
shortDescription - String
|
Short description of the rate. |
Example
{
"description": "Pay per kWh — billed after the session ends.",
"preauthAmount": 30,
"preauthCurrencyAmount": {"amount": 30, "currency": {"isoCode": "EUR"}},
"preauthCurrencyAmounts": [{"amount": 30, "currency": {"isoCode": "EUR"}}],
"shortDescription": "0.35 EUR/kWh"
}
RateOption
Description
A rate option that can be assigned to a contract or card. Describes pricing and preauthorization.
Fields
| Field Name | Description |
|---|---|
description - String
|
Full description of the rate option. |
id - String!
|
UUID of the rate option. |
name - String
|
Display name of the rate option. |
preauthAmount - Float
|
How much money will be preauthorized on the payment medium when this rate is used. Due to the tax calculations, we are no longer able to provide this information. |
preauthCurrencyAmount - CurrencyAmount
|
How much money will be preauthorized on the payment medium when this rate is used. Due to the tax calculations, we are no longer able to provide this information. |
preauthCurrencyAmounts - [CurrencyAmount!]
|
How much money will be preauthorized on the payment medium when this rate is used. Due to the tax calculations, we are no longer able to provide this information. |
shortDescription - String
|
Short description suitable for list views. |
uuid - String
|
Will be removed. |
Example
{
"description": "Pay per kWh — billed after the session ends.",
"id": "6c69d520-44c4-48be-8192-22b3d97ed975",
"name": "Standard Rate",
"preauthAmount": 30,
"preauthCurrencyAmount": {"amount": 30, "currency": {"isoCode": "EUR"}},
"preauthCurrencyAmounts": [{"amount": 30, "currency": {"isoCode": "EUR"}}],
"shortDescription": "0.35 EUR/kWh",
"uuid": "6c69d520-44c4-48be-8192-22b3d97ed975"
}
RatePackage
Description
A rate package assigned to a connector, defining pricing, runtime limits, and automatic stop behavior.
Fields
| Field Name | Description |
|---|---|
amount - Float
|
Price amount for this rate package. |
automaticStop - Int
|
Automatic stop threshold in minutes. The session is stopped automatically after this duration. |
id - String
|
UUID of the rate package. |
rate - RateOption
|
The underlying rate option with full pricing details. |
visibleRuntime - Int
|
Maximum visible runtime in minutes before the session is hidden from the user. |
Example
{
"amount": 30,
"automaticStop": 120,
"id": "28e70f8a-0589-40c6-a0b2-53c1b602fba1",
"rate": {
"id": "6c69d520-44c4-48be-8192-22b3d97ed975",
"name": "Standard Rate",
"shortDescription": "0.35 EUR/kWh"
},
"visibleRuntime": 120
}
RegisteringContactProfile
Description
User profile data required for new account registration.
Fields
| Input Field | Description |
|---|---|
address - AddressInput
|
Postal address. |
birthday - DateTime
|
Date of birth. |
companyId - Int
|
Company ID (for company contacts). |
currency - String
|
Preferred currency ISO code. |
email - String!
|
Email address (required for account creation). |
fax - String
|
Fax number. |
firstName - String
|
First name. |
gender - Gender
|
Gender: female, male, company, or diverse. |
isCompany - Boolean
|
Whether this contact represents a company. |
isDeactivated - Boolean
|
Whether to create the contact in deactivated state. |
language - LanguageCode
|
Preferred language (locale code). |
mobile - String
|
Mobile phone number. |
name - String
|
Last name / family name. |
password - String!
|
Account password. |
phone - String
|
Phone number. |
title - String
|
Title (e.g. Mr, Ms, Dr). |
vat - String
|
VAT identification number. |
Example
{
"address": {
"street": "Mozartplatz 1",
"city": "Salzburg",
"zip": "5020",
"country": "AT"
},
"birthday": "1985-06-15T00:00:00.000Z",
"companyId": null,
"currency": "EUR",
"email": "max.mustermann@example.com",
"fax": null,
"firstName": "Max",
"gender": "male",
"isCompany": false,
"isDeactivated": false,
"language": "de_DE",
"mobile": "+43 664 1234567",
"name": "Mustermann",
"password": "S3cur3P@ssw0rd!",
"phone": "+43 316 1234567",
"title": null,
"vat": null
}
RegularHours
Description
Regular hours entry defining availability for a specific weekday.
Fields
| Field Name | Description |
|---|---|
operatingHours - OperatingHours
|
Structured data of operating hours |
weekday - Int
|
Weekday for regular hour definition (0 as Sunday and 6 as Saturday) |
Example
{"operatingHours": {"begin": "06:00:00", "end": "22:00:00"}, "weekday": 1}
RemoteStartResponse
Description
Response of a remote start
Fields
| Field Name | Description |
|---|---|
attemptId - String
|
ID of the underlying RemoteStartAttempt. Available once 3DS has completed. |
code - Int
|
Numeric status code from the charging station. |
id - String
|
UUID of the remote start request. |
message - String
|
Human-readable status message. |
session - String
|
Session ID for the charging session (once started). |
status - String
|
Current status of the remote start (e.g. Accepted, Rejected). |
transaction - String
|
Transaction ID used to stop this session via remoteStop. |
Example
{
"attemptId": "abc123",
"code": 200,
"id": "980d6288-4828-4a18-be20-dbdc7c3be164",
"message": "Remote start accepted.",
"session": "TXN-20240315-00042",
"status": "ACCEPTED",
"transaction": "TXN-20240315-00042"
}
RemoteStartWithPreauthResponse
Description
Response of a remote start with preauth
Example
{
"message": "Preauth initiated. Complete payment to start charging.",
"redirectUrl": "https://payment-gateway.example.com/checkout/preauth-00123",
"remoteStartPreauthId": "980d6288-4828-4a18-be20-dbdc7c3be164"
}
RemoteStopResponse
Description
Response of a remote stop
Example
{
"code": 200,
"message": "Remote stop accepted.",
"status": "ACCEPTED",
"title": "Stop Accepted"
}
SessionAuthenticationResponse
Description
JWT token pair returned after successful authentication or token refresh.
Example
{
"refreshToken": "eyJhbGciOiJSUzUxMiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI5ZDI3NmViYS0xY2UyLTQ3ZDItYTFlYS0wYzQwYTJiMTQ3OWUiLCJyb2xlIjoiUkZUIiwiaWF0IjoxNzEwNDkxMjAwLCJleHAiOjE3MTMwODMyMDB9.signature",
"sessionToken": "eyJhbGciOiJSUzUxMiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI5ZDI3NmViYS0xY2UyLTQ3ZDItYTFlYS0wYzQwYTJiMTQ3OWUiLCJyb2xlIjoiQ1JNIiwiaWF0IjoxNzEwNDkxMjAwLCJleHAiOjE3MTA0OTQ4MDB9.signature"
}
SessionInvalidationResponse
Description
Result of an invalidateSession (logout) mutation.
Example
{"isInvalidated": true, "status": "success"}
Setting
Description
A tenant-level configuration setting (e.g. legal documents, currency, app rating).
Example
{"key": "app.support.email", "value": "support-beenergised@chargepoint.com"}
SimpleConnectorStatus
Description
Set of simple statuses which a charging connector can have
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"Available"
SimpleCpStatus
Description
Set of simple statuses which a charging station can have
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"Available"
Site
Description
A physical site / location that groups one or more charging points.
Fields
| Field Name | Description |
|---|---|
company - String
|
Company name that owns or operates this site. |
cps - [Cp]
|
List of charging points at this site. |
id - String
|
UUID of the site. |
label - String
|
Human-readable name of the site. |
latitude - Float
|
Latitude of the site (WGS84). |
longitude - Float
|
Longitude of the site (WGS84). |
scope - String
|
Visibility scope of the site. |
Example
{
"company": "City of Salzburg",
"cps": [
{
"id": "624e81bd-c0cf-4252-9bc4-30054fb6a6a8",
"label": "Main Street Station"
}
],
"id": "12c25c47-255a-4c75-922b-69cd9b328140",
"label": "Mozartplatz Parking",
"latitude": 47.8095,
"longitude": 13.055,
"scope": "public"
}
SitesPaged
Description
Paginated list of sites.
Fields
| Field Name | Description |
|---|---|
data - [Site]
|
List of sites in the current page. |
pagination - Pagination
|
Pagination metadata for the result set. |
Example
{
"data": [
{
"id": "12c25c47-255a-4c75-922b-69cd9b328140",
"label": "Mozartplatz Parking"
}
],
"pagination": {"limit": 10, "offset": 0, "totalCount": 1, "isLastPage": true}
}
String
Description
The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.
Example
"xyz789"
TermsAndConditionsStatus
Description
Response after accepting terms and conditions, indicating success or failure. Deprecated: use LegalDocumentStatus instead.
Example
{"message": "Terms and conditions accepted successfully.", "status": "success"}
TimeFrameFilter
Description
Time range filter for restricting query results to a specific period.
Example
{"end": "2024-03-31T23:59:59.000Z", "start": "2024-01-01T00:00:00.000Z"}
UpdateCardInput
Description
Input for updating an authentication card (label and/or status).
Fields
| Input Field | Description |
|---|---|
cardId - String!
|
UUID of the card to update. |
label - String
|
New display name / label for the card. |
status - CardStatusActionEnum
|
Action to perform on card status: ACTIVATE or DEACTIVATE. |
Example
{
"cardId": "4a7fb3a6-c5ff-4739-b46c-c013a4c8ce3f",
"label": "My Work Card",
"status": "DEACTIVATE"
}
UpdateCardResponse
Description
Response after updating an authentication card. Contains the full updated card record.
Fields
| Field Name | Description |
|---|---|
expiryDate - String
|
Expiry date of the card as an ISO-8601 date string (e.g. "2026-12-31"). |
id - ID
|
UUID of the updated card. |
label - String
|
The label of the card |
message - String
|
Message from the response |
number - String
|
The card number |
status - String!
|
Returns a active | inactive status of the card |
tagId - String!
|
The card id |
type - String!
|
The variable card type as default | roaming | virtual | simple | emsp |
Example
{
"expiryDate": "2026-12-31",
"id": "4a7fb3a6-c5ff-4739-b46c-c013a4c8ce3f",
"label": "My Work Card",
"message": "Card updated successfully.",
"number": "HTB-0001234",
"status": "active",
"tagId": "c1a4f434-d8c1-4bc3-8b51-4784298cc442",
"type": "default"
}
accountDocumentType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"creditnote"
authenticationMediaContract
Description
Input for creating a new authentication media (card) tied to a rate.
Example
{
"customerReference": "My charging card",
"rateId": "6c69d520-44c4-48be-8192-22b3d97ed975"
}
chargelogMeterValuesSummary
Description
Detailed information regarding meter values of a charging session.
Fields
| Field Name | Description |
|---|---|
currentPower - Int
|
current charging power |
currentPowerLastChanged - String
|
timestamp from the charging station of the latest charging power change |
currentStateOfCharge - Int
|
the current SoC of the car |
energyFirstValue - Float
|
the first energy value transmitted from the station |
energyFirstValueTime - String
|
timestamp from the charging station for the first energy value |
energyLastValue - Float
|
the latest energy value transmitted from the station |
energyLastValueTime - String
|
timestamp from the charging station for the latest energy value |
energyUpdatedAt - String
|
timestamp of the last energy update of the charging session record in our system |
initialStateOfCharge - Int
|
the initial SoC of the car |
stateOfChargeLastChanged - String
|
timestamp from the charging station of the latest SoC change |
sumEnergy - Float
|
total charged energy |
updatedAt - String
|
timestamp of the last update of the charging session record in our system |
Example
{
"currentPower": 11000,
"currentPowerLastChanged": "2024-03-15T09:45:00.000Z",
"currentStateOfCharge": 78,
"energyFirstValue": 12500,
"energyFirstValueTime": "2024-03-15T08:30:00.000Z",
"energyLastValue": 36870,
"energyLastValueTime": "2024-03-15T10:15:00.000Z",
"energyUpdatedAt": "2024-03-15T10:15:05.000Z",
"initialStateOfCharge": 22,
"stateOfChargeLastChanged": "2024-03-15T10:10:00.000Z",
"sumEnergy": 24.37,
"updatedAt": "2024-03-15T10:15:05.000Z"
}
creatingPostpaidContract
Description
Input for creating a new postpaid contract.
Example
{
"customerReference": "My postpaid card",
"id": "5ffe9724-2ef1-4191-9a5c-682a20f7a0fb",
"rateId": "6c69d520-44c4-48be-8192-22b3d97ed975"
}
creatingSepaContract
Description
Input for creating a new SEPA direct debit contract.
Fields
| Input Field | Description |
|---|---|
accountHolder - String!
|
Name of the bank account owner |
bank - String
|
Name of the bank institut. |
bic - String
|
Business Identifier Code (SWIFT Code). |
customerReference - String
|
A text field for the customer to name his card individually. |
debitType - String!
|
Type of the debit card |
iban - String!
|
International Bank Account Number. |
id - String!
|
Id of a registered contract option. |
rateId - String!
|
RateId |
useParent - Boolean!
|
Use the parent account |
Example
{
"accountHolder": "Max Mustermann",
"bank": "Erste Bank",
"bic": "GIBAATWWXXX",
"customerReference": "My SEPA contract",
"debitType": "CORE",
"iban": "AT12 3456 7890 1234 5678",
"id": "5ffe9724-2ef1-4191-9a5c-682a20f7a0fb",
"rateId": "6c69d520-44c4-48be-8192-22b3d97ed975",
"useParent": false
}
updatePostpaidContract
Description
Input for updating an existing postpaid contract.
Example
{
"customerReference": "My postpaid card — updated",
"id": "b218e871-e05b-476b-baa7-7b9894f79717"
}
updatingSepaContract
Description
Input for updating an existing SEPA contract's bank details or customer reference.
Fields
| Input Field | Description |
|---|---|
accountHolder - String
|
Name of the bank account owner |
bank - String
|
Name of the bank institut. |
bic - String
|
Business Identifier Code (SWIFT Code). |
customerReference - String
|
A text field for the customer to name his card individually. |
iban - String
|
International Bank Account Number. |
id - String!
|
UUID of the registered contract. |
Example
{
"accountHolder": "Max Mustermann",
"bank": "Erste Bank",
"bic": "GIBAATWWXXX",
"customerReference": "My SEPA contract — updated",
"iban": "AT12 3456 7890 1234 5678",
"id": "b8cfbdac-109d-4fbb-9af5-cec5d8b376ef"
}