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
http://localhost:4000/

Queries

accountDocument

Description

Get a document by it's ID.

Response

Returns an AccountDocument

Arguments
Name Description
id - String

Example

Query
query accountDocument($id: String) {
  accountDocument(id: $id) {
    id
    type
    title
    documentDate
    downloadLink
  }
}
Variables
{"id": "abc123"}
Response
{
  "data": {
    "accountDocument": {
      "id": "xyz789",
      "type": "offer",
      "title": "xyz789",
      "documentDate": "2007-12-03T10:15:30Z",
      "downloadLink": "xyz789"
    }
  }
}

accountDocumentsPaged

Description

Get the list of all documents of the authenticated user.

Response

Returns an AccountDocumentsPaged

Arguments
Name Description
pagination - PaginationFilter

Example

Query
query accountDocumentsPaged($pagination: PaginationFilter) {
  accountDocumentsPaged(pagination: $pagination) {
    pagination {
      ...PaginationFragment
    }
    data {
      ...AccountDocumentFragment
    }
  }
}
Variables
{"pagination": PaginationFilter}
Response
{
  "data": {
    "accountDocumentsPaged": {
      "pagination": Pagination,
      "data": [AccountDocument]
    }
  }
}

additionalRegistrationFields

Example

Query
query additionalRegistrationFields {
  additionalRegistrationFields {
    name
    value
    description
    required
    type
  }
}
Response
{
  "data": {
    "additionalRegistrationFields": [
      {
        "name": "xyz789",
        "value": "abc123",
        "description": "xyz789",
        "required": "xyz789",
        "type": "abc123"
      }
    ]
  }
}

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!

Example

Query
query availableCardsForChargingProcess($connectorId: String!) {
  availableCardsForChargingProcess(connectorId: $connectorId) {
    id
    tagId
    number
    label
    expiryDate
    type
    rate {
      ...RateDescriptionForChargingProcessFragment
    }
  }
}
Variables
{"connectorId": "xyz789"}
Response
{
  "data": {
    "availableCardsForChargingProcess": [
      {
        "id": "xyz789",
        "tagId": "xyz789",
        "number": "abc123",
        "label": "abc123",
        "expiryDate": "2007-12-03T10:15:30Z",
        "type": "default",
        "rate": RateDescriptionForChargingProcess
      }
    ]
  }
}

bankAccount

Response

Returns a BankAccountResponse

Example

Query
query bankAccount {
  bankAccount {
    iban
    bic
    bank
    accountHolder
  }
}
Response
{
  "data": {
    "bankAccount": {
      "iban": "xyz789",
      "bic": "abc123",
      "bank": "xyz789",
      "accountHolder": "abc123"
    }
  }
}

card

Description

Get a card by tag id or uuid.

Response

Returns a Card

Arguments
Name Description
id - String!

Example

Query
query card($id: String!) {
  card(id: $id) {
    id
    tagId
    number
    label
    expiryDate
    status
    type
    rate {
      ...RateOptionFragment
    }
  }
}
Variables
{"id": "xyz789"}
Response
{
  "data": {
    "card": {
      "id": "xyz789",
      "tagId": "abc123",
      "number": "abc123",
      "label": "xyz789",
      "expiryDate": "2007-12-03T10:15:30Z",
      "status": "active",
      "type": "default",
      "rate": RateOption
    }
  }
}

cardsPaged

Description

Get a list of authentication media (cards) of the authorized user.

Response

Returns a CardsPaged

Arguments
Name Description
pagination - PaginationFilter

Example

Query
query cardsPaged($pagination: PaginationFilter) {
  cardsPaged(pagination: $pagination) {
    pagination {
      ...PaginationFragment
    }
    data {
      ...CardFragment
    }
  }
}
Variables
{"pagination": PaginationFilter}
Response
{
  "data": {
    "cardsPaged": {
      "pagination": Pagination,
      "data": [Card]
    }
  }
}

chargelog

Description

Get a chargelog by id.

Response

Returns a Chargelog

Arguments
Name Description
id - ID!

Example

Query
query chargelog($id: ID!) {
  chargelog(id: $id) {
    id
    status
    connector {
      ...ConnectorFragment
    }
    authId
    authType
    dateStart
    dateEnd
    meterStart
    meterEnd
    energyConsumption
    co2Saving
    cost {
      ...CostFragment
    }
    sessionId
    rateName
    calibrationDetails
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "chargelog": {
      "id": 4,
      "status": "abc123",
      "connector": Connector,
      "authId": "abc123",
      "authType": "abc123",
      "dateStart": "2007-12-03T10:15:30Z",
      "dateEnd": "2007-12-03T10:15:30Z",
      "meterStart": 987,
      "meterEnd": 123,
      "energyConsumption": 987.65,
      "co2Saving": 987.65,
      "cost": Cost,
      "sessionId": "abc123",
      "rateName": "xyz789",
      "calibrationDetails": "xyz789"
    }
  }
}

chargelogMeterValuesSummary

Response

Returns a chargelogMeterValuesSummary

Arguments
Name Description
uuid - String!

Example

Query
query chargelogMeterValuesSummary($uuid: String!) {
  chargelogMeterValuesSummary(uuid: $uuid) {
    sumEnergy
    updatedAt
    energyLastValue
    energyLastValueTime
    energyUpdatedAt
    energyFirstValue
    energyFirstValueTime
    stateOfChargeLastChanged
    currentPowerLastChanged
    currentPower
    currentStateOfCharge
    initialStateOfCharge
  }
}
Variables
{"uuid": "abc123"}
Response
{
  "data": {
    "chargelogMeterValuesSummary": {
      "sumEnergy": 123.45,
      "updatedAt": "xyz789",
      "energyLastValue": 987.65,
      "energyLastValueTime": "xyz789",
      "energyUpdatedAt": "xyz789",
      "energyFirstValue": 987.65,
      "energyFirstValueTime": "abc123",
      "stateOfChargeLastChanged": "abc123",
      "currentPowerLastChanged": "abc123",
      "currentPower": 987,
      "currentStateOfCharge": 123,
      "initialStateOfCharge": 987
    }
  }
}

chargelogsPaged

Description

Get a list of chargelogs of the authorized user, filterable with a ChargelogFilter object.

Response

Returns a ChargelogsPaged

Arguments
Name Description
pagination - PaginationFilter
type - ChargeLogType
filters - ChargelogFilter
timeframe - TimeFrameFilter

Example

Query
query chargelogsPaged(
  $pagination: PaginationFilter,
  $type: ChargeLogType,
  $filters: ChargelogFilter,
  $timeframe: TimeFrameFilter
) {
  chargelogsPaged(
    pagination: $pagination,
    type: $type,
    filters: $filters,
    timeframe: $timeframe
  ) {
    pagination {
      ...PaginationFragment
    }
    data {
      ...ChargelogFragment
    }
  }
}
Variables
{
  "pagination": PaginationFilter,
  "type": "contact",
  "filters": ChargelogFilter,
  "timeframe": TimeFrameFilter
}
Response
{
  "data": {
    "chargelogsPaged": {
      "pagination": Pagination,
      "data": [Chargelog]
    }
  }
}

chargingStatistics

Description

Get statistics for chargelogs (optionally within a specific timerange)

Response

Returns a ChargingStatistics

Arguments
Name Description
timeframe - TimeFrameFilter

Example

Query
query chargingStatistics($timeframe: TimeFrameFilter) {
  chargingStatistics(timeframe: $timeframe) {
    number
    energyConsumption
    co2Saving
  }
}
Variables
{"timeframe": TimeFrameFilter}
Response
{
  "data": {
    "chargingStatistics": {
      "number": 123,
      "energyConsumption": 123.45,
      "co2Saving": 987.65
    }
  }
}

connector

Description

Load a single connector

Response

Returns a Connector

Arguments
Name Description
id - ID!
ignoreMarketingConfiguration - Boolean

Example

Query
query connector(
  $id: ID!,
  $ignoreMarketingConfiguration: Boolean
) {
  connector(
    id: $id,
    ignoreMarketingConfiguration: $ignoreMarketingConfiguration
  ) {
    id
    label
    evseId
    connectorType {
      ...ConnectorTypeFragment
    }
    status {
      ...ConnectorStatusFragment
    }
    cp {
      ...CpFragment
    }
    sortOrder
    freeOfCharge
  }
}
Variables
{
  "id": "4",
  "ignoreMarketingConfiguration": false
}
Response
{
  "data": {
    "connector": {
      "id": 4,
      "label": "abc123",
      "evseId": "xyz789",
      "connectorType": ConnectorType,
      "status": ConnectorStatus,
      "cp": Cp,
      "sortOrder": "xyz789",
      "freeOfCharge": false
    }
  }
}

connectorByEvseId

Description

Load a single connector by its EVSEID.

Response

Returns a Connector

Arguments
Name Description
evseId - String!
ignoreMarketingConfiguration - Boolean

Example

Query
query connectorByEvseId(
  $evseId: String!,
  $ignoreMarketingConfiguration: Boolean
) {
  connectorByEvseId(
    evseId: $evseId,
    ignoreMarketingConfiguration: $ignoreMarketingConfiguration
  ) {
    id
    label
    evseId
    connectorType {
      ...ConnectorTypeFragment
    }
    status {
      ...ConnectorStatusFragment
    }
    cp {
      ...CpFragment
    }
    sortOrder
    freeOfCharge
  }
}
Variables
{
  "evseId": "xyz789",
  "ignoreMarketingConfiguration": true
}
Response
{
  "data": {
    "connectorByEvseId": {
      "id": 4,
      "label": "abc123",
      "evseId": "xyz789",
      "connectorType": ConnectorType,
      "status": ConnectorStatus,
      "cp": Cp,
      "sortOrder": "xyz789",
      "freeOfCharge": true
    }
  }
}

connectorsPaged

No longer supported
Description

Load a list of connectors with pagination

Response

Returns a ConnectorPaged

Arguments
Name Description
pagination - PaginationFilter
ignoreMarketingConfiguration - Boolean

Example

Query
query connectorsPaged(
  $pagination: PaginationFilter,
  $ignoreMarketingConfiguration: Boolean
) {
  connectorsPaged(
    pagination: $pagination,
    ignoreMarketingConfiguration: $ignoreMarketingConfiguration
  ) {
    pagination {
      ...PaginationFragment
    }
    data {
      ...ConnectorFragment
    }
  }
}
Variables
{
  "pagination": PaginationFilter,
  "ignoreMarketingConfiguration": true
}
Response
{
  "data": {
    "connectorsPaged": {
      "pagination": Pagination,
      "data": [Connector]
    }
  }
}

contact

Response

Returns a Contact

Example

Query
query contact {
  contact {
    id
    isCompany
    firstName
    name
    displayName
    address {
      ...AddressFragment
    }
    vat
    phone
    mobile
    email
    language
    gender
    birthday
    companyId
    createdAt
    updatedAt
    termsAndConditionsAccepted
  }
}
Response
{
  "data": {
    "contact": {
      "id": "abc123",
      "isCompany": true,
      "firstName": "xyz789",
      "name": "abc123",
      "displayName": "xyz789",
      "address": Address,
      "vat": "abc123",
      "phone": "abc123",
      "mobile": "abc123",
      "email": "abc123",
      "language": "de_DE",
      "gender": "female",
      "birthday": "2007-12-03T10:15:30Z",
      "companyId": 123,
      "createdAt": "2007-12-03T10:15:30Z",
      "updatedAt": "2007-12-03T10:15:30Z",
      "termsAndConditionsAccepted": true
    }
  }
}

contractPaymentMethods

Response

Returns [ContractPaymentMethod]

Example

Query
query contractPaymentMethods {
  contractPaymentMethods {
    uuid
    applicationId
    paymentType
    paymentName
    directPaymentMethod
    cardCreateMode
    emp
    termsOfServiceUrl
    termsOfUseUrl
    createdAt
    updatedAt
  }
}
Response
{
  "data": {
    "contractPaymentMethods": [
      {
        "uuid": "abc123",
        "applicationId": "xyz789",
        "paymentType": "abc123",
        "paymentName": "xyz789",
        "directPaymentMethod": "xyz789",
        "cardCreateMode": "xyz789",
        "emp": "xyz789",
        "termsOfServiceUrl": "xyz789",
        "termsOfUseUrl": "xyz789",
        "createdAt": "2007-12-03T10:15:30Z",
        "updatedAt": "2007-12-03T10:15:30Z"
      }
    ]
  }
}

contractRateOptions

Description

Get rate options applicable to contracts and available to clients.

Response

Returns [RateOption]

Example

Query
query contractRateOptions {
  contractRateOptions {
    uuid
    id
    name
    description
    shortDescription
  }
}
Response
{
  "data": {
    "contractRateOptions": [
      {
        "uuid": "xyz789",
        "id": "abc123",
        "name": "abc123",
        "description": "abc123",
        "shortDescription": "xyz789"
      }
    ]
  }
}

cp

Description

Load a single cp

Response

Returns a Cp

Arguments
Name Description
id - ID!
ignoreMarketingConfiguration - Boolean

Example

Query
query cp(
  $id: ID!,
  $ignoreMarketingConfiguration: Boolean
) {
  cp(
    id: $id,
    ignoreMarketingConfiguration: $ignoreMarketingConfiguration
  ) {
    id
    label
    address
    city
    zip
    country
    longitude
    latitude
    connectors {
      ...ConnectorFragment
    }
    information {
      ...CpInfoFragment
    }
    additionalFields {
      ...AdditionalCpFieldFragment
    }
    contact {
      ...ContactInformationFragment
    }
    images {
      ...CpImageFragment
    }
    status {
      ...CpStatusFragment
    }
    siteId
    site {
      ...SiteFragment
    }
    accessType
    isFavoured
    publicName
  }
}
Variables
{
  "id": "4",
  "ignoreMarketingConfiguration": true
}
Response
{
  "data": {
    "cp": {
      "id": "4",
      "label": "abc123",
      "address": "xyz789",
      "city": "abc123",
      "zip": "xyz789",
      "country": "xyz789",
      "longitude": 123.45,
      "latitude": 123.45,
      "connectors": [Connector],
      "information": CpInfo,
      "additionalFields": [AdditionalCpField],
      "contact": ContactInformation,
      "images": [CpImage],
      "status": CpStatus,
      "siteId": "abc123",
      "site": Site,
      "accessType": "INTERNAL",
      "isFavoured": false,
      "publicName": "xyz789"
    }
  }
}

cpCapabilities

Response

Returns a CpCapabilities!

Arguments
Name Description
id - String!

Example

Query
query cpCapabilities($id: String!) {
  cpCapabilities(id: $id) {
    hasRemoteCommands
  }
}
Variables
{"id": "abc123"}
Response
{"data": {"cpCapabilities": {"hasRemoteCommands": false}}}

cpOccupancyRate

Response

Returns [OccupancyRate]

Arguments
Name Description
cpId - String!
day - OccupancyDays!

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": "xyz789",
        "hour": 987,
        "occupancyRate": 123.45
      }
    ]
  }
}

cpsPaged

Description

Load a list of stations with pagination based on filters (optional)

Response

Returns a CpsPaged

Arguments
Name Description
pagination - PaginationFilter
filter - [ConnectorFilter]
ignoreMarketingConfiguration - Boolean
freeOfCharge - Boolean
tagId - String

Example

Query
query cpsPaged(
  $pagination: PaginationFilter,
  $filter: [ConnectorFilter],
  $ignoreMarketingConfiguration: Boolean,
  $freeOfCharge: Boolean,
  $tagId: String
) {
  cpsPaged(
    pagination: $pagination,
    filter: $filter,
    ignoreMarketingConfiguration: $ignoreMarketingConfiguration,
    freeOfCharge: $freeOfCharge,
    tagId: $tagId
  ) {
    pagination {
      ...PaginationFragment
    }
    data {
      ...CpFragment
    }
  }
}
Variables
{
  "pagination": PaginationFilter,
  "filter": [ConnectorFilter],
  "ignoreMarketingConfiguration": false,
  "freeOfCharge": true,
  "tagId": "xyz789"
}
Response
{
  "data": {
    "cpsPaged": {
      "pagination": Pagination,
      "data": [Cp]
    }
  }
}

cpsPagedLocationBased

Description

Load a list of stations with pagination based on location

Response

Returns a CpsPaged

Arguments
Name Description
orderedByDistance - String

If the Cps should be returned ordered by the distance or not.

The backend will order by distance when:

  • by default, when orderedByDistance is not specified
  • when orderedByDistance is "1" The backend will not order by distance only when:
  • when orderedByDistance is "0"
pagination - PaginationFilter
location - LocationFilter
filter - [ConnectorFilter]
ignoreMarketingConfiguration - Boolean
freeOfCharge - Boolean
tagId - String

Example

Query
query cpsPagedLocationBased(
  $orderedByDistance: String,
  $pagination: PaginationFilter,
  $location: LocationFilter,
  $filter: [ConnectorFilter],
  $ignoreMarketingConfiguration: Boolean,
  $freeOfCharge: Boolean,
  $tagId: String
) {
  cpsPagedLocationBased(
    orderedByDistance: $orderedByDistance,
    pagination: $pagination,
    location: $location,
    filter: $filter,
    ignoreMarketingConfiguration: $ignoreMarketingConfiguration,
    freeOfCharge: $freeOfCharge,
    tagId: $tagId
  ) {
    pagination {
      ...PaginationFragment
    }
    data {
      ...CpFragment
    }
  }
}
Variables
{
  "orderedByDistance": "abc123",
  "pagination": PaginationFilter,
  "location": LocationFilter,
  "filter": [ConnectorFilter],
  "ignoreMarketingConfiguration": true,
  "freeOfCharge": false,
  "tagId": "xyz789"
}
Response
{
  "data": {
    "cpsPagedLocationBased": {
      "pagination": Pagination,
      "data": [Cp]
    }
  }
}

directPaymentChargingStatus

Response

Returns a DirectPaymentChargingStatus

Arguments
Name Description
evseId - String!
transactionId - String!

Example

Query
query directPaymentChargingStatus(
  $evseId: String!,
  $transactionId: String!
) {
  directPaymentChargingStatus(
    evseId: $evseId,
    transactionId: $transactionId
  ) {
    status
    message
    chargeLogId
  }
}
Variables
{
  "evseId": "xyz789",
  "transactionId": "abc123"
}
Response
{
  "data": {
    "directPaymentChargingStatus": {
      "status": "xyz789",
      "message": "abc123",
      "chargeLogId": "abc123"
    }
  }
}

filters

Response

Returns [Filter]

Example

Query
query filters {
  filters {
    slug
    label
    type
    options {
      ...FilterOptionFragment
    }
  }
}
Response
{
  "data": {
    "filters": [
      {
        "slug": "TYPE_OF_CURRENT",
        "label": "xyz789",
        "type": "xyz789",
        "options": [FilterOption]
      }
    ]
  }
}

getFavouriteCps

Response

Returns [Cp]

Example

Query
query getFavouriteCps {
  getFavouriteCps {
    id
    label
    address
    city
    zip
    country
    longitude
    latitude
    connectors {
      ...ConnectorFragment
    }
    information {
      ...CpInfoFragment
    }
    additionalFields {
      ...AdditionalCpFieldFragment
    }
    contact {
      ...ContactInformationFragment
    }
    images {
      ...CpImageFragment
    }
    status {
      ...CpStatusFragment
    }
    siteId
    site {
      ...SiteFragment
    }
    accessType
    isFavoured
    publicName
  }
}
Response
{
  "data": {
    "getFavouriteCps": [
      {
        "id": "4",
        "label": "xyz789",
        "address": "xyz789",
        "city": "abc123",
        "zip": "xyz789",
        "country": "abc123",
        "longitude": 987.65,
        "latitude": 123.45,
        "connectors": [Connector],
        "information": CpInfo,
        "additionalFields": [AdditionalCpField],
        "contact": ContactInformation,
        "images": [CpImage],
        "status": CpStatus,
        "siteId": "xyz789",
        "site": Site,
        "accessType": "INTERNAL",
        "isFavoured": true,
        "publicName": "xyz789"
      }
    ]
  }
}

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}}

locationsLocationBased

Response

Returns a LocationsPaged

Arguments
Name Description
pagination - PaginationFilter
location - LocationFilter
filter - [ConnectorFilter]
ignoreMarketingConfiguration - Boolean

Example

Query
query locationsLocationBased(
  $pagination: PaginationFilter,
  $location: LocationFilter,
  $filter: [ConnectorFilter],
  $ignoreMarketingConfiguration: Boolean
) {
  locationsLocationBased(
    pagination: $pagination,
    location: $location,
    filter: $filter,
    ignoreMarketingConfiguration: $ignoreMarketingConfiguration
  ) {
    pagination {
      ...PaginationFragment
    }
    locations {
      ...LocationFragment
    }
  }
}
Variables
{
  "pagination": PaginationFilter,
  "location": LocationFilter,
  "filter": [ConnectorFilter],
  "ignoreMarketingConfiguration": false
}
Response
{
  "data": {
    "locationsLocationBased": {
      "pagination": Pagination,
      "locations": [Location]
    }
  }
}

locationsPaged

Response

Returns a LocationsPaged

Arguments
Name Description
pagination - PaginationFilter
filter - [ConnectorFilter]
ignoreMarketingConfiguration - Boolean

Example

Query
query locationsPaged(
  $pagination: PaginationFilter,
  $filter: [ConnectorFilter],
  $ignoreMarketingConfiguration: Boolean
) {
  locationsPaged(
    pagination: $pagination,
    filter: $filter,
    ignoreMarketingConfiguration: $ignoreMarketingConfiguration
  ) {
    pagination {
      ...PaginationFragment
    }
    locations {
      ...LocationFragment
    }
  }
}
Variables
{
  "pagination": PaginationFilter,
  "filter": [ConnectorFilter],
  "ignoreMarketingConfiguration": false
}
Response
{
  "data": {
    "locationsPaged": {
      "pagination": Pagination,
      "locations": [Location]
    }
  }
}

occupancyRate

No longer supported
Description

A query to get all occupancy of a connector

Response

Returns [OccupancyRate]

Arguments
Name Description
connectors - [String]!
day - OccupancyDays!

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": "abc123",
        "hour": 987,
        "occupancyRate": 123.45
      }
    ]
  }
}

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.

Response

Returns [RatePackage]

Arguments
Name Description
id - String

Example

Query
query ratePackageByConnectorId($id: String) {
  ratePackageByConnectorId(id: $id) {
    id
    visibleRuntime
    automaticStop
    amount
    rate {
      ...RateOptionFragment
    }
  }
}
Variables
{"id": "abc123"}
Response
{
  "data": {
    "ratePackageByConnectorId": [
      {
        "id": "xyz789",
        "visibleRuntime": 987,
        "automaticStop": 123,
        "amount": 987.65,
        "rate": RateOption
      }
    ]
  }
}

remoteStartAttemptStatus

Response

Returns an AttemptRemoteStartResponse!

Arguments
Name Description
id - String!

Example

Query
query remoteStartAttemptStatus($id: String!) {
  remoteStartAttemptStatus(id: $id) {
    chargeLogId
    connectorId
    failureReason
    id
    isFailure
    lastSentAt
    status
  }
}
Variables
{"id": "xyz789"}
Response
{
  "data": {
    "remoteStartAttemptStatus": {
      "chargeLogId": "abc123",
      "connectorId": "abc123",
      "failureReason": "xyz789",
      "id": 4,
      "isFailure": true,
      "lastSentAt": "abc123",
      "status": "abc123"
    }
  }
}

settings

Response

Returns [Setting!]!

Arguments
Name Description
key - String

Example

Query
query settings($key: String) {
  settings(key: $key) {
    key
    value
  }
}
Variables
{"key": "xyz789"}
Response
{
  "data": {
    "settings": [
      {
        "key": "xyz789",
        "value": "xyz789"
      }
    ]
  }
}

site

Description

Load a site by id

Response

Returns a Site

Arguments
Name Description
id - String
ignoreMarketingConfiguration - Boolean

Example

Query
query site(
  $id: String,
  $ignoreMarketingConfiguration: Boolean
) {
  site(
    id: $id,
    ignoreMarketingConfiguration: $ignoreMarketingConfiguration
  ) {
    id
    latitude
    longitude
    company
    scope
    label
    cps {
      ...CpFragment
    }
  }
}
Variables
{
  "id": "abc123",
  "ignoreMarketingConfiguration": false
}
Response
{
  "data": {
    "site": {
      "id": "abc123",
      "latitude": 123.45,
      "longitude": 987.65,
      "company": "abc123",
      "scope": "xyz789",
      "label": "xyz789",
      "cps": [Cp]
    }
  }
}

sitesPaged

Description

Load a list of sites

Response

Returns a SitesPaged

Arguments
Name Description
pagination - PaginationFilter
filter - [ConnectorFilter]
ignoreMarketingConfiguration - Boolean

Example

Query
query sitesPaged(
  $pagination: PaginationFilter,
  $filter: [ConnectorFilter],
  $ignoreMarketingConfiguration: Boolean
) {
  sitesPaged(
    pagination: $pagination,
    filter: $filter,
    ignoreMarketingConfiguration: $ignoreMarketingConfiguration
  ) {
    pagination {
      ...PaginationFragment
    }
    data {
      ...SiteFragment
    }
  }
}
Variables
{
  "pagination": PaginationFilter,
  "filter": [ConnectorFilter],
  "ignoreMarketingConfiguration": true
}
Response
{
  "data": {
    "sitesPaged": {
      "pagination": Pagination,
      "data": [Site]
    }
  }
}

sitesPagedLocationBased

Description

Load a list of sites with pagination based on location

Response

Returns a SitesPaged

Arguments
Name Description
pagination - PaginationFilter
location - LocationFilter
filter - [ConnectorFilter]
ignoreMarketingConfiguration - Boolean

Example

Query
query sitesPagedLocationBased(
  $pagination: PaginationFilter,
  $location: LocationFilter,
  $filter: [ConnectorFilter],
  $ignoreMarketingConfiguration: Boolean
) {
  sitesPagedLocationBased(
    pagination: $pagination,
    location: $location,
    filter: $filter,
    ignoreMarketingConfiguration: $ignoreMarketingConfiguration
  ) {
    pagination {
      ...PaginationFragment
    }
    data {
      ...SiteFragment
    }
  }
}
Variables
{
  "pagination": PaginationFilter,
  "location": LocationFilter,
  "filter": [ConnectorFilter],
  "ignoreMarketingConfiguration": false
}
Response
{
  "data": {
    "sitesPagedLocationBased": {
      "pagination": Pagination,
      "data": [Site]
    }
  }
}

termsAndConditions

Description

The most recent terms and conditions in device language.

Response

Returns a LegalDocument

Example

Query
query termsAndConditions {
  termsAndConditions {
    id
    url
    version
  }
}
Response
{
  "data": {
    "termsAndConditions": {
      "id": "abc123",
      "url": "xyz789",
      "version": "abc123"
    }
  }
}

verifyEmail

Description

Verify Email address

Response

Returns a VerifyEmailResponse

Arguments
Name Description
email - String

Example

Query
query verifyEmail($email: String) {
  verifyEmail(email: $email) {
    status
    message
  }
}
Variables
{"email": "xyz789"}
Response
{
  "data": {
    "verifyEmail": {
      "status": 123,
      "message": "abc123"
    }
  }
}

Mutations

acceptTermsAndConditions

Description

Accept the terms and conditions by uuid.

Response

Returns a TermsAndConditionsStatus!

Arguments
Name Description
id - String!

Example

Query
mutation acceptTermsAndConditions($id: String!) {
  acceptTermsAndConditions(id: $id) {
    message
    status
  }
}
Variables
{"id": "abc123"}
Response
{
  "data": {
    "acceptTermsAndConditions": {
      "message": "xyz789",
      "status": "xyz789"
    }
  }
}

anonymousLogin

No longer supported
Description

Anonymous user login authentication: This endpoint returns a session object. The session token is valid for 10 min. The refresh token is valid for a month.

Response

Returns a UserLoginAuthenticationResponse

Example

Query
mutation anonymousLogin {
  anonymousLogin {
    sessionToken
    refreshToken
    error {
      ...ErrorBodyFragment
    }
  }
}
Response
{
  "data": {
    "anonymousLogin": {
      "sessionToken": "xyz789",
      "refreshToken": "abc123",
      "error": ErrorBody
    }
  }
}

attemptRemoteStart

Response

Returns an AttemptRemoteStartResponse!

Arguments
Name Description
input - AttemptRemoteStartInput!

Example

Query
mutation attemptRemoteStart($input: AttemptRemoteStartInput!) {
  attemptRemoteStart(input: $input) {
    chargeLogId
    connectorId
    failureReason
    id
    isFailure
    lastSentAt
    status
  }
}
Variables
{"input": AttemptRemoteStartInput}
Response
{
  "data": {
    "attemptRemoteStart": {
      "chargeLogId": "xyz789",
      "connectorId": "xyz789",
      "failureReason": "xyz789",
      "id": 4,
      "isFailure": true,
      "lastSentAt": "xyz789",
      "status": "abc123"
    }
  }
}

changePassword

Description

Set new password

Response

Returns a ChangePasswordResponse

Arguments
Name Description
currentPassword - String
newPassword - String

Example

Query
mutation changePassword(
  $currentPassword: String,
  $newPassword: String
) {
  changePassword(
    currentPassword: $currentPassword,
    newPassword: $newPassword
  ) {
    code
    status
    message
  }
}
Variables
{
  "currentPassword": "xyz789",
  "newPassword": "xyz789"
}
Response
{
  "data": {
    "changePassword": {
      "code": 123,
      "status": "abc123",
      "message": "xyz789"
    }
  }
}

createAuthenticationMedia

Description

Create an authentication media

Response

Returns an AuthenticationMediaResponse

Arguments
Name Description
authenticationMedia - authenticationMediaContract!

Example

Query
mutation createAuthenticationMedia($authenticationMedia: authenticationMediaContract!) {
  createAuthenticationMedia(authenticationMedia: $authenticationMedia) {
    id
    rateId
    customerReference
  }
}
Variables
{"authenticationMedia": authenticationMediaContract}
Response
{
  "data": {
    "createAuthenticationMedia": {
      "id": "xyz789",
      "rateId": "abc123",
      "customerReference": "xyz789"
    }
  }
}

createPostpaidContract

Description

Create a postpaid contract

Response

Returns a ContractPostpaidResponse

Arguments
Name Description
postpaidContract - creatingPostpaidContract

Example

Query
mutation createPostpaidContract($postpaidContract: creatingPostpaidContract) {
  createPostpaidContract(postpaidContract: $postpaidContract) {
    status
    message
    error {
      ...ContractErrorBodyFragment
    }
  }
}
Variables
{"postpaidContract": creatingPostpaidContract}
Response
{
  "data": {
    "createPostpaidContract": {
      "status": "abc123",
      "message": "xyz789",
      "error": ContractErrorBody
    }
  }
}

createSepaContract

Description

Create a SEPA contract

Response

Returns a ContractSepaResponse

Arguments
Name Description
sepaContract - creatingSepaContract

Example

Query
mutation createSepaContract($sepaContract: creatingSepaContract) {
  createSepaContract(sepaContract: $sepaContract) {
    status
    message
    error {
      ...ContractErrorBodyFragment
    }
  }
}
Variables
{"sepaContract": creatingSepaContract}
Response
{
  "data": {
    "createSepaContract": {
      "status": "xyz789",
      "message": "xyz789",
      "error": ContractErrorBody
    }
  }
}

deleteContact

Description

Delete Contact: Deleting the current logged in user

Response

Returns a ContactDeleteResponse

Example

Query
mutation deleteContact {
  deleteContact {
    status
    profile {
      ...ContactFragment
    }
    additionalFields {
      ...AdditionalRegistrationFieldFragment
    }
    error {
      ...ErrorBodyFragment
    }
  }
}
Response
{
  "data": {
    "deleteContact": {
      "status": "abc123",
      "profile": Contact,
      "additionalFields": [AdditionalRegistrationField],
      "error": ErrorBody
    }
  }
}

deleteCp

Response

Returns a Cp!

Arguments
Name Description
id - ID!

Example

Query
mutation deleteCp($id: ID!) {
  deleteCp(id: $id) {
    id
    label
    address
    city
    zip
    country
    longitude
    latitude
    connectors {
      ...ConnectorFragment
    }
    information {
      ...CpInfoFragment
    }
    additionalFields {
      ...AdditionalCpFieldFragment
    }
    contact {
      ...ContactInformationFragment
    }
    images {
      ...CpImageFragment
    }
    status {
      ...CpStatusFragment
    }
    siteId
    site {
      ...SiteFragment
    }
    accessType
    isFavoured
    publicName
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "deleteCp": {
      "id": 4,
      "label": "xyz789",
      "address": "abc123",
      "city": "xyz789",
      "zip": "xyz789",
      "country": "abc123",
      "longitude": 123.45,
      "latitude": 987.65,
      "connectors": [Connector],
      "information": CpInfo,
      "additionalFields": [AdditionalCpField],
      "contact": ContactInformation,
      "images": [CpImage],
      "status": CpStatus,
      "siteId": "xyz789",
      "site": Site,
      "accessType": "INTERNAL",
      "isFavoured": false,
      "publicName": "abc123"
    }
  }
}

deletePostpaidContract

Description

Update a postpaid contract

Response

Returns a ContractPostpaidResponse

Arguments
Name Description
postpaidContract - deletePostpaidContract

Example

Query
mutation deletePostpaidContract($postpaidContract: deletePostpaidContract) {
  deletePostpaidContract(postpaidContract: $postpaidContract) {
    status
    message
    error {
      ...ContractErrorBodyFragment
    }
  }
}
Variables
{"postpaidContract": deletePostpaidContract}
Response
{
  "data": {
    "deletePostpaidContract": {
      "status": "abc123",
      "message": "xyz789",
      "error": ContractErrorBody
    }
  }
}

deleteSepaContract

Description

Delete a SEPA contract

Response

Returns a ContractSepaResponse

Arguments
Name Description
id - String!

Example

Query
mutation deleteSepaContract($id: String!) {
  deleteSepaContract(id: $id) {
    status
    message
    error {
      ...ContractErrorBodyFragment
    }
  }
}
Variables
{"id": "xyz789"}
Response
{
  "data": {
    "deleteSepaContract": {
      "status": "xyz789",
      "message": "xyz789",
      "error": ContractErrorBody
    }
  }
}

initAnonymousSession

Response

Returns a SessionAuthenticationResponse!

Example

Query
mutation initAnonymousSession {
  initAnonymousSession {
    refreshToken
    sessionToken
  }
}
Response
{
  "data": {
    "initAnonymousSession": {
      "refreshToken": "xyz789",
      "sessionToken": "abc123"
    }
  }
}

initDirectPaymentCharging

Response

Returns an OptileTransaction

Arguments
Name Description
connectorId - String!
rateId - String!
ratePackageId - String
cardId - String

Example

Query
mutation initDirectPaymentCharging(
  $connectorId: String!,
  $rateId: String!,
  $ratePackageId: String,
  $cardId: String
) {
  initDirectPaymentCharging(
    connectorId: $connectorId,
    rateId: $rateId,
    ratePackageId: $ratePackageId,
    cardId: $cardId
  ) {
    link
    id
  }
}
Variables
{
  "connectorId": "xyz789",
  "rateId": "abc123",
  "ratePackageId": "abc123",
  "cardId": "xyz789"
}
Response
{
  "data": {
    "initDirectPaymentCharging": {
      "link": "abc123",
      "id": "xyz789"
    }
  }
}

initSession

Response

Returns a SessionAuthenticationResponse!

Arguments
Name Description
password - String!
username - String!

Example

Query
mutation initSession(
  $password: String!,
  $username: String!
) {
  initSession(
    password: $password,
    username: $username
  ) {
    refreshToken
    sessionToken
  }
}
Variables
{
  "password": "xyz789",
  "username": "abc123"
}
Response
{
  "data": {
    "initSession": {
      "refreshToken": "abc123",
      "sessionToken": "xyz789"
    }
  }
}

invalidateSession

Description

Session invalidation: The active session for a logged in user will be invalidated.

Response

Returns a SessionInvalidationResponse

Example

Query
mutation invalidateSession {
  invalidateSession {
    status
    isInvalidated
  }
}
Response
{
  "data": {
    "invalidateSession": {
      "status": "abc123",
      "isInvalidated": false
    }
  }
}

login

No longer supported
Description

User login authentication: Given username and password this endpoint returns a session object. The session token is valid for 10 min. The refresh token is valid for a month.

Response

Returns a UserLoginAuthenticationResponse

Arguments
Name Description
username - String!
password - String!

Example

Query
mutation login(
  $username: String!,
  $password: String!
) {
  login(
    username: $username,
    password: $password
  ) {
    sessionToken
    refreshToken
    error {
      ...ErrorBodyFragment
    }
  }
}
Variables
{
  "username": "xyz789",
  "password": "abc123"
}
Response
{
  "data": {
    "login": {
      "sessionToken": "xyz789",
      "refreshToken": "xyz789",
      "error": ErrorBody
    }
  }
}

reactivateUser

Description

Reactivate User

Response

Returns a ReactivateUserResponse

Arguments
Name Description
email - String

Example

Query
mutation reactivateUser($email: String) {
  reactivateUser(email: $email) {
    status
    message
  }
}
Variables
{"email": "xyz789"}
Response
{
  "data": {
    "reactivateUser": {
      "status": 123,
      "message": "abc123"
    }
  }
}

refreshSession

No longer supported
Description

Refresh user session: Providing the appropriate refresh token as an authorization bearer token, a new session object will be provided. Like with the login response, the session and refresh token are valid for 10 minutes and a month respectively.

Response

Returns a UserLoginAuthenticationResponse

Example

Query
mutation refreshSession {
  refreshSession {
    sessionToken
    refreshToken
    error {
      ...ErrorBodyFragment
    }
  }
}
Response
{
  "data": {
    "refreshSession": {
      "sessionToken": "abc123",
      "refreshToken": "abc123",
      "error": ErrorBody
    }
  }
}

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
contactProfile - RegisteringContactProfile
additionalFields - [AdditionalRegistrationFieldInput]

Example

Query
mutation registerContact(
  $contactProfile: RegisteringContactProfile,
  $additionalFields: [AdditionalRegistrationFieldInput]
) {
  registerContact(
    contactProfile: $contactProfile,
    additionalFields: $additionalFields
  ) {
    profile {
      ...ContactFragment
    }
    additionalFields {
      ...AdditionalRegistrationFieldFragment
    }
    error {
      ...ErrorBodyFragment
    }
  }
}
Variables
{
  "contactProfile": RegisteringContactProfile,
  "additionalFields": [AdditionalRegistrationFieldInput]
}
Response
{
  "data": {
    "registerContact": {
      "profile": Contact,
      "additionalFields": [AdditionalRegistrationField],
      "error": ErrorBody
    }
  }
}

registerContactAndLogin

Description

Create user profile: Expecting a JSON containing the users information a new account is created in the mandant

Response

Returns a ContactSession

Arguments
Name Description
contactProfile - RegisteringContactProfile
additionalFields - [AdditionalRegistrationFieldInput]

Example

Query
mutation registerContactAndLogin(
  $contactProfile: RegisteringContactProfile,
  $additionalFields: [AdditionalRegistrationFieldInput]
) {
  registerContactAndLogin(
    contactProfile: $contactProfile,
    additionalFields: $additionalFields
  ) {
    contact {
      ...ContactResponseFragment
    }
    session {
      ...UserLoginAuthenticationResponseFragment
    }
  }
}
Variables
{
  "contactProfile": RegisteringContactProfile,
  "additionalFields": [AdditionalRegistrationFieldInput]
}
Response
{
  "data": {
    "registerContactAndLogin": {
      "contact": ContactResponse,
      "session": UserLoginAuthenticationResponse
    }
  }
}

registerPaymentMethod

Response

Returns an OptileTransaction

Arguments
Name Description
rateId - String!
customerReference - String

Example

Query
mutation registerPaymentMethod(
  $rateId: String!,
  $customerReference: String
) {
  registerPaymentMethod(
    rateId: $rateId,
    customerReference: $customerReference
  ) {
    link
    id
  }
}
Variables
{
  "rateId": "abc123",
  "customerReference": "abc123"
}
Response
{
  "data": {
    "registerPaymentMethod": {
      "link": "abc123",
      "id": "xyz789"
    }
  }
}

remoteStart

Description

Start a remote charging process

Response

Returns a RemoteStartResponse

Arguments
Name Description
authorization - Authorization
connector - String

Example

Query
mutation remoteStart(
  $authorization: Authorization,
  $connector: String
) {
  remoteStart(
    authorization: $authorization,
    connector: $connector
  ) {
    id
    status
    message
    session
    transaction
    code
  }
}
Variables
{
  "authorization": Authorization,
  "connector": "xyz789"
}
Response
{
  "data": {
    "remoteStart": {
      "id": "xyz789",
      "status": "xyz789",
      "message": "abc123",
      "session": "abc123",
      "transaction": "xyz789",
      "code": 123
    }
  }
}

remoteStartWithoutInvoicing

Description

Start a remote charging process without invoicing

Response

Returns a RemoteStartResponse

Arguments
Name Description
authorization - Authorization
connector - String

Example

Query
mutation remoteStartWithoutInvoicing(
  $authorization: Authorization,
  $connector: String
) {
  remoteStartWithoutInvoicing(
    authorization: $authorization,
    connector: $connector
  ) {
    id
    status
    message
    session
    transaction
    code
  }
}
Variables
{
  "authorization": Authorization,
  "connector": "abc123"
}
Response
{
  "data": {
    "remoteStartWithoutInvoicing": {
      "id": "abc123",
      "status": "abc123",
      "message": "abc123",
      "session": "xyz789",
      "transaction": "xyz789",
      "code": 123
    }
  }
}

remoteStop

Description

Stop a remote charging process

Response

Returns a RemoteStopResponse

Arguments
Name Description
transaction - String

Example

Query
mutation remoteStop($transaction: String) {
  remoteStop(transaction: $transaction) {
    status
    code
    title
    message
  }
}
Variables
{"transaction": "xyz789"}
Response
{
  "data": {
    "remoteStop": {
      "status": "xyz789",
      "code": 123,
      "title": "abc123",
      "message": "abc123"
    }
  }
}

renewSession

Description

Refresh user session: Providing the appropriate refresh token as an authorization bearer token, a new session object will be provided. Like with the login response, the session and refresh token are valid for 10 minutes and a month respectively.

Response

Returns a SessionAuthenticationResponse

Example

Query
mutation renewSession {
  renewSession {
    refreshToken
    sessionToken
  }
}
Response
{
  "data": {
    "renewSession": {
      "refreshToken": "xyz789",
      "sessionToken": "xyz789"
    }
  }
}

setFavouriteCps

Description

Update the list of favourite Charge Points for the current user

Response

Returns [CpFavouredStatus]

Arguments
Name Description
ids - [String]!

Example

Query
mutation setFavouriteCps($ids: [String]!) {
  setFavouriteCps(ids: $ids) {
    id
    isFavoured
  }
}
Variables
{"ids": ["xyz789"]}
Response
{
  "data": {
    "setFavouriteCps": [
      {"id": "abc123", "isFavoured": true}
    ]
  }
}

unsetFavouriteCps

Description

Removing the favourite Charge Points for the current user

Response

Returns [CpFavouredStatus]

Arguments
Name Description
ids - [String]!

Example

Query
mutation unsetFavouriteCps($ids: [String]!) {
  unsetFavouriteCps(ids: $ids) {
    id
    isFavoured
  }
}
Variables
{"ids": ["xyz789"]}
Response
{
  "data": {
    "unsetFavouriteCps": [
      {"id": "xyz789", "isFavoured": true}
    ]
  }
}

updateCard

Response

Returns an UpdateCardResponse!

Arguments
Name Description
input - UpdateCardInput!

Example

Query
mutation updateCard($input: UpdateCardInput!) {
  updateCard(input: $input) {
    expiryDate
    id
    label
    message
    number
    status
    tagId
    type
  }
}
Variables
{"input": UpdateCardInput}
Response
{
  "data": {
    "updateCard": {
      "expiryDate": "xyz789",
      "id": 4,
      "label": "xyz789",
      "message": "abc123",
      "number": "abc123",
      "status": "abc123",
      "tagId": "xyz789",
      "type": "xyz789"
    }
  }
}

updateCardBillingContact

Description

Update card billing contact

Response

Returns an UpdateCardBillingContactResponse

Arguments
Name Description
cardId - String!
billingContactId - String!

Example

Query
mutation updateCardBillingContact(
  $cardId: String!,
  $billingContactId: String!
) {
  updateCardBillingContact(
    cardId: $cardId,
    billingContactId: $billingContactId
  ) {
    status
    message
  }
}
Variables
{
  "cardId": "xyz789",
  "billingContactId": "abc123"
}
Response
{
  "data": {
    "updateCardBillingContact": {
      "status": "abc123",
      "message": "abc123"
    }
  }
}

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!

Example

Query
mutation updateContact($contactProfile: ContactProfile!) {
  updateContact(contactProfile: $contactProfile) {
    profile {
      ...ContactFragment
    }
    additionalFields {
      ...AdditionalRegistrationFieldFragment
    }
    error {
      ...ErrorBodyFragment
    }
  }
}
Variables
{"contactProfile": ContactProfile}
Response
{
  "data": {
    "updateContact": {
      "profile": Contact,
      "additionalFields": [AdditionalRegistrationField],
      "error": ErrorBody
    }
  }
}

updatePostpaidContract

Description

Update a postpaid contract

Response

Returns a ContractPostpaidResponse

Arguments
Name Description
postpaidContract - updatePostpaidContract

Example

Query
mutation updatePostpaidContract($postpaidContract: updatePostpaidContract) {
  updatePostpaidContract(postpaidContract: $postpaidContract) {
    status
    message
    error {
      ...ContractErrorBodyFragment
    }
  }
}
Variables
{"postpaidContract": updatePostpaidContract}
Response
{
  "data": {
    "updatePostpaidContract": {
      "status": "abc123",
      "message": "abc123",
      "error": ContractErrorBody
    }
  }
}

updateSepaContract

Description

Update a SEPA contract

Response

Returns a ContractSepaResponse

Arguments
Name Description
updateSepaContract - updatingSepaContract

Example

Query
mutation updateSepaContract($updateSepaContract: updatingSepaContract) {
  updateSepaContract(updateSepaContract: $updateSepaContract) {
    status
    message
    error {
      ...ContractErrorBodyFragment
    }
  }
}
Variables
{"updateSepaContract": updatingSepaContract}
Response
{
  "data": {
    "updateSepaContract": {
      "status": "xyz789",
      "message": "abc123",
      "error": ContractErrorBody
    }
  }
}

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

INTERNAL

The station is accessible via the internal infrastructure

ROAMING

The station is accessible via an external roaming interface
Example
"INTERNAL"

AccountDocument

Description

Details about one document.

Fields
Field Name Description
id - String Unique Identifier in form of Int
type - accountDocumentType The type of the document
title - String The title of the document
documentDate - DateTime The date when the document was issued
downloadLink - String A Link to download the pdf
Example
{
  "id": "abc123",
  "type": "offer",
  "title": "xyz789",
  "documentDate": "2007-12-03T10:15:30Z",
  "downloadLink": "xyz789"
}

AccountDocumentsPaged

Description

AccountDocuments filtered by page

Fields
Field Name Description
pagination - Pagination Pagination filter
data - [AccountDocument] The paged set of documents of the authenticated user.
Example
{
  "pagination": Pagination,
  "data": [AccountDocument]
}

AdditionalCpField

Fields
Field Name Description
name - String
value - String
Example
{
  "name": "abc123",
  "value": "abc123"
}

AdditionalRegistrationField

Description

AdditionalRegistrationField data

Fields
Field Name Description
name - String
value - String
description - String
required - String
type - String
Example
{
  "name": "abc123",
  "value": "abc123",
  "description": "xyz789",
  "required": "abc123",
  "type": "abc123"
}

AdditionalRegistrationFieldInput

Fields
Input Field Description
name - String!
value - String!
description - String
required - String!
type - String
Example
{
  "name": "xyz789",
  "value": "xyz789",
  "description": "xyz789",
  "required": "xyz789",
  "type": "xyz789"
}

Address

Fields
Field Name Description
street - String
zip - String
city - String
state - String
country - CountryAlpha
Example
{
  "street": "xyz789",
  "zip": "xyz789",
  "city": "abc123",
  "state": "xyz789",
  "country": "AF"
}

AddressInput

Fields
Input Field Description
street - String
zip - String
city - String
state - String
country - CountryAlpha
Example
{
  "street": "xyz789",
  "zip": "abc123",
  "city": "xyz789",
  "state": "abc123",
  "country": "AF"
}

AttemptRemoteStartConfig

Description

Additional configuration options for the remote start attempt.

Fields
Input Field Description
markedAsInvoiced - Boolean
ratePackage - String
stopMinutes - Int
validUntil - String

validUntil must be a valid ISO 8601 date string

Example
{
  "markedAsInvoiced": true,
  "ratePackage": "xyz789",
  "stopMinutes": 987,
  "validUntil": "xyz789"
}

AttemptRemoteStartInput

Fields
Input Field Description
config - AttemptRemoteStartConfig

Optional configuration parameters.

connectorId - String!
tagId - String!
Example
{
  "config": AttemptRemoteStartConfig,
  "connectorId": "abc123",
  "tagId": "xyz789"
}

AttemptRemoteStartResponse

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!
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": "xyz789",
  "connectorId": "abc123",
  "failureReason": "abc123",
  "id": "4",
  "isFailure": false,
  "lastSentAt": "xyz789",
  "status": "abc123"
}

AuthenticationMediaResponse

Fields
Field Name Description
id - String
rateId - String
customerReference - String
Example
{
  "id": "xyz789",
  "rateId": "abc123",
  "customerReference": "xyz789"
}

Authorization

Fields
Input Field Description
identifier - String!
type - AuthorizationType!
Example
{"identifier": "abc123", "type": "AUTO"}

AuthorizationType

Values
Enum Value Description

AUTO

RFID

Example
"AUTO"

BankAccountResponse

Fields
Field Name Description
iban - String International Bank Account Number.
bic - String Business Identifier Code (SWIFT Code).
bank - String Name of the bank institut.
accountHolder - String Name of the bank account owner
Example
{
  "iban": "xyz789",
  "bic": "xyz789",
  "bank": "xyz789",
  "accountHolder": "xyz789"
}

Boolean

Description

The Boolean scalar type represents true or false.

Example
true

Card

Fields
Field Name Description
id - String! Unique identifier in form of an uuid.
tagId - String! Unique identifier in form of an tag id.
number - String! Number of the authentication media (card).
label - String Label of the authentication media (card).
expiryDate - DateTime Expiry date of the authentication media (card).
status - CardStatus Indicator whether authentication media (card) is active/inactive.
type - CardType Type of the authentication media (card).
rate - RateOption Rate options of card
Example
{
  "id": "xyz789",
  "tagId": "xyz789",
  "number": "xyz789",
  "label": "xyz789",
  "expiryDate": "2007-12-03T10:15:30Z",
  "status": "active",
  "type": "default",
  "rate": RateOption
}

CardForChargingProcess

Fields
Field Name Description
id - String! Unique identifier in form of an uuid.
tagId - String! Unique identifier in form of an tag id.
number - String! Number of the authentication media (card).
label - String Label of the authentication media (card).
expiryDate - DateTime Expiry date of the authentication media (card).
type - CardType Type of the authentication media (card).
rate - RateDescriptionForChargingProcess Information on rate which will be applied to the charging process.
Example
{
  "id": "abc123",
  "tagId": "xyz789",
  "number": "xyz789",
  "label": "xyz789",
  "expiryDate": "2007-12-03T10:15:30Z",
  "type": "default",
  "rate": RateDescriptionForChargingProcess
}

CardInterface

Fields
Field Name Description
id - String! Unique identifier in form of an uuid.
tagId - String! Unique identifier in form of an tag id.
number - String! Number of the authentication media (card).
label - String Label of the authentication media (card).
expiryDate - DateTime Expiry date of the authentication media (card).
type - CardType Type of the authentication media (card).
Possible Types
CardInterface Types

Card

CardForChargingProcess

Example
{
  "id": "abc123",
  "tagId": "xyz789",
  "number": "abc123",
  "label": "xyz789",
  "expiryDate": "2007-12-03T10:15:30Z",
  "type": "default"
}

CardStatus

Values
Enum Value Description

active

inactive

Example
"active"

CardStatusActionEnum

Description

defined values for card status actions

Values
Enum Value Description

DEACTIVATE

Example
"DEACTIVATE"

CardType

Values
Enum Value Description

default

roaming

virtual

simple

emsp

Example
"default"

CardsPaged

Fields
Field Name Description
pagination - Pagination
data - [Card]
Example
{
  "pagination": Pagination,
  "data": [Card]
}

CdrCostItem

Fields
Field Name Description
netAmount - Float Net amount
netAmountLocalCurrency - Float Net amount expressed in local currency
grossAmount - Float Gross amount
grossAmountLocalCurrency - Float Gross amount expressed in local currency
taxAmount - Float Tax amount
taxAmountLocalCurrency - Float Tax amount expressed in local currency
taxRate - Float Percentage of the tax
description - String Description of the item type
Example
{
  "netAmount": 123.45,
  "netAmountLocalCurrency": 987.65,
  "grossAmount": 123.45,
  "grossAmountLocalCurrency": 987.65,
  "taxAmount": 987.65,
  "taxAmountLocalCurrency": 123.45,
  "taxRate": 123.45,
  "description": "abc123"
}

ChangePasswordResponse

Fields
Field Name Description
code - Int
status - String
message - String
Example
{
  "code": 123,
  "status": "xyz789",
  "message": "abc123"
}

ChargeLogFilterStatus

Values
Enum Value Description

started

stopped

Example
"started"

ChargeLogType

Description

ToDo Add cp,card ....

Values
Enum Value Description

contact

Example
"contact"

Chargelog

Fields
Field Name Description
id - ID! Unique identifier in form of an uuid.
status - String! The current status of the charging process.
connector - Connector! The connector on which the charging process is/was running.
authId - String! The identifier with whom the charging process was authorized.
authType - String The type of autherntication media with whom the charging process was authiorized.
dateStart - DateTime Start date of the charging process.
dateEnd - DateTime End date of the charging process.
meterStart - Int Starting value of the meter.
meterEnd - Int End value of the meter.
energyConsumption - Float The consumed energy in kWh.
co2Saving - Float The CO2 saving in kg CO2.
cost - Cost The costs of the charging process.
sessionId - String Id of the Session. Needed to stop the transaction
rateName - String Name of the used rate.
calibrationDetails - String The link to download calibration details.
Example
{
  "id": "4",
  "status": "xyz789",
  "connector": Connector,
  "authId": "abc123",
  "authType": "abc123",
  "dateStart": "2007-12-03T10:15:30Z",
  "dateEnd": "2007-12-03T10:15:30Z",
  "meterStart": 123,
  "meterEnd": 123,
  "energyConsumption": 123.45,
  "co2Saving": 123.45,
  "cost": Cost,
  "sessionId": "abc123",
  "rateName": "abc123",
  "calibrationDetails": "abc123"
}

ChargelogFilter

Description

Filter for chargelogs.

Fields
Input Field Description
status - ChargeLogFilterStatus

The current status of the charging process.

Example
{"status": "started"}

ChargelogsPaged

Fields
Field Name Description
pagination - Pagination
data - [Chargelog]
Example
{
  "pagination": Pagination,
  "data": [Chargelog]
}

ChargingStatistics

Fields
Field Name Description
number - Int
energyConsumption - Float The consumed energy in kWh.
co2Saving - Float The CO2 saving in kg CO2.
Example
{"number": 987, "energyConsumption": 987.65, "co2Saving": 123.45}

Connector

Description

Connector information

Fields
Field Name Description
id - ID!
label - String
evseId - String
connectorType - ConnectorType
status - ConnectorStatus
cp - Cp
sortOrder - String
freeOfCharge - Boolean
Example
{
  "id": 4,
  "label": "abc123",
  "evseId": "abc123",
  "connectorType": ConnectorType,
  "status": ConnectorStatus,
  "cp": Cp,
  "sortOrder": "abc123",
  "freeOfCharge": false
}

ConnectorFilter

Fields
Input Field Description
slug - FilterType

Unique identifier in form of a slug.

options - [String]

List of filter options.

Example
{
  "slug": "TYPE_OF_CURRENT",
  "options": ["abc123"]
}

ConnectorPaged

Description

ConnectorPaged contains information about the used pagination and paginated connectors

Fields
Field Name Description
pagination - Pagination
data - [Connector] List of connectors.
Example
{
  "pagination": Pagination,
  "data": [Connector]
}

ConnectorStatus

Fields
Field Name Description
connectorId - ID! The connector’s internal ID.
ocpp - String Latest/current ocpp connector status that was received from the connector
calculated - String Calculated current cp connector status
simple - SimpleConnectorStatus Calculated current cp connector status in simplified form
Example
{
  "connectorId": 4,
  "ocpp": "abc123",
  "calculated": "xyz789",
  "simple": "Available"
}

ConnectorType

Description

Type of connector

Fields
Field Name Description
id - ID! Internal ID of the connector type.
label - String Label of the connector's type.
standard - String Standard of the connector's type.
chargingFacilityType - String Charging facility type of the connector.
plugType - String Plug type of the connector.
chargingModeType - String Charging mode type of the connector.
chargePointType - String Charge point type of the connector (AC or DC).
maxPowerRating - Float Maximum power rating of the connector, defined in kW.
Example
{
  "id": 4,
  "label": "abc123",
  "standard": "abc123",
  "chargingFacilityType": "abc123",
  "plugType": "abc123",
  "chargingModeType": "abc123",
  "chargePointType": "abc123",
  "maxPowerRating": 987.65
}

Contact

Description

Contact data

Fields
Field Name Description
id - String
isCompany - Boolean isCompany is either true or false
firstName - String
name - String
displayName - String
address - Address
vat - String
phone - String
mobile - String
email - String
language - LanguageCode
gender - Gender gender can be female, male, company or diverse
birthday - DateTime
companyId - Int
createdAt - DateTime
updatedAt - DateTime
termsAndConditionsAccepted - Boolean
Example
{
  "id": "abc123",
  "isCompany": false,
  "firstName": "abc123",
  "name": "xyz789",
  "displayName": "xyz789",
  "address": Address,
  "vat": "abc123",
  "phone": "abc123",
  "mobile": "abc123",
  "email": "xyz789",
  "language": "de_DE",
  "gender": "female",
  "birthday": "2007-12-03T10:15:30Z",
  "companyId": 123,
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "termsAndConditionsAccepted": false
}

ContactDeleteResponse

Description

Delete response: Informs the client if the delete was performed.

Fields
Field Name Description
status - String
profile - Contact
additionalFields - [AdditionalRegistrationField]
error - ErrorBody
Example
{
  "status": "xyz789",
  "profile": Contact,
  "additionalFields": [AdditionalRegistrationField],
  "error": ErrorBody
}

ContactInformation

Fields
Field Name Description
phone - String Phone number
email - String Email adress
Example
{
  "phone": "abc123",
  "email": "abc123"
}

ContactProfile

Description

User profile

Fields
Input Field Description
id - String
isCompany - Boolean

isCompany is either true or false

firstName - String
name - String
address - AddressInput
vat - String
phone - String
fax - String
mobile - String
email - String
language - LanguageCode
gender - Gender

gender can be female, male, company or diverse

birthday - DateTime
companyId - Int
Example
{
  "id": "abc123",
  "isCompany": false,
  "firstName": "abc123",
  "name": "xyz789",
  "address": AddressInput,
  "vat": "abc123",
  "phone": "xyz789",
  "fax": "abc123",
  "mobile": "abc123",
  "email": "abc123",
  "language": "de_DE",
  "gender": "female",
  "birthday": "2007-12-03T10:15:30Z",
  "companyId": 123
}

ContactResponse

Fields
Field Name Description
profile - Contact
additionalFields - [AdditionalRegistrationField]
error - ErrorBody
Example
{
  "profile": Contact,
  "additionalFields": [AdditionalRegistrationField],
  "error": ErrorBody
}

ContactSession

Fields
Field Name Description
contact - ContactResponse
session - UserLoginAuthenticationResponse
Example
{
  "contact": ContactResponse,
  "session": UserLoginAuthenticationResponse
}

ContractData

Fields
Field Name Description
PAGE_ENVIRONMENT - String
JAVASCRIPT_INTEGRATION - String
PAGE_BUTTON_LOCALE - String
Example
{
  "PAGE_ENVIRONMENT": "abc123",
  "JAVASCRIPT_INTEGRATION": "xyz789",
  "PAGE_BUTTON_LOCALE": "abc123"
}

ContractErrorBody

Fields
Field Name Description
code - String
response - ContractErrorResponse
Example
{
  "code": "abc123",
  "response": ContractErrorResponse
}

ContractErrorResponse

Fields
Field Name Description
status - Int
statusText - String
body - ContractErrorResponseStatus
Example
{
  "status": 987,
  "statusText": "xyz789",
  "body": ContractErrorResponseStatus
}

ContractErrorResponseStatus

Fields
Field Name Description
status - String
message - String
Example
{
  "status": "xyz789",
  "message": "abc123"
}

ContractPaymentMethod

Description

ContractPaymentMethods data

Fields
Field Name Description
uuid - String!
applicationId - String
paymentType - String
paymentName - String
directPaymentMethod - String
cardCreateMode - String
emp - String
termsOfServiceUrl - String
termsOfUseUrl - String
createdAt - DateTime
updatedAt - DateTime
Example
{
  "uuid": "xyz789",
  "applicationId": "xyz789",
  "paymentType": "xyz789",
  "paymentName": "abc123",
  "directPaymentMethod": "xyz789",
  "cardCreateMode": "abc123",
  "emp": "abc123",
  "termsOfServiceUrl": "abc123",
  "termsOfUseUrl": "xyz789",
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z"
}

ContractPostpaidResponse

Fields
Field Name Description
status - String
message - String
error - ContractErrorBody
Example
{
  "status": "xyz789",
  "message": "xyz789",
  "error": ContractErrorBody
}

ContractSepaResponse

Fields
Field Name Description
status - String
message - String
error - ContractErrorBody
Example
{
  "status": "xyz789",
  "message": "xyz789",
  "error": ContractErrorBody
}

Cost

Fields
Field Name Description
costItems - [CdrCostItem]
total - Float
currency - String
tax - Float No longer supported
taxAmount - Float No longer supported
grossAmount - Float
grossAmountLocalCurrency - Float
Example
{
  "costItems": [CdrCostItem],
  "total": 123.45,
  "currency": "abc123",
  "tax": 123.45,
  "taxAmount": 987.65,
  "grossAmount": 123.45,
  "grossAmountLocalCurrency": 123.45
}

CountryAlpha

Values
Enum Value Description

AF

EG

AX

AL

DZ

AS

VI

AD

AO

AI

AQ

AG

GQ

AR

AM

AW

AC

AZ

ET

AU

BS

BH

BD

BB

BE

BZ

BJ

BM

BT

BO

BA

BW

BV

BR

VG

IO

BN

BG

BF

BI

CL

CN

CK

CR

CI

DK

DE

SH

DG

DM

DO

DJ

EC

SV

ER

EE

EU

FK

FO

FJ

FI

FR

GF

PF

TF

GA

GM

GE

GH

GI

GD

GR

GL

GP

GU

GT

GG

GN

GW

GY

HT

HM

HN

HK

IN

ID

IM

IQ

IR

IE

IS

IL

IT

JM

JP

YE

JE

JO

KY

KH

CM

CA

IC

CV

KZ

QA

KE

KG

KI

CC

CO

KM

CD

CG

KP

KR

HR

CU

KW

LA

LS

LV

LB

LR

LY

LI

LT

LU

MO

MG

MW

MY

MV

ML

MT

MA

MH

MQ

MR

MU

YT

MK

MX

FM

MD

MC

MN

MS

MZ

MM

NA

NR

NP

NC

NZ

NT

NI

NL

AN

NE

NG

NU

MP

NF

NO

OM

AT

PK

PS

PW

PA

PG

PY

PE

PH

PN

PL

PT

PR

RE

RW

RO

RU

SB

ZM

WS

SM

ST

SA

SE

CH

SN

CS

SC

SL

ZW

SG

SK

SI

SO

ES

LK

KN

LC

PM

VC

ZA

SD

GS

SR

SJ

SZ

SY

TJ

TW

TZ

TH

TL

TG

TK

TO

TT

TA

TD

CZ

TN

TR

TM

TC

TV

UG

UA

SU

UY

UZ

VU

VA

VE

AE

US

GB

VN

WF

CX

BY

EH

CF

CY

HU

ME

Example
"AF"

Cp

Description

Representation of a charging station.

Fields
Field Name Description
id - ID! Unique Identifier in form of UUID4
label - String Human readable string representation.
address - String Address (Streetname)
city - String City
zip - String Zip code
country - String Country (3 characters)
longitude - Float Longitude of the position.
latitude - Float Latitude of the position.
connectors - [Connector] List of connectors.
information - CpInfo Information
additionalFields - [AdditionalCpField] Additional cp fields (customisable info fields per mandant)
contact - ContactInformation Contact information
images - [CpImage] CP Images as array
status - CpStatus Status information
siteId - String Site uuid of Cp
site - Site Site
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.
isFavoured - Boolean Is CP marked as a favourite by user
publicName - String Public display name
Example
{
  "id": 4,
  "label": "abc123",
  "address": "abc123",
  "city": "xyz789",
  "zip": "xyz789",
  "country": "abc123",
  "longitude": 123.45,
  "latitude": 123.45,
  "connectors": [Connector],
  "information": CpInfo,
  "additionalFields": [AdditionalCpField],
  "contact": ContactInformation,
  "images": [CpImage],
  "status": CpStatus,
  "siteId": "xyz789",
  "site": Site,
  "accessType": "INTERNAL",
  "isFavoured": false,
  "publicName": "abc123"
}

CpCapabilities

Fields
Field Name Description
hasRemoteCommands - Boolean! This value marks if a remote command is possible for a certain cp
Example
{"hasRemoteCommands": true}

CpFavouredStatus

Fields
Field Name Description
id - String
isFavoured - Boolean
Example
{"id": "xyz789", "isFavoured": false}

CpImage

Fields
Field Name Description
url - String Url of a cp image
Example
{"url": "xyz789"}

CpInfo

Fields
Field Name Description
openingTimes - OpeningTimes Opening times
payment - String Payment information
additional - String Additional information
marketingDisplay - String A display status, which can be configured within the backends marketing information section of a charging station
Example
{
  "openingTimes": OpeningTimes,
  "payment": "abc123",
  "additional": "abc123",
  "marketingDisplay": "xyz789"
}

CpStatus

Description

CpStatus

Fields
Field Name Description
ocpp - String Latest/current ocpp status that was received from the station
calculated - String Calculated current cp status
simple - SimpleCpStatus Calculated current cp status in simplified form
Example
{
  "ocpp": "xyz789",
  "calculated": "xyz789",
  "simple": "Available"
}

CpsPaged

Description

CpsPaged contains information about the used pagination and paginated cps

Fields
Field Name Description
pagination - Pagination
data - [Cp]
Example
{
  "pagination": Pagination,
  "data": [Cp]
}

DateTime

Example
"2007-12-03T10:15:30Z"

DirectPaymentChargingStatus

Fields
Field Name Description
status - String
message - String
chargeLogId - String
Example
{
  "status": "abc123",
  "message": "xyz789",
  "chargeLogId": "xyz789"
}

ErrorBody

Fields
Field Name Description
code - String
response - LoginErrorResponse
Example
{
  "code": "abc123",
  "response": LoginErrorResponse
}

Filter

Fields
Field Name Description
slug - FilterType Unique identifier in form of a slug.
label - String Description of the filter.
type - String Information on the filter type.
options - [FilterOption] List of filter options.
Example
{
  "slug": "TYPE_OF_CURRENT",
  "label": "xyz789",
  "type": "xyz789",
  "options": [FilterOption]
}

FilterOption

Fields
Field Name Description
slug - String Unique identifier in form of a slug.
label - String Detailed description of the filter option.
icon - String Icon slug for filter option.
default - Boolean Default value of filter option.
Example
{
  "slug": "abc123",
  "label": "xyz789",
  "icon": "abc123",
  "default": false
}

FilterType

Values
Enum Value Description

TYPE_OF_CURRENT

POWER_CLASS

FILTER_BY_CONNECTOR_TYPE

Example
"TYPE_OF_CURRENT"

Float

Description

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

Example
123.45

Gender

Values
Enum Value Description

female

male

company

diverse

Example
"female"

HostedPaymentMethodGetSession

Fields
Field Name Description
sessionId - String
link - String
Example
{
  "sessionId": "abc123",
  "link": "xyz789"
}

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
987

LanguageCode

Values
Enum Value Description

de_DE

en_US

sv_SE

it_IT

fr_FR

ru_RU

hu_HU

no_NO

es_ES

lv_LV

uk_UA

da_DK

nl_NL

ro_RO

ja_JP

hr_HR

fi_FI

et_EE

el_GR

sk_SK

lt_LT

cs_CZ

Example
"de_DE"

LegalDocument

Fields
Field Name Description
id - String! The id of the document in the form of an uuid.
url - String! URL to the terms and condition in PDF format.
version - String!
Example
{
  "id": "abc123",
  "url": "abc123",
  "version": "xyz789"
}

Location

Description

Location can be a Cp or Site

It shares connectors and information.

Fields
Field Name Description
id - String
label - String
latitude - Float
longitude - Float
connectors - [Connector]
type - LocationType
Example
{
  "id": "abc123",
  "label": "abc123",
  "latitude": 987.65,
  "longitude": 123.45,
  "connectors": [Connector],
  "type": "Site"
}

LocationFilter

Description

Location information for pagination

Fields
Input Field Description
longitude - Float!
latitude - Float!
radius - Float!
Example
{"longitude": 123.45, "latitude": 123.45, "radius": 987.65}

LocationType

Description

Type of a location. Currently there are two.

Values
Enum Value Description

Site

Cp

Example
"Site"

LocationsPaged

Description

Locations filtered with pagination.

Fields
Field Name Description
pagination - Pagination
locations - [Location]
Example
{
  "pagination": Pagination,
  "locations": [Location]
}

LoginErrorResponse

Fields
Field Name Description
status - Int
statusText - String
body - LoginErrorResponseStatus
Example
{
  "status": 123,
  "statusText": "xyz789",
  "body": LoginErrorResponseStatus
}

LoginErrorResponseStatus

Fields
Field Name Description
status - String
message - String
Example
{
  "status": "abc123",
  "message": "xyz789"
}

NativePaymentMethodGetSession

Fields
Field Name Description
sessionId - String
registeredPaymentsMethods - [PaymentMethod]
applicablePaymentMethods - [PaymentMethod]
Example
{
  "sessionId": "xyz789",
  "registeredPaymentsMethods": [PaymentMethod],
  "applicablePaymentMethods": [PaymentMethod]
}

OccupancyDays

Values
Enum Value Description

ALL

MONDAY

TUESDAY

WEDNESDAY

THURSDAY

FRIDAY

SATURDAY

SUNDAY

Example
"ALL"

OccupancyRate

Fields
Field Name Description
day - String!
hour - Int!
occupancyRate - Float!
Example
{
  "day": "xyz789",
  "hour": 987,
  "occupancyRate": 123.45
}

OpeningTimes

Fields
Field Name Description
description - String Opening times in textual format
regularHours - [RegularHours] Structured data of opening times
exceptionalOpenings - [OperatingTime] Exceptional opening times
exceptionalClosings - [OperatingTime] Exceptional closing times
Example
{
  "description": "xyz789",
  "regularHours": [RegularHours],
  "exceptionalOpenings": [OperatingTime],
  "exceptionalClosings": [OperatingTime]
}

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.

Fields
Field Name Description
begin - String Begin of the period
end - String End of the period
Example
{
  "begin": "abc123",
  "end": "abc123"
}

OperatingTime

Description

OperatingTimes have the format 'yyyy-mm-ddThh:mm:ss.sssZ' according to ISO-8601.

Fields
Field Name Description
begin - DateTime Begin of the period
end - DateTime End of the period
Example
{
  "begin": "2007-12-03T10:15:30Z",
  "end": "2007-12-03T10:15:30Z"
}

OperationType

Values
Enum Value Description

CHARGE

PAYOUT

PRESET

UPDATE

SAVE

TOKENIZE

Example
"CHARGE"

OptileTransaction

Fields
Field Name Description
link - String
id - String
Example
{
  "link": "abc123",
  "id": "abc123"
}

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
offset - Int The current offset chosen for the pagination set
limit - Int Maximum number of elements (limit) set for this pagination request
totalCount - Int Overall count of pagination result (total number of objects)
Example
{"isLastPage": false, "offset": 987, "limit": 123, "totalCount": 123}

PaginationFilter

Description

Filter to do pagination requests

Fields
Input Field Description
limit - Int

Maximum number of elements (limit) set for this pagination request

Limit for one page. Will be overruled from the api if too high.

offset - Int

Page offset of this pagination filter

Example
{"limit": 123, "offset": 987}

PaymentMethod

Description

Represents a payment card that is either registered or available for registration for current session user.

Fields
Field Name Description
code - String
label - String
method - String
grouping - String
registration - String
recurrence - String
redirect - Boolean
links - PaymentLink
button - String
selected - Boolean
iFrameHeight - Int
contractData - ContractData
operationType - OperationType
deferral - String
Example
{
  "code": "abc123",
  "label": "xyz789",
  "method": "xyz789",
  "grouping": "abc123",
  "registration": "abc123",
  "recurrence": "xyz789",
  "redirect": true,
  "links": PaymentLink,
  "button": "xyz789",
  "selected": true,
  "iFrameHeight": 123,
  "contractData": ContractData,
  "operationType": "CHARGE",
  "deferral": "abc123"
}

PaymentMethods

Description

Response body for payment cards fetched from PSPs

Fields
Field Name Description
hostedSession - HostedPaymentMethodGetSession
nativeSession - NativePaymentMethodGetSession
Example
{
  "hostedSession": HostedPaymentMethodGetSession,
  "nativeSession": NativePaymentMethodGetSession
}

RateDescriptionForChargingProcess

Fields
Field Name Description
shortDescription - String Short description of the rate.
description - String Description of the rate.
Example
{
  "shortDescription": "xyz789",
  "description": "xyz789"
}

RateOption

Fields
Field Name Description
uuid - String No longer supported
id - String!
name - String
description - String
shortDescription - String
Example
{
  "uuid": "xyz789",
  "id": "xyz789",
  "name": "abc123",
  "description": "abc123",
  "shortDescription": "abc123"
}

RatePackage

Fields
Field Name Description
id - String
visibleRuntime - Int
automaticStop - Int
amount - Float
rate - RateOption
Example
{
  "id": "xyz789",
  "visibleRuntime": 123,
  "automaticStop": 987,
  "amount": 123.45,
  "rate": RateOption
}

ReactivateUserResponse

Fields
Field Name Description
status - Int
message - String
Example
{"status": 123, "message": "abc123"}

RegisteringContactProfile

Fields
Input Field Description
isCompany - Boolean

isCompany is either true or false

companyId - Int
title - String
firstName - String
name - String
address - AddressInput
vat - String
phone - String
fax - String
mobile - String
email - String
language - LanguageCode
gender - Gender

gender can be female, male, company or diverse

birthday - DateTime
password - String!
Example
{
  "isCompany": true,
  "companyId": 987,
  "title": "xyz789",
  "firstName": "abc123",
  "name": "xyz789",
  "address": AddressInput,
  "vat": "xyz789",
  "phone": "xyz789",
  "fax": "xyz789",
  "mobile": "xyz789",
  "email": "abc123",
  "language": "de_DE",
  "gender": "female",
  "birthday": "2007-12-03T10:15:30Z",
  "password": "xyz789"
}

RegularHours

Fields
Field Name Description
weekday - Int Weekday for regular hour definition (1 as Monday and 7 as Sunday)
operatingHours - OperatingHours Structured data of operating hours
Example
{"weekday": 123, "operatingHours": OperatingHours}

RemoteStartResponse

Description

Response of a remote start

Fields
Field Name Description
id - String
status - String
message - String
session - String
transaction - String
code - Int
Example
{
  "id": "xyz789",
  "status": "abc123",
  "message": "abc123",
  "session": "xyz789",
  "transaction": "xyz789",
  "code": 987
}

RemoteStopResponse

Description

Response of a remote stop

Fields
Field Name Description
status - String
code - Int
title - String
message - String
Example
{
  "status": "abc123",
  "code": 987,
  "title": "abc123",
  "message": "abc123"
}

SessionAuthenticationResponse

Fields
Field Name Description
refreshToken - String
sessionToken - String
Example
{
  "refreshToken": "abc123",
  "sessionToken": "xyz789"
}

SessionInvalidationResponse

Fields
Field Name Description
status - String
isInvalidated - Boolean
Example
{"status": "abc123", "isInvalidated": false}

Setting

Fields
Field Name Description
key - String! Unique identifier in form of an tag id.
value - String! Number of the authentication media (card).
Example
{
  "key": "abc123",
  "value": "xyz789"
}

SimpleConnectorStatus

Description

Set of simple statuses which a charging connector can have

Values
Enum Value Description

Available

Occupied

Unavailable

Faulted

Example
"Available"

SimpleCpStatus

Description

Set of simple statuses which a charging station can have

Values
Enum Value Description

Available

Unavailable

Occupied

Example
"Available"

Site

Fields
Field Name Description
id - String The id is the uuid of the site
latitude - Float
longitude - Float
company - String
scope - String
label - String
cps - [Cp]
Example
{
  "id": "abc123",
  "latitude": 123.45,
  "longitude": 123.45,
  "company": "abc123",
  "scope": "xyz789",
  "label": "xyz789",
  "cps": [Cp]
}

SitesPaged

Fields
Field Name Description
pagination - Pagination
data - [Site]
Example
{
  "pagination": Pagination,
  "data": [Site]
}

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
"abc123"

TermsAndConditionsStatus

Fields
Field Name Description
message - String! A description of what happend.
status - String! The status if the acceptance was successful or not.
Example
{
  "message": "xyz789",
  "status": "abc123"
}

TimeFrameFilter

Fields
Input Field Description
start - DateTime
end - DateTime
Example
{
  "start": "2007-12-03T10:15:30Z",
  "end": "2007-12-03T10:15:30Z"
}

UpdateCardBillingContactResponse

Fields
Field Name Description
status - String
message - String
Example
{
  "status": "abc123",
  "message": "abc123"
}

UpdateCardInput

Fields
Input Field Description
cardId - String!
label - String
status - CardStatusActionEnum
Example
{
  "cardId": "xyz789",
  "label": "xyz789",
  "status": "DEACTIVATE"
}

UpdateCardResponse

Fields
Field Name Description
expiryDate - String The set expiry date of card
id - ID
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": "xyz789",
  "id": "4",
  "label": "abc123",
  "message": "abc123",
  "number": "abc123",
  "status": "xyz789",
  "tagId": "abc123",
  "type": "abc123"
}

UserLoginAuthenticationResponse

Fields
Field Name Description
sessionToken - String
refreshToken - String
error - ErrorBody
Example
{
  "sessionToken": "abc123",
  "refreshToken": "abc123",
  "error": ErrorBody
}

VerifyEmailResponse

Fields
Field Name Description
status - Int
message - String
Example
{"status": 987, "message": "xyz789"}

accountDocumentType

Values
Enum Value Description

offer

order

invoice

creditnote

delivery

purchase

Example
"offer"

authenticationMediaContract

Fields
Input Field Description
rateId - String!

The id of the rate which will be assigned to the authentication media.

customerReference - String!

A text field for the user to name his authentication media individually.

Example
{
  "rateId": "abc123",
  "customerReference": "xyz789"
}

chargelogMeterValuesSummary

Description

chargelogMeterValuesSummary data

Fields
Field Name Description
sumEnergy - Float
updatedAt - String
energyLastValue - Float
energyLastValueTime - String
energyUpdatedAt - String
energyFirstValue - Float
energyFirstValueTime - String
stateOfChargeLastChanged - String
currentPowerLastChanged - String
currentPower - Int
currentStateOfCharge - Int
initialStateOfCharge - Int
Example
{
  "sumEnergy": 987.65,
  "updatedAt": "abc123",
  "energyLastValue": 123.45,
  "energyLastValueTime": "abc123",
  "energyUpdatedAt": "abc123",
  "energyFirstValue": 987.65,
  "energyFirstValueTime": "abc123",
  "stateOfChargeLastChanged": "xyz789",
  "currentPowerLastChanged": "xyz789",
  "currentPower": 123,
  "currentStateOfCharge": 987,
  "initialStateOfCharge": 987
}

creatingPostpaidContract

Fields
Input Field Description
id - String!

Id of a registered contract option.

rateId - String!

RateId

customerReference - String

A text field for the customer to name his card individually.

Example
{
  "id": "xyz789",
  "rateId": "xyz789",
  "customerReference": "abc123"
}

creatingSepaContract

Fields
Input Field Description
id - String!

Id of a registered contract option.

rateId - String!

RateId

iban - String!

International Bank Account Number.

bic - String!

Business Identifier Code (SWIFT Code).

bank - String!

Name of the bank institut.

debitType - String!

Type of the debit card

accountHolder - String!

Name of the bank account owner

useParent - Boolean!

Use the parent account

customerReference - String

A text field for the customer to name his card individually.

Example
{
  "id": "abc123",
  "rateId": "abc123",
  "iban": "xyz789",
  "bic": "abc123",
  "bank": "abc123",
  "debitType": "xyz789",
  "accountHolder": "abc123",
  "useParent": true,
  "customerReference": "xyz789"
}

deletePostpaidContract

Fields
Input Field Description
id - String!

Id of a registered contract option.

Example
{"id": "abc123"}

updatePostpaidContract

Fields
Input Field Description
id - String!

Id of a registered contract option.

customerReference - String!

Customer Reference also known as Description

Example
{
  "id": "xyz789",
  "customerReference": "xyz789"
}

updatingSepaContract

Fields
Input Field Description
id - String!

Uuid of a registered contract option.

iban - String

International Bank Account Number.

bic - String

Business Identifier Code (SWIFT Code).

bank - String

Name of the bank institut.

accountHolder - String

Name of the bank account owner

customerReference - String

A text field for the customer to name his card individually.

Example
{
  "id": "abc123",
  "iban": "xyz789",
  "bic": "abc123",
  "bank": "abc123",
  "accountHolder": "xyz789",
  "customerReference": "xyz789"
}

Subscriptions

feedStatusUpdate

Response

Returns a ConnectorStatus

Arguments
Name Description
connectors - [ID]!

Example

Query
subscription feedStatusUpdate($connectors: [ID]!) {
  feedStatusUpdate(connectors: $connectors) {
    connectorId
    ocpp
    calculated
    simple
  }
}
Variables
{"connectors": [4]}
Response
{
  "data": {
    "feedStatusUpdate": {
      "connectorId": "4",
      "ocpp": "xyz789",
      "calculated": "abc123",
      "simple": "Available"
    }
  }
}