Wirelane EMobilityCloud API (2.0)

Download OpenAPI specification:

Basic information

To use this API, a client_id and client_secret is needed. Please contact our support to receive one for your app.

There are two kinds of endpoints:

  • endpoints that are accessible without having an Wirelane user account, these use the OAuth2ClientCredential security scheme.
  • endpoints that are only available to Wirelane user accounts, these use the OAuth2Password security scheme.

Host names for the endpoints

OAuth host names

  • Staging: oauth.emobilitycloud-staging.com
  • Production: oauth.emobilitycloud.com

API host names

  • Staging: api.wirelane-staging.com
  • Production: api.wirelane.com

OAuth

Public endpoints (OAuth2ClientCredential)

Retrieving a JWT access token:

POST https://${oauth_host_name}/token
Content-Type: application/x-www-form-urlencoded
Accept: application/json

grant_type=client_credentials&client_id=...&client_secret=...&scope=account

Authenticated endpoints (OAuth2Password)

Retrieving a JWT access token:

POST https://${oauth_host_name}/token
Content-Type: application/x-www-form-urlencoded
Accept: application/json

grant_type=password&client_id=...&client_secret=...&username=...&password=...

Using the access token

The access_token property from the response to the authentication request needs to be provided as authorization header to the requests:

Authorization: Bearer ${access_token}

Webhooks

Forwards an organization event to the defined callback. Webhook

Authorizations:
OAuth2Password

Responses

Accounts

Get account data

Get data of the currently authenticated account.

Authorizations:
OAuth2Password

Responses

Response samples

Content type
application/json
{
  • "account_type": "business",
  • "language": "de",
  • "name": "John Doe",
  • "address": {
    },
  • "invoice_email_address": "invoices@example.com",
  • "company_name": "Wirelane GmbH",
  • "vat_number": "DE999999999",
  • "account_id": "DEWLN-0123456789",
  • "tenant": "dewln",
  • "email": "test@example.com",
  • "status": "ACTIVE",
  • "terminationRequested": "2023-04-01T12:00:00+02:00",
  • "terminationEffective": "2023-04-01T12:00:00+02:00",
  • "terminationReason": "terminationReason"
}

Update account data

Update data of the currently authenticated account.

Authorizations:
OAuth2Password
Request Body schema: application/json
required
account_type
string
Default: "personal"
Enum: "personal" "business"

Intended use of the account:

  • personal: For private use
  • business: For business use, enables company_name and vat_number for use in invoices
object (PostalAddress)
company_name
string

Company name, only available for account_type=business

invoice_email_address
string <email>

Additional email address to send invoices to

language
string^[a-z]{2}$
Default: "de"

ISO 639-1 language code.

name
string

Name

vat_number
string

VAT-ID, only available for account_type=business

Responses

Request samples

Content type
application/json
{
  • "account_type": "business",
  • "language": "de",
  • "name": "John Doe",
  • "address": {
    },
  • "invoice_email_address": "invoices@example.com",
  • "company_name": "Wirelane GmbH",
  • "vat_number": "DE999999999"
}

Response samples

Content type
application/json
{
  • "account_type": "business",
  • "language": "de",
  • "name": "John Doe",
  • "address": {
    },
  • "invoice_email_address": "invoices@example.com",
  • "company_name": "Wirelane GmbH",
  • "vat_number": "DE999999999",
  • "account_id": "DEWLN-0123456789",
  • "tenant": "dewln",
  • "email": "test@example.com",
  • "status": "ACTIVE",
  • "terminationRequested": "2023-04-01T12:00:00+02:00",
  • "terminationEffective": "2023-04-01T12:00:00+02:00",
  • "terminationReason": "terminationReason"
}

Cancel account termination

Cancel termination of the account. The termination of the account can only be canceled if it is still pending.

Authorizations:
OAuth2Password

Responses

Response samples

Content type
application/json
{
  • "account_type": "business",
  • "language": "de",
  • "name": "John Doe",
  • "address": {
    },
  • "invoice_email_address": "invoices@example.com",
  • "company_name": "Wirelane GmbH",
  • "vat_number": "DE999999999",
  • "account_id": "DEWLN-0123456789",
  • "tenant": "dewln",
  • "email": "test@example.com",
  • "status": "ACTIVE",
  • "terminationRequested": "2023-04-01T12:00:00+02:00",
  • "terminationEffective": "2023-04-01T12:00:00+02:00",
  • "terminationReason": "terminationReason"
}

Get memberships

Authorizations:
OAuth2Password
query Parameters
member_status
Array of strings
Items Enum: "pending" "active" "revoked" "terminated"

Membership status

  • pending: Membership is pending, user needs to accept or decline
  • active: Membership is active
  • revoked: Membership has been revoked by the organization
  • terminated: Membership has been terminated by the user or organization

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add EMP customer (account) as a member to a location partner organization

Authorizations:
OAuth2Password
Request Body schema: application/json
required
location_partner
required
string

Location Partner to which the customer gets added as a member.

Responses

Request samples

Content type
application/json
{
  • "location_partner": "dewln"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "tenant": "dewln",
  • "organization": {
    },
  • "status": "pending",
  • "type": "emp",
  • "isEmp": false
}

Decline membership

Authorizations:
OAuth2Password
path Parameters
membershipId
required
integer

The membership ID

Responses

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Get membership information

Authorizations:
OAuth2Password
path Parameters
membershipId
required
integer

The membership ID

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "tenant": "dewln",
  • "organization": {
    },
  • "status": "pending",
  • "type": "emp",
  • "isEmp": false
}

Accept membership

Authorizations:
OAuth2Password
path Parameters
membershipId
required
integer

The membership ID

Responses

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Get all organizations of the account

Authorizations:
OAuth2Password
query Parameters
page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

search
string

Search term

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get all organizations where the account has some rights

Authorizations:
OAuth2Password

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Change password

Authorizations:
OAuth2Password
Request Body schema: application/json
required
new_password
required
string <password> [ 8 .. 64 ] characters

New password

old_password
required
string <password>

Responses

Request samples

Content type
application/json
{
  • "old_password": "old_password",
  • "new_password": "new_password"
}

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Get possible plans for the account

Delivers the plans that are available to the account, might deliver private plans also.

Authorizations:
OAuth2Password
query Parameters
group_type
string
Enum: "PUBLIC" "PRIVATE"

Filter by plan group type

unlock_code
string <password> <= 20 characters ^[a-zA-Z0-9-_*.,;!@$]+$

Search for plans unlocked with the provided code

header Parameters
language
string^[a-z]{2}$

ISO 639-1 language code.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Terminate the account

Terminate the account to the next possible date.

Authorizations:
OAuth2Password
Request Body schema: application/json
required
password
required
string <password>

The account password

reason
required
string <= 255 characters

Responses

Request samples

Content type
application/json
{
  • "password": "password",
  • "reason": "reason"
}

Response samples

Content type
application/json
{
  • "account_type": "business",
  • "language": "de",
  • "name": "John Doe",
  • "address": {
    },
  • "invoice_email_address": "invoices@example.com",
  • "company_name": "Wirelane GmbH",
  • "vat_number": "DE999999999",
  • "account_id": "DEWLN-0123456789",
  • "tenant": "dewln",
  • "email": "test@example.com",
  • "status": "ACTIVE",
  • "terminationRequested": "2023-04-01T12:00:00+02:00",
  • "terminationEffective": "2023-04-01T12:00:00+02:00",
  • "terminationReason": "terminationReason"
}

Accounts Favorites

shows personal favorites

Get all personal favourite EVSEs

Authorizations:
OAuth2Password
query Parameters
page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

Responses

Response samples

Content type
application/json
[
  • {
    }
]

create personal favorite

Set another personal favourite EVSE additionally to already present favourite EVSEs

Authorizations:
OAuth2Password
Request Body schema: application/json
required
chargingProvider
required
string

The charging provider. E.g. emc for charge points using the Wirelane backend, hubject for hubject roaming cps.

chargingStationId
required
string

ID of the station

cpo
required
string

The cpo of the charging station.

owner
string

The owner of the charging station.

Responses

Request samples

Content type
application/json
{
  • "chargingStationId": "chargingStationId",
  • "chargingProvider": "emc",
  • "owner": "dewln",
  • "cpo": "dewln"
}

Response samples

Content type
application/json
{
  • "id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77",
  • "category": "user",
  • "chargingStation": {
    }
}

Delete favorite

Authorizations:
OAuth2Password
path Parameters
favoriteId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

UUID of favorite to delete

Responses

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Accounts Payment Method

Get the payment method of an account

Authorizations:
OAuth2Password

Responses

Response samples

Content type
application/json
{
  • "id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77",
  • "status": "ACTIVE",
  • "processor": "wirelane",
  • "type": "visa",
  • "label": "`**** **** **** 1234` or `john.doe@example.com`",
  • "expires": "2028-12",
  • "is_useable": true,
  • "is_expired": false,
  • "metadata": [
    ]
}

Register a new payment method for the account, will replace an existing payment method if one exists

Authorizations:
OAuth2Password
Request Body schema: application/json
required
required
object (PaymentAuthorizationReference)

Payment authorization id and secret to be used to create a payment method

Responses

Request samples

Content type
application/json
{
  • "authorization": {
    }
}

Response samples

Content type
application/json
{
  • "id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77",
  • "status": "ACTIVE",
  • "processor": "wirelane",
  • "type": "visa",
  • "label": "`**** **** **** 1234` or `john.doe@example.com`",
  • "expires": "2028-12",
  • "is_useable": true,
  • "is_expired": false,
  • "metadata": [
    ]
}

Update an authorization with the response returned from Novalnet.

This endpoint should be called in the error and success case.

Authorizations:
OAuth2Password
Request Body schema: application/json
required
object (PaymentAuthorizationReference)

Payment authorization id and secret to be used to create a payment method

checksum
string

The unchanged checksum parameter from the success page

status
string

The unchanged status parameter from the success page

tid
string

The unchanged tid parameter from the success page

txn_secret
string <password>

The unchanged txn_secret parameter from the success page

Responses

Request samples

Content type
application/json
{
  • "status": "status",
  • "txn_secret": "txn_secret",
  • "tid": "tid",
  • "checksum": "checksum",
  • "authorization": {
    }
}

Response samples

Content type
application/json
{
  • "authorization": {
    },
  • "payment_method": {
    },
  • "valid": true,
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Create an authorization and a redirect token for payment method creation for the account.

This is to be used along with the Novalnet JS library as described in https://developer.novalnet.de/onlinepayments/inline.

Authorizations:
OAuth2Password
Request Body schema: application/json
required
error_url
required
string

The error page the payment service provider should redirect the user to after invalid payment data have been given. authorizationId and authorizationSecret will automatically be added as query parameters.

success_url
required
string

The success page the payment service provider should redirect the user to after payment data have been given. authorizationId and authorizationSecret will automatically be added as query parameters.

language
string^[a-z]{2}$

ISO 639-1 language code.

Responses

Response samples

Content type
application/json
{
  • "payment_form_url": "https://openapi-generator.tech",
  • "txn_secret": "txn_secret",
  • "authorization": {
    }
}

Accounts Receipts

Get receipts

Get all of the receipts of a customer. Various query filters are accepted in the as HTTP URL parameter to modify the search.

Authorizations:
OAuth2Password
query Parameters
date_picker_since
string <date-time>

The date time to search from

date_picker_until
string <date-time>

The date time to search to

order_by
string
Default: "id"
Enum: "id" "date" "price"

Name for sort

order_direction
string
Default: "desc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

search
string

Search term

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Download a list of receipts

Get all of the receipts of an account.

Authorizations:
OAuth2Password
Request Body schema: application/json
required

list of receipt ids

Array
string

Responses

Request samples

Content type
application/json
[
  • "string"
]

Get a single receipt

Get a single receipt as JSON data or in binary document form

Authorizations:
OAuth2Password
path Parameters
receiptId
required
string^[a-zA-Z0-9-_]+$

Receipt ID (assigned by the system)

header Parameters
Accept
string
Default: application/json
Enum: "application/json" "application/zip" "application/pdf" "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"

Controls the Content-Type of the response.

Responses

Response samples

Content type
"string"

Accounts Sessions

Charging sessions for the account

Authorizations:
OAuth2Password
query Parameters
charging_point_id
string^[a-zA-Z0-9-_*+]+$

Charging Point ID

date_picker_since
string <date-time>

The date time to search from

date_picker_until
string <date-time>

The date time to search to

identification
string <= 50 characters

Value of the identification to filter for

identification_type
Array of strings
Items Enum: "access_token" "admin_remotestart" "auth_token" "contactless_payment" "contract_id" "customer_id" "customer_rfid" "direct_payment" "local_authorization" "local_payment" "giroe" "none_access_token" "rfid"

Type of the identification

  • access_token: Mobile App (v1.5, deprecated since '22)
  • admin_remotestart: OCPP RemoteStart by Admin
  • auth_token: Mobile App (v1, deprecated since '22)
  • contactless_payment: Direct Payment at Charging Station
  • contract_id: Roaming Contract ID
  • customer_id: Mobile App
  • customer_rfid: Mobile App (RFID Login)
  • direct_payment: Direct Payment via Website
  • local_authorization: Local Authorization at Charging Station
  • local_payment: Local Payment at Charging Station
  • giroe: Local Payment at Charging Station
  • none_access_token: Direct Payment (v1, deprecated since '21)
  • rfid: RFID Card
order_by
string
Default: "creationDate"
Value: "creationDate"

Name for sort

order_direction
string
Default: "desc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

search
string

Search term

status
Array of strings

The charging session status to search for:

  • initial
  • authorization_pending
  • start_accepted
  • start_pending
  • started
  • stop_accepted
  • stop_pending
  • stopped
  • closed
  • canceled
  • error
  • error_consecutive_start

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Single charging session

Authorizations:
OAuth2Password
path Parameters
shortSessionId
required
string^[0-9a-f]{8}|[0-9a-f]{8}\-[0-9a-f]{4}\-[0-9a-...

Either the ChargingSession.short_session_id (8 chars) or ChargingSession.session_id (36 chars / UUIDv4)

Responses

Response samples

Content type
application/json
{
  • "session_id": "d8d195c0-900e-41f1-b239-0456855d81c2",
  • "short_session_id": "d8d195c0",
  • "customer_id": "`DEWLN-0123456789` for registered user, `ROAM-DE*CUST*987654321` for example when coming from Roaming providers",
  • "customer_email": "customer@example.com",
  • "card_number": "WIRELANE123456",
  • "card_short_reference": "CarXYZ",
  • "language": "de",
  • "evseid": "DESGDE000801",
  • "owner": "WIRELANE-2500781",
  • "emp": "desgd",
  • "cpo": "eclearing",
  • "plug_type": "TYPE_2",
  • "charging_type": "AC",
  • "country": "DE",
  • "city": "Schwäbisch Gmünd",
  • "zip_code": "73525",
  • "street": "Honiggasse",
  • "house_number": "21",
  • "tariff": "LADEPAY_01",
  • "tariff_text": "tariff_text",
  • "price_model": "desgd_ladepay_01",
  • "price_model_text": "price_model_text",
  • "identification": "e6f252d6-30a0-5416-8533-126335a2ad2d",
  • "identification_type": "access_token",
  • "session_begin": "2023-04-01T12:00:00+02:00",
  • "session_end": "2023-04-01T12:00:00+02:00",
  • "timezone": "Europe/Berlin",
  • "duration": 68,
  • "session_duration": 68,
  • "kwh": 17.46,
  • "has_signed_value": true,
  • "totalPrice": {
    },
  • "charging_session_type": "comfort_charging",
  • "status": "closed",
  • "meter_start": 1541678196,
  • "meter_stop": 1541678196,
  • "error_code": "invalid_meter_values",
  • "error_message": "Manually closed because of time out",
  • "roaming_provider": "eclearing",
  • "secret": "4D9FEC1EE17BBC224A14CAD439E5C0AD11AFFCF9301F318DFA23C1CBBC736135",
  • "location": {
    },
  • "customer": {
    }
}

Invoice receipt for a charging session

Authorizations:
OAuth2Password
path Parameters
shortSessionId
required
string^[0-9a-f]{8}|[0-9a-f]{8}\-[0-9a-f]{4}\-[0-9a-...

Either the ChargingSession.short_session_id (8 chars) or ChargingSession.session_id (36 chars / UUIDv4)

Responses

Signed meter value for charging session

Authorizations:
OAuth2Password
path Parameters
shortSessionId
required
string^[0-9a-f]{8}|[0-9a-f]{8}\-[0-9a-f]{4}\-[0-9a-...

Either the ChargingSession.short_session_id (8 chars) or ChargingSession.session_id (36 chars / UUIDv4)

Responses

Response samples

Content type
application/json
{}

Get customer sessions statistics

Authorizations:
OAuth2Password
query Parameters
charging_type
Array of strings
Items Enum: "AC" "DC"

The charging type.

date_picker_since
string <date-time>

The date time to search from

date_picker_until
string <date-time>

The date time to search to

evseid
string^[a-zA-Z0-9-_*]+$

The ID to search for

Responses

Response samples

Content type
application/json
{
  • "consumption": {
    },
  • "sessions": {
    },
  • "revenue": {
    },
  • "revenue_gross": {
    },
  • "revenue_net": {
    },
  • "occupancy": {
    },
  • "avg_session_duration": 5.637376656633329,
  • "avg_session_comsumption": 2.3021358869347655,
  • "payment_method": "card",
  • "avg_session_revenue": 7.061401241503109,
  • "avg_session_revenue_gross": 9.301444243932576,
  • "avg_session_revenue_net": 3.616076749251911,
  • "unique_customers_total": 2.027123023002322,
  • "customer_charging_count_avg": 4.145608029883936,
  • "started_sessions_by_hour_of_day_json": "{\"00\": 1, \"01\": 2, \"02\": 10, ..., \"22\": 4, \"23\": 0}"
}

Accounts Subscriptions

Get subscriptions

Authorizations:
OAuth2Password
query Parameters
status
Array of strings
Items Enum: "active" "canseled" ""

Filter by status

header Parameters
language
string^[a-z]{2}$

ISO 639-1 language code.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a subscription

Authorizations:
OAuth2Password
Request Body schema: application/json
required
plan_key
required
string

The key of the plan to subscribe too

unlock_code
string <password> <= 20 characters ^[a-zA-Z0-9-_*.,;!@$]+$

Code to unlock the plan if it is a private one with code

Responses

Request samples

Content type
application/json
{
  • "plan_key": "01b265e1-9b71-429b-8b43-a1e7c1d77248",
  • "unlock_code": "-Y0u_;et_@_d!$,Ou*t."
}

Response samples

Content type
application/json
{
  • "id": "3073b46e-1e17-4d9d-8485-1ebd9424f6b7",
  • "upcoming_subscription": {
    },
  • "current_period": {
    },
  • "plan_key": "WIRELANE-ABO-ANNUEL-3",
  • "begin": "2023-04-01T12:00:00+02:00",
  • "end": "2023-04-01T12:00:00+02:00",
  • "account_id": "DEWLN-0123456789",
  • "account": "account"
}

Get a subscription

Authorizations:
OAuth2Password
path Parameters
subscriptionId
required
string^[a-zA-Z0-9-_]+$

Subscription ID

header Parameters
language
string^[a-z]{2}$

ISO 639-1 language code.

Responses

Response samples

Content type
application/json
{
  • "id": "3073b46e-1e17-4d9d-8485-1ebd9424f6b7",
  • "upcoming_subscription": {
    },
  • "current_period": {
    },
  • "plan_key": "WIRELANE-ABO-ANNUEL-3",
  • "begin": "2023-04-01T12:00:00+02:00",
  • "end": "2023-04-01T12:00:00+02:00",
  • "account_id": "DEWLN-0123456789",
  • "account": "account"
}

Delete a subscription cancellation

Authorizations:
OAuth2Password
path Parameters
subscriptionId
required
string^[a-zA-Z0-9-_]+$

Subscription ID

Responses

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Create a subscription cancellation

Authorizations:
OAuth2Password
path Parameters
subscriptionId
required
string^[a-zA-Z0-9-_]+$

Subscription ID

Responses

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Cancel the subscription change request

Authorizations:
OAuth2Password
path Parameters
subscriptionId
required
string^[a-zA-Z0-9-_]+$

Subscription ID

Responses

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Change the subscription plan as soon as possible

Change the subscription plan at the end of the current period

Authorizations:
OAuth2Password
path Parameters
subscriptionId
required
string^[a-zA-Z0-9-_]+$

Subscription ID

Request Body schema: application/json
required
plan_key
required
string

The key of the plan to subscribe too

unlock_code
string <password> <= 20 characters ^[a-zA-Z0-9-_*.,;!@$]+$

Code to unlock the plan if it is a private one with code

Responses

Request samples

Content type
application/json
{
  • "plan_key": "01b265e1-9b71-429b-8b43-a1e7c1d77248",
  • "unlock_code": "-Y0u_;et_@_d!$,Ou*t."
}

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Accounts Tokens

Get tokens associated with the customer

Get tokens associated with the customer. Various query filters are accepted in the as HTTP URL parameter to modify the search.

Authorizations:
OAuth2Password
query Parameters
order_by
string
Default: "number"
Value: "number"

Name for sort

order_direction
string
Default: "asc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

search
string

Search term

status
string
Enum: "active" "inactive" "blocked"

Filter by status

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Activate a token Deprecated

Activate the token associated with the customer. @deprecated: Use activateToken instead.

Authorizations:
OAuth2Password
Request Body schema: application/json
required
identifier
required
string

The identifier of the token, can be a printed card number or a contract ID

app_authentication_code
string <password> <= 255 characters

App authentication code for login purposes (Limited app login with rfid card number and app authentication code)

issuer
string

the card issuer might be required if the token identifier is not unique.

long_reference
string <= 255 characters

Long reference for the card

short_reference
string <= 15 characters

Short reference for the card

Responses

Request samples

Content type
application/json
{
  • "identifier": "identifier",
  • "issuer": "issuer",
  • "short_reference": "CarXYZ",
  • "long_reference": "CarXYZ-In the area of ABC",
  • "app_authentication_code": "Kew!P@ssw0rd"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "issuer": "dewln",
  • "number": "WIRELANE123456",
  • "state": "ACTIVE",
  • "order_id": "order_id",
  • "category": "category",
  • "short_reference": "CarXYZ",
  • "long_reference": "CarXYZ-In the area of ABC",
  • "has_app_authentication_code": true,
  • "account_id": "DEWLN-0123456789",
  • "uuid": "uuid",
  • "activation_date": "2023-04-01T12:00:00+02:00",
  • "blocking_date": "2023-04-01T12:00:00+02:00",
  • "shipping_date": "2023-04-01T12:00:00+02:00",
  • "token_order_id": "token_order_id",
  • "token_order_date": "2023-04-01T12:00:00+02:00"
}

Get token with the given id

Authorizations:
OAuth2Password
path Parameters
tokenId
required
string^[a-zA-Z0-9-_]+$

Token ID (assigned by the system), refers to TokenInfo.id

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "issuer": "dewln",
  • "number": "WIRELANE123456",
  • "state": "ACTIVE",
  • "order_id": "order_id",
  • "category": "category",
  • "short_reference": "CarXYZ",
  • "long_reference": "CarXYZ-In the area of ABC",
  • "has_app_authentication_code": true,
  • "account_id": "DEWLN-0123456789",
  • "uuid": "uuid",
  • "activation_date": "2023-04-01T12:00:00+02:00",
  • "blocking_date": "2023-04-01T12:00:00+02:00",
  • "shipping_date": "2023-04-01T12:00:00+02:00",
  • "token_order_id": "token_order_id",
  • "token_order_date": "2023-04-01T12:00:00+02:00"
}

Edit token information

Authorizations:
OAuth2Password
path Parameters
tokenId
required
string^[a-zA-Z0-9-_]+$

Token ID (assigned by the system), refers to TokenInfo.id

Request Body schema: application/json
required
app_authentication_code
string <password> <= 255 characters

App authentication code for login via app, available when OrganizationInfo.card_login_enabled is enabled for the corresponding tenant

category
string
Default: "PRIVATE"
Enum: "BUSINESS" "PRIVATE"

Token category

long_reference
string <= 255 characters

Long reference for the card

short_reference
string <= 15 characters

Short reference for the card

Responses

Request samples

Content type
application/json
{
  • "category": "PRIVATE",
  • "short_reference": "CarXYZ",
  • "long_reference": "CarXYZ-In the area of ABC",
  • "app_authentication_code": "Kew!P@ssw0rd"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "issuer": "dewln",
  • "number": "WIRELANE123456",
  • "state": "ACTIVE",
  • "order_id": "order_id",
  • "category": "category",
  • "short_reference": "CarXYZ",
  • "long_reference": "CarXYZ-In the area of ABC",
  • "has_app_authentication_code": true,
  • "account_id": "DEWLN-0123456789",
  • "uuid": "uuid",
  • "activation_date": "2023-04-01T12:00:00+02:00",
  • "blocking_date": "2023-04-01T12:00:00+02:00",
  • "shipping_date": "2023-04-01T12:00:00+02:00",
  • "token_order_id": "token_order_id",
  • "token_order_date": "2023-04-01T12:00:00+02:00"
}

Activate a token

Activate the token associated with the customer.

Authorizations:
OAuth2Password
path Parameters
tokenId
required
string^[a-zA-Z0-9-_]+$

Token ID (assigned by the system), refers to TokenInfo.id

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "issuer": "dewln",
  • "number": "WIRELANE123456",
  • "state": "ACTIVE",
  • "order_id": "order_id",
  • "category": "category",
  • "short_reference": "CarXYZ",
  • "long_reference": "CarXYZ-In the area of ABC",
  • "has_app_authentication_code": true,
  • "account_id": "DEWLN-0123456789",
  • "uuid": "uuid",
  • "activation_date": "2023-04-01T12:00:00+02:00",
  • "blocking_date": "2023-04-01T12:00:00+02:00",
  • "shipping_date": "2023-04-01T12:00:00+02:00",
  • "token_order_id": "token_order_id",
  • "token_order_date": "2023-04-01T12:00:00+02:00"
}

Deactivate the token

Deactivate the token associated with the customer.

Authorizations:
OAuth2Password
path Parameters
tokenId
required
string^[a-zA-Z0-9-_]+$

Token ID (assigned by the system), refers to TokenInfo.id

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "issuer": "dewln",
  • "number": "WIRELANE123456",
  • "state": "ACTIVE",
  • "order_id": "order_id",
  • "category": "category",
  • "short_reference": "CarXYZ",
  • "long_reference": "CarXYZ-In the area of ABC",
  • "has_app_authentication_code": true,
  • "account_id": "DEWLN-0123456789",
  • "uuid": "uuid",
  • "activation_date": "2023-04-01T12:00:00+02:00",
  • "blocking_date": "2023-04-01T12:00:00+02:00",
  • "shipping_date": "2023-04-01T12:00:00+02:00",
  • "token_order_id": "token_order_id",
  • "token_order_date": "2023-04-01T12:00:00+02:00"
}

Deactivate the token Deprecated

Deactivate the token associated with the customer. @deprecated: Use deactivateToken instead.

Authorizations:
OAuth2Password
path Parameters
tokenId
required
string^[a-zA-Z0-9-_]+$

Token ID (assigned by the system), refers to TokenInfo.id

Request Body schema: application/json
optional

@deprecated: not used anymore

message
string

@deprecated: will be ignored

Responses

Request samples

Content type
application/json
{
  • "message": "message"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "issuer": "dewln",
  • "number": "WIRELANE123456",
  • "state": "ACTIVE",
  • "order_id": "order_id",
  • "category": "category",
  • "short_reference": "CarXYZ",
  • "long_reference": "CarXYZ-In the area of ABC",
  • "has_app_authentication_code": true,
  • "account_id": "DEWLN-0123456789",
  • "uuid": "uuid",
  • "activation_date": "2023-04-01T12:00:00+02:00",
  • "blocking_date": "2023-04-01T12:00:00+02:00",
  • "shipping_date": "2023-04-01T12:00:00+02:00",
  • "token_order_id": "token_order_id",
  • "token_order_date": "2023-04-01T12:00:00+02:00"
}

Get token orders from the customer

Get token orders from the customer.

Authorizations:
OAuth2Password
query Parameters
order_by
string
Default: "transaction_date"
Enum: "id" "transaction_date" "transaction_status"

Name for sort

order_direction
string
Default: "desc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

search
string

Search term

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Order token for an account

Authorizations:
OAuth2Password
Request Body schema: application/json
required
required
object (PostalAddress)
amount
integer <int32> [ 1 .. 20 ]
Default: 1

The number of cards to be ordered

Responses

Request samples

Content type
application/json
{
  • "delivery_address": {
    },
  • "amount": 2
}

Response samples

Content type
application/json
{
  • "id": "id",
  • "delivery_address": {
    },
  • "state": "ORDERED",
  • "amount": 0,
  • "time": "2023-04-01T12:00:00+02:00"
}

Get the config for token orders

Get config for token orders from the customer, e.g. the quantity of tokens still available for order

Authorizations:
OAuth2Password

Responses

Response samples

Content type
application/json
{
  • "token_order_limit": 0
}

WebView

View direct payment page

WebView on https://direct.emobilitycloud.com/{evseId} which handles direct payment for anonymous users and redirects to a given URL.

path Parameters
evseId
required
string^[a-zA-Z0-9-_*+]+$

The ID to search for

query Parameters
cancel_url
required
string

Cancel URL to be redirected to when the user cancels the payment. Example: my-app-scheme://payment-cancelled

return_url
required
string

Return URL to be redirected to after payment and session start. The following URL parameters get added to this on redirect:

  • session_id: The Session ID of the started ChargingSession.
  • secret: The Session Secret to authenticate with for control endpoints.
  • _locale: The locale used by the user on the direct payment view.

Example: Provided my-app-scheme://session-started will redirect to my-app-scheme://session-started?session_id=b40c4432-83fc-5549-86cd-ff4f2d067409&secret=4D9FEC1EE17BBC224A14CAD439E5C0AD11AFFCF9301F318DFA23C1CBBC736135&_locale=de

Responses

Domains

Get Domain by name with information and settings

Authorizations:
OAuth2ClientCredential
path Parameters
domainName
required
string^(((?!-))(xn--)?[a-z0-9-_]{0,61}[a-z0-9]{1,1}...

Domain Name

header Parameters
language
string^[a-z]{2}$

ISO 639-1 language code.

Responses

Response samples

Content type
application/json
{
  • "tenant": "dewln",
  • "owner": {
    },
  • "ci": {
    },
  • "emps": [
    ],
  • "domains": [
    ],
  • "is_custom_domain": false
}

Organizations

Checks if the ID is already used

Authorizations:
OAuth2Password
Request Body schema: application/json
required
id
required
string <= 5 characters

Responses

Request samples

Content type
application/json
{
  • "id": "id"
}

Response samples

Content type
application/json
{
  • "is_available": true,
  • "recommendation": "recommendation"
}

Get an organization

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "id": "dewln",
  • "name": "name",
  • "is_cpo": true,
  • "is_sub_cpo": true,
  • "is_emp": false,
  • "is_location_partner": false,
  • "is_contract_holder": false,
  • "supports_direct_billing": false,
  • "currency": "EUR",
  • "contract_holder": "dewln",
  • "plans_with_code": true,
  • "supported_countries": [
    ],
  • "supported_languages": [
    ],
  • "terms_and_conditions_url": "https://example.com/terms_and_conditions.html",
  • "email_sender_name": "Wirelane E-Mobility Services",
  • "customer_contact_phone": "+33 4567 89",
  • "customer_contact_email": "contact@example.com",
  • "customer_contact_fax": "+33 4567 89",
  • "customer_contact_website": "https://support.example.com",
  • "card_login_enabled": true,
  • "timezone": "Europe/Berlin",
  • "card_identifier": "printed_number",
  • "card_accept_ordering": true,
  • "payment_methods": [
    ],
  • "emp": "dewln",
  • "cpo": "dewln",
  • "registration_enabled": true,
  • "registration_mode": "NONE",
  • "maximum_rfid_cards": 20,
  • "portal_domain_name": "my-tenant.emobilitycloud.com",
  • "active": true,
  • "validation_domains": [
    ],
  • "registration_information": "{}",
  • "email": "email",
  • "vat_number": "vat_number",
  • "invoice_logo": "invoice_logo",
  • "tax_rate": 19,
  • "default_time_price_rounding_mode": "EXACT",
  • "default_energy_price_rounding_mode": "EXACT",
  • "enforce_exact_energy_rounding": false,
  • "url_resources_tac": [
    ],
  • "url_resources_privacy": [
    ],
  • "customer_contact_person": "John Doe",
  • "email_notification_events": "email_notification_events",
  • "email_notification_customer_registration": "email_notification_customer_registration",
  • "payout_information": {
    },
  • "invoice_footer": "{\"de\":[\"footer line 1\",\"footer line 2\",\"footer line 3\"],\"en\":[\"footer line 1\",\"footer line 2\",\"footer line 3\"]}",
  • "email_footer": "{\"de\":\"\\nBest Regards,\\n\\nYour Organization Team\\n\\nSome more footer info\",\"en\":\"\\nBest Regards,\\n\\nYour Organization Team\\n\\nSome more footer info\"}",
  • "service_level_agreement": "Level 1",
  • "highlight_color": "#094a00",
  • "terms_and_conditions": {
    },
  • "privacy_policy": {
    },
  • "url_resources": [
    ],
  • "b2c_sender_address": {
    },
  • "invoice_show_tenant_data": false,
  • "rights": [
    ],
  • "roles": [
    ],
  • "internal_info": "internal_info",
  • "organization_groups": [
    ]
}

Update an organization

Update an organization

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
name
required
string <= 100 characters

Name of the organization

active
boolean

Indicates if the tenant is active or has been offboarded / archived.

object (Address)
card_accept_ordering
boolean

Accept the ordering of cards

customer_contact_email
string <email> <= 100 characters

Email for the customer contact

customer_contact_fax
string <= 50 characters [+]?[0-9 ]+

Fax number for the customer contact

customer_contact_person
string <= 100 characters

Person for the customer contact (appears on invoice)

customer_contact_phone
string <= 30 characters [+]?[0-9 ]+

Phone number for the customer contact

customer_contact_website
string <= 255 characters

Website for the customer contact

default_energy_price_rounding_mode
string
Enum: "UP" "EXACT" "DOWN"
default_time_price_rounding_mode
string
Enum: "UP" "EXACT" "DOWN"
email
string <email> <= 100 characters

Email address of the organization.

email_footer
object (Organization_allOf_email_footer)

Footer information that will be displayed in emails. Each property key must be an ISO 639-1 language code and the value the string to output in the email. Max 30 lines per footer and max 300 characters per line.

email_notification_customer_registration
string <email>

Email address that will receive system notifications about customer registrations

email_notification_events
string <email>

Email address that will receive system notifications

email_sender_name
string <= 64 characters

The name that will appear on email sent by the system

enforce_exact_energy_rounding
boolean
Default: false
highlight_color
string^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$

The font color of the phone number and Email on the invoice

internal_info
string

Additional information used for internal purposes only

invoice_footer
object (Organization_allOf_invoice_footer)

Footer information that will be displayed on invoices. Each property key must be an ISO 639-1 language code and the value an array (each array item represents 1 line in the footer). Max 10 lines per footer and max 140 characters per line.

invoice_show_tenant_data
boolean
Default: true

Flag if the organization data (address, contact, VAT) should be shown on the invoice

maximum_rfid_cards
integer <int32> [ 1 .. 100 ]
Default: 20

Maximum amount of rfid-cards allowed per customer

object (PayoutInformation)
object (TextLink)

@deprecated: will always be empty. Use parents url_resources instead.

registration_enabled
boolean

Indicates if registration is enabled for the tenant.

registration_information
object

Special registration text for location partners Each property key must be an ISO 639-1 language code

registration_mode
string
Enum: "NONE" "SHORT" "EXTENDED"

@deprecated Registration mode for new customers.

  • NONE: Customer registration deactivated
  • SHORT: Registration with email and password (see POST /account)
  • EXTENDED: Registration with account data, payment and subscription (see POST /account/registration)
object (TextLink)

@deprecated: will always be empty. Use parents url_resources instead.

timezone
string

The default timezone of the organization

Array of objects (URLResource)

URLs for the privacy policy. Beware on change that you need to pass all languages at one or they will be removed for that version. Version is automatically incremented.

Array of objects (URLResource)

URLs for the term and conditions. Beware on change that you need to pass all languages at one or they will be removed for that version. Version is automatically incremented.

validation_domains
Array of strings

List of email domains, registration is allowed from

vat_number
string <= 32 characters

vat number of the organization

Responses

Request samples

Content type
application/json
{
  • "id": "dewln",
  • "name": "name",
  • "is_cpo": true,
  • "is_sub_cpo": true,
  • "is_emp": false,
  • "is_location_partner": false,
  • "is_contract_holder": false,
  • "supports_direct_billing": false,
  • "currency": "EUR",
  • "contract_holder": "dewln",
  • "plans_with_code": true,
  • "supported_countries": [
    ],
  • "supported_languages": [
    ],
  • "terms_and_conditions_url": "https://example.com/terms_and_conditions.html",
  • "email_sender_name": "Wirelane E-Mobility Services",
  • "customer_contact_phone": "+33 4567 89",
  • "customer_contact_email": "contact@example.com",
  • "customer_contact_fax": "+33 4567 89",
  • "customer_contact_website": "https://support.example.com",
  • "card_login_enabled": true,
  • "timezone": "Europe/Berlin",
  • "card_identifier": "printed_number",
  • "card_accept_ordering": true,
  • "payment_methods": [
    ],
  • "emp": "dewln",
  • "cpo": "dewln",
  • "registration_enabled": true,
  • "registration_mode": "NONE",
  • "maximum_rfid_cards": 20,
  • "portal_domain_name": "my-tenant.emobilitycloud.com",
  • "active": true,
  • "validation_domains": [
    ],
  • "registration_information": "{}",
  • "email": "email",
  • "vat_number": "vat_number",
  • "invoice_logo": "invoice_logo",
  • "tax_rate": 19,
  • "default_time_price_rounding_mode": "EXACT",
  • "default_energy_price_rounding_mode": "EXACT",
  • "enforce_exact_energy_rounding": false,
  • "url_resources_tac": [
    ],
  • "url_resources_privacy": [
    ],
  • "customer_contact_person": "John Doe",
  • "email_notification_events": "email_notification_events",
  • "email_notification_customer_registration": "email_notification_customer_registration",
  • "payout_information": {
    },
  • "invoice_footer": "{\"de\":[\"footer line 1\",\"footer line 2\",\"footer line 3\"],\"en\":[\"footer line 1\",\"footer line 2\",\"footer line 3\"]}",
  • "email_footer": "{\"de\":\"\\nBest Regards,\\n\\nYour Organization Team\\n\\nSome more footer info\",\"en\":\"\\nBest Regards,\\n\\nYour Organization Team\\n\\nSome more footer info\"}",
  • "service_level_agreement": "Level 1",
  • "highlight_color": "#094a00",
  • "terms_and_conditions": {
    },
  • "privacy_policy": {
    },
  • "url_resources": [
    ],
  • "b2c_sender_address": {
    },
  • "invoice_show_tenant_data": false,
  • "rights": [
    ],
  • "roles": [
    ],
  • "internal_info": "internal_info",
  • "organization_groups": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "dewln",
  • "name": "name",
  • "is_cpo": true,
  • "is_sub_cpo": true,
  • "is_emp": false,
  • "is_location_partner": false,
  • "is_contract_holder": false,
  • "supports_direct_billing": false,
  • "currency": "EUR",
  • "contract_holder": "dewln",
  • "plans_with_code": true,
  • "supported_countries": [
    ],
  • "supported_languages": [
    ],
  • "terms_and_conditions_url": "https://example.com/terms_and_conditions.html",
  • "email_sender_name": "Wirelane E-Mobility Services",
  • "customer_contact_phone": "+33 4567 89",
  • "customer_contact_email": "contact@example.com",
  • "customer_contact_fax": "+33 4567 89",
  • "customer_contact_website": "https://support.example.com",
  • "card_login_enabled": true,
  • "timezone": "Europe/Berlin",
  • "card_identifier": "printed_number",
  • "card_accept_ordering": true,
  • "payment_methods": [
    ],
  • "emp": "dewln",
  • "cpo": "dewln",
  • "registration_enabled": true,
  • "registration_mode": "NONE",
  • "maximum_rfid_cards": 20,
  • "portal_domain_name": "my-tenant.emobilitycloud.com",
  • "active": true,
  • "validation_domains": [
    ],
  • "registration_information": "{}",
  • "email": "email",
  • "vat_number": "vat_number",
  • "invoice_logo": "invoice_logo",
  • "tax_rate": 19,
  • "default_time_price_rounding_mode": "EXACT",
  • "default_energy_price_rounding_mode": "EXACT",
  • "enforce_exact_energy_rounding": false,
  • "url_resources_tac": [
    ],
  • "url_resources_privacy": [
    ],
  • "customer_contact_person": "John Doe",
  • "email_notification_events": "email_notification_events",
  • "email_notification_customer_registration": "email_notification_customer_registration",
  • "payout_information": {
    },
  • "invoice_footer": "{\"de\":[\"footer line 1\",\"footer line 2\",\"footer line 3\"],\"en\":[\"footer line 1\",\"footer line 2\",\"footer line 3\"]}",
  • "email_footer": "{\"de\":\"\\nBest Regards,\\n\\nYour Organization Team\\n\\nSome more footer info\",\"en\":\"\\nBest Regards,\\n\\nYour Organization Team\\n\\nSome more footer info\"}",
  • "service_level_agreement": "Level 1",
  • "highlight_color": "#094a00",
  • "terms_and_conditions": {
    },
  • "privacy_policy": {
    },
  • "url_resources": [
    ],
  • "b2c_sender_address": {
    },
  • "invoice_show_tenant_data": false,
  • "rights": [
    ],
  • "roles": [
    ],
  • "internal_info": "internal_info",
  • "organization_groups": [
    ]
}

Delete existing file for target property

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

organizationTargetProperty
required
string
Enum: "icon" "invoice_logo" "tac" "privacy_policy" "app_logo" "logo"

Target property

Responses

Response samples

Content type
application/json
{
  • "id": "dewln",
  • "name": "name",
  • "is_cpo": true,
  • "is_sub_cpo": true,
  • "is_emp": false,
  • "is_location_partner": false,
  • "is_contract_holder": false,
  • "supports_direct_billing": false,
  • "currency": "EUR",
  • "contract_holder": "dewln",
  • "plans_with_code": true,
  • "supported_countries": [
    ],
  • "supported_languages": [
    ],
  • "terms_and_conditions_url": "https://example.com/terms_and_conditions.html",
  • "email_sender_name": "Wirelane E-Mobility Services",
  • "customer_contact_phone": "+33 4567 89",
  • "customer_contact_email": "contact@example.com",
  • "customer_contact_fax": "+33 4567 89",
  • "customer_contact_website": "https://support.example.com",
  • "card_login_enabled": true,
  • "timezone": "Europe/Berlin",
  • "card_identifier": "printed_number",
  • "card_accept_ordering": true,
  • "payment_methods": [
    ],
  • "emp": "dewln",
  • "cpo": "dewln",
  • "registration_enabled": true,
  • "registration_mode": "NONE",
  • "maximum_rfid_cards": 20,
  • "portal_domain_name": "my-tenant.emobilitycloud.com",
  • "active": true,
  • "validation_domains": [
    ],
  • "registration_information": "{}",
  • "email": "email",
  • "vat_number": "vat_number",
  • "invoice_logo": "invoice_logo",
  • "tax_rate": 19,
  • "default_time_price_rounding_mode": "EXACT",
  • "default_energy_price_rounding_mode": "EXACT",
  • "enforce_exact_energy_rounding": false,
  • "url_resources_tac": [
    ],
  • "url_resources_privacy": [
    ],
  • "customer_contact_person": "John Doe",
  • "email_notification_events": "email_notification_events",
  • "email_notification_customer_registration": "email_notification_customer_registration",
  • "payout_information": {
    },
  • "invoice_footer": "{\"de\":[\"footer line 1\",\"footer line 2\",\"footer line 3\"],\"en\":[\"footer line 1\",\"footer line 2\",\"footer line 3\"]}",
  • "email_footer": "{\"de\":\"\\nBest Regards,\\n\\nYour Organization Team\\n\\nSome more footer info\",\"en\":\"\\nBest Regards,\\n\\nYour Organization Team\\n\\nSome more footer info\"}",
  • "service_level_agreement": "Level 1",
  • "highlight_color": "#094a00",
  • "terms_and_conditions": {
    },
  • "privacy_policy": {
    },
  • "url_resources": [
    ],
  • "b2c_sender_address": {
    },
  • "invoice_show_tenant_data": false,
  • "rights": [
    ],
  • "roles": [
    ],
  • "internal_info": "internal_info",
  • "organization_groups": [
    ]
}

Upload new file for target property

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

organizationTargetProperty
required
string
Enum: "icon" "invoice_logo" "tac" "privacy_policy" "app_logo" "logo"

Target property

query Parameters
language
string^[a-z]{2}$
Default: "de"

ISO 639-1 language code.

header Parameters
Content-Type
string
Default: image/png
Enum: "image/png" "application/pdf"

Controls the Content-Type of the request.

Request Body schema:
required

File upload

string <binary>

Responses

Response samples

Content type
application/json
{
  • "id": "dewln",
  • "name": "name",
  • "is_cpo": true,
  • "is_sub_cpo": true,
  • "is_emp": false,
  • "is_location_partner": false,
  • "is_contract_holder": false,
  • "supports_direct_billing": false,
  • "currency": "EUR",
  • "contract_holder": "dewln",
  • "plans_with_code": true,
  • "supported_countries": [
    ],
  • "supported_languages": [
    ],
  • "terms_and_conditions_url": "https://example.com/terms_and_conditions.html",
  • "email_sender_name": "Wirelane E-Mobility Services",
  • "customer_contact_phone": "+33 4567 89",
  • "customer_contact_email": "contact@example.com",
  • "customer_contact_fax": "+33 4567 89",
  • "customer_contact_website": "https://support.example.com",
  • "card_login_enabled": true,
  • "timezone": "Europe/Berlin",
  • "card_identifier": "printed_number",
  • "card_accept_ordering": true,
  • "payment_methods": [
    ],
  • "emp": "dewln",
  • "cpo": "dewln",
  • "registration_enabled": true,
  • "registration_mode": "NONE",
  • "maximum_rfid_cards": 20,
  • "portal_domain_name": "my-tenant.emobilitycloud.com",
  • "active": true,
  • "validation_domains": [
    ],
  • "registration_information": "{}",
  • "email": "email",
  • "vat_number": "vat_number",
  • "invoice_logo": "invoice_logo",
  • "tax_rate": 19,
  • "default_time_price_rounding_mode": "EXACT",
  • "default_energy_price_rounding_mode": "EXACT",
  • "enforce_exact_energy_rounding": false,
  • "url_resources_tac": [
    ],
  • "url_resources_privacy": [
    ],
  • "customer_contact_person": "John Doe",
  • "email_notification_events": "email_notification_events",
  • "email_notification_customer_registration": "email_notification_customer_registration",
  • "payout_information": {
    },
  • "invoice_footer": "{\"de\":[\"footer line 1\",\"footer line 2\",\"footer line 3\"],\"en\":[\"footer line 1\",\"footer line 2\",\"footer line 3\"]}",
  • "email_footer": "{\"de\":\"\\nBest Regards,\\n\\nYour Organization Team\\n\\nSome more footer info\",\"en\":\"\\nBest Regards,\\n\\nYour Organization Team\\n\\nSome more footer info\"}",
  • "service_level_agreement": "Level 1",
  • "highlight_color": "#094a00",
  • "terms_and_conditions": {
    },
  • "privacy_policy": {
    },
  • "url_resources": [
    ],
  • "b2c_sender_address": {
    },
  • "invoice_show_tenant_data": false,
  • "rights": [
    ],
  • "roles": [
    ],
  • "internal_info": "internal_info",
  • "organization_groups": [
    ]
}

Get email reports for given email address.

Authorizations:
OAuth2Password
path Parameters
email
required
string <email>

Recipient email address

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get sub-organizations

Get an ordered and paginated list of the sub-organization of an organization that is a contract holder. Search query can be used to filter the organizations by name. Furthermore it can be filtered to only show the active sub-organizations.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
include_parent
boolean
Default: true

Filter to include or exclude parent organization

order_by
string
Default: "name"
Value: "name"

Name for sort

order_direction
string
Default: "asc"
Enum: "asc" "desc"

Key for order direction

organizationRights
Array of strings
Items Enum: "emp" "owner" "directBilling" "contractHolder" "locationPartner" "subCpo"

Filter by organization rights

organizations_active
boolean
Default: false

Filter to show only active sub-organizations

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

search
string

Search term

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Register a new sub-organization

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
name
required
string <= 100 characters

Name of the organization

active
boolean

Indicates if the tenant is active or has been offboarded / archived.

object (Address)
card_accept_ordering
boolean

Accept the ordering of cards

customer_contact_email
string <email> <= 100 characters

Email for the customer contact

customer_contact_fax
string <= 50 characters [+]?[0-9 ]+

Fax number for the customer contact

customer_contact_person
string <= 100 characters

Person for the customer contact (appears on invoice)

customer_contact_phone
string <= 30 characters [+]?[0-9 ]+

Phone number for the customer contact

customer_contact_website
string <= 255 characters

Website for the customer contact

default_energy_price_rounding_mode
string
Enum: "UP" "EXACT" "DOWN"
default_time_price_rounding_mode
string
Enum: "UP" "EXACT" "DOWN"
email
string <email> <= 100 characters

Email address of the organization.

email_footer
object (Organization_allOf_email_footer)

Footer information that will be displayed in emails. Each property key must be an ISO 639-1 language code and the value the string to output in the email. Max 30 lines per footer and max 300 characters per line.

email_notification_customer_registration
string <email>

Email address that will receive system notifications about customer registrations

email_notification_events
string <email>

Email address that will receive system notifications

email_sender_name
string <= 64 characters

The name that will appear on email sent by the system

enforce_exact_energy_rounding
boolean
Default: false
highlight_color
string^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$

The font color of the phone number and Email on the invoice

internal_info
string

Additional information used for internal purposes only

invoice_footer
object (Organization_allOf_invoice_footer)

Footer information that will be displayed on invoices. Each property key must be an ISO 639-1 language code and the value an array (each array item represents 1 line in the footer). Max 10 lines per footer and max 140 characters per line.

invoice_show_tenant_data
boolean
Default: true

Flag if the organization data (address, contact, VAT) should be shown on the invoice

maximum_rfid_cards
integer <int32> [ 1 .. 100 ]
Default: 20

Maximum amount of rfid-cards allowed per customer

object (PayoutInformation)
object (TextLink)

@deprecated: will always be empty. Use parents url_resources instead.

registration_enabled
boolean

Indicates if registration is enabled for the tenant.

registration_information
object

Special registration text for location partners Each property key must be an ISO 639-1 language code

registration_mode
string
Enum: "NONE" "SHORT" "EXTENDED"

@deprecated Registration mode for new customers.

  • NONE: Customer registration deactivated
  • SHORT: Registration with email and password (see POST /account)
  • EXTENDED: Registration with account data, payment and subscription (see POST /account/registration)
object (TextLink)

@deprecated: will always be empty. Use parents url_resources instead.

timezone
string

The default timezone of the organization

Array of objects (URLResource)

URLs for the privacy policy. Beware on change that you need to pass all languages at one or they will be removed for that version. Version is automatically incremented.

Array of objects (URLResource)

URLs for the term and conditions. Beware on change that you need to pass all languages at one or they will be removed for that version. Version is automatically incremented.

validation_domains
Array of strings

List of email domains, registration is allowed from

vat_number
string <= 32 characters

vat number of the organization

Responses

Request samples

Content type
application/json
{
  • "id": "dewln",
  • "name": "name",
  • "is_cpo": true,
  • "is_sub_cpo": true,
  • "is_emp": false,
  • "is_location_partner": false,
  • "is_contract_holder": false,
  • "supports_direct_billing": false,
  • "currency": "EUR",
  • "contract_holder": "dewln",
  • "plans_with_code": true,
  • "supported_countries": [
    ],
  • "supported_languages": [
    ],
  • "terms_and_conditions_url": "https://example.com/terms_and_conditions.html",
  • "email_sender_name": "Wirelane E-Mobility Services",
  • "customer_contact_phone": "+33 4567 89",
  • "customer_contact_email": "contact@example.com",
  • "customer_contact_fax": "+33 4567 89",
  • "customer_contact_website": "https://support.example.com",
  • "card_login_enabled": true,
  • "timezone": "Europe/Berlin",
  • "card_identifier": "printed_number",
  • "card_accept_ordering": true,
  • "payment_methods": [
    ],
  • "emp": "dewln",
  • "cpo": "dewln",
  • "registration_enabled": true,
  • "registration_mode": "NONE",
  • "maximum_rfid_cards": 20,
  • "portal_domain_name": "my-tenant.emobilitycloud.com",
  • "active": true,
  • "validation_domains": [
    ],
  • "registration_information": "{}",
  • "email": "email",
  • "vat_number": "vat_number",
  • "invoice_logo": "invoice_logo",
  • "tax_rate": 19,
  • "default_time_price_rounding_mode": "EXACT",
  • "default_energy_price_rounding_mode": "EXACT",
  • "enforce_exact_energy_rounding": false,
  • "url_resources_tac": [
    ],
  • "url_resources_privacy": [
    ],
  • "customer_contact_person": "John Doe",
  • "email_notification_events": "email_notification_events",
  • "email_notification_customer_registration": "email_notification_customer_registration",
  • "payout_information": {
    },
  • "invoice_footer": "{\"de\":[\"footer line 1\",\"footer line 2\",\"footer line 3\"],\"en\":[\"footer line 1\",\"footer line 2\",\"footer line 3\"]}",
  • "email_footer": "{\"de\":\"\\nBest Regards,\\n\\nYour Organization Team\\n\\nSome more footer info\",\"en\":\"\\nBest Regards,\\n\\nYour Organization Team\\n\\nSome more footer info\"}",
  • "service_level_agreement": "Level 1",
  • "highlight_color": "#094a00",
  • "terms_and_conditions": {
    },
  • "privacy_policy": {
    },
  • "url_resources": [
    ],
  • "b2c_sender_address": {
    },
  • "invoice_show_tenant_data": false,
  • "rights": [
    ],
  • "roles": [
    ],
  • "internal_info": "internal_info",
  • "organization_groups": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "dewln",
  • "name": "name",
  • "is_cpo": true,
  • "is_sub_cpo": true,
  • "is_emp": false,
  • "is_location_partner": false,
  • "is_contract_holder": false,
  • "supports_direct_billing": false,
  • "currency": "EUR",
  • "contract_holder": "dewln",
  • "plans_with_code": true,
  • "supported_countries": [
    ],
  • "supported_languages": [
    ],
  • "terms_and_conditions_url": "https://example.com/terms_and_conditions.html",
  • "email_sender_name": "Wirelane E-Mobility Services",
  • "customer_contact_phone": "+33 4567 89",
  • "customer_contact_email": "contact@example.com",
  • "customer_contact_fax": "+33 4567 89",
  • "customer_contact_website": "https://support.example.com",
  • "card_login_enabled": true,
  • "timezone": "Europe/Berlin",
  • "card_identifier": "printed_number",
  • "card_accept_ordering": true,
  • "payment_methods": [
    ],
  • "emp": "dewln",
  • "cpo": "dewln",
  • "registration_enabled": true,
  • "registration_mode": "NONE",
  • "maximum_rfid_cards": 20,
  • "portal_domain_name": "my-tenant.emobilitycloud.com",
  • "active": true,
  • "validation_domains": [
    ],
  • "registration_information": "{}",
  • "email": "email",
  • "vat_number": "vat_number",
  • "invoice_logo": "invoice_logo",
  • "tax_rate": 19,
  • "default_time_price_rounding_mode": "EXACT",
  • "default_energy_price_rounding_mode": "EXACT",
  • "enforce_exact_energy_rounding": false,
  • "url_resources_tac": [
    ],
  • "url_resources_privacy": [
    ],
  • "customer_contact_person": "John Doe",
  • "email_notification_events": "email_notification_events",
  • "email_notification_customer_registration": "email_notification_customer_registration",
  • "payout_information": {
    },
  • "invoice_footer": "{\"de\":[\"footer line 1\",\"footer line 2\",\"footer line 3\"],\"en\":[\"footer line 1\",\"footer line 2\",\"footer line 3\"]}",
  • "email_footer": "{\"de\":\"\\nBest Regards,\\n\\nYour Organization Team\\n\\nSome more footer info\",\"en\":\"\\nBest Regards,\\n\\nYour Organization Team\\n\\nSome more footer info\"}",
  • "service_level_agreement": "Level 1",
  • "highlight_color": "#094a00",
  • "terms_and_conditions": {
    },
  • "privacy_policy": {
    },
  • "url_resources": [
    ],
  • "b2c_sender_address": {
    },
  • "invoice_show_tenant_data": false,
  • "rights": [
    ],
  • "roles": [
    ],
  • "internal_info": "internal_info",
  • "organization_groups": [
    ]
}

Get organization hierarchy

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
organizations_active
boolean
Default: false

Filter to show only active sub-organizations

Responses

Response samples

Content type
application/json
{
  • "organization": {
    },
  • "children": [
    ]
}

Organizations Accounting

Get accounting contracts for the organization

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
order_by
string
Default: "name"
Enum: "name" "status" "start_date" "end_date"

Name for sort

order_direction
string
Default: "desc"
Enum: "asc" "desc"

Key for order direction

organization_hierarchy
string^[a-zA-Z0-9,]+$|^[*]{1}$

A comma separated list of organization IDs to include in the result set of list endpoints eg. dewln,o0001,o0002,detest. * is the dedicated symbol to include all sub-organizations.

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

search
string

Search term

status
Array of strings
Items Enum: "active" "inactive"

Filters for status

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get cpo credit notes for the organization

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
date_picker_since
string <date-time>

The date time to search from

date_picker_until
string <date-time>

The date time to search to

include_internal_documents
boolean
Default: false

Include internal documents i.e. 0,00€

order_by
string
Default: "invoice_date"
Enum: "id" "invoice_date" "date_from" "document_number" "document_display_name" "amount_net" "amount_gross" "cpo_id" "cpo_name" "contract_number" "contract_type" "solution_type"

Name for sort

order_direction
string
Default: "desc"
Enum: "asc" "desc"

Key for order direction

organization_hierarchy
string^[a-zA-Z0-9,]+$|^[*]{1}$

A comma separated list of organization IDs to include in the result set of list endpoints eg. dewln,o0001,o0002,detest. * is the dedicated symbol to include all sub-organizations.

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

payout_completed
boolean

Filter by payout completed state

search
string

Search term

sepa_document_assigned
boolean

Filter by SEPA document assigned state

valid_payout_data
boolean

Filter by valid payout data

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Trigger the generation of CPO credit notes

Triggers the generation of CpoCreditNotes for a specific time-range. Once a CpoCreditNote is created the SEPA-XML will be generated and uploaded to Sharepoint. Optionally, the generated documents can be sent to the CPO.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
contract_number
required
string

Contract Number to generate the CpoCreditNote for

end_date
required
string <date-time>

End date and time for the CpoCreditNote generation

invoice_date
required
string <date-time>

Invoice date and time

start_date
required
string <date-time>

Start date and time for the CpoCreditNote generation

publish
boolean

If true, the generated documents will be sent to the CPO after generation.

Responses

Request samples

Content type
application/json
{
  • "start_date": "2023-04-01T12:00:00+02:00",
  • "end_date": "2023-04-01T12:00:00+02:00",
  • "invoice_date": "2023-04-01T12:00:00+02:00",
  • "contract_number": "C-00000001",
  • "publish": false
}

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Download the cpo credit note

Get a single cpo credit note as JSON data or in binary document form.

Authorizations:
OAuth2Password
path Parameters
invoiceId
required
string^[a-zA-Z0-9-_]+$

Invoice ID (assigned by the system)

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

header Parameters
Accept
string
Default: application/pdf
Enum: "application/pdf" "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"

Controls the Content-Type of the response.

Responses

Delete Cpo credit note

Deletes given credit note and the associated SaaS invoice, if it exists

Authorizations:
OAuth2Password
path Parameters
invoiceId
required
string^[a-zA-Z0-9-_]+$

Invoice ID (assigned by the system)

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
deletionReason
required
string

Reason for deleting the resource

Responses

Request samples

Content type
application/json
{
  • "deletionReason": "deletionReason"
}

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Resend the cpo credit note to the corresponding organization

Resends the given cpo credit note to the corresponding customer. The sender is the given organization.

Authorizations:
OAuth2Password
path Parameters
invoiceId
required
string^[a-zA-Z0-9-_]+$

Invoice ID (assigned by the system)

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "id": "2023-06-99",
  • "internalId": 5,
  • "cpo": "dewln",
  • "cpo_name": "Test Gemeinde",
  • "issuer": "dewln",
  • "issuer_name": "Wirelane GmbH",
  • "invoice_date": "2023-04-01",
  • "period_begin": "2023-04-01",
  • "period_end": "2023-04-01",
  • "price": 0.8008282,
  • "currency": "EUR",
  • "display_name": "2023-01-00001-dist-O1234-C-00000000-ACME Company",
  • "contract_number": "C-00000001",
  • "contract_type": "bmvi",
  • "solution_type": "bmvi",
  • "has_valid_payoutdata": true,
  • "document_paid_at": "2023-04-01T12:00:00+02:00",
  • "sepaDocument": {
    },
  • "published_as": "email",
  • "published_at": "2023-04-01T12:00:00+02:00"
}

Lists all Ghg Exports

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Creates a GHG Credit note document either temporary or persistant

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
contractTypes
required
Array of strings
Items Enum: "bmvi" "business_solution" "caas_enterprise" "caas_public" "caas_smb" "electricity" "ghg" "hardware_only" "hardware_software" "maintenance" "sale_leaseback" "software_only" "meter_operator" "intercompany"
endDate
required
string <date>

End date for the GHG Document generation

isFinal
required
boolean
Default: false

If true, the document will be physically saved and affected sessions flagged as already reported

solutionTypes
required
Array of strings
Items Enum: "bmvi" "business_solution" "caas_acquired" "caas_enterprise" "caas_public" "caas_smb" "ghg_only" "hardware_only" "hardware_software" "software_only"
startDate
required
string <date>

Start date for the GHG Document generation

Responses

Request samples

Content type
application/json
{
  • "startDate": "2023-04-01",
  • "endDate": "2023-04-01",
  • "contractTypes": [
    ],
  • "solutionTypes": [
    ],
  • "isFinal": false
}

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Downloads a GHG Credit Note

Authorizations:
OAuth2Password
path Parameters
invoiceId
required
string^[a-zA-Z0-9-_]+$

Invoice ID (assigned by the system)

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
"string"

Get EMPs with roaming sessions but no CPO roaming agreement

Lists the EMP roaming providers for which roaming sessions of the given roaming platform were received in the given time range, but no matching CPO roaming agreement exists, so the sessions cannot be billed. The sessions are grouped by their normalised EMP roaming provider id. Sorted by session_count descending, then emp.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
date_picker_since
required
string <date-time>

The date time to search from

date_picker_until
required
string <date-time>

The date time to search to

roaming_platform
required
string^[a-zA-Z0-9-_]+$

Roaming Platform (e.g. oicp, eclearing)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get Roaming emp invoices for the organization

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
date_picker_since
string <date-time>

The date time to search from

date_picker_until
string <date-time>

The date time to search to

order_by
string
Default: "invoice_date"
Enum: "id" "invoice_date"

Name for sort

order_direction
string
Default: "desc"
Enum: "asc" "desc"

Key for order direction

organization_hierarchy
string^[a-zA-Z0-9,]+$|^[*]{1}$

A comma separated list of organization IDs to include in the result set of list endpoints eg. dewln,o0001,o0002,detest. * is the dedicated symbol to include all sub-organizations.

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

roaming_platform
string^[a-zA-Z0-9-_]+$

Roaming Platform

roaming_provider
string^[a-zA-Z0-9-*+]+$

Roaming Provider

search
string

Search term

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Download the roaming emp invoice

Get a single roaming emp invoice as JSON data or in binary document form.

Authorizations:
OAuth2Password
path Parameters
invoiceId
required
string^[a-zA-Z0-9-_]+$

Invoice ID (assigned by the system)

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

header Parameters
Accept
string
Default: application/pdf
Enum: "application/pdf" "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"

Controls the Content-Type of the response.

Responses

Resend the roaming emp invoice to the corresponding organization

Resends the roaming emp invoice to the corresponding customer. The sender is the given organization.

Authorizations:
OAuth2Password
path Parameters
invoiceId
required
string^[a-zA-Z0-9-_]+$

Invoice ID (assigned by the system)

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "id": "2023-06-99",
  • "provider": "dewln",
  • "provider_name": "ACME Company",
  • "provider_email": "accounting@example.com",
  • "sub_provider_ids": "DE123,NL456,FR789",
  • "issuer": "dewln",
  • "issuer_name": "Wirelane GmbH",
  • "platform": "OICP",
  • "invoice_date": "2023-04-01",
  • "period_begin": "2023-04-01",
  • "period_end": "2023-04-01",
  • "price": 0.8008282,
  • "currency": "EUR",
  • "display_name": "2023-01-00001-roaming-emp-detest-oicp-ACME Company",
  • "published_as": "email",
  • "published_at": "2023-04-01T12:00:00+02:00"
}

Get SaaS invoices for the organization

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
date_picker_since
string <date-time>

The date time to search from

date_picker_until
string <date-time>

The date time to search to

order_by
string
Default: "invoice_date"
Enum: "id" "invoice_date"

Name for sort

order_direction
string
Default: "desc"
Enum: "asc" "desc"

Key for order direction

organization_hierarchy
string^[a-zA-Z0-9,]+$|^[*]{1}$

A comma separated list of organization IDs to include in the result set of list endpoints eg. dewln,o0001,o0002,detest. * is the dedicated symbol to include all sub-organizations.

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

search
string

Search term

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Trigger the generation of SaaS invoices

Triggers the generation of the Saas invoices for a specific time-range. Optionally, the generated documents can be sent to the CPO.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
contract_number
required
string

Contract Number to generate the SaaS invoices for

end_date
required
string <date-time>

End date and time for the SaaS invoices generation

invoice_date
required
string <date-time>

Invoice date and time

start_date
required
string <date-time>

Start date and time for the SaaS invoices generation

generate_cpo_credit_note
boolean
Default: false

Triggers the generation of the CpoCreditNotes which are required for the SaaS invoices.

publish
boolean
Default: false

If true, the generated documents will be sent to the cpo after generation.

Responses

Request samples

Content type
application/json
{
  • "start_date": "2023-04-01T12:00:00+02:00",
  • "end_date": "2023-04-01T12:00:00+02:00",
  • "invoice_date": "2023-04-01T12:00:00+02:00",
  • "contract_number": "C-00000001",
  • "publish": true,
  • "generate_cpo_credit_note": true
}

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Download the saas invoice

Get a single saas invoice as JSON data or in binary document form.

Authorizations:
OAuth2Password
path Parameters
invoiceId
required
string^[a-zA-Z0-9-_]+$

Invoice ID (assigned by the system)

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

header Parameters
Accept
string
Default: application/pdf
Enum: "application/pdf" "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"

Controls the Content-Type of the response.

Responses

Delete SaaS invoice

Deletes the Saas invoice and the associated Cpo credit note, if it exists

Authorizations:
OAuth2Password
path Parameters
invoiceId
required
string^[a-zA-Z0-9-_]+$

Invoice ID (assigned by the system)

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
deletionReason
required
string

Reason for deleting the resource

Responses

Request samples

Content type
application/json
{
  • "deletionReason": "deletionReason"
}

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Resend the saas invoice to the corresponding organization

Resends the saas invoice to the corresponding customer. The sender ist the given organization.

Authorizations:
OAuth2Password
path Parameters
invoiceId
required
string^[a-zA-Z0-9-_]+$

Invoice ID (assigned by the system)

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "id": "2023-06-99",
  • "cpo": "dewln",
  • "cpo_name": "Test Gemeinde",
  • "issuer": "dewln",
  • "issuer_name": "Wirelane GmbH",
  • "invoice_date": "2023-04-01",
  • "period_begin": "2023-04-01",
  • "period_end": "2023-04-01",
  • "price": 0.8008282,
  • "currency": "EUR",
  • "display_name": "2023-01-00001-saas-O1234-C-00000000-ACME Company",
  • "contract_number": "C-00000001",
  • "contract_type": "bmvi",
  • "solution_type": "bmvi",
  • "published_as": "email",
  • "published_at": "2023-04-01T12:00:00+02:00"
}

Get Sepa Documents

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
filter_valid
boolean

Filter to return only valid documents

invoiceDate
string^20[0-9]{2}\-[0-1]{1}[0-9]{1}$

Filter by invoice date in form YYYY-MM

order_by
string
Default: "invoice_date"
Value: "invoice_date"

Name for sort

order_direction
string
Default: "desc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

search
string

Search term

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Creates Sepa Documents for Cpo CreditNotes

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
creditNotes
required
Array of integers

The ids of the cpo-creditnotes to create a sepa document for

Responses

Request samples

Content type
application/json
{
  • "creditNotes": [
    ]
}

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Updates certain fields for a Sepa Document

Authorizations:
OAuth2Password
path Parameters
documentId
required
string^[a-zA-Z0-9-_]+$

SEPA document ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
completedAt
required
string <date-time>

Completed at date and time

Responses

Request samples

Content type
application/json
{
  • "completedAt": "2023-04-01T12:00:00+02:00"
}

Response samples

Content type
application/json
{
  • "id": "2023-06-99",
  • "issuer": "issuer",
  • "display_name": "cpo_credit_note_payout_2023-12_3_99852_valid.xml",
  • "invoice_date": "invoice_date",
  • "total_transaction_amount": 19,
  • "transaction_count": 6,
  • "invalid_transactions": true,
  • "created_at": "2023-04-01",
  • "completed_at": "2023-04-01"
}

Download Sepa Document

Authorizations:
OAuth2Password
path Parameters
documentId
required
string^[a-zA-Z0-9-_]+$

SEPA document ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
"string"

Organizations Accounts

Get Organizations accounts' receipts' statistics

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
date_picker_since
string <date-time>

The date time to search from

date_picker_until
string <date-time>

The date time to search to

Responses

Response samples

Content type
application/json
{
  • "issued_receipts": 0.8008281904610115
}

Get Organizations accounts' statistics

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "active_accounts": 0.8008281904610115,
  • "blocked_accounts": 6.027456183070403,
  • "active_cards": 1.4658129805029452,
  • "registrations": {
    }
}

Organizations Charging Sites

List all charging sites

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
order_by
string
Default: "name"
Value: "name"

Name for sort

order_direction
string
Default: "asc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

search
string

Search term

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a charging site

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
name
required
string
tenant
required
string

Tenant ID

object (Address)
availablePower
number <double> [ 1 .. 100000 ]

Available power (purchased power per contract), in kW.

energy_management_provider
string
Enum: "NONE" "AMPCONTROL"

Energy management provider

gridCapacity
number <double> [ 1 .. 1000 ]

Capacity of grid connection point (per phase), in amp.

Responses

Request samples

Content type
application/json
{
  • "id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77",
  • "name": "name",
  • "address": {
    },
  • "gridCapacity": 1000,
  • "availablePower": 100000,
  • "energy_management_provider": "NONE",
  • "tenant": "dewln",
  • "chargingStationCount": 42
}

Response samples

Content type
application/json
{
  • "id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77",
  • "name": "name",
  • "address": {
    },
  • "gridCapacity": 1000,
  • "availablePower": 100000,
  • "energy_management_provider": "NONE",
  • "tenant": "dewln",
  • "chargingStationCount": 42
}

Deletes a charging site

Authorizations:
OAuth2Password
path Parameters
chargingSiteId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

The charging site ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Get a specific charging site

Authorizations:
OAuth2Password
path Parameters
chargingSiteId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

The charging site ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77",
  • "name": "name",
  • "address": {
    },
  • "gridCapacity": 1000,
  • "availablePower": 100000,
  • "energy_management_provider": "NONE",
  • "tenant": "dewln",
  • "chargingStationCount": 42
}

Update charging site

Authorizations:
OAuth2Password
path Parameters
chargingSiteId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

The charging site ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
name
required
string
tenant
required
string

Tenant ID

object (Address)
availablePower
number <double> [ 1 .. 100000 ]

Available power (purchased power per contract), in kW.

energy_management_provider
string
Enum: "NONE" "AMPCONTROL"

Energy management provider

gridCapacity
number <double> [ 1 .. 1000 ]

Capacity of grid connection point (per phase), in amp.

Responses

Request samples

Content type
application/json
{
  • "id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77",
  • "name": "name",
  • "address": {
    },
  • "gridCapacity": 1000,
  • "availablePower": 100000,
  • "energy_management_provider": "NONE",
  • "tenant": "dewln",
  • "chargingStationCount": 42
}

Response samples

Content type
application/json
{
  • "id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77",
  • "name": "name",
  • "address": {
    },
  • "gridCapacity": 1000,
  • "availablePower": 100000,
  • "energy_management_provider": "NONE",
  • "tenant": "dewln",
  • "chargingStationCount": 42
}

Organizations Domains

Get organization domains

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

header Parameters
language
string^[a-z]{2}$

ISO 639-1 language code.

Responses

Response samples

Content type
application/json
{
  • "tenant": "dewln",
  • "owner": {
    },
  • "ci": {
    },
  • "emps": [
    ],
  • "domains": [
    ],
  • "is_custom_domain": false
}

Update organization domain

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

header Parameters
language
string^[a-z]{2}$

ISO 639-1 language code.

Request Body schema: application/json
required
web_color_main
required
string^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$

Main color

web_color_secondary
required
string^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$

Second color

google_maps_api_key
string

Google Maps API key to be used for this domain. Only allowed if Domain.is_custom_domain is true.

title
string

The name of the organization

Responses

Request samples

Content type
application/json
{
  • "web_color_main": "#094a00",
  • "web_color_secondary": "#094a00",
  • "title": "Wirelane GmbH",
  • "google_maps_api_key": "GMAPS-KEY-1D0A3612402632D300740501DFF5A085"
}

Response samples

Content type
application/json
{
  • "tenant": "dewln",
  • "owner": {
    },
  • "ci": {
    },
  • "emps": [
    ],
  • "domains": [
    ],
  • "is_custom_domain": false
}

Delete existing file for target property for domain

Authorizations:
OAuth2Password
path Parameters
organizationDomainTargetProperty
required
string
Value: "favicon"

Target property

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

header Parameters
language
string^[a-z]{2}$

ISO 639-1 language code.

Responses

Response samples

Content type
application/json
{
  • "tenant": "dewln",
  • "owner": {
    },
  • "ci": {
    },
  • "emps": [
    ],
  • "domains": [
    ],
  • "is_custom_domain": false
}

Upload new file for domain

Authorizations:
OAuth2Password
path Parameters
organizationDomainTargetProperty
required
string
Value: "favicon"

Target property

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

header Parameters
Content-Type
string
Default: image/png
Value: "image/png"

Controls the Content-Type of the request.

language
string^[a-z]{2}$

ISO 639-1 language code.

Request Body schema: image/png
required

File upload

string <binary>

Responses

Response samples

Content type
application/json
{
  • "tenant": "dewln",
  • "owner": {
    },
  • "ci": {
    },
  • "emps": [
    ],
  • "domains": [
    ],
  • "is_custom_domain": false
}

Organizations Event Logs

Get event logs of an organization

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
date_picker_since
string <date-time>

The date time to search from

date_picker_until
string <date-time>

The date time to search to

event_names
Array of strings[ items^[a-zA-Z0-9-_*]+$ ]

Event name

order_by
string
Default: "eventDate"
Value: "eventDate"

Name for sort

order_direction
string
Default: "desc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

resource_id
string^[a-zA-Z0-9-_*]+$

Resource ID

resource_types
Array of strings[ items^[a-zA-Z0-9-_*]+$ ]

Resource type

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Organizations Models

Get a list of models managed by organization

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
device_types
Array of strings

Filter model by device type.

order_by
string
Default: "name"
Enum: "id" "name" "modelNumber" "deviceType" "vendor_name"

Name for sort

order_direction
string
Default: "asc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

search
string

Search term

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a model

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
device_type
required
string
Enum: "charging-station" "router" "payment-terminal"

The device type of the model

name
required
string

The name of the model

vendor_id
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

The id of the vendor of the model

model_number
string

The model number of the model

Responses

Request samples

Content type
application/json
{
  • "name": "name",
  • "model_number": "model_number",
  • "device_type": "charging-station",
  • "vendor_id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77"
}

Response samples

Content type
application/json
{
  • "id": "id",
  • "name": "name",
  • "model_number": "model_number",
  • "device_type": "device_type",
  • "vendor_id": "vendor_id",
  • "vendor_name": "vendor_name",
  • "firmwares_count": 0
}

Remove a model

Authorizations:
OAuth2Password
path Parameters
modelId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

Device model id

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Get a model

Authorizations:
OAuth2Password
path Parameters
modelId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

Device model id

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "id": "id",
  • "name": "name",
  • "model_number": "model_number",
  • "device_type": "device_type",
  • "vendor_id": "vendor_id",
  • "vendor_name": "vendor_name",
  • "firmwares_count": 0
}

Edit a model

Authorizations:
OAuth2Password
path Parameters
modelId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

Device model id

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
model_number
string

The model number of the model

name
string

The name of the model

Responses

Request samples

Content type
application/json
{
  • "name": "name",
  • "model_number": "model_number"
}

Response samples

Content type
application/json
{
  • "id": "id",
  • "name": "name",
  • "model_number": "model_number",
  • "device_type": "device_type",
  • "vendor_id": "vendor_id",
  • "vendor_name": "vendor_name",
  • "firmwares_count": 0
}

Organizations Vendors

Get all vendors managed by organization

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
order_by
string
Default: "name"
Value: "name"

Name for sort

order_direction
string
Default: "asc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

search
string

Search term

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create new firmware vendor for organization

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
name
required
string <= 50 characters

Name of firmware vendor

Responses

Request samples

Content type
application/json
{
  • "name": "name"
}

Response samples

Content type
application/json
{
  • "id": "id",
  • "name": "name",
  • "modelCount": 0
}

Delete single firmware vendor

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

vendorId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

Firmware vendor ID

Responses

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Get single vendor

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

vendorId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

Firmware vendor ID

Responses

Response samples

Content type
application/json
{
  • "id": "id",
  • "name": "name",
  • "modelCount": 0
}

Update single firmware vendor

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

vendorId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

Firmware vendor ID

Request Body schema: application/json
required
name
required
string <= 50 characters

Name of firmware vendor

Responses

Request samples

Content type
application/json
{
  • "name": "name"
}

Response samples

Content type
application/json
{
  • "id": "id",
  • "name": "name",
  • "modelCount": 0
}

Organizations Integrations API Clients

List all API clients configured for the organization.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create new API client for the organization.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
name
required
string <= 255 characters

Name of the API Client.

active
boolean
Default: true

Active flag of the API Client.

context
string <= 255 characters

Context to use in Tariff/POI lookup.

grants
Array of strings
Items Enum: "client_credentials" "password"

Supported grant types for the API Client.

scopes
Array of strings
Items Enum: "account" "domains" "pois_search"

Supported scopes for the API Client.

Responses

Request samples

Content type
application/json
{
  • "identifier": "identifier",
  • "secret": "secret",
  • "name": "My API Client",
  • "grants": [
    ],
  • "scopes": [
    ],
  • "active": true,
  • "context": "wirelane",
  • "last_access_token": "2023-04-01T12:00:00+02:00",
  • "active_access_tokens": 0
}

Response samples

Content type
application/json
{
  • "identifier": "identifier",
  • "secret": "secret",
  • "name": "My API Client",
  • "grants": [
    ],
  • "scopes": [
    ],
  • "active": true,
  • "context": "wirelane",
  • "last_access_token": "2023-04-01T12:00:00+02:00",
  • "active_access_tokens": 0
}

Delete API client

Authorizations:
OAuth2Password
path Parameters
apiClientId
required
string

API Client Identifier

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "identifier": "identifier",
  • "secret": "secret",
  • "name": "My API Client",
  • "grants": [
    ],
  • "scopes": [
    ],
  • "active": true,
  • "context": "wirelane",
  • "last_access_token": "2023-04-01T12:00:00+02:00",
  • "active_access_tokens": 0
}

Get API client

Authorizations:
OAuth2Password
path Parameters
apiClientId
required
string

API Client Identifier

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "identifier": "identifier",
  • "secret": "secret",
  • "name": "My API Client",
  • "grants": [
    ],
  • "scopes": [
    ],
  • "active": true,
  • "context": "wirelane",
  • "last_access_token": "2023-04-01T12:00:00+02:00",
  • "active_access_tokens": 0
}

Update API client

Authorizations:
OAuth2Password
path Parameters
apiClientId
required
string

API Client Identifier

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
name
required
string <= 255 characters

Name of the API Client.

active
boolean
Default: true

Active flag of the API Client.

context
string <= 255 characters

Context to use in Tariff/POI lookup.

grants
Array of strings
Items Enum: "client_credentials" "password"

Supported grant types for the API Client.

scopes
Array of strings
Items Enum: "account" "domains" "pois_search"

Supported scopes for the API Client.

Responses

Request samples

Content type
application/json
{
  • "identifier": "identifier",
  • "secret": "secret",
  • "name": "My API Client",
  • "grants": [
    ],
  • "scopes": [
    ],
  • "active": true,
  • "context": "wirelane",
  • "last_access_token": "2023-04-01T12:00:00+02:00",
  • "active_access_tokens": 0
}

Response samples

Content type
application/json
{
  • "identifier": "identifier",
  • "secret": "secret",
  • "name": "My API Client",
  • "grants": [
    ],
  • "scopes": [
    ],
  • "active": true,
  • "context": "wirelane",
  • "last_access_token": "2023-04-01T12:00:00+02:00",
  • "active_access_tokens": 0
}

Renew API client secret

Authorizations:
OAuth2Password
path Parameters
apiClientId
required
string

API Client Identifier

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "identifier": "identifier",
  • "secret": "secret",
  • "name": "My API Client",
  • "grants": [
    ],
  • "scopes": [
    ],
  • "active": true,
  • "context": "wirelane",
  • "last_access_token": "2023-04-01T12:00:00+02:00",
  • "active_access_tokens": 0
}

Organizations Integrations Webhooks

List all webhooks configured for the organization.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

Responses

Response samples

Content type
application/json
[]

Create new webhook for the organization.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
callback_url
required
string <= 255 characters ^http(s):\/\/.

Callback URL which will be called with the event data as content, must reply with status code 200.

secret
required
string <password> <= 255 characters

Secret which is used to build the X-Webhook-Signature header containing the HMAC sha256 of the webhook request content.

events
Array of strings

List of events the webhook should be active for, leave empty for all events.

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{}

Delete webhook

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

webhookId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

Webhook UUID

Responses

Response samples

Content type
application/json
{}

Get webhook

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

webhookId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

Webhook UUID

Responses

Response samples

Content type
application/json
{}

Update webhook

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

webhookId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

Webhook UUID

Request Body schema: application/json
required
callback_url
required
string <= 255 characters ^http(s):\/\/.

Callback URL which will be called with the event data as content, must reply with status code 200.

secret
required
string <password> <= 255 characters

Secret which is used to build the X-Webhook-Signature header containing the HMAC sha256 of the webhook request content.

events
Array of strings

List of events the webhook should be active for, leave empty for all events.

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{}

Get webhook history

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

webhookId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

Webhook UUID

query Parameters
date_picker_since
string <date-time>

The date time to search from

date_picker_until
string <date-time>

The date time to search to

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Test webhook callback

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

webhookId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

Webhook UUID

Responses

Response samples

Content type
application/json
{
  • "id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77",
  • "timestamp": "2023-04-01T12:00:00+02:00",
  • "status": true,
  • "result": "result"
}

Organizations Manufacturing

Get error logs for order related tasks.

Get error logs for order related tasks like importing orders from Exact or updating orders via iDoc files.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
category
Array of strings
Items Enum: "ORDER_IMPORT" "ORDER_UPDATES" "DELIVERY_FILE_TRANSFER" "PAYMENT_TERMINALS_IMPORT"

Category of the error log

level
Array of strings
Items Enum: "WARNING" "ERROR" "CRITICAL"

Log level

message
string

Partial search for the error message

order_by
string
Default: "last_occurence_date"
Enum: "category" "resource_id" "message" "level" "creation_date" "last_occurence_date"

Name for sort

order_direction
string
Default: "asc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

resource_id
string

ID of the affected resource

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get order items

Get the list of order items.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
active
boolean

Filter items based on active state

confirmed_delivery_date_since
string <date>

The date time to search from for the confirmed delivery date

confirmed_delivery_date_until
string <date>

The date until which to search for based on the confirmed delivery date

control_cabinet_number
string

Unique identifier/number of the control cabinet (enclosure) where the charging system is installed

customer_name
string

Partial search for customer name

delivery_city
string

Delivery Address City

delivery_country
string

Country code filter

delivery_date_since
string <date>

The date time to search from for the delivery date

delivery_date_until
string <date>

The date until which to search for based on the delivery date

delivery_street
string

Delivery Address Street and Number

delivery_type
Array of strings
Items Enum: "DELIVERY" "PICKUP"
delivery_zip
string

Delivery Address Zip

desired_delivery_date_since
string <date>

The date time to search from for the desired delivery date

desired_delivery_date_until
string <date>

The date until which to search for based on the desired delivery date

energy_meter_serial_number
string

Partial search for the serial number of the energy meter

goods_issue_date_since
string <date>

The date time to search from for the goods issue date

goods_issue_date_until
string <date>

The date until which to search for based on the goods issue date

has_router
boolean

Filter orders with or without a router

has_switch
boolean

Filter orders with or without a switch

has_tap_terminal
boolean

Filter orders with or without a tap device

installation_city
string

Installation Address City

installation_country
string

Installation Address Country

installation_street
string

Installation Address Street and Number

installation_zip
string

Installation Address Zip

invoice_creation_request_date_since
string <date>

The date to search from for the invoice creation request date

invoice_creation_request_date_until
string <date>

The date until which to search for based on invoice creation request date

is_b_grade
boolean
Default: false

Boolean filter to specify the type of orders to return. If set to true, only b-grade goods will be included. If set to false (default), only regular orders will be returned.

item_code
string

Partial search for item code

ma_lo_id
string

Partial search for the ID of the market location (MaLo-Id)

master_branding_evse_id
string

Partial search for the master EVSE-ID

master_serial_number
string

Partial search for the serial number of the master controller

me_lo_id
string

Partial search for the ID of the measuring location (MeLo-Id)

onboarding_date_since
string <date>

The date time to search from for the onboarding date

onboarding_date_until
string <date>

The date until which to search for based on the onboarding date

order_by
string
Default: "purchase_order_document_number"
Enum: "confirmed_delivery_date" "control_cabinet_number" "customer_name" "delivery_city" "delivery_street" "delivery_zip" "delivery_country" "delivery_type" "desired_delivery_date" "energy_meter_serial_number" "goods_issue_date" "installation_city" "installation_country" "installation_street" "installation_zip" "invoice_creation_request_date" "item_code" "ma_lo_id" "master_branding_evse_id" "master_serial_number" "me_lo_id" "onboarding_date" "order_date" "order_status" "original_purchase_order_document_number" "original_sales_order_number" "planned_production_week" "product_category" "product_description" "production_date" "production_order_number" "project_id" "purchase_order_document_number" "purchase_order_number" "router_mac_address" "router_serial_number" "sales_order_number" "sales_person" "sim_iccid" "slave_1_branding_evse_id" "slave_1_serial_number" "slave_2_branding_evse_id" "slave_2_serial_number" "smartmeter_gateway_serial_number" "tap_device_id" "tap_feig_serial_number" "tap_lavego_id" "tap_module_type" "tracking_number" "transducer_1" "transducer_2" "transducer_3" "transducer_factor" "transport_number"

Name for sort

order_date_since
string <date>

The date time to search from for the order date

order_date_until
string <date>

The date until which to search for based on the order date

order_direction
string
Default: "asc"
Enum: "asc" "desc"

Key for order direction

order_item_id
string

Partial search for order item id

order_status
Array of strings
Items Enum: "CANCELLED" "OPEN" "TRANSMITTED" "IN_PROGRESS" "PRODUCTION_COMPLETED" "READY_FOR_SHIPMENT" "SHIPPED" "DELIVERED" "RETURNED"

Status of the order

original_purchase_order_document_number
string

Partial search for the original purchase order document number (only relevant for b-grade orders)

original_sales_order_number
string

Partial search for the original sales order number (only relevant for b-grade orders)

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

planned_production_week
string

The planned production week according to ISO 8601

product_category
string
Enum: "ALPITRONIC" "LIGHT_CHARGE" "LIGHT_CHARGE_EVO"

Product category

product_description
string

Partial search for product description

production_date_since
string <date>

The date time to search from for the production date

production_date_until
string <date>

The date until which to search for based on the production date

production_order_number
string

Partial search for production order number

project_id
string

Partial search for the project id, e.g. an icr number for public charging points

purchase_order_document_number
string

Partial search for purchase order document number

purchase_order_number
string

Partial search for purchase order number

router_mac_address
string

MAC address of the router used by the charging station for network connectivity

router_serial_number
string

Partial search for the serial number of the router

sales_order_number
string

Partial search for sales order number

sales_person
string

Partial search for sales person

search
string

Search term

sim_iccid
string

Partial search for the ICCID of the sim card

slave_1_branding_evse_id
string

Partial search for the EVSE-ID of the first slave

slave_1_serial_number
string

Partial search for the serial number of the first slave controller

slave_2_branding_evse_id
string

Partial search for the EVSE-ID of the second slave

slave_2_serial_number
string

Partial search for the serial number of the second slave controller

smartmeter_gateway_serial_number
string

Partial search for the serial number of the smartmeter gateway

solution_type
string

Partial search for solution type

tap_device_id
string

Partial search for the tap device ID

tap_feig_serial_number
string

Partial search for the FEIG serial number of the tap terminal

tap_lavego_id
string

Partial search for the terminal ID of the tap terminal provided by Lavego

tap_module_type
string

Type of the tap payment module

tracking_number
string

Partial search for tracking number

transducer_1
string

Serial number of the current transformer (CT) for phase L1

transducer_2
string

Serial number of the current transformer (CT) for phase L2

transducer_3
string

Serial number of the current transformer (CT) for phase L3

transducer_factor
string

The transducer factor needed for electricity contracts

transport_number
string

Partial search for transport number

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Deactivates the given order items.

Deactivates order items by a list of ids.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
order_item_ids
required
Array of strings

List of orderItem ids

Responses

Request samples

Content type
application/json
{
  • "order_item_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Deletes an order item.

Deletes a single order item by its ID.

Authorizations:
OAuth2Password
path Parameters
orderItemId
required
string^[a-zA-Z0-9-_]+$

Order item ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Get a single order item.

Get a single order item by its ID.

Authorizations:
OAuth2Password
path Parameters
orderItemId
required
string^[a-zA-Z0-9-_]+$

Order item ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "order_item_id": "80c384f1-57db-4d0d-b44c-6526960b0b521",
  • "purchase_order_number": 20230483,
  • "line_number": 1,
  • "purchase_order_document_number": "20230483,01",
  • "original_purchase_order_document_number": "20230483,01",
  • "sales_order_number": 20230696,
  • "original_sales_order_number": 20230696,
  • "planned_production_week": "2024-W44",
  • "production_order_number": 2050187,
  • "product_category": "LIGHT_CHARGE",
  • "item_code": "CH-10322C",
  • "product_description": "Doppelstele",
  • "goods_issue_date": "2023-04-01",
  • "confirmed_delivery_date": "2023-04-01",
  • "desired_delivery_date": "2023-04-01",
  • "delivery_date": "2023-04-01",
  • "delivery_number": "0081008494",
  • "delivery_type": "delivery",
  • "tracking_number": "tracking_number",
  • "transport_number": "10002655",
  • "project_id": "10002655",
  • "production_date": "2023-04-01",
  • "transmitted_date": "2023-04-01",
  • "router_serial_number": "6000337203",
  • "sim_iccid": "10002655",
  • "tap_feig_serial_number": "10002655",
  • "tap_device_id": "10002655",
  • "tap_lavego_id": "10002655",
  • "tap_lavego_status": "missing_data",
  • "tap_lavego_missing_fields": [
    ],
  • "tap_lavego_request_date": "2023-04-01T12:00:00+02:00",
  • "master_serial_number": "10002655",
  • "slave_1_serial_number": "10002655",
  • "slave_2_serial_number": "10002655",
  • "master_branding_evse_id": "DE*WLN*EL02332",
  • "slave_1_branding_evse_id": "DE*WLN*ES000529",
  • "slave_2_branding_evse_id": "DE*WLN*ES000530",
  • "energy_meter_serial_number": "12345678",
  • "smartmeter_gateway_serial_number": "SMGW1234567890",
  • "me_lo_id": "DE 000562 66802 AO6G56M11SN51G21M24S",
  • "ma_lo_id": "41373559241",
  • "order_date": "2023-04-01",
  • "sales_person": "Max Mustermann",
  • "customer_name": "Hotel XYZ",
  • "customer_contact_name": "Max Mustermann",
  • "customer_phone": "01234 030 89-0",
  • "order_status": "open",
  • "solution_type": "Caas-EmSo",
  • "delivery_address": {
    },
  • "installation_address": {
    },
  • "active": true,
  • "has_router": true,
  • "has_switch": true,
  • "has_tap_terminal": true,
  • "onboarding_date": "2023-04-01",
  • "invoice_creation_request_date": "2023-04-01",
  • "transducer_factor": "100/5A",
  • "control_cabinet_number": "CC-0042",
  • "router_mac_address": "aa:bb:cc:dd:ee:ff",
  • "transducer_1": "CT-L1-123456",
  • "transducer_2": "CT-L2-123456",
  • "transducer_3": "CT-L3-123456",
  • "tap_module_type": "CCV IM30",
  • "note": "Station was initially ordered by customer XY"
}

Update an order item.

Update a single order item by its ID.

Authorizations:
OAuth2Password
path Parameters
orderItemId
required
string^[a-zA-Z0-9-_]+$

Order item ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required

The order item to update

control_cabinet_number
string

Unique identifier/number of the control cabinet (enclosure) where the charging system is installed

delivery_type
string
Enum: "delivery" "pickup"
desired_delivery_date
string <date>

The desired delivery date.

energy_meter_serial_number
string

Serial number of the energy meter, which measures the power consumption

has_router
boolean

True if the charging station will be bundled with a router. Only updateable for b-grade order items.

has_switch
boolean

True if the charging station will be bundled with a switch. Only updateable for b-grade order items.

has_tap_terminal
boolean

True if the charging station has been ordered with a tap payment terminal attached. Only updateable for b-grade order items.

ma_lo_id
string

ID of the market location, which is the location where energy is generated/input or consumed/withdrawn. It´s a eleven-digit code number.

master_branding_evse_id
string

The master EVSE-ID - can only be updated if station has not been onboarded yet

master_serial_number
string

The master serial number

me_lo_id
string

ID of the measuring location, which defines the location at which physical energy is actually measured. It´s a 33-digit code number and starts with the country code e.g. DE

planned_production_week
string^\d{4}\-W\d{1,2}$

Planned production week

project_id
string
router_mac_address
string

MAC address of the router used by the charging station for network connectivity

router_serial_number
string

The serial number of the router

sales_order_number
integer

Exact sales order number. Only updateable for b-grade order items.

sim_iccid
string

The ICCID of the sim card

slave_1_branding_evse_id
string

The EVSE-ID of the first slave - can only be updated if station has not been onboarded yet

slave_2_branding_evse_id
string

The EVSE-ID of the second slave - can only be updated if station has not been onboarded yet

smartmeter_gateway_serial_number
string

Serial number of the smartmeter gateway, which can securely integrate one or more modern metering devices (e.g. an energy meter) into a communication network

tap_device_id
string

The tap device ID

tap_feig_serial_number
string

The FEIG serial number of the tap terminal

tap_lavego_id
string

The terminal ID of the tap terminal provided by Lavego

tap_module_type
string

Type of the tap payment module

transducer_1
string

Serial number of the current transformer (CT) for phase L1

transducer_2
string

Serial number of the current transformer (CT) for phase L2

transducer_3
string

Serial number of the current transformer (CT) for phase L3

transducer_factor
string

Transducer factor for electricity contracts

transport_number
string

Transport number

Responses

Request samples

Content type
application/json
{
  • "sales_order_number": 20230696,
  • "tap_lavego_id": "tap_lavego_id",
  • "delivery_type": "delivery",
  • "desired_delivery_date": "2023-04-01",
  • "project_id": "project_id",
  • "has_router": true,
  • "has_switch": true,
  • "has_tap_terminal": true,
  • "energy_meter_serial_number": "12345678",
  • "smartmeter_gateway_serial_number": "SMGW1234567890",
  • "me_lo_id": "DE 000562 66802 AO6G56M11SN51G21M24S",
  • "ma_lo_id": "41373559241",
  • "planned_production_week": "2024-W44",
  • "router_serial_number": "router_serial_number",
  • "sim_iccid": "sim_iccid",
  • "tap_feig_serial_number": "tap_feig_serial_number",
  • "tap_device_id": "tap_device_id",
  • "master_branding_evse_id": "master_branding_evse_id",
  • "slave_1_branding_evse_id": "slave_1_branding_evse_id",
  • "slave_2_branding_evse_id": "slave_2_branding_evse_id",
  • "transducer_factor": "100/5A",
  • "control_cabinet_number": "CC-0042",
  • "router_mac_address": "aa:bb:cc:dd:ee:ff",
  • "transducer_1": "CT-L1-123456",
  • "transducer_2": "CT-L2-123456",
  • "transducer_3": "CT-L3-123456",
  • "tap_module_type": "CCV IM30",
  • "transport_number": "10002655",
  • "master_serial_number": "master_serial_number"
}

Response samples

Content type
application/json
{
  • "order_item_id": "80c384f1-57db-4d0d-b44c-6526960b0b521",
  • "purchase_order_number": 20230483,
  • "line_number": 1,
  • "purchase_order_document_number": "20230483,01",
  • "original_purchase_order_document_number": "20230483,01",
  • "sales_order_number": 20230696,
  • "original_sales_order_number": 20230696,
  • "planned_production_week": "2024-W44",
  • "production_order_number": 2050187,
  • "product_category": "LIGHT_CHARGE",
  • "item_code": "CH-10322C",
  • "product_description": "Doppelstele",
  • "goods_issue_date": "2023-04-01",
  • "confirmed_delivery_date": "2023-04-01",
  • "desired_delivery_date": "2023-04-01",
  • "delivery_date": "2023-04-01",
  • "delivery_number": "0081008494",
  • "delivery_type": "delivery",
  • "tracking_number": "tracking_number",
  • "transport_number": "10002655",
  • "project_id": "10002655",
  • "production_date": "2023-04-01",
  • "transmitted_date": "2023-04-01",
  • "router_serial_number": "6000337203",
  • "sim_iccid": "10002655",
  • "tap_feig_serial_number": "10002655",
  • "tap_device_id": "10002655",
  • "tap_lavego_id": "10002655",
  • "tap_lavego_status": "missing_data",
  • "tap_lavego_missing_fields": [
    ],
  • "tap_lavego_request_date": "2023-04-01T12:00:00+02:00",
  • "master_serial_number": "10002655",
  • "slave_1_serial_number": "10002655",
  • "slave_2_serial_number": "10002655",
  • "master_branding_evse_id": "DE*WLN*EL02332",
  • "slave_1_branding_evse_id": "DE*WLN*ES000529",
  • "slave_2_branding_evse_id": "DE*WLN*ES000530",
  • "energy_meter_serial_number": "12345678",
  • "smartmeter_gateway_serial_number": "SMGW1234567890",
  • "me_lo_id": "DE 000562 66802 AO6G56M11SN51G21M24S",
  • "ma_lo_id": "41373559241",
  • "order_date": "2023-04-01",
  • "sales_person": "Max Mustermann",
  • "customer_name": "Hotel XYZ",
  • "customer_contact_name": "Max Mustermann",
  • "customer_phone": "01234 030 89-0",
  • "order_status": "open",
  • "solution_type": "Caas-EmSo",
  • "delivery_address": {
    },
  • "installation_address": {
    },
  • "active": true,
  • "has_router": true,
  • "has_switch": true,
  • "has_tap_terminal": true,
  • "onboarding_date": "2023-04-01",
  • "invoice_creation_request_date": "2023-04-01",
  • "transducer_factor": "100/5A",
  • "control_cabinet_number": "CC-0042",
  • "router_mac_address": "aa:bb:cc:dd:ee:ff",
  • "transducer_1": "CT-L1-123456",
  • "transducer_2": "CT-L2-123456",
  • "transducer_3": "CT-L3-123456",
  • "tap_module_type": "CCV IM30",
  • "note": "Station was initially ordered by customer XY"
}

Deactivates an order item.

Deactivates an order item.

Authorizations:
OAuth2Password
path Parameters
orderItemId
required
string^[a-zA-Z0-9-_]+$

Order item ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Update the note for an order item

Update the note field for a single order item by its ID

Authorizations:
OAuth2Password
path Parameters
orderItemId
required
string^[a-zA-Z0-9-_]+$

Order item ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required

The note to update

note
string

User-editable note for the order item

Responses

Request samples

Content type
application/json
{
  • "note": "Customer requested expedited delivery"
}

Response samples

Content type
application/json
{
  • "order_item_id": "80c384f1-57db-4d0d-b44c-6526960b0b521",
  • "purchase_order_number": 20230483,
  • "line_number": 1,
  • "purchase_order_document_number": "20230483,01",
  • "original_purchase_order_document_number": "20230483,01",
  • "sales_order_number": 20230696,
  • "original_sales_order_number": 20230696,
  • "planned_production_week": "2024-W44",
  • "production_order_number": 2050187,
  • "product_category": "LIGHT_CHARGE",
  • "item_code": "CH-10322C",
  • "product_description": "Doppelstele",
  • "goods_issue_date": "2023-04-01",
  • "confirmed_delivery_date": "2023-04-01",
  • "desired_delivery_date": "2023-04-01",
  • "delivery_date": "2023-04-01",
  • "delivery_number": "0081008494",
  • "delivery_type": "delivery",
  • "tracking_number": "tracking_number",
  • "transport_number": "10002655",
  • "project_id": "10002655",
  • "production_date": "2023-04-01",
  • "transmitted_date": "2023-04-01",
  • "router_serial_number": "6000337203",
  • "sim_iccid": "10002655",
  • "tap_feig_serial_number": "10002655",
  • "tap_device_id": "10002655",
  • "tap_lavego_id": "10002655",
  • "tap_lavego_status": "missing_data",
  • "tap_lavego_missing_fields": [
    ],
  • "tap_lavego_request_date": "2023-04-01T12:00:00+02:00",
  • "master_serial_number": "10002655",
  • "slave_1_serial_number": "10002655",
  • "slave_2_serial_number": "10002655",
  • "master_branding_evse_id": "DE*WLN*EL02332",
  • "slave_1_branding_evse_id": "DE*WLN*ES000529",
  • "slave_2_branding_evse_id": "DE*WLN*ES000530",
  • "energy_meter_serial_number": "12345678",
  • "smartmeter_gateway_serial_number": "SMGW1234567890",
  • "me_lo_id": "DE 000562 66802 AO6G56M11SN51G21M24S",
  • "ma_lo_id": "41373559241",
  • "order_date": "2023-04-01",
  • "sales_person": "Max Mustermann",
  • "customer_name": "Hotel XYZ",
  • "customer_contact_name": "Max Mustermann",
  • "customer_phone": "01234 030 89-0",
  • "order_status": "open",
  • "solution_type": "Caas-EmSo",
  • "delivery_address": {
    },
  • "installation_address": {
    },
  • "active": true,
  • "has_router": true,
  • "has_switch": true,
  • "has_tap_terminal": true,
  • "onboarding_date": "2023-04-01",
  • "invoice_creation_request_date": "2023-04-01",
  • "transducer_factor": "100/5A",
  • "control_cabinet_number": "CC-0042",
  • "router_mac_address": "aa:bb:cc:dd:ee:ff",
  • "transducer_1": "CT-L1-123456",
  • "transducer_2": "CT-L2-123456",
  • "transducer_3": "CT-L3-123456",
  • "tap_module_type": "CCV IM30",
  • "note": "Station was initially ordered by customer XY"
}

Get the IDoc XML preview.

Get the IDoc XML preview for an order item.

Authorizations:
OAuth2Password
path Parameters
orderItemId
required
string^[a-zA-Z0-9-_]+$

Order item ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Mark order items as returned and create new order items.

Marks specified order items as "Returned" and stores the return date. New order items will be created based on the original order items.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
order_item_ids
required
Array of strings

List of IDs for order items to be marked as returned.

Responses

Request samples

Content type
application/json
{
  • "order_item_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Transmit order items to Hörmann

Creates and sends the IDoc XML file to the supplier for every given order item id. The transmitted date will be set and the order status will be updated

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
order_item_ids
required
Array of strings

List of orderItem ids

Responses

Request samples

Content type
application/json
{
  • "order_item_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Updates tracking number and delivery date for all order items with matching transport number

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
delivery_date
required
string <date>

Date

tracking_number
required
string
transport_number
required
string

Responses

Request samples

Content type
application/json
{
  • "transport_number": "transport_number",
  • "tracking_number": "tracking_number",
  • "delivery_date": "2023-04-01"
}

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Get products

Get a list of product entities

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
category
string
Enum: "ALPITRONIC" "LIGHT_CHARGE" "LIGHT_CHARGE_EVO"

Filter by category (currently either Alpitronic or Light&Charge). Passing null as filter, means that both categories are returned.

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create new product

Create new product entity

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
category
required
string
Enum: "ALPITRONIC" "LIGHT_CHARGE" "LIGHT_CHARGE_EVO"

The category of the product

description
required
string

Small product description

item_code
required
string

Unique item code of the product

pre_produced
required
boolean
Default: false

Flag on whether the product is pre-produced or not

Responses

Request samples

Content type
application/json
{
  • "category": "ALPITRONIC",
  • "item_code": "OCH-L2_WL_DB703",
  • "description": "HYC50 Wallbox",
  • "pre_produced": false
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "category": "ALPITRONIC",
  • "item_code": "OCH-L2_WL_DB703",
  • "description": "HYC50 Wallbox",
  • "pre_produced": false,
  • "referenced_by_order_item": true
}

Delete a product entity

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

productId
required
integer

The product ID

Responses

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Get a product entity

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

productId
required
integer

The product ID

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "category": "ALPITRONIC",
  • "item_code": "OCH-L2_WL_DB703",
  • "description": "HYC50 Wallbox",
  • "pre_produced": false,
  • "referenced_by_order_item": true
}

Edit the description of a product entity

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

productId
required
integer

The product ID

Request Body schema: application/json
required
description
required
string

Small product description

category
string
Enum: "ALPITRONIC" "LIGHT_CHARGE" "LIGHT_CHARGE_EVO"

The category of the product (Can only be updated if Product hasn't been referenced yet)

item_code
string

Unique item code of the product (Can only be updated if Product hasn't been referenced yet)

pre_produced
boolean

Flag on whether the product is pre-produced or not (Can only be updated if Product hasn't been referenced yet)

Responses

Request samples

Content type
application/json
{
  • "category": "ALPITRONIC",
  • "item_code": "OCH-L2_WL_DB703",
  • "description": "HYC50 Wallbox",
  • "pre_produced": true
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "category": "ALPITRONIC",
  • "item_code": "OCH-L2_WL_DB703",
  • "description": "HYC50 Wallbox",
  • "pre_produced": false,
  • "referenced_by_order_item": true
}

Organizations Marketplaces

Get a list of available Marketplaces

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get Marketplace

Authorizations:
OAuth2Password
path Parameters
marketplaceId
required
integer

Marketplace ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "id": 1002,
  • "name": "name",
  • "owner": "dewln",
  • "participants": 92,
  • "status": "OWNER"
}

List Memberships for a Marketplace

Authorizations:
OAuth2Password
path Parameters
marketplaceId
required
integer

Marketplace ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create new Marketplace Membership

Authorizations:
OAuth2Password
path Parameters
marketplaceId
required
integer

Marketplace ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
buyer_right_offered
required
boolean

Buyer right has been offered by the Marketplace

seller_right_offered
required
boolean

Seller right has been offered by the Marketplace

tenant
string

Tenant of the Marketplace Membership

Responses

Request samples

Content type
application/json
{
  • "tenant": "dewln",
  • "buyer_right_offered": true,
  • "seller_right_offered": true
}

Response samples

Content type
application/json
{
  • "marketplace": 1002,
  • "tenant": "dewln",
  • "buyer_right_offered": true,
  • "buyer_right_requested": true,
  • "seller_right_offered": true,
  • "seller_right_requested": true
}

Decline Marketplace Membership

Authorizations:
OAuth2Password
path Parameters
marketplaceId
required
integer

Marketplace ID

membershipTenantId
required
string^[a-zA-Z0-9-_]+$

Tenant ID of the Membership

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "marketplace": 1002,
  • "tenant": "dewln",
  • "buyer_right_offered": true,
  • "buyer_right_requested": true,
  • "seller_right_offered": true,
  • "seller_right_requested": true
}

Get Marketplace Membership

Authorizations:
OAuth2Password
path Parameters
marketplaceId
required
integer

Marketplace ID

membershipTenantId
required
string^[a-zA-Z0-9-_]+$

Tenant ID of the Membership

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "marketplace": 1002,
  • "tenant": "dewln",
  • "buyer_right_offered": true,
  • "buyer_right_requested": true,
  • "seller_right_offered": true,
  • "seller_right_requested": true
}

Accept Marketplace Membership

Authorizations:
OAuth2Password
path Parameters
marketplaceId
required
integer

Marketplace ID

membershipTenantId
required
string^[a-zA-Z0-9-_]+$

Tenant ID of the Membership

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
buyer_right_requested
required
boolean

Buyer right has been requested by the Tenant

seller_right_requested
required
boolean

Seller right has been requested by the Tenant

Responses

Request samples

Content type
application/json
{
  • "buyer_right_requested": true,
  • "seller_right_requested": true
}

Response samples

Content type
application/json
{
  • "marketplace": 1002,
  • "tenant": "dewln",
  • "buyer_right_offered": true,
  • "buyer_right_requested": true,
  • "seller_right_offered": true,
  • "seller_right_requested": true
}

Update Marketplace Membership

Authorizations:
OAuth2Password
path Parameters
marketplaceId
required
integer

Marketplace ID

membershipTenantId
required
string^[a-zA-Z0-9-_]+$

Tenant ID of the Membership

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
buyer_right_offered
required
boolean

Buyer right has been offered by the Marketplace

seller_right_offered
required
boolean

Seller right has been offered by the Marketplace

tenant
string

Tenant of the Marketplace Membership

Responses

Request samples

Content type
application/json
{
  • "tenant": "dewln",
  • "buyer_right_offered": true,
  • "seller_right_offered": true
}

Response samples

Content type
application/json
{
  • "marketplace": 1002,
  • "tenant": "dewln",
  • "buyer_right_offered": true,
  • "buyer_right_requested": true,
  • "seller_right_offered": true,
  • "seller_right_requested": true
}

For all marketplaces where the organization participates, find its marketplace profile

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
emps
Array of strings[ items^[a-zA-Z0-9]+$ ]

The list of an organization's EMPs (other organizations managing its customers) within a marketplace where the organization and the EMPs participate. Will filter marketplaces where the organization has in its marketplace EMP list any of the ones provided in the query.

marketplace_ids
Array of strings[ items^[0-9]+$ ]

List of marketplace ids where the organization is a participant. Will filter marketplace profiles for only the marketplaces where the marketplace ID matches.

profile_types
Array of strings
Items Enum: "SELLER" "BUYER" "NONE" ""

What can the organization do in the marketplace.

  • SELLER: can sell tariffs to other organizations
  • BUYER: can buy tariffs from other organizations
  • NONE: can only ask for permissions to become a buyer/seller

Passing '' (empty string) as filter, means that everything will match.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Organizations Member Groups

List MemberGroups

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
has_roles
boolean

Filter MemberGroups on whether they have roles or not.

  • null: filter is not set
  • true: returns MemberGroups having roles set, e.g. so called "Permission Groups"
  • false: returns MemberGroups not having roles set, e.g. so called "Charging Groups"
order_by
string
Default: "name"
Enum: "name" "member_count"

Name for sort

order_direction
string
Default: "asc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

search
string

Search term

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a member group

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
name
required
string <= 255 characters

Name of the member group. MUST be unique

all_organizations
boolean

If true, the rights apply to all child organizations of the organization owning the member group

organization_groups
Array of strings

List of organization groups IDs where the member groups's rights apply

rights
Array of strings

Responses

Request samples

Content type
application/json
{
  • "name": "Group1",
  • "rights": [
    ],
  • "all_organizations": false,
  • "organization_groups": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "id",
  • "tenant": "dewln",
  • "name": "name",
  • "rights": [
    ],
  • "all_organizations": false,
  • "organization_groups": [
    ],
  • "member_count": 0
}

Remove a member group

Authorizations:
OAuth2Password
path Parameters
memberGroupId
required
string^[a-zA-Z0-9-_]+$

Member ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Get a member group

Authorizations:
OAuth2Password
path Parameters
memberGroupId
required
string^[a-zA-Z0-9-_]+$

Member ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "id": "id",
  • "tenant": "dewln",
  • "name": "name",
  • "rights": [
    ],
  • "all_organizations": false,
  • "organization_groups": [
    ],
  • "member_count": 0
}

Edit a member group

Authorizations:
OAuth2Password
path Parameters
memberGroupId
required
string^[a-zA-Z0-9-_]+$

Member ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
name
required
string <= 255 characters

Name of the member group

all_organizations
boolean

If true, the rights apply to all child organizations of the organization owning the member group

organization_groups
Array of strings

List of organization groups IDs where the member groups's rights apply

rights
Array of strings

Responses

Request samples

Content type
application/json
{
  • "name": "Group1",
  • "rights": [
    ],
  • "all_organizations": false,
  • "organization_groups": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "id",
  • "tenant": "dewln",
  • "name": "name",
  • "rights": [
    ],
  • "all_organizations": false,
  • "organization_groups": [
    ],
  • "member_count": 0
}

Organizations Tariffs

Get a member group tariffs

Authorizations:
OAuth2Password
path Parameters
memberGroupId
required
string^[a-zA-Z0-9-_]+$

Member ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
order_by
string
Default: "priority"
Enum: "name" "priority" "active_from_date" "active_until_date" "tariff_type"

Name for sort

order_direction
string
Default: "desc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

status
Array of strings
Items Enum: "active" "inactive"

Filters the tariffs for status

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get charge point group tariffs

Authorizations:
OAuth2Password
path Parameters
groupId
required
integer

The ID to search for

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
order_by
string
Default: "priority"
Enum: "name" "priority" "active_from_date" "active_until_date" "tariff_type"

Name for sort

order_direction
string
Default: "desc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

status
Array of strings
Items Enum: "active" "inactive"

Filters the tariffs for status

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get tariffs Deprecated

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

pointId
required
string^[a-zA-Z0-9-_*]+$

The ID to search for. Note that not all characters indicated by the pattern are allowed for each type of ID. E.g. the asterisk is only allowed if an EVSE-ID is provided.

pointTypeId
required
string^[a-zA-Z0-9-_]+$
Enum: "id" "evseid" "charging_point_id" "charge_point_id"

Sets which field of ChargingPoint the pointId parameters refers to:

  • id / charging_point_id: The internal ID of the EVSE
  • evseid: The Roaming EVSE-ID
  • charge_point_id: The technical ID of the charge point connector. Shown to the user, and could be printed on the label (label code)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get tariffs

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
marketplace_ids
Array of integers

List of marketplace ids used to filter the tariffs. Filter tariffs by the marketplaces where the customer or the marketplace tariff exists.

order_by
string
Default: "priority"
Enum: "priority" "name" "active_from_date" "active_until_date"

Name for sort

order_direction
string
Default: "desc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

roaming_providers
Array of strings
Items Enum: "none" "hubject" "eclearing" "ocpi"

Filters the tariffs for their configured roaming provider.

status
Array of strings
Items Enum: "active" "inactive"

Filters the tariffs for status

types
Array of strings
Items Enum: "customer" "member" "marketplace" "cpo_roaming" "unregistered" "contactless_payment" "direct_charging_cpo"

Filter tariffs by tariff type.

  • customer: For registered customers via App or RFID authorization.
  • member: For registered members of an CPO.
  • marketplace: Marketplace offered between CPOs.
  • cpo_roaming: CPO Roaming tariff provided to the roaming partners.
  • unregistered: Ad-hoc payment via direct payment page. (direct_payment in Tariff.tariff_type)
  • contactless_payment: Ad-hoc payment via payment terminal.
  • direct_charging_cpo: Ad-hoc payment via direct payment page of the CPO.
header Parameters
Accept-Language
string^[a-zA-Z]{2}(-[a-zA-Z]{2})?

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create tariff

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
required
Array of objects (DisplayText)
priority
required
integer >= 0

It prioritizes the tariff - highest priority will show up to the user and in case of equality, newest tariff wins. Prioritization happens within separate buckets:

  • First bucket - all tariffs with values in marketplace_ids, for_member = true; sorted by their priorities
  • Second bucket - all legacy tariffs (for_marketplace = false, for_customer = false, for_member = false); sorted by their priorities
  • Third bucket - all tariffs with for_customer = true, sorted by their priorities
  • Fourth bucket - all tariffs with values in marketplace_ids and for_marketplace = true, sorted by their priorities
active
boolean
Default: true

Check if the tariff is active

active_from_date
string <date-time>

Active from date and time

active_until_date
string <date-time>

Active until date and time

capacity_filter_from
integer [ 0 .. 2000 ]

Applicable for Points with a capacity of minimum

capacity_filter_to
integer [ 0 .. 2000 ]

Applicable for Points with a maximum capacity of value

for_customer
boolean

True will show this tariff to owner's direct customers. Obsolete.

for_marketplace
boolean

True will trade this tariff in the marketplace (if owner is allowed to sell). Obsolete.

for_member
boolean

True will show this tariff only to customers that are members of the organization owning the tariff. Obsolete.

for_unregistered_customers
boolean
Default: false

True if this tariff is for customers which are not registered with an EMP. Obsolete.

marketplace_ids
Array of integers

The IDs or the marketplaces where the tariff can be traded.

  • If for_marketplace is true, then this has the IDs of marketplaces where other organizations can buy this tariff and show to their own customers
  • If for_member is true, then this has the IDs of marketplaces where the organization and its EMPs (customer manager organizations) are part of. The organization must have already marked which are its EMPs in that marketplaces.
member_groups
Array of strings

Member groups, valid only when for_members is true and the tariff is in a marketplace (has ids in marketplace_ids)

object (OrganizationList)

Whitelist of organizations

Array of objects (Tariff_plans_inner)

A list of plan key / plan name pairs for plans associated to this tariff

Array of objects (PriceModel)

Prices to extend the default price

reservation_duration
integer >= 0

@deprecated: will be removed.

Duration of reservation when using this tariff for a POI.

  • If 0, the current tariff is for a POI not supporting reservations
  • Any value greater than 0, the customers can reserve the POI for this amount of minutes
roaming_platform
string
Enum: "none" "hubject" "eclearing" "ocpi"

If set, then this tariff is aimed towards a specific roaming platform. Set to none for regular tariffs with no roaming-attachment. Skipping this value / nulling it will not change the value or default to none

tariff_type
string
Enum: "customer" "member" "marketplace" "cpo_roaming" "direct_payment" "contactless_payment" "direct_charging_cpo"

The type of this tariff.

  • customer: For registered customers via App or RFID authorization.
  • member: For registered members of an CPO.
  • marketplace: Marketplace offered between CPOs.
  • cpo_roaming: CPO Roaming tariff provided to the roaming partners.
  • direct_payment: Ad-hoc payment via direct payment page.
  • contactless_payment: Ad-hoc payment via payment terminal.
  • direct_charging_cpo: Ad-hoc payment via direct payment page of the CPO.

Responses

Request samples

Content type
application/json
{
  • "id": 1002,
  • "tariff_id": "dewln-1111991",
  • "tenant": "dewln",
  • "name": [
    ],
  • "priority": 200,
  • "creation_date": "2023-04-01T12:00:00+02:00",
  • "update_date": "2023-04-01T12:00:00+02:00",
  • "active_from_date": "2023-04-01T12:00:00+02:00",
  • "active_until_date": "2023-04-01T12:00:00+02:00",
  • "capacity_filter_from": 160,
  • "capacity_filter_to": 1205,
  • "tariff_type": "customer",
  • "roaming_platform": "none",
  • "for_unregistered_customers": false,
  • "for_marketplace": true,
  • "for_customer": false,
  • "for_member": false,
  • "marketplace_ids": [
    ],
  • "member_groups": [
    ],
  • "organization_eligibility_list": {
    },
  • "reservation_duration": 30,
  • "plans": [
    ],
  • "prices": [
    ],
  • "active": true
}

Response samples

Content type
application/json
{
  • "id": 1002,
  • "tariff_id": "dewln-1111991",
  • "tenant": "dewln",
  • "name": [
    ],
  • "priority": 200,
  • "creation_date": "2023-04-01T12:00:00+02:00",
  • "update_date": "2023-04-01T12:00:00+02:00",
  • "active_from_date": "2023-04-01T12:00:00+02:00",
  • "active_until_date": "2023-04-01T12:00:00+02:00",
  • "capacity_filter_from": 160,
  • "capacity_filter_to": 1205,
  • "tariff_type": "customer",
  • "roaming_platform": "none",
  • "for_unregistered_customers": false,
  • "for_marketplace": true,
  • "for_customer": false,
  • "for_member": false,
  • "marketplace_ids": [
    ],
  • "member_groups": [
    ],
  • "organization_eligibility_list": {
    },
  • "reservation_duration": 30,
  • "plans": [
    ],
  • "prices": [
    ],
  • "active": true
}

Get a specific tariff

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

tariffId
required
integer

The tariff ID to search for

Responses

Response samples

Content type
application/json
{
  • "id": 1002,
  • "tariff_id": "dewln-1111991",
  • "tenant": "dewln",
  • "name": [
    ],
  • "priority": 200,
  • "creation_date": "2023-04-01T12:00:00+02:00",
  • "update_date": "2023-04-01T12:00:00+02:00",
  • "active_from_date": "2023-04-01T12:00:00+02:00",
  • "active_until_date": "2023-04-01T12:00:00+02:00",
  • "capacity_filter_from": 160,
  • "capacity_filter_to": 1205,
  • "tariff_type": "customer",
  • "roaming_platform": "none",
  • "for_unregistered_customers": false,
  • "for_marketplace": true,
  • "for_customer": false,
  • "for_member": false,
  • "marketplace_ids": [
    ],
  • "member_groups": [
    ],
  • "organization_eligibility_list": {
    },
  • "reservation_duration": 30,
  • "plans": [
    ],
  • "prices": [
    ],
  • "active": true
}

Change tariff

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

tariffId
required
integer

The tariff ID to search for

Request Body schema: application/json
required
required
Array of objects (DisplayText)
priority
required
integer >= 0

It prioritizes the tariff - highest priority will show up to the user and in case of equality, newest tariff wins. Prioritization happens within separate buckets:

  • First bucket - all tariffs with values in marketplace_ids, for_member = true; sorted by their priorities
  • Second bucket - all legacy tariffs (for_marketplace = false, for_customer = false, for_member = false); sorted by their priorities
  • Third bucket - all tariffs with for_customer = true, sorted by their priorities
  • Fourth bucket - all tariffs with values in marketplace_ids and for_marketplace = true, sorted by their priorities
active
boolean
Default: true

Check if the tariff is active

active_from_date
string <date-time>

Active from date and time

active_until_date
string <date-time>

Active until date and time

capacity_filter_from
integer [ 0 .. 2000 ]

Applicable for Points with a capacity of minimum

capacity_filter_to
integer [ 0 .. 2000 ]

Applicable for Points with a maximum capacity of value

for_customer
boolean

True will show this tariff to owner's direct customers. Obsolete.

for_marketplace
boolean

True will trade this tariff in the marketplace (if owner is allowed to sell). Obsolete.

for_member
boolean

True will show this tariff only to customers that are members of the organization owning the tariff. Obsolete.

for_unregistered_customers
boolean
Default: false

True if this tariff is for customers which are not registered with an EMP. Obsolete.

marketplace_ids
Array of integers

The IDs or the marketplaces where the tariff can be traded.

  • If for_marketplace is true, then this has the IDs of marketplaces where other organizations can buy this tariff and show to their own customers
  • If for_member is true, then this has the IDs of marketplaces where the organization and its EMPs (customer manager organizations) are part of. The organization must have already marked which are its EMPs in that marketplaces.
member_groups
Array of strings

Member groups, valid only when for_members is true and the tariff is in a marketplace (has ids in marketplace_ids)

object (OrganizationList)

Whitelist of organizations

Array of objects (Tariff_plans_inner)

A list of plan key / plan name pairs for plans associated to this tariff

Array of objects (PriceModel)

Prices to extend the default price

reservation_duration
integer >= 0

@deprecated: will be removed.

Duration of reservation when using this tariff for a POI.

  • If 0, the current tariff is for a POI not supporting reservations
  • Any value greater than 0, the customers can reserve the POI for this amount of minutes
roaming_platform
string
Enum: "none" "hubject" "eclearing" "ocpi"

If set, then this tariff is aimed towards a specific roaming platform. Set to none for regular tariffs with no roaming-attachment. Skipping this value / nulling it will not change the value or default to none

tariff_type
string
Enum: "customer" "member" "marketplace" "cpo_roaming" "direct_payment" "contactless_payment" "direct_charging_cpo"

The type of this tariff.

  • customer: For registered customers via App or RFID authorization.
  • member: For registered members of an CPO.
  • marketplace: Marketplace offered between CPOs.
  • cpo_roaming: CPO Roaming tariff provided to the roaming partners.
  • direct_payment: Ad-hoc payment via direct payment page.
  • contactless_payment: Ad-hoc payment via payment terminal.
  • direct_charging_cpo: Ad-hoc payment via direct payment page of the CPO.

Responses

Request samples

Content type
application/json
{
  • "id": 1002,
  • "tariff_id": "dewln-1111991",
  • "tenant": "dewln",
  • "name": [
    ],
  • "priority": 200,
  • "creation_date": "2023-04-01T12:00:00+02:00",
  • "update_date": "2023-04-01T12:00:00+02:00",
  • "active_from_date": "2023-04-01T12:00:00+02:00",
  • "active_until_date": "2023-04-01T12:00:00+02:00",
  • "capacity_filter_from": 160,
  • "capacity_filter_to": 1205,
  • "tariff_type": "customer",
  • "roaming_platform": "none",
  • "for_unregistered_customers": false,
  • "for_marketplace": true,
  • "for_customer": false,
  • "for_member": false,
  • "marketplace_ids": [
    ],
  • "member_groups": [
    ],
  • "organization_eligibility_list": {
    },
  • "reservation_duration": 30,
  • "plans": [
    ],
  • "prices": [
    ],
  • "active": true
}

Response samples

Content type
application/json
{
  • "id": 1002,
  • "tariff_id": "dewln-1111991",
  • "tenant": "dewln",
  • "name": [
    ],
  • "priority": 200,
  • "creation_date": "2023-04-01T12:00:00+02:00",
  • "update_date": "2023-04-01T12:00:00+02:00",
  • "active_from_date": "2023-04-01T12:00:00+02:00",
  • "active_until_date": "2023-04-01T12:00:00+02:00",
  • "capacity_filter_from": 160,
  • "capacity_filter_to": 1205,
  • "tariff_type": "customer",
  • "roaming_platform": "none",
  • "for_unregistered_customers": false,
  • "for_marketplace": true,
  • "for_customer": false,
  • "for_member": false,
  • "marketplace_ids": [
    ],
  • "member_groups": [
    ],
  • "organization_eligibility_list": {
    },
  • "reservation_duration": 30,
  • "plans": [
    ],
  • "prices": [
    ],
  • "active": true
}

Create a price for an existing tariff

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

tariffId
required
integer

The tariff ID to search for

Request Body schema: application/json
required
active
boolean
connection_fee
number <double> >= 0
currency
string
Enum: "EUR" "CHF" "SEK" "ILS"

ISO 4217 currency code.

Array of objects (PriceModelElement)

When creating or saving a PriceModel, either use pricing_template_id to create a pricing model based on a template, or elements. If both are given, the template takes precedence. When retrieving, this field is returned when the pricing is based on a template, and skipped otherwise. Elements will be returned in either case on retrieving.

free
boolean
point_groups
Array of strings

Specific charging point groups of the organization. If none given all points of the organization are targeted.

price_order_within_tariff
integer >= 0

Order of price within parent tariff

pricing_template_id
string

When creating or saving a PriceModel, either use pricing_template_id to create a pricing model based on a template, or elements. If both are given, the template takes precedence. When retrieving, this field is returned when the pricing is based on a template, and skipped otherwise. Elements will be returned in either case on retrieving.

rounding_mode_energy
string
Enum: "UP" "EXACT" "DOWN"

How to round the energy price components (round up, down or exact)

rounding_mode_time
string
Enum: "UP" "EXACT" "DOWN"

How to round the time price components (round up, down or exact)

rule_charging_type
string
Enum: "AC" "DC"

The charging type where this tariff is valid

rule_cpos_allowed
Array of strings

List of CPOs where this price is valid

rule_cpos_not_allowed
Array of strings

List of CPOs where this price is not valid

rule_external_emps_allowed
Array of strings

List of external EMP Provider IDs where this price is valid

rule_external_point_groups_allowed
Array of strings

List of external point groups (defined by tenant) where this price is valid

rule_external_point_groups_not_allowed
Array of strings

List of external point groups (defined by tenant) where this price is not valid

Array of objects (DisplayText)
Array of objects (DisplayText)
tax_rate
number <double> >= 0

Responses

Request samples

Content type
application/json
{
  • "id": "id",
  • "price_id": "663b5413b497c",
  • "currency": "EUR",
  • "free": true,
  • "point_groups": [
    ],
  • "rule": "poi['group_charging'] in ['SAINTCYR_REG_AC_01']",
  • "price_order_within_tariff": 1,
  • "connection_fee": 1.5,
  • "rounding_mode_time": "EXACT",
  • "rounding_mode_energy": "EXACT",
  • "tariff_alt_url": [
    ],
  • "tariff_alt_text": [
    ],
  • "tax_rate": 19,
  • "active": true,
  • "creation_date": "2023-04-01T12:00:00+02:00",
  • "update_date": "2023-04-01T12:00:00+02:00",
  • "owner": "WIRELANE-2500781",
  • "rule_cpos_allowed": [
    ],
  • "rule_cpos_not_allowed": [
    ],
  • "rule_external_emps_allowed": [
    ],
  • "rule_external_point_groups_allowed": [
    ],
  • "rule_external_point_groups_not_allowed": [
    ],
  • "rule_charging_type": "AC",
  • "pricing_template_id": "pricing_template_id",
  • "elements": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "id",
  • "price_id": "663b5413b497c",
  • "currency": "EUR",
  • "free": true,
  • "point_groups": [
    ],
  • "rule": "poi['group_charging'] in ['SAINTCYR_REG_AC_01']",
  • "price_order_within_tariff": 1,
  • "connection_fee": 1.5,
  • "rounding_mode_time": "EXACT",
  • "rounding_mode_energy": "EXACT",
  • "tariff_alt_url": [
    ],
  • "tariff_alt_text": [
    ],
  • "tax_rate": 19,
  • "active": true,
  • "creation_date": "2023-04-01T12:00:00+02:00",
  • "update_date": "2023-04-01T12:00:00+02:00",
  • "owner": "WIRELANE-2500781",
  • "rule_cpos_allowed": [
    ],
  • "rule_cpos_not_allowed": [
    ],
  • "rule_external_emps_allowed": [
    ],
  • "rule_external_point_groups_allowed": [
    ],
  • "rule_external_point_groups_not_allowed": [
    ],
  • "rule_charging_type": "AC",
  • "pricing_template_id": "pricing_template_id",
  • "elements": [
    ]
}

Get a specific price for a specific tariff

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

priceModelId
required
integer

The price ID to search for

tariffId
required
integer

The tariff ID to search for

Responses

Response samples

Content type
application/json
{
  • "id": "id",
  • "price_id": "663b5413b497c",
  • "currency": "EUR",
  • "free": true,
  • "point_groups": [
    ],
  • "rule": "poi['group_charging'] in ['SAINTCYR_REG_AC_01']",
  • "price_order_within_tariff": 1,
  • "connection_fee": 1.5,
  • "rounding_mode_time": "EXACT",
  • "rounding_mode_energy": "EXACT",
  • "tariff_alt_url": [
    ],
  • "tariff_alt_text": [
    ],
  • "tax_rate": 19,
  • "active": true,
  • "creation_date": "2023-04-01T12:00:00+02:00",
  • "update_date": "2023-04-01T12:00:00+02:00",
  • "owner": "WIRELANE-2500781",
  • "rule_cpos_allowed": [
    ],
  • "rule_cpos_not_allowed": [
    ],
  • "rule_external_emps_allowed": [
    ],
  • "rule_external_point_groups_allowed": [
    ],
  • "rule_external_point_groups_not_allowed": [
    ],
  • "rule_charging_type": "AC",
  • "pricing_template_id": "pricing_template_id",
  • "elements": [
    ]
}

Change existing price of a tariff

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

priceModelId
required
integer

The price ID to search for

tariffId
required
integer

The tariff ID to search for

Request Body schema: application/json
required
active
boolean
connection_fee
number <double> >= 0
currency
string
Enum: "EUR" "CHF" "SEK" "ILS"

ISO 4217 currency code.

Array of objects (PriceModelElement)

When creating or saving a PriceModel, either use pricing_template_id to create a pricing model based on a template, or elements. If both are given, the template takes precedence. When retrieving, this field is returned when the pricing is based on a template, and skipped otherwise. Elements will be returned in either case on retrieving.

free
boolean
point_groups
Array of strings

Specific charging point groups of the organization. If none given all points of the organization are targeted.

price_order_within_tariff
integer >= 0

Order of price within parent tariff

pricing_template_id
string

When creating or saving a PriceModel, either use pricing_template_id to create a pricing model based on a template, or elements. If both are given, the template takes precedence. When retrieving, this field is returned when the pricing is based on a template, and skipped otherwise. Elements will be returned in either case on retrieving.

rounding_mode_energy
string
Enum: "UP" "EXACT" "DOWN"

How to round the energy price components (round up, down or exact)

rounding_mode_time
string
Enum: "UP" "EXACT" "DOWN"

How to round the time price components (round up, down or exact)

rule_charging_type
string
Enum: "AC" "DC"

The charging type where this tariff is valid

rule_cpos_allowed
Array of strings

List of CPOs where this price is valid

rule_cpos_not_allowed
Array of strings

List of CPOs where this price is not valid

rule_external_emps_allowed
Array of strings

List of external EMP Provider IDs where this price is valid

rule_external_point_groups_allowed
Array of strings

List of external point groups (defined by tenant) where this price is valid

rule_external_point_groups_not_allowed
Array of strings

List of external point groups (defined by tenant) where this price is not valid

Array of objects (DisplayText)
Array of objects (DisplayText)
tax_rate
number <double> >= 0

Responses

Request samples

Content type
application/json
{
  • "id": "id",
  • "price_id": "663b5413b497c",
  • "currency": "EUR",
  • "free": true,
  • "point_groups": [
    ],
  • "rule": "poi['group_charging'] in ['SAINTCYR_REG_AC_01']",
  • "price_order_within_tariff": 1,
  • "connection_fee": 1.5,
  • "rounding_mode_time": "EXACT",
  • "rounding_mode_energy": "EXACT",
  • "tariff_alt_url": [
    ],
  • "tariff_alt_text": [
    ],
  • "tax_rate": 19,
  • "active": true,
  • "creation_date": "2023-04-01T12:00:00+02:00",
  • "update_date": "2023-04-01T12:00:00+02:00",
  • "owner": "WIRELANE-2500781",
  • "rule_cpos_allowed": [
    ],
  • "rule_cpos_not_allowed": [
    ],
  • "rule_external_emps_allowed": [
    ],
  • "rule_external_point_groups_allowed": [
    ],
  • "rule_external_point_groups_not_allowed": [
    ],
  • "rule_charging_type": "AC",
  • "pricing_template_id": "pricing_template_id",
  • "elements": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "id",
  • "price_id": "663b5413b497c",
  • "currency": "EUR",
  • "free": true,
  • "point_groups": [
    ],
  • "rule": "poi['group_charging'] in ['SAINTCYR_REG_AC_01']",
  • "price_order_within_tariff": 1,
  • "connection_fee": 1.5,
  • "rounding_mode_time": "EXACT",
  • "rounding_mode_energy": "EXACT",
  • "tariff_alt_url": [
    ],
  • "tariff_alt_text": [
    ],
  • "tax_rate": 19,
  • "active": true,
  • "creation_date": "2023-04-01T12:00:00+02:00",
  • "update_date": "2023-04-01T12:00:00+02:00",
  • "owner": "WIRELANE-2500781",
  • "rule_cpos_allowed": [
    ],
  • "rule_cpos_not_allowed": [
    ],
  • "rule_external_emps_allowed": [
    ],
  • "rule_external_point_groups_allowed": [
    ],
  • "rule_external_point_groups_not_allowed": [
    ],
  • "rule_charging_type": "AC",
  • "pricing_template_id": "pricing_template_id",
  • "elements": [
    ]
}

Get tariff price sample calculations

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

priceModelId
required
integer

The price ID to search for

tariffId
required
integer

The tariff ID to search for

Request Body schema: application/json
optional
Array
label
required
string

Label for the price calculation

required
object (PriceCalculationParameters)

Price calculation parameters

object (PriceCalculationResult)

Price calculation result

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {
    }
]

Get available pricing templates for a given context

Authorizations:
OAuth2Password
path Parameters
context
required
string
Enum: "hubject" "eclearing"

Filters for the scenario for which pricing templates are retrieved. Currently, only Hubject CPO tariffs are supported.

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Organizations Members

Get members of an organization

Get an ordered and paginated list of members of an organization. Search query can be used to filter for members by role, status, email or creation user.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
account_status
Array of strings
Items Enum: "ACTIVE" "INACTIVE" "BLOCKED" "PENDING"
has_member_roles
boolean

Filter Member on whether they have MemberGroups with roles or not.

  • null: filter is not set
  • true: returns Member having at least one role set in their MemberGroups
  • false: returns Member having no roles set in their MemberGroups
member_group_ids
Array of strings[ items^[a-zA-Z0-9-_]+$ ]

Membergroup IDs

member_status
Array of strings
Items Enum: "pending" "active" "revoked" "terminated"

Membership status

  • pending: Membership is pending, user needs to accept or decline
  • active: Membership is active
  • revoked: Membership has been revoked by the organization
  • terminated: Membership has been terminated by the user or organization
order_by
string
Default: "created"
Enum: "created" "email" "status"

Name for sort

order_direction
string
Default: "desc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

search
string

Search term

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get member by account ID

Authorizations:
OAuth2Password
path Parameters
accountId
required
string^[a-zA-Z0-9-_]+$

Account ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "account": {
    },
  • "email": "email",
  • "status": "pending",
  • "member_groups": [
    ]
}

Update specific member

Authorizations:
OAuth2Password
path Parameters
accountId
required
string^[a-zA-Z0-9-_]+$

Account ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
account_type
string
Default: "personal"
Enum: "personal" "business"

Intended use of the account:

  • personal: For private use
  • business: For business use, enables company_name and vat_number for use in invoices
additional_payment_methods
Array of strings
Items Value: "DIRECT_DEBIT_SEPA"

What additional payment methods should be configured for this customer

object (PostalAddress)
billable
boolean
Default: true

Is the account free/billable. If false then invoices will not be billed will not sent during invoice run.

company_name
string

Company name, only available for account_type=business

invoice_email_address
string <email>

Additional email address to send invoices to

language
string^[a-z]{2}$
Default: "de"

ISO 639-1 language code.

name
string

Name

transactional_invoicing
boolean
Default: false

Should the account be invoiced for each individual charging transaction.

vat_number
string

VAT-ID, only available for account_type=business

Responses

Request samples

Content type
application/json
{
  • "account_type": "business",
  • "language": "de",
  • "name": "John Doe",
  • "address": {
    },
  • "invoice_email_address": "invoices@example.com",
  • "company_name": "Wirelane GmbH",
  • "vat_number": "DE999999999",
  • "billable": true,
  • "transactional_invoicing": true,
  • "additional_payment_methods": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "account": {
    },
  • "email": "email",
  • "status": "pending",
  • "member_groups": [
    ]
}

Get organization member audit-Log

Authorizations:
OAuth2Password
path Parameters
accountId
required
string^[a-zA-Z0-9-_]+$

Account ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Manually unblock a member account, removes `MANUALLY_BLOCKED` from the `Account.blocked_reasons`

Authorizations:
OAuth2Password
path Parameters
accountId
required
string^[a-zA-Z0-9-_]+$

Account ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "account": {
    },
  • "email": "email",
  • "status": "pending",
  • "member_groups": [
    ]
}

Manually block a member account, will add `MANUALLY_BLOCKED` to the `Account.blocked_reasons`

Authorizations:
OAuth2Password
path Parameters
accountId
required
string^[a-zA-Z0-9-_]+$

Account ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
reason
required
string

Reason for blocking the member account.

Responses

Request samples

Content type
application/json
{
  • "reason": "Customer violated the ToS."
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "account": {
    },
  • "email": "email",
  • "status": "pending",
  • "member_groups": [
    ]
}

The termination an organization member (account) can only be cancelled, if it is still pending. This will trigger an email to the customer.

Authorizations:
OAuth2Password
path Parameters
accountId
required
string^[a-zA-Z0-9-_]+$

Account ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "account": {
    },
  • "email": "email",
  • "status": "pending",
  • "member_groups": [
    ]
}

Resends the email confirmation to the email address of the given account

Authorizations:
OAuth2Password
path Parameters
accountId
required
string^[a-zA-Z0-9-_]+$

Account ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "account_type": "business",
  • "language": "de",
  • "name": "John Doe",
  • "address": {
    },
  • "invoice_email_address": "invoices@example.com",
  • "company_name": "Wirelane GmbH",
  • "vat_number": "DE999999999",
  • "account_id": "DEWLN-0123456789",
  • "tenant": "dewln",
  • "email": "test@example.com",
  • "status": "ACTIVE",
  • "terminationRequested": "2023-04-01T12:00:00+02:00",
  • "terminationEffective": "2023-04-01T12:00:00+02:00",
  • "terminationReason": "terminationReason",
  • "billable": true,
  • "created": "2023-04-01T12:00:00+02:00",
  • "updated": "2023-04-01T12:00:00+02:00",
  • "authDate": "2023-04-01T12:00:00+02:00",
  • "anonymized": false,
  • "blocked_reasons": [
    ],
  • "blocked_manually_reason": "Customer violated the ToS.",
  • "transactional_invoicing": true,
  • "additional_payment_methods": [
    ]
}

Get memberships of the member

Authorizations:
OAuth2Password
path Parameters
accountId
required
string^[a-zA-Z0-9-_]+$

Account ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Terminate an organization member (account). This will trigger an email to the customer.

Authorizations:
OAuth2Password
path Parameters
accountId
required
string^[a-zA-Z0-9-_]+$

Account ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
reason
required
string <= 255 characters

Reason for terminating the member account.

Responses

Request samples

Content type
application/json
{
  • "reason": "Customer requested closing of the account."
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "account": {
    },
  • "email": "email",
  • "status": "pending",
  • "member_groups": [
    ]
}

Get tokens of the member

Authorizations:
OAuth2Password
path Parameters
accountId
required
string^[a-zA-Z0-9-_]+$

Account ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
order_by
string
Default: "activation_date"
Enum: "number" "state" "uuid" "account_id" "activation_date" "blocking_date"

Name for sort

order_direction
string
Default: "desc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

search
string

Search term

state
Array of strings
Items Enum: "ORDERED" "ACTIVE" "INACTIVE" "BLOCKED" "NOT_ASSIGNED"

Filter by state

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get token orders of the organization member

Authorizations:
OAuth2Password
path Parameters
accountId
required
string^[a-zA-Z0-9-_]+$

Account ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
order_by
string
Default: "transaction_date"
Enum: "id" "transaction_date" "transaction_status"

Name for sort

order_direction
string
Default: "desc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

search
string

Search term

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Remove membership

Authorizations:
OAuth2Password
path Parameters
membershipId
required
integer

The member ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Get member by internal ID

Authorizations:
OAuth2Password
path Parameters
membershipId
required
integer

The member ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "account": {
    },
  • "email": "email",
  • "status": "pending",
  • "member_groups": [
    ]
}

Remove membership from member group

Authorizations:
OAuth2Password
path Parameters
memberGroupId
required
string^[a-zA-Z0-9-_]+$

Member ID

membershipId
required
integer

The member ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Add membership to member group

Authorizations:
OAuth2Password
path Parameters
memberGroupId
required
string^[a-zA-Z0-9-_]+$

Member ID

membershipId
required
integer

The member ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Organizations Members Invitations

Send invitation.

Send invitation. Creates a pending membership for the given email address.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
email
required
string <email>

Email address to invite.

groups
Array of strings

MemberGroups to be added to the invitation.

language
string^[a-z]{2}$

ISO 639-1 language code.

message
string

A custom message included in the invitation mail to the user

Responses

Request samples

Content type
application/json
{
  • "email": "email",
  • "groups": [
    ],
  • "message": "message",
  • "language": "de"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "account": {
    },
  • "email": "email",
  • "status": "pending",
  • "member_groups": [
    ]
}

Resend the invitation

Authorizations:
OAuth2Password
path Parameters
membershipId
required
integer

The member ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Organizations Members Payments

Get organization member account balance

Authorizations:
OAuth2Password
path Parameters
accountId
required
string^[a-zA-Z0-9-_]+$

Account ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
currency
string
Enum: "EUR" "CHF" "SEK" "ILS"

ISO 4217 currency code.

Responses

Response samples

Content type
application/json
{
  • "balance": 50.48,
  • "currency": "EUR",
  • "invoice_balance": 5.43,
  • "account_id": "DEWLN-0123456789"
}

Lists payment authorizations for a specific customer

Authorizations:
OAuth2Password
path Parameters
accountId
required
string^[a-zA-Z0-9-_]+$

Account ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
order_by
string
Default: "creationDate"
Value: "creationDate"

Name for sort

order_direction
string
Default: "desc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

payment_state
Array of strings
Items Enum: "INITIALIZE" "VOIDED" "COMPLETED" "PENDING" "SUBMITTED" "ERROR"

Filter by payment state

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Lists payment transactions for a specific customer

Authorizations:
OAuth2Password
path Parameters
accountId
required
string^[a-zA-Z0-9-_]+$

Account ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
order_by
string
Default: "creationDate"
Value: "creationDate"

Name for sort

order_direction
string
Default: "desc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

payment_state
Array of strings
Items Enum: "INITIALIZE" "AUTHORIZED_EXPIRED" "EXPIRED" "PENDING" "COMPLETED" "REFUNDED" "PARTIALLY_REFUNDED" "GATEWAY_DECLINED" "PROCESSOR_DECLINED" "SETTLEMENT_DECLINED" "VOIDED" "FAILED" "CHARGEBACK" "PAID_UNKNOWN_PENDING" "PAID_UNKNOWN_REFUNDED" "PARTIALLY_PAID"

Filter by payment state

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get transactions of the member

Authorizations:
OAuth2Password
path Parameters
accountId
required
string^[a-zA-Z0-9-_]+$

Account ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
date_picker_since
string <date-time>

The date time to search from

date_picker_until
string <date-time>

The date time to search to

order_by
string
Default: "transaction_date"
Enum: "transaction_date" "transaction_status"

Name for sort

order_direction
string
Default: "desc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

transaction_status
Array of strings
Items Enum: "PENDING" "INVOICED" "REFUNDED" "VOIDED"

list of transaction statuses

transactionId
string^[a-zA-Z0-9-_]+$

Transaction ID

type
string
Enum: "charging_session" "subscription" "seat" "card_order"

Type of transaction

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Organizations Members Deactivate

Deactivate a customer. Optionally deactivate associated cards and anonymize customer data.

Authorizations:
OAuth2Password
path Parameters
accountId
required
string^[a-zA-Z0-9-_]+$

Account ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
anonymize
boolean
Default: false

Flag whether to anonymize the customer data after deactivation.

deactivateCards
boolean
Default: true

Flag whether to deactivate customer's cards.

reason
string

Reason for customer deactivation.

sendEmail
boolean
Default: true

Flag whether to send email to customer after deactivation.

Responses

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Organizations Members Payment Method

Remove payment method

Authorizations:
OAuth2Password
path Parameters
accountId
required
string^[a-zA-Z0-9-_]+$

Account ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Get the payment method of the member

Authorizations:
OAuth2Password
path Parameters
accountId
required
string^[a-zA-Z0-9-_]+$

Account ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77",
  • "status": "ACTIVE",
  • "processor": "wirelane",
  • "type": "visa",
  • "label": "`**** **** **** 1234` or `john.doe@example.com`",
  • "expires": "2028-12",
  • "is_useable": true,
  • "is_expired": false,
  • "metadata": [
    ]
}

Set Account to payment-on-invoice

Authorizations:
OAuth2Password
path Parameters
accountId
required
string^[a-zA-Z0-9-_]+$

Account ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77",
  • "status": "ACTIVE",
  • "processor": "wirelane",
  • "type": "visa",
  • "label": "`**** **** **** 1234` or `john.doe@example.com`",
  • "expires": "2028-12",
  • "is_useable": true,
  • "is_expired": false,
  • "metadata": [
    ]
}

Organizations Members Receipts

Get organization member receipts

Authorizations:
OAuth2Password
path Parameters
accountId
required
string^[a-zA-Z0-9-_]+$

Account ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
date_picker_since
string <date-time>

The date time to search from

date_picker_until
string <date-time>

The date time to search to

order_by
string
Default: "id"
Enum: "id" "date" "price"

Name for sort

order_direction
string
Default: "desc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

receiptBatchedFilter
boolean

Receipt batched filter

receiptStatusFilter
Array of strings
Items Enum: "PENDING" "RELEASED" "PAID"

Receipt status filter

search
string

Search term

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Download a list of organization member receipts

Authorizations:
OAuth2Password
path Parameters
accountId
required
string^[a-zA-Z0-9-_]+$

Account ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required

list of receipt ids

Array
string

Responses

Request samples

Content type
application/json
[
  • "string"
]

Get an organization member receipt

Authorizations:
OAuth2Password
path Parameters
accountId
required
string^[a-zA-Z0-9-_]+$

Account ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

receiptId
required
string^[a-zA-Z0-9-_]+$

Receipt ID (assigned by the system)

header Parameters
Accept
string
Default: application/json
Enum: "application/json" "application/zip" "application/pdf" "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"

Controls the Content-Type of the response.

Responses

Response samples

Content type
"string"

Organizations Receipts Disputes

Get receipts disputes for a member

Authorizations:
OAuth2Password
path Parameters
accountId
required
string^[a-zA-Z0-9-_]+$

Account ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
dunningState
Array of strings
Items Enum: "dunning_1" "dunning_2" "paid"

supported dunning states of an invoice dispute

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

search
string

Search term

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get Organization receipts disputes

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
date_picker_since
string <date-time>

The date time to search from

date_picker_until
string <date-time>

The date time to search to

dunningState
Array of strings
Items Enum: "dunning_1" "dunning_2" "paid"

supported dunning states of an invoice dispute

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

search
string

Search term

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Update dispute status

Authorizations:
OAuth2Password
path Parameters
disputeId
required
integer

The dispute ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
dunning_state
string
Enum: "chargeback" "dunning_1" "dunning_2" "debt_collection" "paid"

dunning status of the dispute

reason
string

Reason for changing the status manually

Responses

Request samples

Content type
application/json
{
  • "dunning_state": "dunning_1",
  • "reason": "Received payment to incorrect bank account"
}

Response samples

Content type
application/json
{
  • "dispute_id": 0,
  • "tenant": "dewln",
  • "invoice_id": "invoice_id",
  • "account_id": "DEWLN-0123456789",
  • "status": "chargeback",
  • "last_update": "2023-04-01T12:00:00+02:00",
  • "dunning_state_change_account_id": "dunning_state_change_account_id",
  • "reason": "reason",
  • "dunning_chargeback_executed": "2023-04-01T12:00:00+02:00",
  • "dunning_1_executed": "2023-04-01T12:00:00+02:00",
  • "dunning_2_executed": "2023-04-01T12:00:00+02:00",
  • "dunning_debt_collection_executed": "2023-04-01T12:00:00+02:00",
  • "paid_marked": "2023-04-01T12:00:00+02:00",
  • "paid_reason": "Paid to non payment-processor account",
  • "price": 10,
  • "chargebackFee": 10
}

Organizations Members Sessions

Get sessions for organization member

Get organization member charging sessions

Authorizations:
OAuth2Password
path Parameters
accountId
required
string^[a-zA-Z0-9-_]+$

Account ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
charge_point_id
Array of strings

Filter by list of charge_point_id

charging_point_id
string^[a-zA-Z0-9-_*+]+$

Charging Point ID

date_picker_since
string <date-time>

The date time to search from

date_picker_until
string <date-time>

The date time to search to

identification
string <= 50 characters

Value of the identification to filter for

identification_type
Array of strings
Items Enum: "access_token" "admin_remotestart" "auth_token" "contactless_payment" "contract_id" "customer_id" "customer_rfid" "direct_payment" "local_authorization" "local_payment" "giroe" "none_access_token" "rfid"

Type of the identification

  • access_token: Mobile App (v1.5, deprecated since '22)
  • admin_remotestart: OCPP RemoteStart by Admin
  • auth_token: Mobile App (v1, deprecated since '22)
  • contactless_payment: Direct Payment at Charging Station
  • contract_id: Roaming Contract ID
  • customer_id: Mobile App
  • customer_rfid: Mobile App (RFID Login)
  • direct_payment: Direct Payment via Website
  • local_authorization: Local Authorization at Charging Station
  • local_payment: Local Payment at Charging Station
  • giroe: Local Payment at Charging Station
  • none_access_token: Direct Payment (v1, deprecated since '21)
  • rfid: RFID Card
order_by
string
Default: "creationDate"
Enum: "sessionId" "evseid" "price" "kwh" "creationDate"

Name for sort

order_direction
string
Default: "desc"
Enum: "asc" "desc"

Key for order direction

organization_type
Array of strings
Items Enum: "emp" "cpo" "owner"

Type of the organization

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

search
string

Search term

status
Array of strings

The charging session status to search for:

  • initial
  • authorization_pending
  • start_accepted
  • start_pending
  • started
  • stop_accepted
  • stop_pending
  • stopped
  • closed
  • canceled
  • error
  • error_consecutive_start

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Organizations Members Subscriptions

Get member subscription

Get subscriptions for organization members

Authorizations:
OAuth2Password
path Parameters
accountId
required
string^[a-zA-Z0-9-_]+$

Account ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "id": "3073b46e-1e17-4d9d-8485-1ebd9424f6b7",
  • "upcoming_subscription": {
    },
  • "current_period": {
    },
  • "plan_key": "WIRELANE-ABO-ANNUEL-3",
  • "begin": "2023-04-01T12:00:00+02:00",
  • "end": "2023-04-01T12:00:00+02:00",
  • "account_id": "DEWLN-0123456789",
  • "account": "account"
}

Change subscription

Change a customer subscription to a different plan

Authorizations:
OAuth2Password
path Parameters
accountId
required
string^[a-zA-Z0-9-_]+$

Account ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
plan_key
required
string
update_ongoing_period
boolean
Default: false

Indicates if the subscription should be changed for the currently ongoing period, or if the subscription should be changed on next period interval.

Responses

Request samples

Content type
application/json
{
  • "plan_key": "WIRELANE-ABO-ANNUEL-3",
  • "update_ongoing_period": true
}

Response samples

Content type
application/json
{
  • "id": "3073b46e-1e17-4d9d-8485-1ebd9424f6b7",
  • "upcoming_subscription": {
    },
  • "current_period": {
    },
  • "plan_key": "WIRELANE-ABO-ANNUEL-3",
  • "begin": "2023-04-01T12:00:00+02:00",
  • "end": "2023-04-01T12:00:00+02:00",
  • "account_id": "DEWLN-0123456789",
  • "account": "account"
}

Get member subscription history

Get subscription history for organization members, excluding currently active subscription

Authorizations:
OAuth2Password
path Parameters
accountId
required
string^[a-zA-Z0-9-_]+$

Account ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
order_by
string
Default: "begin"
Enum: "begin" "end"

Name for sort

order_direction
string
Default: "desc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Organizations Organization Groups

Get organization groups

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
order_by
string
Default: "name"
Value: "name"

Name for sort

order_direction
string
Default: "asc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

search
string

Search term

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create an organization group

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
name
required
string <= 255 characters

Name of the organization group

organizations
Array of strings

List of organizations that belong to the group

Responses

Request samples

Content type
application/json
{
  • "name": "Group1",
  • "organizations": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "12",
  • "name": "Organization Group",
  • "organizations": [
    ]
}

Remove an organization group

Authorizations:
OAuth2Password
path Parameters
organizationGroupId
required
string^[a-zA-Z0-9-_]+$

Organization group ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Get an organization group

Authorizations:
OAuth2Password
path Parameters
organizationGroupId
required
string^[a-zA-Z0-9-_]+$

Organization group ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "id": "12",
  • "name": "Organization Group",
  • "organizations": [
    ]
}

Edit an organization group

Authorizations:
OAuth2Password
path Parameters
organizationGroupId
required
string^[a-zA-Z0-9-_]+$

Organization group ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
name
required
string <= 255 characters

Name of the organization group

organizations
Array of strings

List of organizations that belong to the group

Responses

Request samples

Content type
application/json
{
  • "name": "Group1",
  • "organizations": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "12",
  • "name": "Organization Group",
  • "organizations": [
    ]
}

Organizations Payments

Lists payment authorizations

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
account_id
string^[a-zA-Z0-9-_]+$

Account ID

date_picker_since
string <date-time>

The date time to search from

date_picker_until
string <date-time>

The date time to search to

invoice_id
string^[a-zA-Z0-9-_*]+$

Invoice ID

order_by
string
Default: "creationDate"
Value: "creationDate"

Name for sort

order_direction
string
Default: "desc"
Enum: "asc" "desc"

Key for order direction

order_id
string^[a-zA-Z0-9-*]+$

Payment Order ID

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

payment_state
Array of strings
Items Enum: "INITIALIZE" "VOIDED" "COMPLETED" "PENDING" "SUBMITTED" "ERROR"

Filter by payment state

search
string

Search term

session_id
string^[a-zA-Z0-9-_]+$

Session ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Lists payment transactions

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
account_id
string^[a-zA-Z0-9-_]+$

Account ID

date_picker_since
string <date-time>

The date time to search from

date_picker_until
string <date-time>

The date time to search to

invoice_id
string^[a-zA-Z0-9-_*]+$

Invoice ID

order_by
string
Default: "creationDate"
Value: "creationDate"

Name for sort

order_direction
string
Default: "desc"
Enum: "asc" "desc"

Key for order direction

order_id
string^[a-zA-Z0-9-*]+$

Payment Order ID

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

payment_state
Array of strings
Items Enum: "INITIALIZE" "AUTHORIZED_EXPIRED" "EXPIRED" "PENDING" "COMPLETED" "REFUNDED" "PARTIALLY_REFUNDED" "GATEWAY_DECLINED" "PROCESSOR_DECLINED" "SETTLEMENT_DECLINED" "VOIDED" "FAILED" "CHARGEBACK" "PAID_UNKNOWN_PENDING" "PAID_UNKNOWN_REFUNDED" "PARTIALLY_PAID"

Filter by payment state

search
string

Search term

session_id
string^[a-zA-Z0-9-_]+$

Session ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Organizations Payment Processors

List organization payment configurations

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a payment configuration

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
processorId
required
string

ID of the payment processor

processorServiceId
required
string

The payment processor service id

Array of objects (KeyValue)

Custom processor configuration

Responses

Request samples

Content type
application/json
{
  • "processorId": "credit_card",
  • "processorServiceId": "payment.processor.credit_card",
  • "processorConfiguration": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "credit_card",
  • "processorId": "credit_card",
  • "processorServiceId": "payment.processor.credit_card",
  • "features": [
    ],
  • "processorConfiguration": [
    ],
  • "active": true
}

Get a payment configuration

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

paymentConfigurationId
required
string[a-z0-9-]+

Payment Configuration ID.

Responses

Response samples

Content type
application/json
{
  • "id": "credit_card",
  • "processorId": "credit_card",
  • "processorServiceId": "payment.processor.credit_card",
  • "features": [
    ],
  • "processorConfiguration": [
    ],
  • "active": true
}

Update payment configuration

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

paymentConfigurationId
required
string[a-z0-9-]+

Payment Configuration ID.

Request Body schema: application/json
required
Array of objects (KeyValue)

Custom processor configuration

Responses

Request samples

Content type
application/json
{
  • "processorConfiguration": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "credit_card",
  • "processorId": "credit_card",
  • "processorServiceId": "payment.processor.credit_card",
  • "features": [
    ],
  • "processorConfiguration": [
    ],
  • "active": true
}

Disable a feature for a payment configuration

Authorizations:
OAuth2Password
path Parameters
feature
required
string
Enum: "DIRECT_PAYMENT" "REGISTERED_USER_PAYMENT" "REGISTERED_USER_PAYMENT_ON_INVOICE"

The payment feature.

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

paymentConfigurationId
required
string[a-z0-9-]+

Payment Configuration ID.

Responses

Response samples

Content type
application/json
{
  • "id": "credit_card",
  • "processorId": "credit_card",
  • "processorServiceId": "payment.processor.credit_card",
  • "features": [
    ],
  • "processorConfiguration": [
    ],
  • "active": true
}

Enable a feature for a payment configuration

Authorizations:
OAuth2Password
path Parameters
feature
required
string
Enum: "DIRECT_PAYMENT" "REGISTERED_USER_PAYMENT" "REGISTERED_USER_PAYMENT_ON_INVOICE"

The payment feature.

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

paymentConfigurationId
required
string[a-z0-9-]+

Payment Configuration ID.

Responses

Response samples

Content type
application/json
{
  • "id": "credit_card",
  • "processorId": "credit_card",
  • "processorServiceId": "payment.processor.credit_card",
  • "features": [
    ],
  • "processorConfiguration": [
    ],
  • "active": true
}

Overview of all active payment processors

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Organizations Payment Terminals

Overview of all available Payment Terminals

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
ips
Array of strings

Filter by ips.

is_active
boolean

Filter to include or exclude active payment terminals

order_by
string
Default: "ip"
Enum: "ip" "state" "last_access" "last_successful_access" "last_error" "last_display_text" "last_day_log"

Name for sort

order_direction
string
Default: "asc"
Enum: "asc" "desc"

Key for order direction

organization_hierarchy
string^[a-zA-Z0-9,]+$|^[*]{1}$

A comma separated list of organization IDs to include in the result set of list endpoints eg. dewln,o0001,o0002,detest. * is the dedicated symbol to include all sub-organizations.

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

search
string

Search term

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Auto-discover Payment Terminals

Authorizations:
OAuth2Password
path Parameters
ip
required
string^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$...

IP for auto-discovery.

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
hideInvalidEntries
boolean
Default: false

Show only discovered PaymentTerminals and hide invalid or skipped entries.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a single Payment Terminal

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

paymentTerminalId
required
integer

Payment Terminal ID

Responses

Response samples

Content type
application/json
{
  • "id": "id",
  • "ip": "127.0.0.1",
  • "port": 22000,
  • "password": "000000",
  • "locale": "de",
  • "provider_terminal_id": "12345678",
  • "active": true,
  • "configured": true,
  • "model": "cVEND box+",
  • "software_version": "GER-APP-v2.0.5;cR02.01.00-00.34-2-2;CC23",
  • "state": "ONLINE",
  • "reservation_limit": 50,
  • "last_access": "2023-04-01T12:00:00+02:00",
  • "last_successful_access": "2023-04-01T12:00:00+02:00",
  • "last_error": "2023-04-01T12:00:00+02:00",
  • "last_error_message": "last_error_message",
  • "charging_stations": [
    ],
  • "device_status": "PT ready",
  • "serial_number": "abcd1234",
  • "last_day_log": "2023-04-01T12:00:00+02:00",
  • "tenant": "dewln",
  • "last_display_text": "2023-04-01T12:00:00+02:00",
  • "last_display_text_message": "last_display_text_message"
}

Activate a Payment-Terminal

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

paymentTerminalId
required
integer

Payment Terminal ID

Responses

Response samples

Content type
application/json
{
  • "id": "id",
  • "ip": "127.0.0.1",
  • "port": 22000,
  • "password": "000000",
  • "locale": "de",
  • "provider_terminal_id": "12345678",
  • "active": true,
  • "configured": true,
  • "model": "cVEND box+",
  • "software_version": "GER-APP-v2.0.5;cR02.01.00-00.34-2-2;CC23",
  • "state": "ONLINE",
  • "reservation_limit": 50,
  • "last_access": "2023-04-01T12:00:00+02:00",
  • "last_successful_access": "2023-04-01T12:00:00+02:00",
  • "last_error": "2023-04-01T12:00:00+02:00",
  • "last_error_message": "last_error_message",
  • "charging_stations": [
    ],
  • "device_status": "PT ready",
  • "serial_number": "abcd1234",
  • "last_day_log": "2023-04-01T12:00:00+02:00",
  • "tenant": "dewln",
  • "last_display_text": "2023-04-01T12:00:00+02:00",
  • "last_display_text_message": "last_display_text_message"
}

Expose the Authorizations on Payment Terminal

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

paymentTerminalId
required
integer

Payment Terminal ID

query Parameters
order_direction
string
Default: "desc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Remove Payment Terminal from Charge Point

Authorizations:
OAuth2Password
path Parameters
chargingStationId
required
string^[a-zA-Z0-9-_*. ]+$

The charging station ID. See ChargingStation.station_id

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

paymentTerminalId
required
integer

Payment Terminal ID

Responses

Response samples

Content type
application/json
{
  • "id": "id",
  • "ip": "127.0.0.1",
  • "port": 22000,
  • "password": "000000",
  • "locale": "de",
  • "provider_terminal_id": "12345678",
  • "active": true,
  • "configured": true,
  • "model": "cVEND box+",
  • "software_version": "GER-APP-v2.0.5;cR02.01.00-00.34-2-2;CC23",
  • "state": "ONLINE",
  • "reservation_limit": 50,
  • "last_access": "2023-04-01T12:00:00+02:00",
  • "last_successful_access": "2023-04-01T12:00:00+02:00",
  • "last_error": "2023-04-01T12:00:00+02:00",
  • "last_error_message": "last_error_message",
  • "charging_stations": [
    ],
  • "device_status": "PT ready",
  • "serial_number": "abcd1234",
  • "last_day_log": "2023-04-01T12:00:00+02:00",
  • "tenant": "dewln",
  • "last_display_text": "2023-04-01T12:00:00+02:00",
  • "last_display_text_message": "last_display_text_message"
}

Add Payment Terminal to Charge Point

Authorizations:
OAuth2Password
path Parameters
chargingStationId
required
string^[a-zA-Z0-9-_*. ]+$

The charging station ID. See ChargingStation.station_id

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

paymentTerminalId
required
integer

Payment Terminal ID

Responses

Response samples

Content type
application/json
{
  • "id": "id",
  • "ip": "127.0.0.1",
  • "port": 22000,
  • "password": "000000",
  • "locale": "de",
  • "provider_terminal_id": "12345678",
  • "active": true,
  • "configured": true,
  • "model": "cVEND box+",
  • "software_version": "GER-APP-v2.0.5;cR02.01.00-00.34-2-2;CC23",
  • "state": "ONLINE",
  • "reservation_limit": 50,
  • "last_access": "2023-04-01T12:00:00+02:00",
  • "last_successful_access": "2023-04-01T12:00:00+02:00",
  • "last_error": "2023-04-01T12:00:00+02:00",
  • "last_error_message": "last_error_message",
  • "charging_stations": [
    ],
  • "device_status": "PT ready",
  • "serial_number": "abcd1234",
  • "last_day_log": "2023-04-01T12:00:00+02:00",
  • "tenant": "dewln",
  • "last_display_text": "2023-04-01T12:00:00+02:00",
  • "last_display_text_message": "last_display_text_message"
}

Configure Terminal ID of Payment Terminal

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

paymentTerminalId
required
integer

Payment Terminal ID

Request Body schema: application/json
required
provider_terminal_id
required
string

The provider Terminal-ID of the Payment Terminal

locale
string^[a-z]{2}$
Default: "de"

ISO 639-1 language code.

Responses

Request samples

Content type
application/json
{
  • "provider_terminal_id": "12345678",
  • "locale": "de"
}

Response samples

Content type
application/json
{
  • "id": "id",
  • "ip": "127.0.0.1",
  • "port": 22000,
  • "password": "000000",
  • "locale": "de",
  • "provider_terminal_id": "12345678",
  • "active": true,
  • "configured": true,
  • "model": "cVEND box+",
  • "software_version": "GER-APP-v2.0.5;cR02.01.00-00.34-2-2;CC23",
  • "state": "ONLINE",
  • "reservation_limit": 50,
  • "last_access": "2023-04-01T12:00:00+02:00",
  • "last_successful_access": "2023-04-01T12:00:00+02:00",
  • "last_error": "2023-04-01T12:00:00+02:00",
  • "last_error_message": "last_error_message",
  • "charging_stations": [
    ],
  • "device_status": "PT ready",
  • "serial_number": "abcd1234",
  • "last_day_log": "2023-04-01T12:00:00+02:00",
  • "tenant": "dewln",
  • "last_display_text": "2023-04-01T12:00:00+02:00",
  • "last_display_text_message": "last_display_text_message"
}

Create new Day Log for current Authorizations on Payment Terminal

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

paymentTerminalId
required
integer

Payment Terminal ID

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "payment_terminal_id": 6,
  • "transferred": "2023-04-01T12:00:00+02:00",
  • "amount": 234.56
}

Expose the Day Logs for current Authorizations on Payment Terminal

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

paymentTerminalId
required
integer

Payment Terminal ID

query Parameters
order_direction
string
Default: "desc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Deactivate a Payment-Terminal

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

paymentTerminalId
required
integer

Payment Terminal ID

Responses

Response samples

Content type
application/json
{
  • "id": "id",
  • "ip": "127.0.0.1",
  • "port": 22000,
  • "password": "000000",
  • "locale": "de",
  • "provider_terminal_id": "12345678",
  • "active": true,
  • "configured": true,
  • "model": "cVEND box+",
  • "software_version": "GER-APP-v2.0.5;cR02.01.00-00.34-2-2;CC23",
  • "state": "ONLINE",
  • "reservation_limit": 50,
  • "last_access": "2023-04-01T12:00:00+02:00",
  • "last_successful_access": "2023-04-01T12:00:00+02:00",
  • "last_error": "2023-04-01T12:00:00+02:00",
  • "last_error_message": "last_error_message",
  • "charging_stations": [
    ],
  • "device_status": "PT ready",
  • "serial_number": "abcd1234",
  • "last_day_log": "2023-04-01T12:00:00+02:00",
  • "tenant": "dewln",
  • "last_display_text": "2023-04-01T12:00:00+02:00",
  • "last_display_text_message": "last_display_text_message"
}

Expose the Log History of the Payment Terminal

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

paymentTerminalId
required
integer

Payment Terminal ID

query Parameters
page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

type
Array of strings
Items Enum: "info" "error"

The log history type to search for

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Set the reservation limit for a Payment Terminal

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

paymentTerminalId
required
integer

Payment Terminal ID

Request Body schema: application/json
required
reservation_limit
required
integer >= 1

The reservation limit in EUR to set for the Payment Terminal

Responses

Request samples

Content type
application/json
{
  • "reservation_limit": 50
}

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Restarts a Payment Terminal

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

paymentTerminalId
required
integer

Payment Terminal ID

Responses

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Get Payment Terminal for Charge Point

Authorizations:
OAuth2Password
path Parameters
chargingStationId
required
string^[a-zA-Z0-9-_*. ]+$

The charging station ID. See ChargingStation.station_id

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "id": "id",
  • "ip": "127.0.0.1",
  • "port": 22000,
  • "password": "000000",
  • "locale": "de",
  • "provider_terminal_id": "12345678",
  • "active": true,
  • "configured": true,
  • "model": "cVEND box+",
  • "software_version": "GER-APP-v2.0.5;cR02.01.00-00.34-2-2;CC23",
  • "state": "ONLINE",
  • "reservation_limit": 50,
  • "last_access": "2023-04-01T12:00:00+02:00",
  • "last_successful_access": "2023-04-01T12:00:00+02:00",
  • "last_error": "2023-04-01T12:00:00+02:00",
  • "last_error_message": "last_error_message",
  • "charging_stations": [
    ],
  • "device_status": "PT ready",
  • "serial_number": "abcd1234",
  • "last_day_log": "2023-04-01T12:00:00+02:00",
  • "tenant": "dewln",
  • "last_display_text": "2023-04-01T12:00:00+02:00",
  • "last_display_text_message": "last_display_text_message"
}

Organizations Plans

Get recurrent payment plans

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
order_by
string
Default: "activation_date"
Enum: "name" "activation_date" "deactivation_date"

Name for sort

order_direction
string
Default: "asc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

plan_group
Array of strings
Items Enum: "PUBLIC" "PRIVATE"

Filter by plan_group

search
string

Search term

status
Array of strings
Items Enum: "active" "inactive"

Filters the tariffs for status

header Parameters
language
string^[a-z]{2}$

ISO 639-1 language code.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a recurrent payment plan

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
activation_date
string <date-time>

Activation date and time

active
boolean
Default: true

Check if the plan is active

amount
integer

Amount to be billed (in cent of the currency)

amount_seat_order
integer

Cost of a seat order for a single seat (in euro cent)

amount_seat_recurrent
integer

recurrent seat cost (in euro cent)

currency
string
Enum: "EUR" "CHF" "SEK" "ILS"

ISO 4217 currency code.

deactivation_date
string <date-time>

Deactivation date and time

default_tax_rate
number <double>
Default: 19

The tax rate to be applied

interval_count
integer

Cardinality of the interval type (for example 5 MINUTES)

interval_type
string
Enum: "SECONDS" "MINUTES" "DAYS" "WEEKS" "MONTHS"

The billing interval (period interval)

name
string
plan_group
string
Enum: "PUBLIC" "PRIVATE"

Can be used as selector for frontends

plan_key
string

Used as reference for the customer (on invoice for example)

properties
object

JSON properties object

seat_active_min
integer

Minimum amount of cards there must to order for this plan

Array of objects (PlanServiceLevel)
Array of objects (DisplayText)
termination_date
string <date-time>

If set, then this plan has been terminated and no subscriptions will be extended after this date and time.

unlock_code
string <password> <= 20 characters ^[a-zA-Z0-9-_*.,;!@$]+$

Code to unlock the plan if it is a private one with code

Responses

Request samples

Content type
application/json
{
  • "id": 1,
  • "plan_key": "wirelane_public_ac_01",
  • "name": "Wirelane Large",
  • "amount": 100,
  • "currency": "EUR",
  • "interval_type": "SECONDS",
  • "interval_count": 1,
  • "properties": {
    },
  • "plan_group": "PUBLIC",
  • "default_tax_rate": 19,
  • "tax_rate_invoice_text": [
    ],
  • "seat_active_min": 3,
  • "amount_seat_order": 1200,
  • "amount_seat_recurrent": 1200,
  • "activation_date": "2023-04-01T12:00:00+02:00",
  • "deactivation_date": "2023-04-01T12:00:00+02:00",
  • "termination_date": "2023-04-01T12:00:00+02:00",
  • "service_levels": [
    ],
  • "unlock_code": "-Y0u_;et_@_d!$,Ou*t.",
  • "subscription_count": 4711,
  • "active": true
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "plan_key": "wirelane_public_ac_01",
  • "name": "Wirelane Large",
  • "amount": 100,
  • "currency": "EUR",
  • "interval_type": "SECONDS",
  • "interval_count": 1,
  • "properties": {
    },
  • "plan_group": "PUBLIC",
  • "default_tax_rate": 19,
  • "tax_rate_invoice_text": [
    ],
  • "seat_active_min": 3,
  • "amount_seat_order": 1200,
  • "amount_seat_recurrent": 1200,
  • "activation_date": "2023-04-01T12:00:00+02:00",
  • "deactivation_date": "2023-04-01T12:00:00+02:00",
  • "termination_date": "2023-04-01T12:00:00+02:00",
  • "service_levels": [
    ],
  • "unlock_code": "-Y0u_;et_@_d!$,Ou*t.",
  • "subscription_count": 4711,
  • "active": true
}

Get Organization Plans' statistics

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "activeSubscriptions": [
    ]
}

Get a specific plan

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

planId
required
integer

Plan ID (assigned by the system)

header Parameters
language
string^[a-z]{2}$

ISO 639-1 language code.

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "plan_key": "wirelane_public_ac_01",
  • "name": "Wirelane Large",
  • "amount": 100,
  • "currency": "EUR",
  • "interval_type": "SECONDS",
  • "interval_count": 1,
  • "properties": {
    },
  • "plan_group": "PUBLIC",
  • "default_tax_rate": 19,
  • "tax_rate_invoice_text": [
    ],
  • "seat_active_min": 3,
  • "amount_seat_order": 1200,
  • "amount_seat_recurrent": 1200,
  • "activation_date": "2023-04-01T12:00:00+02:00",
  • "deactivation_date": "2023-04-01T12:00:00+02:00",
  • "termination_date": "2023-04-01T12:00:00+02:00",
  • "service_levels": [
    ],
  • "unlock_code": "-Y0u_;et_@_d!$,Ou*t.",
  • "subscription_count": 4711,
  • "active": true
}

Change plan

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

planId
required
integer

Plan ID (assigned by the system)

Request Body schema: application/json
required
activation_date
string <date-time>

Activation date and time

active
boolean
Default: true

Check if the plan is active

amount
integer

Amount to be billed (in cent of the currency)

amount_seat_order
integer

Cost of a seat order for a single seat (in euro cent)

amount_seat_recurrent
integer

recurrent seat cost (in euro cent)

currency
string
Enum: "EUR" "CHF" "SEK" "ILS"

ISO 4217 currency code.

deactivation_date
string <date-time>

Deactivation date and time

default_tax_rate
number <double>
Default: 19

The tax rate to be applied

interval_count
integer

Cardinality of the interval type (for example 5 MINUTES)

interval_type
string
Enum: "SECONDS" "MINUTES" "DAYS" "WEEKS" "MONTHS"

The billing interval (period interval)

name
string
plan_group
string
Enum: "PUBLIC" "PRIVATE"

Can be used as selector for frontends

plan_key
string

Used as reference for the customer (on invoice for example)

properties
object

JSON properties object

seat_active_min
integer

Minimum amount of cards there must to order for this plan

Array of objects (PlanServiceLevel)
Array of objects (DisplayText)
termination_date
string <date-time>

If set, then this plan has been terminated and no subscriptions will be extended after this date and time.

unlock_code
string <password> <= 20 characters ^[a-zA-Z0-9-_*.,;!@$]+$

Code to unlock the plan if it is a private one with code

Responses

Request samples

Content type
application/json
{
  • "id": 1,
  • "plan_key": "wirelane_public_ac_01",
  • "name": "Wirelane Large",
  • "amount": 100,
  • "currency": "EUR",
  • "interval_type": "SECONDS",
  • "interval_count": 1,
  • "properties": {
    },
  • "plan_group": "PUBLIC",
  • "default_tax_rate": 19,
  • "tax_rate_invoice_text": [
    ],
  • "seat_active_min": 3,
  • "amount_seat_order": 1200,
  • "amount_seat_recurrent": 1200,
  • "activation_date": "2023-04-01T12:00:00+02:00",
  • "deactivation_date": "2023-04-01T12:00:00+02:00",
  • "termination_date": "2023-04-01T12:00:00+02:00",
  • "service_levels": [
    ],
  • "unlock_code": "-Y0u_;et_@_d!$,Ou*t.",
  • "subscription_count": 4711,
  • "active": true
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "plan_key": "wirelane_public_ac_01",
  • "name": "Wirelane Large",
  • "amount": 100,
  • "currency": "EUR",
  • "interval_type": "SECONDS",
  • "interval_count": 1,
  • "properties": {
    },
  • "plan_group": "PUBLIC",
  • "default_tax_rate": 19,
  • "tax_rate_invoice_text": [
    ],
  • "seat_active_min": 3,
  • "amount_seat_order": 1200,
  • "amount_seat_recurrent": 1200,
  • "activation_date": "2023-04-01T12:00:00+02:00",
  • "deactivation_date": "2023-04-01T12:00:00+02:00",
  • "termination_date": "2023-04-01T12:00:00+02:00",
  • "service_levels": [
    ],
  • "unlock_code": "-Y0u_;et_@_d!$,Ou*t.",
  • "subscription_count": 4711,
  • "active": true
}

Get subsciptions for plan

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

planId
required
integer

Plan ID (assigned by the system)

query Parameters
order_by
string
Default: "subscription_id"
Enum: "subscription_id" "account_id" "current_period_id" "current_period_begin" "current_period_end"

Name for sort

order_direction
string
Default: "asc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

search
string

Search term

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Move all subscriptions of a plan to a new plan

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

planId
required
integer

Plan ID (assigned by the system)

Request Body schema: application/json
required
plan_key
required
string
update_ongoing_period
boolean
Default: false

Indicates if the subscription should be changed for the currently ongoing period, or if the subscription should be changed on next period interval.

Responses

Request samples

Content type
application/json
{
  • "plan_key": "WIRELANE-ABO-ANNUEL-3",
  • "update_ongoing_period": true
}

Response samples

Content type
application/json
[
  • {
    }
]

Terminate a plan, all subscriptions will expire

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

planId
required
integer

Plan ID (assigned by the system)

header Parameters
language
string^[a-z]{2}$

ISO 639-1 language code.

Request Body schema: application/json
required
termination_date
required
string <date-time>

Subscriptions to this plan will not be extended after this point of time.

Responses

Request samples

Content type
application/json
{
  • "termination_date": "2023-04-01T12:00:00+02:00"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "plan_key": "wirelane_public_ac_01",
  • "name": "Wirelane Large",
  • "amount": 100,
  • "currency": "EUR",
  • "interval_type": "SECONDS",
  • "interval_count": 1,
  • "properties": {
    },
  • "plan_group": "PUBLIC",
  • "default_tax_rate": 19,
  • "tax_rate_invoice_text": [
    ],
  • "seat_active_min": 3,
  • "amount_seat_order": 1200,
  • "amount_seat_recurrent": 1200,
  • "activation_date": "2023-04-01T12:00:00+02:00",
  • "deactivation_date": "2023-04-01T12:00:00+02:00",
  • "termination_date": "2023-04-01T12:00:00+02:00",
  • "service_levels": [
    ],
  • "unlock_code": "-Y0u_;et_@_d!$,Ou*t.",
  • "subscription_count": 4711,
  • "active": true
}

Organizations Charge Point Groups

Get all infrastructure charge groups

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
order_by
string
Default: "name"
Enum: "name" "chargingPointCount"

Name for sort

order_direction
string
Default: "asc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

search
string

Search term

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new charging point group

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
group_name
required
string
charging_points
Array of strings

@deprecated: List of charging point ids

object (CoordinatesBoundary)
id
integer

Responses

Request samples

Content type
application/json
{
  • "id": 130,
  • "group_name": "group_name",
  • "charging_points": [
    ],
  • "charging_point_count": 8,
  • "charging_points_boundary": {
    }
}

Response samples

Content type
application/json
{
  • "id": 130,
  • "group_name": "group_name",
  • "charging_points": [
    ],
  • "charging_point_count": 8,
  • "charging_points_boundary": {
    }
}

Delete a charge point group

Authorizations:
OAuth2Password
path Parameters
groupId
required
integer

The ID to search for

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "id": 130,
  • "group_name": "group_name",
  • "charging_points": [
    ],
  • "charging_point_count": 8,
  • "charging_points_boundary": {
    }
}

Get a charge point group

Authorizations:
OAuth2Password
path Parameters
groupId
required
integer

The ID to search for

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "id": 130,
  • "group_name": "group_name",
  • "charging_points": [
    ],
  • "charging_point_count": 8,
  • "charging_points_boundary": {
    }
}

Update a charge point group

Authorizations:
OAuth2Password
path Parameters
groupId
required
integer

The ID to search for

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
group_name
required
string
charging_points
Array of strings

@deprecated: List of charging point ids

object (CoordinatesBoundary)
id
integer

Responses

Request samples

Content type
application/json
{
  • "id": 130,
  • "group_name": "group_name",
  • "charging_points": [
    ],
  • "charging_point_count": 8,
  • "charging_points_boundary": {
    }
}

Response samples

Content type
application/json
{
  • "id": 130,
  • "group_name": "group_name",
  • "charging_points": [
    ],
  • "charging_point_count": 8,
  • "charging_points_boundary": {
    }
}

Add charging points to charge point group

Authorizations:
OAuth2Password
path Parameters
groupId
required
integer

The ID to search for

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
Array
string

Responses

Request samples

Content type
application/json
[
  • "002200e70adc327fc1b6edf3ea22a324a"
]

Response samples

Content type
application/json
{
  • "id": 130,
  • "group_name": "group_name",
  • "charging_points": [
    ],
  • "charging_point_count": 8,
  • "charging_points_boundary": {
    }
}

Remove charging points from charge point group

Authorizations:
OAuth2Password
path Parameters
groupId
required
integer

The ID to search for

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
Array
string

Responses

Request samples

Content type
application/json
[
  • "002200e70adc327fc1b6edf3ea22a324a"
]

Response samples

Content type
application/json
{
  • "id": 130,
  • "group_name": "group_name",
  • "charging_points": [
    ],
  • "charging_point_count": 8,
  • "charging_points_boundary": {
    }
}

Organizations Charging Stations

List all charging stations assigned to given group

Authorizations:
OAuth2Password
path Parameters
groupId
required
integer

The ID to search for

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get organization charging stations

Finding charging stations for the account.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
auth_type
Array of strings
Items Enum: "card" "remote" "nfc_terminal" "direct"

The charging station authorization type.

charging_provider
Array of strings
Items Enum: "echs_delnd" "emc" "hubject" "wirelane"

Filter by charging point provider

charging_sites
Array of strings[ items^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]... ]

Filters stations based on related ChargingSite.id values.

charging_station_id
Array of strings

Filter by list of charging station id's

charging_type
Array of strings
Items Enum: "AC" "DC"

The charging type.

cpos
Array of strings

Filter by CPOs

distance
integer [ 1 .. 100000 ]

Search distance in meters, maximum is 100000m (100km). Requires lat and lon parameters to be set.

evseid
string^[a-zA-Z0-9-_*]+$

The ID to search for

has_point_group
boolean

Filters stations on whether they have point-groups set or have none at all. true = has any group, false = has no group, null = both cases. This filter must not be combined with the point_groups filter.

include_roaming
boolean
Default: false

Filter by roaming.

lat
number <float> [ -90 .. 90 ]

Latitude

lon
number <float> [ -180 .. 180 ]

Longitude

models
Array of strings

Filter by list of models

onboarded
boolean

Filter by onboarded, check if onboarding is done.

open_sf_case
boolean

Filter by open_sf_case flag

order_by
string
Default: "address_zip_code"
Enum: "station_id" "distance" "status_update" "address_zip_code" "address_city"

Name for sort

order_direction
string
Default: "asc"
Enum: "asc" "desc"

Key for order direction

owner_id
Array of strings

Filter by list of owner_id

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

plug_types
Array of strings
Items Enum: "TYPE_1" "TYPE_1_ATCH" "TYPE_2" "TYPE_2_ATCH" "TYPE_3" "TYPE_3_ATCH" "CHADEMO" "CCS" "SCHUKO" "UNKNOWN"

The plug types. (*_ATCH = with cable attached)

point_groups
Array of integers

Search for specific point groups

power_range
string^[0-9]{1,3}-[0-9]{1,3}$

The charging speed, as minimum to maximum (e.g. 22-300 for 22 to 300 kW).

search
string

Search term

status
Array of strings
Items Enum: "FREE" "IN_USE" "CHARGING" "CHARGING_SUSPENDED_EV" "CHARGING_SUSPENDED_EVSE" "UNAVAILABLE" "UNKNOWN" "FAULTED" "RESERVED" "CLOSED" "MAINTENANCE"

Status of the connector

  • FREE: Connector is free / available
  • IN_USE: Connector is occupied (cable connected or RFID card presented to card reader, in case of roaming charging might already happen)
  • CHARGING: Connector is charging
  • CHARGING_SUSPENDED_EV: Connector is still connected but not charging anymore, process has been terminated by the EV driver
  • CHARGING_SUSPENDED_EVSE: Connector is still connected but not charging anymore, process has been terminated by the station
  • UNAVAILABLE: Connector is unavailable (not installed or broken)
  • UNKNOWN: Connector status is unknown
  • FAULTED: Connector is (temporary) faulted
  • RESERVED: Connector is reserved
  • CLOSED: Connector is closed (not in use anymore)
  • MAINTENANCE: Connector is scheduled for maintenance

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Returns boundary of all organization's Charging Stations

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "north_east": {
    },
  • "east_south": {
    },
  • "south_west": {
    },
  • "west_north": {
    }
}

Get cluster of organization's Charging Stations

Get a cluster of Chargingstations in GeoJSON / RFC 7946 format.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
auth_type
Array of strings
Items Enum: "card" "remote" "nfc_terminal" "direct"

The charging station authorization type.

charging_type
Array of strings
Items Enum: "AC" "DC"

The charging type.

cpos
Array of strings

Filter by CPOs

energy_resource_type
Array of strings
Items Enum: "mixed" "nonrenewable" "renewable"

Energy resource type

  • renewable: 100% powered by renewable energy
  • mixed: partly powered by renewable energy and classic power sources
  • nonrenewable: no renewable energy in the mix
exclusion_status
Array of strings
Items Enum: "FREE" "IN_USE" "CHARGING" "CHARGING_SUSPENDED_EV" "CHARGING_SUSPENDED_EVSE" "UNAVAILABLE" "UNKNOWN" "FAULTED" "RESERVED" "CLOSED" "MAINTENANCE"

Status of the connector

  • FREE: Connector is free / available
  • IN_USE: Connector is occupied (cable connected or RFID card presented to card reader, in case of roaming charging might already happen)
  • CHARGING: Connector is charging
  • CHARGING_SUSPENDED_EV: Connector is still connected but not charging anymore, process has been terminated by the EV driver
  • CHARGING_SUSPENDED_EVSE: Connector is still connected but not charging anymore, process has been terminated by the station
  • UNAVAILABLE: Connector is unavailable (not installed or broken)
  • UNKNOWN: Connector status is unknown
  • FAULTED: Connector is (temporary) faulted
  • RESERVED: Connector is reserved
  • CLOSED: Connector is closed (not in use anymore)
  • MAINTENANCE: Connector is scheduled for maintenance
max_power
string^[0-9]{1,3}-[0-9]{1,3}$

The charging speed, as minimum to maximum (e.g. 22-300 for 22 to 300 kW).

north_east_lat
number <float> [ -90 .. 90 ]

North-East Latitude

north_east_lon
number <float> [ -180 .. 180 ]

North-East Longitude

not_in_point_groups
Array of strings

Search where specific point groups are not included

owner_id
Array of strings

Filter by list of owner_id

plug_types
Array of strings
Items Enum: "TYPE_1" "TYPE_1_ATCH" "TYPE_2" "TYPE_2_ATCH" "TYPE_3" "TYPE_3_ATCH" "CHADEMO" "CCS" "SCHUKO" "UNKNOWN"

The plug types. (*_ATCH = with cable attached)

point_groups
Array of strings
south_west_lat
number <float> [ -90 .. 90 ]

South-West Latitude

south_west_lon
number <float> [ -180 .. 180 ]

South-West Longitude

status
Array of strings
Items Enum: "FREE" "IN_USE" "CHARGING" "CHARGING_SUSPENDED_EV" "CHARGING_SUSPENDED_EVSE" "UNAVAILABLE" "UNKNOWN" "FAULTED" "RESERVED" "CLOSED" "MAINTENANCE"

Status of the connector

  • FREE: Connector is free / available
  • IN_USE: Connector is occupied (cable connected or RFID card presented to card reader, in case of roaming charging might already happen)
  • CHARGING: Connector is charging
  • CHARGING_SUSPENDED_EV: Connector is still connected but not charging anymore, process has been terminated by the EV driver
  • CHARGING_SUSPENDED_EVSE: Connector is still connected but not charging anymore, process has been terminated by the station
  • UNAVAILABLE: Connector is unavailable (not installed or broken)
  • UNKNOWN: Connector status is unknown
  • FAULTED: Connector is (temporary) faulted
  • RESERVED: Connector is reserved
  • CLOSED: Connector is closed (not in use anymore)
  • MAINTENANCE: Connector is scheduled for maintenance
with_polygons
boolean
Default: false

Return Polygons of areas that are covered by the clusters.

zoom
integer

Zoom

Responses

Response samples

Content type
application/json
{
  • "type": "FeatureCollection",
  • "features": [
    ]
}

Get organization connectors

List connectors of organization.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
charging_type
Array of strings
Items Enum: "AC" "DC"

The charging type.

max_power
string^[0-9]{1,3}-[0-9]{1,3}$

The charging speed, as minimum to maximum (e.g. 22-300 for 22 to 300 kW).

not_in_point_groups
Array of strings

Search where specific point groups are not included

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

plug_types
Array of strings
Items Enum: "TYPE_1" "TYPE_1_ATCH" "TYPE_2" "TYPE_2_ATCH" "TYPE_3" "TYPE_3_ATCH" "CHADEMO" "CCS" "SCHUKO" "UNKNOWN"

The plug types. (*_ATCH = with cable attached)

point_groups
Array of integers

Search for specific point groups

search
string

Search term

status
Array of strings
Items Enum: "FREE" "IN_USE" "CHARGING" "CHARGING_SUSPENDED_EV" "CHARGING_SUSPENDED_EVSE" "UNAVAILABLE" "UNKNOWN" "FAULTED" "RESERVED" "CLOSED" "MAINTENANCE"

Status of the connector

  • FREE: Connector is free / available
  • IN_USE: Connector is occupied (cable connected or RFID card presented to card reader, in case of roaming charging might already happen)
  • CHARGING: Connector is charging
  • CHARGING_SUSPENDED_EV: Connector is still connected but not charging anymore, process has been terminated by the EV driver
  • CHARGING_SUSPENDED_EVSE: Connector is still connected but not charging anymore, process has been terminated by the station
  • UNAVAILABLE: Connector is unavailable (not installed or broken)
  • UNKNOWN: Connector status is unknown
  • FAULTED: Connector is (temporary) faulted
  • RESERVED: Connector is reserved
  • CLOSED: Connector is closed (not in use anymore)
  • MAINTENANCE: Connector is scheduled for maintenance

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get one station from organization

Get a single charging station by their id

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

stationId
required
integer

The ID to search for.

Responses

Response samples

Content type
application/json
{
  • "station_id": "DE*WLN*7966",
  • "charging_provider": "emc",
  • "owner": "dewln",
  • "cpo": "dewln",
  • "cpo_name": "Wirelane GmbH",
  • "cpo_logo": "cpo_logo",
  • "vendor": "Wirelane",
  • "model": "Light&Charge",
  • "address": {
    },
  • "availability": {
    },
  • "timezone": "Europe/Berlin",
  • "service_hotline": "+4980010203040",
  • "coordinates": {
    },
  • "roaming": false,
  • "accessibility": "public",
  • "accessibility_location_type": "on-street",
  • "accessibility_location_attributes": [
    ],
  • "authentication_types": [
    ],
  • "energy_resource_type": "mixed",
  • "connectors": [
    ],
  • "id": 1337,
  • "solution_type": "bmvi",
  • "onboarding": "done",
  • "onboardingCompletedAt": "2023-04-01T12:00:00+02:00",
  • "charging_site_id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77",
  • "charging_site_name": "charging_site_name",
  • "reassignment": {
    },
  • "openSfCase": true
}

Update organization charging station

Update a charging station for the provider of the organization.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

stationId
required
integer

The ID to search for.

Request Body schema: application/json
required
accessibility
string
Enum: "public" "private"
accessibility_location_attributes
Array of strings
Items Enum: "restricted_access" "fee_paid_access" "wheelchair_accessible" "manned_charging_station" "covered_charging_station" "illuminated" "unknown"

Accessibility Location Attributes ()

  • restricted_access: restricted access to the charging station
  • fee_paid_access: fee-paid access to the charging station
  • wheelchair_accessible: wheelchair accessible charging station
  • manned_charging_station: manned charging station
  • covered_charging_station: covered charging station
  • illuminated: charging station or parking area is illuminated
  • unknown: accessibility location attributes are not known
accessibility_location_type
string
Enum: "on-street" "parking-garage" "underground-garage" "parking-lot" "unknown"

Accessibility location type

  • on-street: parking in public space
  • parking-garage: multistory car park
  • underground-garage: multistory car park, mainly underground
  • parking-lot: a cleared area that is intended for parking vehicles, i.e. at super markets, bars, etc.
  • unknown: parking location type is not known by the operator
object (Address)
authentication_types
Array of strings
Items Enum: "card" "remote" "nfc_terminal" "direct"

Authentication method for the charging point

object (OpeningHours)
object (Coordinates)

Coordinates

energy_resource_type
string
Enum: "mixed" "nonrenewable" "renewable"

Energy resource type

  • renewable: 100% powered by renewable energy
  • mixed: partly powered by renewable energy and classic power sources
  • nonrenewable: no renewable energy in the mix
service_hotline
string

The phone number of the service hotline in E.164 format

Responses

Request samples

Content type
application/json
{
  • "address": {
    },
  • "availability": {
    },
  • "service_hotline": "+4980010203040",
  • "coordinates": {
    },
  • "accessibility": "public",
  • "accessibility_location_type": "on-street",
  • "accessibility_location_attributes": [
    ],
  • "authentication_types": [
    ],
  • "energy_resource_type": "mixed"
}

Response samples

Content type
application/json
{
  • "station_id": "DE*WLN*7966",
  • "charging_provider": "emc",
  • "owner": "dewln",
  • "cpo": "dewln",
  • "cpo_name": "Wirelane GmbH",
  • "cpo_logo": "cpo_logo",
  • "vendor": "Wirelane",
  • "model": "Light&Charge",
  • "address": {
    },
  • "availability": {
    },
  • "timezone": "Europe/Berlin",
  • "service_hotline": "+4980010203040",
  • "coordinates": {
    },
  • "roaming": false,
  • "accessibility": "public",
  • "accessibility_location_type": "on-street",
  • "accessibility_location_attributes": [
    ],
  • "authentication_types": [
    ],
  • "energy_resource_type": "mixed",
  • "connectors": [
    ],
  • "id": 1337,
  • "solution_type": "bmvi",
  • "onboarding": "done",
  • "onboardingCompletedAt": "2023-04-01T12:00:00+02:00",
  • "charging_site_id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77",
  • "charging_site_name": "charging_site_name",
  • "reassignment": {
    },
  • "openSfCase": true
}

Fetches Salesforce Cases for a charging station

Fetches both open and closed cases from Salesforce

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

stationId
required
integer

The ID to search for.

query Parameters
order_by
string
Default: "createdAt"
Enum: "id" "caseNumber" "title" "status" "createdAt"

Name for sort

order_direction
string
Default: "desc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

status
Array of strings
Items Enum: "New" "In progress - Electrician" "In progress - Timeframe" "In progress - Wirelane" "In progress - Wirelane IT" "Waiting for customer" "Closed"

Filter by status

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get the connection chain of a Charging Station

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

stationId
required
integer

The ID to search for.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Close an Organization ChargingStation Connector

Closes an Organization ChargingStation Connector, will close the ChargingStation when closing the last active Connector.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

scmId
required
string^[a-zA-Z0-9]+$

The Scm-ID of the connector. See Connector.scm_id

stationId
required
integer

The ID to search for.

Responses

Response samples

Content type
application/json
{
  • "charging_groups": [
    ],
  • "dlm_role": "secondary",
  • "connector_id": 0,
  • "asset_id": "00055c68-db40-4484-b11c-11a6b6ea7ea0",
  • "current": 6,
  • "voltage": 1,
  • "serial_number": "serial_number",
  • "public_key": "3059301306072A8648CE3D020106082A8648CE3D03010703",
  • "sf_asset_id": "00055c6800055c68ab",
  • "sf_cp_id": "00055c6800055c68ab",
  • "status": "FREE",
  • "status_update": "2023-04-01T12:00:00+02:00",
  • "evse_id_history": [
    ]
}

Update organization connector data

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

scmId
required
string^[a-zA-Z0-9]+$

The Scm-ID of the connector. See Connector.scm_id

stationId
required
integer

The ID to search for.

Request Body schema: application/json
required
charging_type
required
string
Enum: "AC" "DC"

Electricity type

current
required
integer

Current in A

evseid
required
string^[A-Z]{2}\*?[0-9A-Z]{3}\*?E[0-9A-Z]{1,30}$

EVSE-ID (in the form of "{Country Code}{CPO ID}E{Alpha Numeric Charge Point ID}")

plug_type
required
string
Enum: "TYPE_1" "TYPE_1_ATCH" "TYPE_2" "TYPE_2_ATCH" "TYPE_3" "TYPE_3_ATCH" "CHADEMO" "CCS" "SCHUKO" "UNKNOWN"

The plug type of the connector

power
required
number <double>

Power in kW

voltage
required
integer

Voltage in V

serial_number
string

The serial number of a charging point/connector hardware device

sf_asset_id
string

The Salesforce ID of the charging point, that represents the "physical" point.

sf_cp_id
string

The Salesforce ID of the charging point, that represents the "philosophical" point.

Responses

Request samples

Content type
application/json
{
  • "evseid": "DE*WLN*E0123456789",
  • "sf_asset_id": "00055c6800055c68ab",
  • "sf_cp_id": "00055c6800055c68ab",
  • "serial_number": "5392aC",
  • "plug_type": "TYPE_2",
  • "charging_type": "AC",
  • "power": 22,
  • "current": 0,
  • "voltage": 6
}

Response samples

Content type
application/json
{
  • "charging_groups": [
    ],
  • "dlm_role": "secondary",
  • "connector_id": 0,
  • "asset_id": "00055c68-db40-4484-b11c-11a6b6ea7ea0",
  • "current": 6,
  • "voltage": 1,
  • "serial_number": "serial_number",
  • "public_key": "3059301306072A8648CE3D020106082A8648CE3D03010703",
  • "sf_asset_id": "00055c6800055c68ab",
  • "sf_cp_id": "00055c6800055c68ab",
  • "status": "FREE",
  • "status_update": "2023-04-01T12:00:00+02:00",
  • "evse_id_history": [
    ]
}

Get all maintenance windows for a specific charging station of a given organization

Get all maintenance windows for a specific charging station of a given organization The endpoint returns an array of ChargingStationMaintenance models

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

stationId
required
integer

The ID to search for.

query Parameters
page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Updates a Maintenance-Window

Updates the ActualEnd Value for the upcoming/concurrent maintenance window of a station

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

stationId
required
integer

The ID to search for.

Request Body schema: application/json
required
actualEnd
required
string <date-time>

Actual end of the maintenance window

id
required
integer

internal ID of the charging station maintenance schedule entity

Responses

Request samples

Content type
application/json
{
  • "id": 123,
  • "actualEnd": "2023-04-01T12:00:00+02:00"
}

Response samples

Content type
application/json
{
  • "id": 123,
  • "chargingStationId": 4567,
  • "chargingStationLabel": "DE*WLN*7966",
  • "start": "2023-04-01T12:00:00+02:00",
  • "end": "2023-04-01T12:00:00+02:00",
  • "actualEnd": "2023-04-01T12:00:00+02:00",
  • "openSfCase": true
}

Retrieve Charging Station with Onboarding-Overlay

Gets a single station with additional/replaced data relevant for onboarding

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

stationId
required
integer

The ID to search for.

Responses

Response samples

Content type
application/json
{
  • "station_id": "DE*WLN*7966",
  • "charging_provider": "emc",
  • "owner": "dewln",
  • "cpo": "dewln",
  • "cpo_name": "Wirelane GmbH",
  • "cpo_logo": "cpo_logo",
  • "vendor": "Wirelane",
  • "model": "Light&Charge",
  • "address": {
    },
  • "availability": {
    },
  • "timezone": "Europe/Berlin",
  • "service_hotline": "+4980010203040",
  • "coordinates": {
    },
  • "roaming": false,
  • "accessibility": "public",
  • "accessibility_location_type": "on-street",
  • "accessibility_location_attributes": [
    ],
  • "authentication_types": [
    ],
  • "energy_resource_type": "mixed",
  • "connectors": [
    ],
  • "id": 1337,
  • "solution_type": "bmvi",
  • "onboarding": "done",
  • "onboardingCompletedAt": "2023-04-01T12:00:00+02:00",
  • "charging_site_id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77",
  • "charging_site_name": "charging_site_name",
  • "reassignment": {
    },
  • "openSfCase": true,
  • "payment_terminal_serial_number": "payment_terminal_serial_number",
  • "payment_terminal_provider_id": "payment_terminal_provider_id"
}

Update organization charging station onboarding status

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

stationId
required
integer

The ID to search for.

Request Body schema: application/json
required
onboarding
required
string
Enum: "pending" "details" "ocpp" "connectors" "group" "router" "payment_terminal" "done"

Charging Station Onboarding status

Responses

Request samples

Content type
application/json
{
  • "onboarding": "pending"
}

Response samples

Content type
application/json
{
  • "station_id": "DE*WLN*7966",
  • "charging_provider": "emc",
  • "owner": "dewln",
  • "cpo": "dewln",
  • "cpo_name": "Wirelane GmbH",
  • "cpo_logo": "cpo_logo",
  • "vendor": "Wirelane",
  • "model": "Light&Charge",
  • "address": {
    },
  • "availability": {
    },
  • "timezone": "Europe/Berlin",
  • "service_hotline": "+4980010203040",
  • "coordinates": {
    },
  • "roaming": false,
  • "accessibility": "public",
  • "accessibility_location_type": "on-street",
  • "accessibility_location_attributes": [
    ],
  • "authentication_types": [
    ],
  • "energy_resource_type": "mixed",
  • "connectors": [
    ],
  • "id": 1337,
  • "solution_type": "bmvi",
  • "onboarding": "done",
  • "onboardingCompletedAt": "2023-04-01T12:00:00+02:00",
  • "charging_site_id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77",
  • "charging_site_name": "charging_site_name",
  • "reassignment": {
    },
  • "openSfCase": true
}

Gets onboarding status history

Returns history of onboarding status transitions

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

stationId
required
integer

The ID to search for.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Reassign owner and station ID for a specific charging station and/or assign a charging site to station

This endpoint allows reassigning the owner and/or station ID of a charging station. Additionally a charging site can be assigned to a existing station, or be reassigned together with the reassignment of the owner/station ID. The request triggers ChangeConfiguration requests to update the route that the station uses to connect to the OCPP backend and/or the station ID, followed by a Reset to reboot the station.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

stationId
required
integer

The ID to search for.

Request Body schema: application/json
required
stationId
required
string^[a-zA-Z0-9-_* ]+$

The new ID of the charging station

tenant
required
string

The new owner of the charging station

charging_site_id
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

The ChargingSite.id the station will be moved to

Responses

Request samples

Content type
application/json
{
  • "stationId": "DE*WLN*1337",
  • "tenant": "dewln",
  • "charging_site_id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77"
}

Response samples

Content type
application/json
{
  • "station_id": "DE*WLN*7966",
  • "charging_provider": "emc",
  • "owner": "dewln",
  • "cpo": "dewln",
  • "cpo_name": "Wirelane GmbH",
  • "cpo_logo": "cpo_logo",
  • "vendor": "Wirelane",
  • "model": "Light&Charge",
  • "address": {
    },
  • "availability": {
    },
  • "timezone": "Europe/Berlin",
  • "service_hotline": "+4980010203040",
  • "coordinates": {
    },
  • "roaming": false,
  • "accessibility": "public",
  • "accessibility_location_type": "on-street",
  • "accessibility_location_attributes": [
    ],
  • "authentication_types": [
    ],
  • "energy_resource_type": "mixed",
  • "connectors": [
    ],
  • "id": 1337,
  • "solution_type": "bmvi",
  • "onboarding": "done",
  • "onboardingCompletedAt": "2023-04-01T12:00:00+02:00",
  • "charging_site_id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77",
  • "charging_site_name": "charging_site_name",
  • "reassignment": {
    },
  • "openSfCase": true
}

Get all maintenance windows for the charging stations of a given organization

Get all maintenance windows for the charging stations of a given organization The endpoint returns an array of ChargingStationMaintenance models and can be filtered by the charging station ID

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
open_sf_case
boolean

Filter by open_sf_case flag

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

search
string

Search term

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get infrastructure charging stations statistics

Get the charging points statistics for stations of a given organization. The charging stations can be filtered by list of owner_id (optional parameter).

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
owner_id
Array of strings

Filter by list of owner_id

Responses

Response samples

Content type
application/json
{
  • "total": 0.8008281904610115,
  • "free": 6.027456183070403,
  • "in_use": 1.4658129805029452,
  • "unavailable": 5.962133916683182,
  • "unknown": 5.637376656633329,
  • "faulted": 2.3021358869347655,
  • "reserved": 7.061401241503109,
  • "charging": 9.301444243932576,
  • "charging_suspended_ev": 3.616076749251911,
  • "charging_suspended_evse": 2.027123023002322,
  • "maintenance": 4.145608029883936
}

Organizations Preview Document

Get organization preview document

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

previewDocument
required
string
Value: "invoice"

Type of preview document

query Parameters
language
string^[a-z]{2}$
Default: "de"

ISO 639-1 language code.

Responses

Organizations Receipts

Get Organization receipts

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
date_picker_since
string <date-time>

The date time to search from

date_picker_until
string <date-time>

The date time to search to

order_by
string
Default: "id"
Enum: "id" "date" "price"

Name for sort

order_direction
string
Default: "desc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

receiptBatchedFilter
boolean

Receipt batched filter

receiptStatusFilter
Array of strings
Items Enum: "PENDING" "RELEASED" "PAID"

Receipt status filter

search
string

Search term

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Paginated list of all balances of the organization

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
order_by
string
Default: "account_id"
Value: "account_id"

Name for sort

order_direction
string
Default: "desc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Download a list of organization receipts

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required

list of receipt ids

Array
string

Responses

Request samples

Content type
application/json
[
  • "string"
]

Download a list of organization receipts by month

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

yearMonth
required
string^[0-9]{4}-[0-9]{2}$

Year and month to filter for

Responses

Get an organization receipt

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

receiptId
required
string^[a-zA-Z0-9-_]+$

Receipt ID (assigned by the system)

header Parameters
Accept
string
Default: application/json
Enum: "application/json" "application/zip" "application/pdf" "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"

Controls the Content-Type of the response.

Responses

Response samples

Content type
"string"

Lists payment authorizations for a specific receipt

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

receiptId
required
string^[a-zA-Z0-9-_]+$

Receipt ID (assigned by the system)

query Parameters
order_by
string
Default: "creationDate"
Value: "creationDate"

Name for sort

order_direction
string
Default: "desc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

payment_state
Array of strings
Items Enum: "INITIALIZE" "VOIDED" "COMPLETED" "PENDING" "SUBMITTED" "ERROR"

Filter by payment state

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Lists payment transactions for a specific receipt

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

receiptId
required
string^[a-zA-Z0-9-_]+$

Receipt ID (assigned by the system)

query Parameters
order_by
string
Default: "creationDate"
Value: "creationDate"

Name for sort

order_direction
string
Default: "desc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

payment_state
Array of strings
Items Enum: "INITIALIZE" "AUTHORIZED_EXPIRED" "EXPIRED" "PENDING" "COMPLETED" "REFUNDED" "PARTIALLY_REFUNDED" "GATEWAY_DECLINED" "PROCESSOR_DECLINED" "SETTLEMENT_DECLINED" "VOIDED" "FAILED" "CHARGEBACK" "PAID_UNKNOWN_PENDING" "PAID_UNKNOWN_REFUNDED" "PARTIALLY_PAID"

Filter by payment state

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Recreate B2C receipt

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

receiptId
required
string^[a-zA-Z0-9-_]+$

Receipt ID (assigned by the system)

Responses

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Refunds a specific invoice

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

receiptId
required
string^[a-zA-Z0-9-_]+$

Receipt ID (assigned by the system)

Request Body schema: application/json
optional
comment
string <= 220 characters

Responses

Request samples

Content type
application/json
{
  • "comment": "Wurde aus Gründen storniert"
}

Response samples

Content type
application/json
{
  • "id": "2023-06-00023",
  • "date": "2023-04-01T12:00:00+02:00",
  • "period_begin": "2023-04-01",
  • "period_end": "2023-04-01",
  • "price": 4.12,
  • "currency": "EUR",
  • "payment_method_type": "payment_method_type",
  • "released": true,
  • "tenant": "dewln",
  • "status": "PAID",
  • "batched": true,
  • "emp": "dewln",
  • "cpo": "dewln",
  • "customer_id": "DEWLN-0123456789",
  • "paymentTransactionId": "017c1115-a0c3-49cd-9660-067a3968e3cc",
  • "paymentTransactionProcessor": "novalnet_adhoc",
  • "refundable": true,
  • "owner": "dewln"
}

Resend B2C receipt

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

receiptId
required
string^[a-zA-Z0-9-_]+$

Receipt ID (assigned by the system)

Responses

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Lists all Transactions for an invoice

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

receiptId
required
string^[a-zA-Z0-9-_]+$

Receipt ID (assigned by the system)

query Parameters
page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get organization B2B structure invoices by principal

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
date_picker_since
string <date-time>

The date time to search from

date_picker_until
string <date-time>

The date time to search to

order_by
string
Default: "invoice_id"
Enum: "invoice_id" "date"

Name for sort

order_direction
string
Default: "desc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

released
boolean

Show the released or not released receipts

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get an organization B2B invoice

Get a B2B invoice.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

receiptId
required
string^[a-zA-Z0-9-_]+$

Receipt ID (assigned by the system)

header Parameters
Accept
string
Default: application/json
Enum: "application/json" "application/pdf" "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"

Controls the Content-Type of the response.

Responses

Response samples

Content type
"string"

Get organization structure receipts

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
date_picker_since
string <date-time>

The date time to search from

date_picker_until
string <date-time>

The date time to search to

order_by
string
Default: "invoice_id"
Enum: "invoice_id" "date"

Name for sort

order_direction
string
Default: "desc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

released
boolean

Show the released or not released receipts

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get an organization receipt

Get a receipt.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

receiptId
required
string^[a-zA-Z0-9-_]+$

Receipt ID (assigned by the system)

header Parameters
Accept
string
Default: application/json
Enum: "application/json" "application/pdf" "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"

Controls the Content-Type of the response.

Responses

Response samples

Content type
"string"

Organizations Roaming Connection Sharing

Get Organizations Roaming Connection Sharing

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add Organizations Roaming Connection Sharing

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
provider
required
string

The EMP group provider ID

Responses

Request samples

Content type
application/json
{
  • "provider": "dewln"
}

Response samples

Content type
application/json
{
  • "provider": "dewln",
  • "targets": [
    ]
}

Remove Roaming Connection Sharing

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

provider
required
string^[a-zA-Z0-9-_]+$

Provider ID

Responses

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Get the list all available providers excluding the current organization

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
[
  • "string"
]

Ochp Connection Configuration

Get OCHP adapter connection configuration

Get OCHP adapter connection configuration for given connection_id

Authorizations:
OAuth2Password
path Parameters
connection
required
string
Value: "wirelane"

The roaming connection ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "connection_id": "wirelane",
  • "username": "fubar.baz",
  • "emp": "dewln",
  • "roles": [
    ],
  • "blocked_evse_prefixes": "RO,IT,PL",
  • "auth_types": [
    ],
  • "defaultContractId": "DEWLNWIREFU"
}

Update OCHP adapter connection configuration

Update OCHP adapter connection configuration for set connection_id

Authorizations:
OAuth2Password
path Parameters
connection
required
string
Value: "wirelane"

The roaming connection ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
auth_types
Array of strings
Items Enum: "auth_card" "auth_remote" "all"

possible authentication types

blocked_evse_prefixes
string

Comma separated list of prefixes for EVSEs, where roaming charging should not be possible

defaultContractId
string
emp
string
roles
Array of strings
Items Enum: "ROLE_PROVIDER" "ROLE_OPERATOR" "ROLE_NSP"

roles assigned to this connection

username
string

Responses

Request samples

Content type
application/json
{
  • "username": "fubar.baz",
  • "emp": "dewln",
  • "roles": [
    ],
  • "blocked_evse_prefixes": "RO,IT,PL",
  • "auth_types": [
    ],
  • "defaultContractId": "DEWLNWIREFU"
}

Response samples

Content type
application/json
{
  • "connection_id": "wirelane",
  • "username": "fubar.baz",
  • "emp": "dewln",
  • "roles": [
    ],
  • "blocked_evse_prefixes": "RO,IT,PL",
  • "auth_types": [
    ],
  • "defaultContractId": "DEWLNWIREFU"
}

Get OCHP adapter connection configuration

Get OCHP adapter connection configuration

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Organizations CPO Roaming Agreements OCHP

Get CPO roaming agreements

Get the list of CPO roaming agreements for a given OCHP-connection like e-clearing.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
order_by
string
Default: "provider_id"
Enum: "provider_id" "valid_from" "valid_to"

Name for sort

order_direction
string
Default: "asc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

search
string

Search term

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create CPO roaming agreement

Create a CPO roaming agreement for a given OCHP-connection like e-clearing.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
provider_name
required
string
valid_from
required
string <date-time>

Date and time

valid_to
required
string <date-time>

Date and time

object (Address)
billing_contact_email
string <email>
billing_contact_name
string
cancelled_to
string <date-time>

Date and time

provider_id
string^[a-zA-Z0-9-*+]+$

Allow for OCHP provider IDs like DE*WLN, DE-WLN and +49*WLN

reverse_charge
boolean

Flag to control if a reverse charge is applied or not.

Array of objects (OchpAgreementSubprovider)

Sub-providers of the main provider of the CPO roaming agreement. These IDs will be used to find applicable sessions for Roaming EMP invoicing.

vat_tax_id
string

Responses

Request samples

Content type
application/json
{
  • "provider_id": "DE*WLN",
  • "provider_name": "ACME Company",
  • "sub_providers": [
    ],
  • "billing_contact_name": "Zaki Walter",
  • "billing_contact_email": "zaki@example.org",
  • "valid_from": "2023-04-01T12:00:00+02:00",
  • "valid_to": "2023-04-01T12:00:00+02:00",
  • "cancelled_to": "2023-04-01T12:00:00+02:00",
  • "vat_tax_id": "DE123456789",
  • "billing_address": {
    },
  • "reverse_charge": true
}

Response samples

Content type
application/json
{
  • "roaming_agreement_id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77",
  • "provider_id": "DE*WLN",
  • "provider_name": "ACME Company",
  • "sub_providers": [
    ],
  • "billing_contact_name": "Zaki Walter",
  • "billing_contact_email": "zaki@example.org",
  • "valid_from": "2023-04-01T12:00:00+02:00",
  • "valid_to": "2023-04-01T12:00:00+02:00",
  • "cancelled_to": "2023-04-01T12:00:00+02:00",
  • "vat_tax_id": "DE123456789",
  • "billing_address": {
    },
  • "reverse_charge": true
}

Deletes a CPO roaming agreement

Delete a CPO roaming agreement for a given OCHP-connection like e-clearing.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

roamingAgreementId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

The ID of the roaming agreement (OICP/OCHP)

Responses

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Get a single CPO roaming agreement

Get a single CPO roaming agreement for a given OCHP-connection like e-clearing.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

roamingAgreementId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

The ID of the roaming agreement (OICP/OCHP)

Responses

Response samples

Content type
application/json
{
  • "roaming_agreement_id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77",
  • "provider_id": "DE*WLN",
  • "provider_name": "ACME Company",
  • "sub_providers": [
    ],
  • "billing_contact_name": "Zaki Walter",
  • "billing_contact_email": "zaki@example.org",
  • "valid_from": "2023-04-01T12:00:00+02:00",
  • "valid_to": "2023-04-01T12:00:00+02:00",
  • "cancelled_to": "2023-04-01T12:00:00+02:00",
  • "vat_tax_id": "DE123456789",
  • "billing_address": {
    },
  • "reverse_charge": true
}

Update a CPO roaming agreement

Update a CPO roaming agreement for a given OCHP-connection like e-clearing.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

roamingAgreementId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

The ID of the roaming agreement (OICP/OCHP)

Request Body schema: application/json
required
provider_name
required
string
valid_from
required
string <date-time>

Date and time

valid_to
required
string <date-time>

Date and time

object (Address)
billing_contact_email
string <email>
billing_contact_name
string
cancelled_to
string <date-time>

Date and time

provider_id
string^[a-zA-Z0-9-*+]+$

Allow for OCHP provider IDs like DE*WLN, DE-WLN and +49*WLN

reverse_charge
boolean

Flag to control if a reverse charge is applied or not.

Array of objects (OchpAgreementSubprovider)

Sub-providers of the main provider of the CPO roaming agreement. These IDs will be used to find applicable sessions for Roaming EMP invoicing.

vat_tax_id
string

Responses

Request samples

Content type
application/json
{
  • "provider_id": "DE*WLN",
  • "provider_name": "ACME Company",
  • "sub_providers": [
    ],
  • "billing_contact_name": "Zaki Walter",
  • "billing_contact_email": "zaki@example.org",
  • "valid_from": "2023-04-01T12:00:00+02:00",
  • "valid_to": "2023-04-01T12:00:00+02:00",
  • "cancelled_to": "2023-04-01T12:00:00+02:00",
  • "vat_tax_id": "DE123456789",
  • "billing_address": {
    },
  • "reverse_charge": true
}

Response samples

Content type
application/json
{
  • "roaming_agreement_id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77",
  • "provider_id": "DE*WLN",
  • "provider_name": "ACME Company",
  • "sub_providers": [
    ],
  • "billing_contact_name": "Zaki Walter",
  • "billing_contact_email": "zaki@example.org",
  • "valid_from": "2023-04-01T12:00:00+02:00",
  • "valid_to": "2023-04-01T12:00:00+02:00",
  • "cancelled_to": "2023-04-01T12:00:00+02:00",
  • "vat_tax_id": "DE123456789",
  • "billing_address": {
    },
  • "reverse_charge": true
}

Organizations EMP Roaming Agreements OCHP

Get EMP roaming agreements

Get the list of EMP roaming agreements for a given OCHP-connection.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
order_by
string
Default: "operatorId"
Enum: "operatorId" "operatorName"

Name for sort

order_direction
string
Default: "asc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

search
string

Search term

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create EMP roaming agreement

Create an EMP roaming agreement for a given OCHP-connection like e-clearing.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
operator_id
required
string^[a-zA-Z0-9-*+]+$

Allow for OCHP operator IDs like DE*WLN, DE-WLN and +49*WLN

operator_name
required
string
Array of objects (OchpAgreementSuboperator)

Sub-operators of the main operator of the EMP roaming agreement

Responses

Request samples

Content type
application/json
{
  • "operator_id": "DE*WLN",
  • "operator_name": "ACME Company",
  • "sub_operators": [
    ]
}

Response samples

Content type
application/json
{
  • "roaming_agreement_id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77",
  • "operator_id": "DE*WLN",
  • "operator_name": "ACME Company",
  • "sub_operators": [
    ]
}

Deletes an EMP roaming agreement

Delete an EMP roaming agreement for a given OCHP-connection

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

roamingAgreementId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

The ID of the roaming agreement (OICP/OCHP)

Responses

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Get a single EMP roaming agreement

Get a single EMP roaming agreement for a given OCHP-connection

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

roamingAgreementId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

The ID of the roaming agreement (OICP/OCHP)

Responses

Response samples

Content type
application/json
{
  • "roaming_agreement_id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77",
  • "operator_id": "DE*WLN",
  • "operator_name": "ACME Company",
  • "sub_operators": [
    ]
}

Update an EMP roaming agreement

Update an EMP roaming agreement for a given OCHP-connection

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

roamingAgreementId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

The ID of the roaming agreement (OICP/OCHP)

Request Body schema: application/json
required
operator_id
required
string^[a-zA-Z0-9-*+]+$

Allow for OCHP operator IDs like DE*WLN, DE-WLN and +49*WLN

operator_name
required
string
Array of objects (OchpAgreementSuboperator)

Sub-operators of the main operator of the EMP roaming agreement

Responses

Request samples

Content type
application/json
{
  • "operator_id": "DE*WLN",
  • "operator_name": "ACME Company",
  • "sub_operators": [
    ]
}

Response samples

Content type
application/json
{
  • "roaming_agreement_id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77",
  • "operator_id": "DE*WLN",
  • "operator_name": "ACME Company",
  • "sub_operators": [
    ]
}

Ochp Provider Communication

Get all occurred communication with the provider regarding the given `sessionId` and organization

Get all occurred communication with the provider regarding the given sessionId and organization

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

sessionId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

The ChargingSession.session_id (UUIDv4)

query Parameters
page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Organizations OCPI CPO Roaming Agreements

Get CPO roaming agreements

Get the list of CPO roaming agreements for connected OCPI Credentials.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
credentialIds
Array of strings[ items^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]... ]

Filter by OcpiCredential.id values

order_by
string
Default: "provider_id"
Enum: "provider_id" "provider_name"

Name for sort

order_direction
string
Default: "asc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

search
string

Search term

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a single CPO roaming agreement

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

roamingAgreementId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

The ID of the roaming agreement (OICP/OCHP)

Responses

Response samples

Content type
application/json
{
  • "credential_id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77",
  • "credential_name": "credential_name",
  • "roaming_agreement_id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77",
  • "provider_id": "DE*WLN",
  • "provider_name": "ACME Company",
  • "status": "active",
  • "billing_contact_name": "Zaki Walter",
  • "billing_contact_email": "zaki@example.org",
  • "vat_tax_id": "DE123456789",
  • "billing_address": {
    },
  • "reverse_charge": true,
  • "internal_invoicing": true,
  • "begin_invoicing_from_date": "2023-04-01"
}

Update a CPO roaming agreement

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

roamingAgreementId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

The ID of the roaming agreement (OICP/OCHP)

Request Body schema: application/json
required
provider_name
required
string
status
required
string
Enum: "active" "inactive"
begin_invoicing_from_date
string <date>

Date

object (Address)
billing_contact_email
string <email> <= 100 characters
billing_contact_name
string <= 100 characters
internal_invoicing
boolean

Flag to control if a Roaming EMP invoice is sent to the provider or treated as an internal document.

reverse_charge
boolean

Flag to control if a reverse charge is applied or not.

vat_tax_id
string <= 20 characters

Responses

Request samples

Content type
application/json
{
  • "provider_name": "ACME Company",
  • "status": "active",
  • "billing_contact_name": "Zaki Walter",
  • "billing_contact_email": "zaki@example.org",
  • "vat_tax_id": "DE123456789",
  • "billing_address": {
    },
  • "reverse_charge": true,
  • "internal_invoicing": true,
  • "begin_invoicing_from_date": "2023-04-01"
}

Response samples

Content type
application/json
{
  • "credential_id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77",
  • "credential_name": "credential_name",
  • "roaming_agreement_id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77",
  • "provider_id": "DE*WLN",
  • "provider_name": "ACME Company",
  • "status": "active",
  • "billing_contact_name": "Zaki Walter",
  • "billing_contact_email": "zaki@example.org",
  • "vat_tax_id": "DE123456789",
  • "billing_address": {
    },
  • "reverse_charge": true,
  • "internal_invoicing": true,
  • "begin_invoicing_from_date": "2023-04-01"
}

Organizations OCPI Credentials

List all OCPI credentials

List all OCPI credentials of the organization.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create new OCPI credential

Create a new OCPI credential of the organization.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
name
required
string

OcpiCredential name

additional_modules
Array of strings
Items Enum: "payment" "giro_e"

List of OCPI modules that are additionally configured for the OCPI partner

auto_renew_token
boolean
Default: true

Flag that indicates if the token should be auto-renewed every 30 days (recommended by OCPI spec)

entrypoint_url
string

Entrypoint (Versions) from remote party

send_cdrs
boolean

Decides whether NAPs will receive CDRs

tech_support_email
string <email>

Tech support for this credential

token_a
string

Exchanged token A to start credentials exchange

zip_filter
Array of strings

list of ZIP codes for which NAPs will receive CDRs

Responses

Request samples

Content type
application/json
{
  • "name": "ACME Company",
  • "auto_renew_token": true,
  • "send_cdrs": true,
  • "zip_filter": [
    ],
  • "tech_support_email": "tech.support@example.com",
  • "additional_modules": [
    ],
  • "token_a": "ACME Company"
}

Response samples

Content type
application/json
{
  • "id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77",
  • "tenant": "dewln",
  • "status": "completed",
  • "name": "ACME Company",
  • "token_a": "token_a",
  • "last_token_update": "2023-04-01T12:00:00+02:00",
  • "auto_renew_token": true,
  • "send_cdrs": true,
  • "zip_filter": [
    ],
  • "endpoint_urls": [
    ],
  • "roles": [
    ],
  • "country_code": "DE",
  • "party_id": "WLN",
  • "business_name": "ACME Company",
  • "last_incoming_api_call": "2023-04-01T12:00:00+02:00",
  • "last_outgoing_api_call": "2023-04-01T12:00:00+02:00",
  • "tech_support_email": "tech.support@example.com",
  • "additional_modules": [
    ]
}

Delete an OCPI credential

Delete an OCPI credential of the organization.

Authorizations:
OAuth2Password
path Parameters
ocpiCredentialId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

The OcpiCredential ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77",
  • "tenant": "dewln",
  • "status": "completed",
  • "name": "ACME Company",
  • "token_a": "token_a",
  • "last_token_update": "2023-04-01T12:00:00+02:00",
  • "auto_renew_token": true,
  • "send_cdrs": true,
  • "zip_filter": [
    ],
  • "endpoint_urls": [
    ],
  • "roles": [
    ],
  • "country_code": "DE",
  • "party_id": "WLN",
  • "business_name": "ACME Company",
  • "last_incoming_api_call": "2023-04-01T12:00:00+02:00",
  • "last_outgoing_api_call": "2023-04-01T12:00:00+02:00",
  • "tech_support_email": "tech.support@example.com",
  • "additional_modules": [
    ]
}

Get an OCPI credential

Get an OCPI credential of the organization.

Authorizations:
OAuth2Password
path Parameters
ocpiCredentialId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

The OcpiCredential ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77",
  • "tenant": "dewln",
  • "status": "completed",
  • "name": "ACME Company",
  • "token_a": "token_a",
  • "last_token_update": "2023-04-01T12:00:00+02:00",
  • "auto_renew_token": true,
  • "send_cdrs": true,
  • "zip_filter": [
    ],
  • "endpoint_urls": [
    ],
  • "roles": [
    ],
  • "country_code": "DE",
  • "party_id": "WLN",
  • "business_name": "ACME Company",
  • "last_incoming_api_call": "2023-04-01T12:00:00+02:00",
  • "last_outgoing_api_call": "2023-04-01T12:00:00+02:00",
  • "tech_support_email": "tech.support@example.com",
  • "additional_modules": [
    ]
}

Update an OCPI credential

Update an OCPI credential of the organization.

Authorizations:
OAuth2Password
path Parameters
ocpiCredentialId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

The OcpiCredential ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
name
required
string

OcpiCredential name

additional_modules
Array of strings
Items Enum: "payment" "giro_e"

List of OCPI modules that are additionally configured for the OCPI partner

auto_renew_token
boolean
Default: true

Flag that indicates if the token should be auto-renewed every 30 days (recommended by OCPI spec)

send_cdrs
boolean

Decides whether NAPs will receive CDRs

tech_support_email
string <email>

Tech support for this credential

zip_filter
Array of strings

list of ZIP codes for which NAPs will receive CDRs

Responses

Request samples

Content type
application/json
{
  • "name": "ACME Company",
  • "auto_renew_token": true,
  • "send_cdrs": true,
  • "zip_filter": [
    ],
  • "tech_support_email": "tech.support@example.com",
  • "additional_modules": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77",
  • "tenant": "dewln",
  • "status": "completed",
  • "name": "ACME Company",
  • "token_a": "token_a",
  • "last_token_update": "2023-04-01T12:00:00+02:00",
  • "auto_renew_token": true,
  • "send_cdrs": true,
  • "zip_filter": [
    ],
  • "endpoint_urls": [
    ],
  • "roles": [
    ],
  • "country_code": "DE",
  • "party_id": "WLN",
  • "business_name": "ACME Company",
  • "last_incoming_api_call": "2023-04-01T12:00:00+02:00",
  • "last_outgoing_api_call": "2023-04-01T12:00:00+02:00",
  • "tech_support_email": "tech.support@example.com",
  • "additional_modules": [
    ]
}

Fetch OCPI credential agreements from Hub

Fetch connected parties from OCPI Hub and create matching OCPI Roaming Agreements.

Authorizations:
OAuth2Password
path Parameters
ocpiCredentialId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

The OcpiCredential ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "key": "key",
  • "value": "value"
}

Refresh an OCPI credential token

Refresh an OCPI credential token (credentials exchange) of the organization.

Authorizations:
OAuth2Password
path Parameters
ocpiCredentialId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

The OcpiCredential ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77",
  • "tenant": "dewln",
  • "status": "completed",
  • "name": "ACME Company",
  • "token_a": "token_a",
  • "last_token_update": "2023-04-01T12:00:00+02:00",
  • "auto_renew_token": true,
  • "send_cdrs": true,
  • "zip_filter": [
    ],
  • "endpoint_urls": [
    ],
  • "roles": [
    ],
  • "country_code": "DE",
  • "party_id": "WLN",
  • "business_name": "ACME Company",
  • "last_incoming_api_call": "2023-04-01T12:00:00+02:00",
  • "last_outgoing_api_call": "2023-04-01T12:00:00+02:00",
  • "tech_support_email": "tech.support@example.com",
  • "additional_modules": [
    ]
}

Organizations OCPI EMP Roaming Agreements

Get EMP roaming agreements

Get the list of EMP roaming agreements for connected OCPI Credentials.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
credentialIds
Array of strings[ items^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]... ]

Filter by OcpiCredential.id values

order_by
string
Default: "operator_id"
Enum: "operator_id" "operator_name"

Name for sort

order_direction
string
Default: "asc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

search
string

Search term

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a single EMP roaming agreement

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

roamingAgreementId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

The ID of the roaming agreement (OICP/OCHP)

Responses

Response samples

Content type
application/json
{
  • "credential_id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77",
  • "credential_name": "credential_name",
  • "roaming_agreement_id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77",
  • "operator_id": "DE*WLN",
  • "operator_name": "ACME Company",
  • "status": "active"
}

Update an EMP roaming agreement

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

roamingAgreementId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

The ID of the roaming agreement (OICP/OCHP)

Request Body schema: application/json
required
operator_name
required
string
status
required
string
Enum: "active" "inactive"

Responses

Request samples

Content type
application/json
{
  • "operator_name": "ACME Company",
  • "status": "active"
}

Response samples

Content type
application/json
{
  • "credential_id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77",
  • "credential_name": "credential_name",
  • "roaming_agreement_id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77",
  • "operator_id": "DE*WLN",
  • "operator_name": "ACME Company",
  • "status": "active"
}

Ocpi Provider Communication

Get all occurred communication with the provider regarding the given `sessionId` and organization

Get all occurred communication with the provider regarding the given sessionId and organization

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

sessionId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

The ChargingSession.session_id (UUIDv4)

query Parameters
page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Oicp Connection Configuration

Get OICP adapter connection configuration

Get OICP adapter connection configuration for given connection_id

Authorizations:
OAuth2Password
path Parameters
connection
required
string
Value: "hubject"

The roaming connection ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "connection_id": "hubject",
  • "blocked_evse_prefixes": "RO,IT,PL",
  • "has_evse_pricing": true
}

Update OICP adapter connection configuration

Update OICP adapter connection configuration for set connection_id

Authorizations:
OAuth2Password
path Parameters
connection
required
string
Value: "hubject"

The roaming connection ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
blocked_evse_prefixes
string

Comma separated list of prefixes for EVSEs, where roaming charging should not be possible

has_evse_pricing
boolean

Flag that indicates if the EVSEs uploaded for this connection have a (individual) pricing

Responses

Request samples

Content type
application/json
{
  • "blocked_evse_prefixes": "RO,IT,PL",
  • "has_evse_pricing": true
}

Response samples

Content type
application/json
{
  • "connection_id": "hubject",
  • "blocked_evse_prefixes": "RO,IT,PL",
  • "has_evse_pricing": true
}

Get OICP adapter connection configuration

Get OICP adapter connection configuration

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Oicp Provider Communication

Get all occurred communication with the provider regarding the given `sessionId` and organization

Get all occurred communication with the provider regarding the given sessionId and organization

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

sessionId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

The ChargingSession.session_id (UUIDv4)

query Parameters
page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Organizations CPO Roaming Agreements OICP

Get CPO roaming agreements

Get the list of CPO roaming agreements for a given OICP-connection like hubject.

Authorizations:
OAuth2Password
path Parameters
connection
required
string
Value: "hubject"

The roaming connection ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
order_by
string
Default: "provider_id"
Enum: "provider_id" "valid_from" "valid_to"

Name for sort

order_direction
string
Default: "asc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

search
string

Search term

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create CPO roaming agreement

Create a CPO roaming agreement for a given OICP-connection like hubject.

Authorizations:
OAuth2Password
path Parameters
connection
required
string
Value: "hubject"

The roaming connection ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
provider_id
required
string^([A-Za-z]{2}\-?[A-Za-z0-9]{3}|[A-Za-z]{2}[\*...

OICP Provider ID in ISO 15118-1 (DEWLN, DE-WLN) or DIN SPEC 91286:2011-11 (DE*WLN) format

provider_name
required
string
valid_from
required
string <date-time>

Date and time

valid_to
required
string <date-time>

Date and time

object (Address)
billing_contact_email
string <email>
billing_contact_name
string
cancelled_to
string <date-time>

Date and time

reverse_charge
boolean

Flag to control if a reverse charge is applied or not.

Array of objects (OicpAgreementSubprovider)

Sub-providers of the main provider of the CPO roaming agreement

vat_tax_id
string

Responses

Request samples

Content type
application/json
{
  • "provider_id": "DE-WLN",
  • "provider_name": "ACME Company",
  • "sub_providers": [
    ],
  • "billing_contact_name": "Zaki Walter",
  • "billing_contact_email": "zaki@example.org",
  • "valid_from": "2023-04-01T12:00:00+02:00",
  • "valid_to": "2023-04-01T12:00:00+02:00",
  • "cancelled_to": "2023-04-01T12:00:00+02:00",
  • "vat_tax_id": "DE123456789",
  • "billing_address": {
    },
  • "reverse_charge": true
}

Response samples

Content type
application/json
{
  • "roaming_agreement_id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77",
  • "provider_id": "DE-WLN",
  • "provider_name": "ACME Company",
  • "sub_providers": [
    ],
  • "billing_contact_name": "Zaki Walter",
  • "billing_contact_email": "zaki@example.org",
  • "valid_from": "2023-04-01T12:00:00+02:00",
  • "valid_to": "2023-04-01T12:00:00+02:00",
  • "cancelled_to": "2023-04-01T12:00:00+02:00",
  • "vat_tax_id": "DE123456789",
  • "billing_address": {
    },
  • "reverse_charge": true
}

Deletes a CPO roaming agreement

Delete a CPO roaming agreement for a given OICP-connection like hubject and the ID of the roaming agreement

Authorizations:
OAuth2Password
path Parameters
connection
required
string
Value: "hubject"

The roaming connection ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

roamingAgreementId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

The ID of the roaming agreement (OICP/OCHP)

Responses

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Get a single CPO roaming agreement

Get a single CPO roaming agreement for a given OICP-connection like hubject and the ID of the roaming agreement

Authorizations:
OAuth2Password
path Parameters
connection
required
string
Value: "hubject"

The roaming connection ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

roamingAgreementId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

The ID of the roaming agreement (OICP/OCHP)

Responses

Response samples

Content type
application/json
{
  • "roaming_agreement_id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77",
  • "provider_id": "DE-WLN",
  • "provider_name": "ACME Company",
  • "sub_providers": [
    ],
  • "billing_contact_name": "Zaki Walter",
  • "billing_contact_email": "zaki@example.org",
  • "valid_from": "2023-04-01T12:00:00+02:00",
  • "valid_to": "2023-04-01T12:00:00+02:00",
  • "cancelled_to": "2023-04-01T12:00:00+02:00",
  • "vat_tax_id": "DE123456789",
  • "billing_address": {
    },
  • "reverse_charge": true
}

Update a CPO roaming agreement

Update a CPO roaming agreement for a given OICP-connection like hubject and the ID of the roaming agreement

Authorizations:
OAuth2Password
path Parameters
connection
required
string
Value: "hubject"

The roaming connection ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

roamingAgreementId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

The ID of the roaming agreement (OICP/OCHP)

Request Body schema: application/json
required
provider_id
required
string^([A-Za-z]{2}\-?[A-Za-z0-9]{3}|[A-Za-z]{2}[\*...

OICP Provider ID in ISO 15118-1 (DEWLN, DE-WLN) or DIN SPEC 91286:2011-11 (DE*WLN) format

provider_name
required
string
valid_from
required
string <date-time>

Date and time

valid_to
required
string <date-time>

Date and time

object (Address)
billing_contact_email
string <email>
billing_contact_name
string
cancelled_to
string <date-time>

Date and time

reverse_charge
boolean

Flag to control if a reverse charge is applied or not.

Array of objects (OicpAgreementSubprovider)

Sub-providers of the main provider of the CPO roaming agreement

vat_tax_id
string

Responses

Request samples

Content type
application/json
{
  • "provider_id": "DE-WLN",
  • "provider_name": "ACME Company",
  • "sub_providers": [
    ],
  • "billing_contact_name": "Zaki Walter",
  • "billing_contact_email": "zaki@example.org",
  • "valid_from": "2023-04-01T12:00:00+02:00",
  • "valid_to": "2023-04-01T12:00:00+02:00",
  • "cancelled_to": "2023-04-01T12:00:00+02:00",
  • "vat_tax_id": "DE123456789",
  • "billing_address": {
    },
  • "reverse_charge": true
}

Response samples

Content type
application/json
{
  • "roaming_agreement_id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77",
  • "provider_id": "DE-WLN",
  • "provider_name": "ACME Company",
  • "sub_providers": [
    ],
  • "billing_contact_name": "Zaki Walter",
  • "billing_contact_email": "zaki@example.org",
  • "valid_from": "2023-04-01T12:00:00+02:00",
  • "valid_to": "2023-04-01T12:00:00+02:00",
  • "cancelled_to": "2023-04-01T12:00:00+02:00",
  • "vat_tax_id": "DE123456789",
  • "billing_address": {
    },
  • "reverse_charge": true
}

Organizations EMP Roaming Agreements OICP

Get EMP roaming agreements

Get the list of EMP roaming agreements for a given OICP-connection like hubject.

Authorizations:
OAuth2Password
path Parameters
connection
required
string
Value: "hubject"

The roaming connection ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
order_by
string
Default: "operatorId"
Enum: "operatorId" "agreementUntil"

Name for sort

order_direction
string
Default: "asc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

search
string

Search term

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create EMP roaming agreement

Create an EMP roaming agreement for a given OICP-connection like hubject.

Authorizations:
OAuth2Password
path Parameters
connection
required
string
Value: "hubject"

The roaming connection ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
agreement_until
required
string <date-time>

The expiry date and time of the CPO Service offer

operator_id
required
string^(([A-Za-z]{2}\*?[A-Za-z0-9]{3})|(\+?[0-9]{1,...

OICP Operator ID in ISO 15118 (DE*WLN, DEWLN) or DIN SPEC 91286:2011-11 (+49*123) format

operator_name
required
string
Array of objects (OicpAgreementSuboperator)

Sub-operators of the main operator of the EMP roaming agreement

Responses

Request samples

Content type
application/json
{
  • "operator_id": "DE*WLN",
  • "operator_name": "ACME Company",
  • "agreement_until": "2023-04-01T12:00:00+02:00",
  • "sub_operators": [
    ]
}

Response samples

Content type
application/json
{
  • "roaming_agreement_id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77",
  • "operator_id": "DE*WLN",
  • "operator_name": "ACME Company",
  • "agreement_until": "2023-04-01T12:00:00+02:00",
  • "sub_operators": [
    ]
}

Deletes an EMP roaming agreement with the given roaming agreement ID

Delete an EMP roaming agreement for a given OICP-connection like hubject and with the given roaming agreement ID

Authorizations:
OAuth2Password
path Parameters
connection
required
string
Value: "hubject"

The roaming connection ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

roamingAgreementId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

The ID of the roaming agreement (OICP/OCHP)

Responses

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Get a single EMP roaming agreement

Get a single EMP roaming agreement for a given OICP-connection like hubject and the ID of the roaming agreement

Authorizations:
OAuth2Password
path Parameters
connection
required
string
Value: "hubject"

The roaming connection ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

roamingAgreementId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

The ID of the roaming agreement (OICP/OCHP)

Responses

Response samples

Content type
application/json
{
  • "roaming_agreement_id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77",
  • "operator_id": "DE*WLN",
  • "operator_name": "ACME Company",
  • "agreement_until": "2023-04-01T12:00:00+02:00",
  • "sub_operators": [
    ]
}

Update an EMP roaming agreement

Update an EMP roaming agreement for a given OICP-connection like hubject and the ID of the roaming agreement

Authorizations:
OAuth2Password
path Parameters
connection
required
string
Value: "hubject"

The roaming connection ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

roamingAgreementId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

The ID of the roaming agreement (OICP/OCHP)

Request Body schema: application/json
required
agreement_until
required
string <date-time>

The expiry date and time of the CPO Service offer

operator_id
required
string^(([A-Za-z]{2}\*?[A-Za-z0-9]{3})|(\+?[0-9]{1,...

OICP Operator ID in ISO 15118 (DE*WLN, DEWLN) or DIN SPEC 91286:2011-11 (+49*123) format

operator_name
required
string
Array of objects (OicpAgreementSuboperator)

Sub-operators of the main operator of the EMP roaming agreement

Responses

Request samples

Content type
application/json
{
  • "operator_id": "DE*WLN",
  • "operator_name": "ACME Company",
  • "agreement_until": "2023-04-01T12:00:00+02:00",
  • "sub_operators": [
    ]
}

Response samples

Content type
application/json
{
  • "roaming_agreement_id": "54e7c70d-fa97-11e7-b20f-00ffa96d3a77",
  • "operator_id": "DE*WLN",
  • "operator_name": "ACME Company",
  • "agreement_until": "2023-04-01T12:00:00+02:00",
  • "sub_operators": [
    ]
}

Create/Update an EMP roaming agreements from a CSV file

Import a CSV file of roaming agreements with hubject CPOs

Authorizations:
OAuth2Password
path Parameters
connection
required
string
Value: "hubject"

The roaming connection ID

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

header Parameters
Content-Type
required
string
Default: text/csv
Value: "text/csv"

Controls the Content-Type of the request.

Request Body schema: text/csv
required

File upload

string <binary>

Responses

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Organizations Router

Returns public information about all routers in the database

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

search
string

Search term

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new router

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
mac
required
string^([0-9A-Fa-f]{2}\:){5}[0-9A-Fa-f]{2}$

Device's LAN mac address

owner
required
string
Default: ""

Identification string for the owner where the device is deployed

password
required
string <password> <= 255 characters

Password for accessing the router

serial
required
string^[0-9]{10}$

10 digit serial number

name
string
Default: ""

Device's name that shall be displayed in RMS. WriteOnly -> will not be returned from API!

Responses

Request samples

Content type
application/json
{
  • "serial": "1234567890",
  • "model": "RUT950",
  • "device_code": "RUT950U02XXX",
  • "firmware_version": "RUT9M_R_GPL_00.07.17.1",
  • "mac": "00:00:00:00:00:00",
  • "hostname": "SN1234567890.routers.wirelane.com",
  • "ip": "127.0.0.1",
  • "ipv6": "2002:ff9b:1::1:1",
  • "ipv6_subnet": "2002:ff9b:1::/48",
  • "online": true,
  • "deployment_state": "UNCONFIGURED",
  • "name": "",
  • "owner": "dewln",
  • "password": "RoUt3r!P@ssw0rd"
}

Response samples

Content type
application/json
{
  • "serial": "1234567890",
  • "model": "RUT950",
  • "device_code": "RUT950U02XXX",
  • "firmware_version": "RUT9M_R_GPL_00.07.17.1",
  • "mac": "00:00:00:00:00:00",
  • "hostname": "SN1234567890.routers.wirelane.com",
  • "ip": "127.0.0.1",
  • "ipv6": "2002:ff9b:1::1:1",
  • "ipv6_subnet": "2002:ff9b:1::/48",
  • "online": true,
  • "deployment_state": "UNCONFIGURED",
  • "name": "",
  • "owner": "dewln",
  • "password": "RoUt3r!P@ssw0rd",
  • "manual_payment_terminal_discovery_support": true
}

Schedules a router for deletion

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

serial
required
string^[0-9]{10}$

10 digit serial number

Responses

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Get one router of the serial from organization

Get a single router of the serial from organization

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

serial
required
string^[0-9]{10}$

10 digit serial number

Responses

Response samples

Content type
application/json
{
  • "serial": "1234567890",
  • "model": "RUT950",
  • "device_code": "RUT950U02XXX",
  • "firmware_version": "RUT9M_R_GPL_00.07.17.1",
  • "mac": "00:00:00:00:00:00",
  • "hostname": "SN1234567890.routers.wirelane.com",
  • "ip": "127.0.0.1",
  • "ipv6": "2002:ff9b:1::1:1",
  • "ipv6_subnet": "2002:ff9b:1::/48",
  • "online": true,
  • "deployment_state": "UNCONFIGURED",
  • "name": "",
  • "owner": "dewln",
  • "password": "RoUt3r!P@ssw0rd",
  • "manual_payment_terminal_discovery_support": true
}

Updates information for a router

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

serial
required
string^[0-9]{10}$

10 digit serial number

Request Body schema: application/json
required
owner
required
string

Identification string for the owner where the device is deployed

Responses

Request samples

Content type
application/json
{
  • "owner": "dewln"
}

Response samples

Content type
application/json
{
  • "serial": "1234567890",
  • "model": "RUT950",
  • "device_code": "RUT950U02XXX",
  • "firmware_version": "RUT9M_R_GPL_00.07.17.1",
  • "mac": "00:00:00:00:00:00",
  • "hostname": "SN1234567890.routers.wirelane.com",
  • "ip": "127.0.0.1",
  • "ipv6": "2002:ff9b:1::1:1",
  • "ipv6_subnet": "2002:ff9b:1::/48",
  • "online": true,
  • "deployment_state": "UNCONFIGURED",
  • "name": "",
  • "owner": "dewln",
  • "password": "RoUt3r!P@ssw0rd",
  • "manual_payment_terminal_discovery_support": true
}

Deploys an OpenWRT configuration on the router with the given serial using Teltonikas RMS

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

serial
required
string^[0-9]{10}$

10 digit serial number

Responses

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Reset router VPN connection

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

serial
required
string^[0-9]{10}$

10 digit serial number

Responses

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Organizations Sessions

Get charging sessions of the organization

Get charging sessions conducted on the organization infrastructure

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
charge_point_id
Array of strings

Filter by list of charge_point_id

charging_point_id
string^[a-zA-Z0-9-_*+]+$

Charging Point ID

date_picker_since
string <date-time>

The date time to search from

date_picker_until
string <date-time>

The date time to search to

evseid
Array of strings

Filter by list of evseids

identification
string <= 50 characters

Value of the identification to filter for

identification_type
Array of strings
Items Enum: "access_token" "admin_remotestart" "auth_token" "contactless_payment" "contract_id" "customer_id" "customer_rfid" "direct_payment" "local_authorization" "local_payment" "giroe" "none_access_token" "rfid"

Type of the identification

  • access_token: Mobile App (v1.5, deprecated since '22)
  • admin_remotestart: OCPP RemoteStart by Admin
  • auth_token: Mobile App (v1, deprecated since '22)
  • contactless_payment: Direct Payment at Charging Station
  • contract_id: Roaming Contract ID
  • customer_id: Mobile App
  • customer_rfid: Mobile App (RFID Login)
  • direct_payment: Direct Payment via Website
  • local_authorization: Local Authorization at Charging Station
  • local_payment: Local Payment at Charging Station
  • giroe: Local Payment at Charging Station
  • none_access_token: Direct Payment (v1, deprecated since '21)
  • rfid: RFID Card
order_by
string
Default: "creationDate"
Enum: "sessionId" "evseid" "price" "kwh" "creationDate"

Name for sort

order_direction
string
Default: "desc"
Enum: "asc" "desc"

Key for order direction

organization_type
Array of strings
Items Enum: "emp" "cpo" "owner"

Type of the organization

owner_id
Array of strings

Filter by list of owner_id

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

priceModelId
string

The PriceModel.price_id to filter for

search
string

Search term

status
Array of strings

The charging session status to search for:

  • initial
  • authorization_pending
  • start_accepted
  • start_pending
  • started
  • stop_accepted
  • stop_pending
  • stopped
  • closed
  • canceled
  • error
  • error_consecutive_start
tariffId
string

The Tariff.tariff_id to filter for

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get one session from organization

Get a single charging session conducted on the organization infrastructure

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

sessionId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

The ChargingSession.session_id (UUIDv4)

Responses

Response samples

Content type
application/json
{
  • "session_id": "d8d195c0-900e-41f1-b239-0456855d81c2",
  • "short_session_id": "d8d195c0",
  • "customer_id": "`DEWLN-0123456789` for registered user, `ROAM-DE*CUST*987654321` for example when coming from Roaming providers",
  • "customer_email": "customer@example.com",
  • "card_number": "WIRELANE123456",
  • "card_short_reference": "CarXYZ",
  • "language": "de",
  • "evseid": "DESGDE000801",
  • "owner": "WIRELANE-2500781",
  • "emp": "desgd",
  • "cpo": "eclearing",
  • "plug_type": "TYPE_2",
  • "charging_type": "AC",
  • "country": "DE",
  • "city": "Schwäbisch Gmünd",
  • "zip_code": "73525",
  • "street": "Honiggasse",
  • "house_number": "21",
  • "tariff": "LADEPAY_01",
  • "tariff_text": "tariff_text",
  • "price_model": "desgd_ladepay_01",
  • "price_model_text": "price_model_text",
  • "identification": "e6f252d6-30a0-5416-8533-126335a2ad2d",
  • "identification_type": "access_token",
  • "session_begin": "2023-04-01T12:00:00+02:00",
  • "session_end": "2023-04-01T12:00:00+02:00",
  • "timezone": "Europe/Berlin",
  • "duration": 68,
  • "session_duration": 68,
  • "kwh": 17.46,
  • "has_signed_value": true,
  • "totalPrice": {
    },
  • "charging_session_type": "comfort_charging",
  • "status": "closed",
  • "meter_start": 1541678196,
  • "meter_stop": 1541678196,
  • "error_code": "invalid_meter_values",
  • "error_message": "Manually closed because of time out",
  • "roaming_provider": "eclearing",
  • "secret": "4D9FEC1EE17BBC224A14CAD439E5C0AD11AFFCF9301F318DFA23C1CBBC736135",
  • "location": {
    },
  • "customer": {
    },
  • "cpo_session_id": "19eea288-1ee1-5aa9-b258-38fea1df55f3",
  • "customer_membership_owner": "wirelane",
  • "charging_station_id": "98fd4f3a554f33c12eca9b5e2e4b369a",
  • "charging_point_id": "00eb08a9b45c69a4f9f14982a0095e12",
  • "charge_point_id": "DESGDE000801-2",
  • "sf_asset_id": "00055c6800055c68ab",
  • "sf_cp_id": "00055c6800055c68ab",
  • "asset_id": "00055c68-db40-4484-b11c-11a6b6ea7ea0",
  • "charging_provider": "wirelane",
  • "cpo_created": true,
  • "process_begin": "2023-04-01T12:00:00+02:00",
  • "process_end": "2023-04-01T12:00:00+02:00",
  • "transaction_begin": "2023-04-01T12:00:00+02:00",
  • "transaction_end": "2023-04-01T12:00:00+02:00",
  • "transaction_duration": 68,
  • "creation_date": "2023-04-01T12:00:00+02:00",
  • "update_date": "2023-04-01T12:00:00+02:00",
  • "roaming_session_id": "fffa4a27-8112-463c-a0a9-222d76b6f96b",
  • "startFeePrice": {
    },
  • "energyDimensionsPrice": {
    },
  • "timeDimensionsPrice": {
    },
  • "limit_price": 50,
  • "limit_kwh": 35,
  • "limit_duration": 600,
  • "maintenance": true
}

Shows how the price was calculated based on the tariff/service-level data of the session

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

sessionId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

The ChargingSession.session_id (UUIDv4)

Responses

Response samples

Content type
application/json
{
  • "charging_periods": [
    ],
  • "total": {
    },
  • "startFeePrice": {
    },
  • "energyDimensionsPrice": {
    },
  • "timeDimensionsPrice": {
    },
  • "total_usage": {
    }
}

Detailed price overview on how the price would be calculated for a recalculation

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

sessionId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

The ChargingSession.session_id (UUIDv4)

Responses

Response samples

Content type
application/json
{
  • "charging_periods": [
    ],
  • "total": {
    },
  • "startFeePrice": {
    },
  • "energyDimensionsPrice": {
    },
  • "timeDimensionsPrice": {
    },
  • "total_usage": {
    }
}

Recalculates the given charging session if not already invoiced

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

sessionId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

The ChargingSession.session_id (UUIDv4)

Request Body schema: application/json
optional
mode
string
Default: "auto"
Enum: "none" "auto" "manual"
  • auto: this triggers a lookup to the context-search to get the right tariff and service level
  • none: only the values (service_level/tariff etc.) from the session record itself is used for recalculation
  • manual: when chosen, you need to provide values for the options service_level_key, service_level_title, tariff_key and tariff_title so that these will be used for recalculation
service_level_key
string

if mode is set to manual, a service level key must be specified

service_level_title
string

if mode is set to manual, a service level text must be specified

tariff_key
string

if mode is set to manual, a tariff key must be specified

tariff_title
string

if mode is set to manual, a tariff text must be specified

Responses

Request samples

Content type
application/json
{
  • "mode": "auto",
  • "service_level_key": "dewln-894-7961",
  • "service_level_title": "Wirelane Hubject EMP Pull DE",
  • "tariff_key": "6260351e8dea9",
  • "tariff_title": "0,49€/kWh + 0,05€/min nach 180min"
}

Response samples

Content type
application/json
{
  • "session_id": "d8d195c0-900e-41f1-b239-0456855d81c2",
  • "short_session_id": "d8d195c0",
  • "customer_id": "`DEWLN-0123456789` for registered user, `ROAM-DE*CUST*987654321` for example when coming from Roaming providers",
  • "customer_email": "customer@example.com",
  • "card_number": "WIRELANE123456",
  • "card_short_reference": "CarXYZ",
  • "language": "de",
  • "evseid": "DESGDE000801",
  • "owner": "WIRELANE-2500781",
  • "emp": "desgd",
  • "cpo": "eclearing",
  • "plug_type": "TYPE_2",
  • "charging_type": "AC",
  • "country": "DE",
  • "city": "Schwäbisch Gmünd",
  • "zip_code": "73525",
  • "street": "Honiggasse",
  • "house_number": "21",
  • "tariff": "LADEPAY_01",
  • "tariff_text": "tariff_text",
  • "price_model": "desgd_ladepay_01",
  • "price_model_text": "price_model_text",
  • "identification": "e6f252d6-30a0-5416-8533-126335a2ad2d",
  • "identification_type": "access_token",
  • "session_begin": "2023-04-01T12:00:00+02:00",
  • "session_end": "2023-04-01T12:00:00+02:00",
  • "timezone": "Europe/Berlin",
  • "duration": 68,
  • "session_duration": 68,
  • "kwh": 17.46,
  • "has_signed_value": true,
  • "totalPrice": {
    },
  • "charging_session_type": "comfort_charging",
  • "status": "closed",
  • "meter_start": 1541678196,
  • "meter_stop": 1541678196,
  • "error_code": "invalid_meter_values",
  • "error_message": "Manually closed because of time out",
  • "roaming_provider": "eclearing",
  • "secret": "4D9FEC1EE17BBC224A14CAD439E5C0AD11AFFCF9301F318DFA23C1CBBC736135",
  • "location": {
    },
  • "customer": {
    },
  • "cpo_session_id": "19eea288-1ee1-5aa9-b258-38fea1df55f3",
  • "customer_membership_owner": "wirelane",
  • "charging_station_id": "98fd4f3a554f33c12eca9b5e2e4b369a",
  • "charging_point_id": "00eb08a9b45c69a4f9f14982a0095e12",
  • "charge_point_id": "DESGDE000801-2",
  • "sf_asset_id": "00055c6800055c68ab",
  • "sf_cp_id": "00055c6800055c68ab",
  • "asset_id": "00055c68-db40-4484-b11c-11a6b6ea7ea0",
  • "charging_provider": "wirelane",
  • "cpo_created": true,
  • "process_begin": "2023-04-01T12:00:00+02:00",
  • "process_end": "2023-04-01T12:00:00+02:00",
  • "transaction_begin": "2023-04-01T12:00:00+02:00",
  • "transaction_end": "2023-04-01T12:00:00+02:00",
  • "transaction_duration": 68,
  • "creation_date": "2023-04-01T12:00:00+02:00",
  • "update_date": "2023-04-01T12:00:00+02:00",
  • "roaming_session_id": "fffa4a27-8112-463c-a0a9-222d76b6f96b",
  • "startFeePrice": {
    },
  • "energyDimensionsPrice": {
    },
  • "timeDimensionsPrice": {
    },
  • "limit_price": 50,
  • "limit_kwh": 35,
  • "limit_duration": 600,
  • "maintenance": true
}

Get receipt info by one session from organization

Get receipt by a single charging session conducted on the organization infrastructure

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

sessionId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

The ChargingSession.session_id (UUIDv4)

Responses

Response samples

Content type
application/json
{
  • "id": "2023-06-00023",
  • "date": "2023-04-01T12:00:00+02:00",
  • "period_begin": "2023-04-01",
  • "period_end": "2023-04-01",
  • "price": 4.12,
  • "currency": "EUR",
  • "payment_method_type": "payment_method_type",
  • "released": true,
  • "tenant": "dewln",
  • "status": "PAID",
  • "batched": true,
  • "emp": "dewln",
  • "cpo": "dewln",
  • "customer_id": "DEWLN-0123456789",
  • "paymentTransactionId": "017c1115-a0c3-49cd-9660-067a3968e3cc",
  • "paymentTransactionProcessor": "novalnet_adhoc",
  • "refundable": true,
  • "owner": "dewln"
}

Signed meter value for charging session

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

sessionId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

The ChargingSession.session_id (UUIDv4)

Responses

Response samples

Content type
application/json
{}

Stop a charging session

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

sessionId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

The ChargingSession.session_id (UUIDv4)

Responses

Response samples

Content type
application/json
{
  • "session_id": "d8d195c0-900e-41f1-b239-0456855d81c2",
  • "short_session_id": "d8d195c0",
  • "customer_id": "`DEWLN-0123456789` for registered user, `ROAM-DE*CUST*987654321` for example when coming from Roaming providers",
  • "customer_email": "customer@example.com",
  • "card_number": "WIRELANE123456",
  • "card_short_reference": "CarXYZ",
  • "language": "de",
  • "evseid": "DESGDE000801",
  • "owner": "WIRELANE-2500781",
  • "emp": "desgd",
  • "cpo": "eclearing",
  • "plug_type": "TYPE_2",
  • "charging_type": "AC",
  • "country": "DE",
  • "city": "Schwäbisch Gmünd",
  • "zip_code": "73525",
  • "street": "Honiggasse",
  • "house_number": "21",
  • "tariff": "LADEPAY_01",
  • "tariff_text": "tariff_text",
  • "price_model": "desgd_ladepay_01",
  • "price_model_text": "price_model_text",
  • "identification": "e6f252d6-30a0-5416-8533-126335a2ad2d",
  • "identification_type": "access_token",
  • "session_begin": "2023-04-01T12:00:00+02:00",
  • "session_end": "2023-04-01T12:00:00+02:00",
  • "timezone": "Europe/Berlin",
  • "duration": 68,
  • "session_duration": 68,
  • "kwh": 17.46,
  • "has_signed_value": true,
  • "totalPrice": {
    },
  • "charging_session_type": "comfort_charging",
  • "status": "closed",
  • "meter_start": 1541678196,
  • "meter_stop": 1541678196,
  • "error_code": "invalid_meter_values",
  • "error_message": "Manually closed because of time out",
  • "roaming_provider": "eclearing",
  • "secret": "4D9FEC1EE17BBC224A14CAD439E5C0AD11AFFCF9301F318DFA23C1CBBC736135",
  • "location": {
    },
  • "customer": {
    },
  • "cpo_session_id": "19eea288-1ee1-5aa9-b258-38fea1df55f3",
  • "customer_membership_owner": "wirelane",
  • "charging_station_id": "98fd4f3a554f33c12eca9b5e2e4b369a",
  • "charging_point_id": "00eb08a9b45c69a4f9f14982a0095e12",
  • "charge_point_id": "DESGDE000801-2",
  • "sf_asset_id": "00055c6800055c68ab",
  • "sf_cp_id": "00055c6800055c68ab",
  • "asset_id": "00055c68-db40-4484-b11c-11a6b6ea7ea0",
  • "charging_provider": "wirelane",
  • "cpo_created": true,
  • "process_begin": "2023-04-01T12:00:00+02:00",
  • "process_end": "2023-04-01T12:00:00+02:00",
  • "transaction_begin": "2023-04-01T12:00:00+02:00",
  • "transaction_end": "2023-04-01T12:00:00+02:00",
  • "transaction_duration": 68,
  • "creation_date": "2023-04-01T12:00:00+02:00",
  • "update_date": "2023-04-01T12:00:00+02:00",
  • "roaming_session_id": "fffa4a27-8112-463c-a0a9-222d76b6f96b",
  • "startFeePrice": {
    },
  • "energyDimensionsPrice": {
    },
  • "timeDimensionsPrice": {
    },
  • "limit_price": 50,
  • "limit_kwh": 35,
  • "limit_duration": 600,
  • "maintenance": true
}

Remote start a new session via RFID or Customer-ID

Start a new session as an administrator by passing either an RFID identifier or the customer ID to identify the customer to be billed for the session.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
charge_point_id
required
string

ID of the Charging Point, also known as label code

identification
required
string

Identification of the customer

identification_type
required
string
Enum: "customer_id" "rfid"

Identification type of the customer.

  • customer_id: Customer ID
  • rfid: RFID Card

Responses

Request samples

Content type
application/json
{
  • "identification_type": "customer_id",
  • "identification": "`DEWLNC67578275` for `customer_id` or `04597a3a8b6680` for `rfid`",
  • "charge_point_id": "DE*WLN*4619-1"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "Remote start performed successfully."
}

Get charging session statistics of the organization

Get a single charging session conducted on the organization infrastructure

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
charge_point_id
Array of strings

Filter by list of charge_point_id

charging_type
Array of strings
Items Enum: "AC" "DC"

The charging type.

date_picker_since
string <date-time>

The date time to search from

date_picker_until
string <date-time>

The date time to search to

evseid
string^[a-zA-Z0-9-_*]+$

The ID to search for

organization_type
Array of strings
Items Enum: "emp" "cpo" "owner"

Type of the organization

owner_id
Array of strings

Filter by list of owner_id

Responses

Response samples

Content type
application/json
{
  • "consumption": {
    },
  • "sessions": {
    },
  • "revenue": {
    },
  • "revenue_gross": {
    },
  • "revenue_net": {
    },
  • "occupancy": {
    },
  • "avg_session_duration": 5.637376656633329,
  • "avg_session_comsumption": 2.3021358869347655,
  • "payment_method": "card",
  • "avg_session_revenue": 7.061401241503109,
  • "avg_session_revenue_gross": 9.301444243932576,
  • "avg_session_revenue_net": 3.616076749251911,
  • "unique_customers_total": 2.027123023002322,
  • "customer_charging_count_avg": 4.145608029883936,
  • "started_sessions_by_hour_of_day_json": "{\"00\": 1, \"01\": 2, \"02\": 10, ..., \"22\": 4, \"23\": 0}"
}

Organizations Sessions Payments

Lists payment authorizations for a specific session

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

sessionId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

The ChargingSession.session_id (UUIDv4)

query Parameters
order_by
string
Default: "creationDate"
Value: "creationDate"

Name for sort

order_direction
string
Default: "desc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

payment_state
Array of strings
Items Enum: "INITIALIZE" "VOIDED" "COMPLETED" "PENDING" "SUBMITTED" "ERROR"

Filter by payment state

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Lists payment transactions for a specific session

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

sessionId
required
string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...

The ChargingSession.session_id (UUIDv4)

query Parameters
order_by
string
Default: "creationDate"
Value: "creationDate"

Name for sort

order_direction
string
Default: "desc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

payment_state
Array of strings
Items Enum: "INITIALIZE" "AUTHORIZED_EXPIRED" "EXPIRED" "PENDING" "COMPLETED" "REFUNDED" "PARTIALLY_REFUNDED" "GATEWAY_DECLINED" "PROCESSOR_DECLINED" "SETTLEMENT_DECLINED" "VOIDED" "FAILED" "CHARGEBACK" "PAID_UNKNOWN_PENDING" "PAID_UNKNOWN_REFUNDED" "PARTIALLY_PAID"

Filter by payment state

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Organizations Charging Stations OCPP Logs

Retrieve OCPP Logs for a specific connector

Get OCPP logs for a single connector

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

scmId
required
string^[a-zA-Z0-9]+$

The Scm-ID of the connector. See Connector.scm_id

stationId
required
integer

The ID to search for.

query Parameters
date_picker_since
required
string <date-time>

The date time to search from

date_picker_until
required
string <date-time>

The date time to search to

message_pair_status
Array of strings
Items Enum: "COMPLETE" "ERROR" "EXCEPTION" "PENDING" "SCHEDULED" "TIMED_OUT"

Message pair status

message_types
Array of strings
Items Enum: "Authorize" "BootNotification" "CancelReservation" "ChangeAvailability" "ChangeConfiguration" "ClearCache" "ClearChargingProfile" "DataTransfer" "GetCompositeSchedule" "DiagnosticsStatusNotification" "FirmwareStatusNotification" "GetConfiguration" "GetDiagnostics" "GetLocalListVersion" "Heartbeat" "MeterValues" "RemoteStartTransaction" "RemoteStopTransaction" "ReserveNow" "Reset" "SendLocalList" "SetChargingProfile" "StartTransaction" "StatusNotification" "StopTransaction" "TriggerMessage" "UnlockConnector" "UpdateFirmware"

Message pair types

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve OCPP Logs Statistics for a Specific Connector

Get OCPP log statistics for a single connector

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

scmId
required
string^[a-zA-Z0-9]+$

The Scm-ID of the connector. See Connector.scm_id

stationId
required
integer

The ID to search for.

query Parameters
date_picker_since
required
string <date-time>

The date time to search from

date_picker_until
required
string <date-time>

The date time to search to

Responses

Response samples

Content type
application/json
{
  • "actions": [
    ],
  • "errors": [
    ],
  • "errors_dispersion": [
    ]
}

Retrieve OCPP Logs for specific charging station

Get OCPP logs for a single station

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

stationId
required
integer

The ID to search for.

query Parameters
date_picker_since
required
string <date-time>

The date time to search from

date_picker_until
required
string <date-time>

The date time to search to

message_pair_status
Array of strings
Items Enum: "COMPLETE" "ERROR" "EXCEPTION" "PENDING" "SCHEDULED" "TIMED_OUT"

Message pair status

message_types
Array of strings
Items Enum: "Authorize" "BootNotification" "CancelReservation" "ChangeAvailability" "ChangeConfiguration" "ClearCache" "ClearChargingProfile" "DataTransfer" "GetCompositeSchedule" "DiagnosticsStatusNotification" "FirmwareStatusNotification" "GetConfiguration" "GetDiagnostics" "GetLocalListVersion" "Heartbeat" "MeterValues" "RemoteStartTransaction" "RemoteStopTransaction" "ReserveNow" "Reset" "SendLocalList" "SetChargingProfile" "StartTransaction" "StatusNotification" "StopTransaction" "TriggerMessage" "UnlockConnector" "UpdateFirmware"

Message pair types

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve OCPP Log statitics for specific charging station

Get OCPP log statistics for a single station

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

stationId
required
integer

The ID to search for.

query Parameters
date_picker_since
required
string <date-time>

The date time to search from

date_picker_until
required
string <date-time>

The date time to search to

Responses

Response samples

Content type
application/json
{
  • "actions": [
    ],
  • "errors": [
    ],
  • "errors_dispersion": [
    ]
}

Organizations Charging Stations Remote Control

Requests an availability change on the charging station connector or the charging station and all of its connectors, if scmId is set to '0'.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

scmId
required
string^[a-zA-Z0-9]+$

The Scm-ID of the connector. See Connector.scm_id

stationId
required
integer

The ID to search for.

Request Body schema: application/json
required
type
required
string
Enum: "Inoperative" "Operative"

This indicates whether the Charge Point is able to perform the availability change.

Responses

Request samples

Content type
application/json
{
  • "type": "Inoperative"
}

Response samples

Content type
application/json
{
  • "connector_id": 0,
  • "message_id": "message_id",
  • "evse": "evse",
  • "message_pair": "message_pair",
  • "id": "id",
  • "creation_date": "2000-01-23T04:56:07.000+00:00",
  • "action": "action",
  • "error_status": true,
  • "type": "Inoperative"
}

Requests the composite schedule of the charging station connector. If scmId is set to '0', the charging station will calculate the expected consumption for the grid connection.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

scmId
required
string^[a-zA-Z0-9]+$

The Scm-ID of the connector. See Connector.scm_id

stationId
required
integer

The ID to search for.

Request Body schema: application/json
required
duration
required
integer >= 0

Time in seconds. length of requested schedule

charging_rate_unit
string
Enum: "W" "A"

Can be used to force a power or current profile

Responses

Request samples

Content type
application/json
{
  • "duration": 0,
  • "charging_rate_unit": "W"
}

Response samples

Content type
application/json
{
  • "connector_id": 0,
  • "message_id": "message_id",
  • "evse": "evse",
  • "message_pair": "message_pair",
  • "id": "id",
  • "creation_date": "2000-01-23T04:56:07.000+00:00",
  • "action": "action",
  • "error_status": true,
  • "duration": 0,
  • "charging_rate_unit": "W"
}

Requests a reservation of the charging station connector. If scmId is set to '0', the reservation is not for a specific connector.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

scmId
required
string^[a-zA-Z0-9]+$

The Scm-ID of the connector. See Connector.scm_id

stationId
required
integer

The ID to search for.

Request Body schema: application/json
required
expiry_date
required
string <date-time>

This contains the date and time when the reservation ends.

id_tag
required
string <= 36 characters

The identifier for which the Charge Point has to reserve a connector.

reservation_id
required
integer

Unique id for this reservation.

Responses

Request samples

Content type
application/json
{
  • "reservation_id": 0,
  • "expiry_date": "2000-01-23T04:56:07.000+00:00",
  • "id_tag": "id_tag"
}

Response samples

Content type
application/json
{
  • "connector_id": 0,
  • "message_id": "message_id",
  • "evse": "evse",
  • "message_pair": "message_pair",
  • "id": "id",
  • "creation_date": "2000-01-23T04:56:07.000+00:00",
  • "action": "action",
  • "error_status": true,
  • "reservation_id": 6,
  • "expiry_date": "2000-01-23T04:56:07.000+00:00",
  • "id_tag": "id_tag",
  • "parent_id_tag": "parent_id_tag"
}

Requests setting a charging profile for the charging station connector. If scmId is set to '0', the message contains an overall limit for the harging station.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

scmId
required
string^[a-zA-Z0-9]+$

The Scm-ID of the connector. See Connector.scm_id

stationId
required
integer

The ID to search for.

Request Body schema: application/json
required
required
object (RemoteControlChargingProfile)

Responses

Request samples

Content type
application/json
{
  • "cs_charging_profiles": {
    }
}

Response samples

Content type
application/json
{
  • "connector_id": 0,
  • "message_id": "message_id",
  • "evse": "evse",
  • "message_pair": "message_pair",
  • "id": "id",
  • "creation_date": "2000-01-23T04:56:07.000+00:00",
  • "action": "action",
  • "error_status": true,
  • "cs_charging_profiles": {
    }
}

Requests a connector unlock on the charging station connector.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

scmId
required
string^[a-zA-Z0-9]+$

The Scm-ID of the connector. See Connector.scm_id

stationId
required
integer

The ID to search for.

Responses

Response samples

Content type
application/json
{
  • "connector_id": 0,
  • "message_id": "message_id",
  • "evse": "evse",
  • "message_pair": "message_pair",
  • "id": "id",
  • "creation_date": "2000-01-23T04:56:07.000+00:00",
  • "action": "action",
  • "error_status": true
}

Requests the cancellation of a reservation of the charging station.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

stationId
required
integer

The ID to search for.

Request Body schema: application/json
required
reservation_id
required
integer

Id of the reservation to cancel.

Responses

Request samples

Content type
application/json
{
  • "reservation_id": 0
}

Response samples

Content type
application/json
{
  • "connector_id": 0,
  • "message_id": "message_id",
  • "evse": "evse",
  • "message_pair": "message_pair",
  • "id": "id",
  • "creation_date": "2000-01-23T04:56:07.000+00:00",
  • "action": "action",
  • "error_status": true,
  • "reservation_id": 6
}

Requests a configuration change for the charging station.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

stationId
required
integer

The ID to search for.

Request Body schema: application/json
required
key
required
string <= 50 characters

The name of the configuration setting to change.

value
required
string <= 500 characters

The new value as string for the setting.

Responses

Request samples

Content type
application/json
{
  • "key": "key",
  • "value": "value"
}

Response samples

Content type
application/json
{
  • "connector_id": 0,
  • "message_id": "message_id",
  • "evse": "evse",
  • "message_pair": "message_pair",
  • "id": "id",
  • "creation_date": "2000-01-23T04:56:07.000+00:00",
  • "action": "action",
  • "error_status": true,
  • "key": "key",
  • "value": "value"
}

Requests a cache clear on the charging station.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

stationId
required
integer

The ID to search for.

Responses

Response samples

Content type
application/json
{
  • "connector_id": 0,
  • "message_id": "message_id",
  • "evse": "evse",
  • "message_pair": "message_pair",
  • "id": "id",
  • "creation_date": "2000-01-23T04:56:07.000+00:00",
  • "action": "action",
  • "error_status": true
}

Requests a charging profile clear on the charging station or connector. A scmId of zero (0) specifies the charging profile for the overall charging station. Absence of the scmId parameter means the clearing applies to all charging profiles that match the other criteria in the request.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

stationId
required
integer

The ID to search for.

Request Body schema: application/json
optional
charging_profile_id
integer

The ID of the charging profile to clear.

charging_profile_purpose
string
Enum: "ChargePointMaxProfile" "TxDefaultProfile" "TxProfile"

Specifies to purpose of the charging profiles that will be cleared, if they meet the other criteria in the request.

scm_id
string

The Scm-ID of the connector. See Connector.scm_id

stack_level
integer >= 0

Specifies the stackLevel for which charging profiles will be cleared, if they meet the other criteria in the request.

Responses

Request samples

Content type
application/json
{
  • "scm_id": "0088209ebda441c9762da2f38a5f233a",
  • "charging_profile_id": 0,
  • "charging_profile_purpose": "ChargePointMaxProfile",
  • "stack_level": 0
}

Response samples

Content type
application/json
{
  • "connector_id": 0,
  • "message_id": "message_id",
  • "evse": "evse",
  • "message_pair": "message_pair",
  • "id": "id",
  • "creation_date": "2000-01-23T04:56:07.000+00:00",
  • "action": "action",
  • "error_status": true,
  • "charging_profile_id": 6,
  • "charging_profile_purpose": "ChargePointMaxProfile",
  • "stack_level": 0
}

Requests the configuration from the charging station.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

stationId
required
integer

The ID to search for.

Request Body schema: application/json
optional
key
Array of strings[ items <= 50 characters ]

List of keys for which the configuration value is requested.

Responses

Request samples

Content type
application/json
{
  • "key": [
    ]
}

Response samples

Content type
application/json
{
  • "connector_id": 0,
  • "message_id": "message_id",
  • "evse": "evse",
  • "message_pair": "message_pair",
  • "id": "id",
  • "creation_date": "2000-01-23T04:56:07.000+00:00",
  • "action": "action",
  • "error_status": true,
  • "key": [
    ]
}

Requests the diagnostics log from the charging station.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

stationId
required
integer

The ID to search for.

Request Body schema: application/json
optional
retries
integer >= 0

This specifies how many times Charge Point must try to upload the diagnostics before giving up. If this field is not present, it is left to Charge Point to decide how many times it wants to retry.

retry_interval
integer >= 0

The interval in seconds after which a retry may be attempted. If this field is not present, it is left to Charge Point to decide how long to wait between attempts.

start_time
string <date-time>

This contains the date and time of the oldest logging information to include in the diagnostics.

stop_time
string <date-time>

This contains the date and time of the latest logging information to include in the diagnostics.

Responses

Request samples

Content type
application/json
{
  • "retries": 0,
  • "retry_interval": 0,
  • "start_time": "2000-01-23T04:56:07.000+00:00",
  • "stop_time": "2000-01-23T04:56:07.000+00:00"
}

Response samples

Content type
application/json
{
  • "connector_id": 0,
  • "message_id": "message_id",
  • "evse": "evse",
  • "message_pair": "message_pair",
  • "id": "id",
  • "creation_date": "2000-01-23T04:56:07.000+00:00",
  • "action": "action",
  • "error_status": true,
  • "location": "location",
  • "retries": 0,
  • "retry_interval": 0,
  • "start_time": "2000-01-23T04:56:07.000+00:00",
  • "stop_time": "2000-01-23T04:56:07.000+00:00"
}

Requests the local list version from the charging station.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

stationId
required
integer

The ID to search for.

Responses

Response samples

Content type
application/json
{
  • "connector_id": 0,
  • "message_id": "message_id",
  • "evse": "evse",
  • "message_pair": "message_pair",
  • "id": "id",
  • "creation_date": "2000-01-23T04:56:07.000+00:00",
  • "action": "action",
  • "error_status": true
}

Requests a remote stop of a session on the charging station.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

stationId
required
integer

The ID to search for.

Request Body schema: application/json
required
scm_id
string

The Scm-ID of the connector. See Connector.scm_id

transaction
string <iri-reference>

iri-reference of the Transaction.

Responses

Request samples

Content type
application/json
{
  • "scm_id": "0088209ebda441c9762da2f38a5f233a",
  • "transaction": "transaction"
}

Response samples

Content type
application/json
{
  • "connector_id": 0,
  • "message_id": "message_id",
  • "evse": "evse",
  • "message_pair": "message_pair",
  • "id": "id",
  • "creation_date": "2000-01-23T04:56:07.000+00:00",
  • "action": "action",
  • "error_status": true,
  • "transaction": "transaction"
}

Requests a reset of the charging station.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

stationId
required
integer

The ID to search for.

Request Body schema: application/json
required
type
required
string
Enum: "Hard" "Soft"

This contains the type of reset that the Charge Point should perform.

Responses

Request samples

Content type
application/json
{
  • "type": "Hard"
}

Response samples

Content type
application/json
{
  • "connector_id": 0,
  • "message_id": "message_id",
  • "evse": "evse",
  • "message_pair": "message_pair",
  • "id": "id",
  • "creation_date": "2000-01-23T04:56:07.000+00:00",
  • "action": "action",
  • "error_status": true,
  • "type": "Hard"
}

Requests an update of the local authorization list on the charging station.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

stationId
required
integer

The ID to search for.

Request Body schema: application/json
optional
list_version
required
integer

In case of a full update this is the version number of the full list. In case of a differential update it is the version number of the list after the update has been applied.

update_type
required
string
Enum: "Differential" "Full"

This contains the type of update (full or differential) of this request.

Array of objects (RemoteControlAuthorizationData)

In case of a full update this contains the list of values that form the new local authorization list. In case of a differential update it contains the changes to be applied to the local authorization list in the Charge Point. Maximum number of AuthorizationData elements is available in the configuration key: SendLocalListMaxLength

Responses

Request samples

Content type
application/json
{
  • "list_version": 0,
  • "update_type": "Differential",
  • "local_authorization_list": [
    ]
}

Response samples

Content type
application/json
{
  • "connector_id": 0,
  • "message_id": "message_id",
  • "evse": "evse",
  • "message_pair": "message_pair",
  • "id": "id",
  • "creation_date": "2000-01-23T04:56:07.000+00:00",
  • "action": "action",
  • "error_status": true,
  • "list_version": 6,
  • "update_type": "Differential",
  • "local_authorization_list": [
    ]
}

Requests a messages from the charging station.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

stationId
required
integer

The ID to search for.

Request Body schema: application/json
required
requested_message
required
string
Enum: "BootNotification" "DiagnosticsStatusNotification" "FirmwareStatusNotification" "Heartbeat" "MeterValues" "StatusNotification"
scm_id
string

The Scm-ID of the connector. See Connector.scm_id

Responses

Request samples

Content type
application/json
{
  • "scm_id": "0088209ebda441c9762da2f38a5f233a",
  • "requested_message": "BootNotification"
}

Response samples

Content type
application/json
{
  • "connector_id": 0,
  • "message_id": "message_id",
  • "evse": "evse",
  • "message_pair": "message_pair",
  • "id": "id",
  • "creation_date": "2000-01-23T04:56:07.000+00:00",
  • "action": "action",
  • "error_status": true,
  • "requested_message": "BootNotification"
}

Requests a firmware update on the charging station.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

stationId
required
integer

The ID to search for.

Request Body schema: application/json
optional
firmware_upload
string <iri-reference>

iri-reference of the FirmwareUpload to use.

location
string

This contains a string containing a URI pointing to a location from which to retrieve the firmware.

retries
integer

This specifies how many times Charge Point must try to download the firmware before giving up. If this field is not present, it is left to Charge Point to decide how many times it wants to retry.

retrieve_date
string <date-time>

This contains the date and time after which the Charge Point is allowed to retrieve the (new) firmware.

retry_interval
integer

The interval in seconds after which a retry may be attempted. If this field is not present, it is left to Charge Point to decide how long to wait between attempts.

Responses

Request samples

Content type
application/json
{
  • "firmware_upload": "firmware_upload",
  • "location": "location",
  • "retrieve_date": "2000-01-23T04:56:07.000+00:00",
  • "retries": 0,
  • "retry_interval": 6
}

Response samples

Content type
application/json
{
  • "connector_id": 0,
  • "message_id": "message_id",
  • "evse": "evse",
  • "message_pair": "message_pair",
  • "id": "id",
  • "creation_date": "2000-01-23T04:56:07.000+00:00",
  • "action": "action",
  • "error_status": true,
  • "firmware_upload": "firmware_upload",
  • "location": "location",
  • "retrieve_date": "2000-01-23T04:56:07.000+00:00",
  • "retries": 6,
  • "retry_interval": 1
}

Organization Tokens

Get tokens of the organization

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
maintenance
boolean

Filter by maintenance

order_by
string
Default: "activation_date"
Enum: "number" "state" "uuid" "account_id" "activation_date" "blocking_date"

Name for sort

order_direction
string
Default: "desc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

search
string

Search term

state
Array of strings
Items Enum: "ORDERED" "ACTIVE" "INACTIVE" "BLOCKED" "NOT_ASSIGNED"

Filter by state

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create token of the organization

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
card_number
required
string
uuid
required
string <= 128 characters

UUID of the token

Responses

Request samples

Content type
application/json
{
  • "card_number": "WIRELANE123456",
  • "uuid": "uuid"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "issuer": "dewln",
  • "number": "WIRELANE123456",
  • "state": "ORDERED",
  • "order_id": "order_id",
  • "category": "category",
  • "short_reference": "CarXYZ",
  • "long_reference": "CarXYZ-In the area of ABC",
  • "has_app_authentication_code": true,
  • "account_id": "DEWLN-0123456789",
  • "uuid": "uuid",
  • "activation_date": "2023-04-01T12:00:00+02:00",
  • "blocking_date": "2023-04-01T12:00:00+02:00",
  • "shipping_date": "2023-04-01T12:00:00+02:00",
  • "token_order_id": "token_order_id",
  • "token_order_date": "2023-04-01T12:00:00+02:00",
  • "maintenance": false,
  • "internalNote": "internalNote"
}

Delete token

Delete given token

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

tokenId
required
string^[a-zA-Z0-9-_]+$

Token ID (assigned by the system), refers to TokenInfo.id

Responses

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Get a single token

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

tokenId
required
string^[a-zA-Z0-9-_]+$

Token ID (assigned by the system), refers to TokenInfo.id

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "issuer": "dewln",
  • "number": "WIRELANE123456",
  • "state": "ORDERED",
  • "order_id": "order_id",
  • "category": "category",
  • "short_reference": "CarXYZ",
  • "long_reference": "CarXYZ-In the area of ABC",
  • "has_app_authentication_code": true,
  • "account_id": "DEWLN-0123456789",
  • "uuid": "uuid",
  • "activation_date": "2023-04-01T12:00:00+02:00",
  • "blocking_date": "2023-04-01T12:00:00+02:00",
  • "shipping_date": "2023-04-01T12:00:00+02:00",
  • "token_order_id": "token_order_id",
  • "token_order_date": "2023-04-01T12:00:00+02:00",
  • "maintenance": false,
  • "internalNote": "internalNote"
}

Update token

Updates property internal note of the given token

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

tokenId
required
string^[a-zA-Z0-9-_]+$

Token ID (assigned by the system), refers to TokenInfo.id

Request Body schema: application/json
required
internalNote
required
string

An internal note for CPO and EMP internal use

Responses

Request samples

Content type
application/json
{
  • "internalNote": "internalNote"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "issuer": "dewln",
  • "number": "WIRELANE123456",
  • "state": "ORDERED",
  • "order_id": "order_id",
  • "category": "category",
  • "short_reference": "CarXYZ",
  • "long_reference": "CarXYZ-In the area of ABC",
  • "has_app_authentication_code": true,
  • "account_id": "DEWLN-0123456789",
  • "uuid": "uuid",
  • "activation_date": "2023-04-01T12:00:00+02:00",
  • "blocking_date": "2023-04-01T12:00:00+02:00",
  • "shipping_date": "2023-04-01T12:00:00+02:00",
  • "token_order_id": "token_order_id",
  • "token_order_date": "2023-04-01T12:00:00+02:00",
  • "maintenance": false,
  • "internalNote": "internalNote"
}

Assign token to a new customer

Assign given token to a new customer

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

tokenId
required
string^[a-zA-Z0-9-_]+$

Token ID (assigned by the system), refers to TokenInfo.id

Request Body schema: application/json
required
account_id
required
string^[a-zA-Z0-9-_]+$

Account ID

maintenance
boolean

Card for maintenance

status
string
Default: "inactive"
Enum: "inactive" "active"

Token status

Responses

Request samples

Content type
application/json
{
  • "account_id": "DEWLN-0123456789",
  • "status": "inactive",
  • "maintenance": false
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "issuer": "dewln",
  • "number": "WIRELANE123456",
  • "state": "ORDERED",
  • "order_id": "order_id",
  • "category": "category",
  • "short_reference": "CarXYZ",
  • "long_reference": "CarXYZ-In the area of ABC",
  • "has_app_authentication_code": true,
  • "account_id": "DEWLN-0123456789",
  • "uuid": "uuid",
  • "activation_date": "2023-04-01T12:00:00+02:00",
  • "blocking_date": "2023-04-01T12:00:00+02:00",
  • "shipping_date": "2023-04-01T12:00:00+02:00",
  • "token_order_id": "token_order_id",
  • "token_order_date": "2023-04-01T12:00:00+02:00",
  • "maintenance": false,
  • "internalNote": "internalNote"
}

Activate token

Activate a token that has already a customer assigned but is not active. If the customer is not active anymore the activation will not be performed.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

tokenId
required
string^[a-zA-Z0-9-_]+$

Token ID (assigned by the system), refers to TokenInfo.id

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "issuer": "dewln",
  • "number": "WIRELANE123456",
  • "state": "ORDERED",
  • "order_id": "order_id",
  • "category": "category",
  • "short_reference": "CarXYZ",
  • "long_reference": "CarXYZ-In the area of ABC",
  • "has_app_authentication_code": true,
  • "account_id": "DEWLN-0123456789",
  • "uuid": "uuid",
  • "activation_date": "2023-04-01T12:00:00+02:00",
  • "blocking_date": "2023-04-01T12:00:00+02:00",
  • "shipping_date": "2023-04-01T12:00:00+02:00",
  • "token_order_id": "token_order_id",
  • "token_order_date": "2023-04-01T12:00:00+02:00",
  • "maintenance": false,
  • "internalNote": "internalNote"
}

Block token

Block a token so it can't be used for charging anymore. Recurrent costs will still be charged.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

tokenId
required
string^[a-zA-Z0-9-_]+$

Token ID (assigned by the system), refers to TokenInfo.id

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "issuer": "dewln",
  • "number": "WIRELANE123456",
  • "state": "ORDERED",
  • "order_id": "order_id",
  • "category": "category",
  • "short_reference": "CarXYZ",
  • "long_reference": "CarXYZ-In the area of ABC",
  • "has_app_authentication_code": true,
  • "account_id": "DEWLN-0123456789",
  • "uuid": "uuid",
  • "activation_date": "2023-04-01T12:00:00+02:00",
  • "blocking_date": "2023-04-01T12:00:00+02:00",
  • "shipping_date": "2023-04-01T12:00:00+02:00",
  • "token_order_id": "token_order_id",
  • "token_order_date": "2023-04-01T12:00:00+02:00",
  • "maintenance": false,
  • "internalNote": "internalNote"
}

Deactivate token

Deactivate a token so it can't be used for charging anymore.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

tokenId
required
string^[a-zA-Z0-9-_]+$

Token ID (assigned by the system), refers to TokenInfo.id

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "issuer": "dewln",
  • "number": "WIRELANE123456",
  • "state": "ORDERED",
  • "order_id": "order_id",
  • "category": "category",
  • "short_reference": "CarXYZ",
  • "long_reference": "CarXYZ-In the area of ABC",
  • "has_app_authentication_code": true,
  • "account_id": "DEWLN-0123456789",
  • "uuid": "uuid",
  • "activation_date": "2023-04-01T12:00:00+02:00",
  • "blocking_date": "2023-04-01T12:00:00+02:00",
  • "shipping_date": "2023-04-01T12:00:00+02:00",
  • "token_order_id": "token_order_id",
  • "token_order_date": "2023-04-01T12:00:00+02:00",
  • "maintenance": false,
  • "internalNote": "internalNote"
}

Shipping token

Add a date of sending from the given token

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

tokenId
required
string^[a-zA-Z0-9-_]+$

Token ID (assigned by the system), refers to TokenInfo.id

Request Body schema: application/json
optional
shipping_date
string <date-time>

Card shipping date and time

token_order_id
string

ID of the tokenOrder

Responses

Request samples

Content type
application/json
{
  • "shipping_date": "2023-04-01T12:00:00+02:00",
  • "token_order_id": "token_order_id"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "issuer": "dewln",
  • "number": "WIRELANE123456",
  • "state": "ORDERED",
  • "order_id": "order_id",
  • "category": "category",
  • "short_reference": "CarXYZ",
  • "long_reference": "CarXYZ-In the area of ABC",
  • "has_app_authentication_code": true,
  • "account_id": "DEWLN-0123456789",
  • "uuid": "uuid",
  • "activation_date": "2023-04-01T12:00:00+02:00",
  • "blocking_date": "2023-04-01T12:00:00+02:00",
  • "shipping_date": "2023-04-01T12:00:00+02:00",
  • "token_order_id": "token_order_id",
  • "token_order_date": "2023-04-01T12:00:00+02:00",
  • "maintenance": false,
  • "internalNote": "internalNote"
}

Unassign current customer of a token

Unassign the currently assigned customer from the given token

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

tokenId
required
string^[a-zA-Z0-9-_]+$

Token ID (assigned by the system), refers to TokenInfo.id

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "issuer": "dewln",
  • "number": "WIRELANE123456",
  • "state": "ORDERED",
  • "order_id": "order_id",
  • "category": "category",
  • "short_reference": "CarXYZ",
  • "long_reference": "CarXYZ-In the area of ABC",
  • "has_app_authentication_code": true,
  • "account_id": "DEWLN-0123456789",
  • "uuid": "uuid",
  • "activation_date": "2023-04-01T12:00:00+02:00",
  • "blocking_date": "2023-04-01T12:00:00+02:00",
  • "shipping_date": "2023-04-01T12:00:00+02:00",
  • "token_order_id": "token_order_id",
  • "token_order_date": "2023-04-01T12:00:00+02:00",
  • "maintenance": false,
  • "internalNote": "internalNote"
}

Add tokens of the organization from CSV file

Import a CSV file of Tokens for the organization.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

header Parameters
Content-Type
string
Default: text/csv
Value: "text/csv"

Controls the Content-Type of the request.

Request Body schema: text/csv
required

File upload

string <binary>

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get token orders of the organization

Get tokens orders of the organization. Various query filters are accepted in the as HTTP URL parameter to modify the search.

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
order_by
string
Default: "transaction_date"
Enum: "id" "transaction_date" "transaction_status"

Name for sort

order_direction
string
Default: "desc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

search
string

Search term

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Organizations Transactions

Get all Transactions for an organization

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
date_picker_since
string <date-time>

The date time to search from

date_picker_until
string <date-time>

The date time to search to

order_by
string
Default: "transaction_date"
Enum: "transaction_date" "transaction_status"

Name for sort

order_direction
string
Default: "desc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

search
string

Search term

transaction_status
Array of strings
Items Enum: "PENDING" "INVOICED" "REFUNDED" "VOIDED"

list of transaction statuses

type
string
Enum: "charging_session" "subscription" "seat" "card_order"

Type of transaction

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Refunds a specific transaction

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

transactionId
required
string^[a-zA-Z0-9-_]+$

Transaction ID

Request Body schema: application/json
optional
comment
string <= 220 characters

Responses

Request samples

Content type
application/json
{
  • "comment": "Wurde aus Gründen storniert"
}

Response samples

Content type
application/json
{
  • "id": "id",
  • "tenant": "dewln",
  • "start_date": "2023-04-01T12:00:00+02:00",
  • "end_date": "2023-04-01T12:00:00+02:00",
  • "amount": 99.99,
  • "currency": "EUR",
  • "transaction_date": "2023-04-01T12:00:00+02:00",
  • "transaction_type": "charging_session",
  • "transaction_status": "PENDING",
  • "invoice_id": "invoice_id"
}

Voids a specific transaction

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

transactionId
required
string^[a-zA-Z0-9-_]+$

Transaction ID

Responses

Response samples

Content type
application/json
{
  • "id": "id",
  • "tenant": "dewln",
  • "start_date": "2023-04-01T12:00:00+02:00",
  • "end_date": "2023-04-01T12:00:00+02:00",
  • "amount": 99.99,
  • "currency": "EUR",
  • "transaction_date": "2023-04-01T12:00:00+02:00",
  • "transaction_type": "charging_session",
  • "transaction_status": "PENDING",
  • "invoice_id": "invoice_id"
}

Get Organization Token Order Transactions' statistics

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
date_picker_since
string <date-time>

The date time to search from

date_picker_until
string <date-time>

The date time to search to

Responses

Response samples

Content type
application/json
{
  • "revenue": {
    }
}

Get Organization Seat Transactions' statistics

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
date_picker_since
string <date-time>

The date time to search from

date_picker_until
string <date-time>

The date time to search to

Responses

Response samples

Content type
application/json
{
  • "revenue": {
    }
}

Get Organization Charging Session Transactions' statistics

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
date_picker_since
string <date-time>

The date time to search from

date_picker_until
string <date-time>

The date time to search to

Responses

Response samples

Content type
application/json
{
  • "sessions": {
    },
  • "consumption": {
    },
  • "duration": {
    },
  • "revenue": {
    },
  • "revenue_gross": {
    },
  • "revenue_net": {
    },
  • "customers": {
    }
}

Get Organization Transactions' statistics

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
date_picker_since
string <date-time>

The date time to search from

date_picker_until
string <date-time>

The date time to search to

Responses

Response samples

Content type
application/json
{
  • "revenue": {
    }
}

Get Organization Subscriptions' Transactions' statistics

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
date_picker_since
string <date-time>

The date time to search from

date_picker_until
string <date-time>

The date time to search to

Responses

Response samples

Content type
application/json
{
  • "revenue": {
    }
}

Roles

Get the static member role hierarchy (defined in security.yaml)

Authorizations:
OAuth2ClientCredentialOAuth2Password

Responses

Response samples

Content type
application/json
[
  • {
    }
]

ChargeSessions

Get single direct billing charging session, without providing sessionId

Authorizations:
OAuth2ClientCredentialOAuth2Password
query Parameters
customer_payment_token
required
string^[0-9]{3}$

A three-digit representation of the payment method that has been used to start the session (e.g., the last three digits of a credit card or IBAN).

evse_id
required
string^[a-zA-Z0-9-_*]+$

The EVSE ID of the charging point the session was held at

session_end_date
required
string <date>

Date of when the charging session ended

total_amount
required
integer

The gross price amount of the session (in euro cent)

Responses

Response samples

Content type
application/json
{
  • "session_id": "d8d195c0-900e-41f1-b239-0456855d81c2",
  • "short_session_id": "d8d195c0",
  • "customer_id": "`DEWLN-0123456789` for registered user, `ROAM-DE*CUST*987654321` for example when coming from Roaming providers",
  • "customer_email": "customer@example.com",
  • "card_number": "WIRELANE123456",
  • "card_short_reference": "CarXYZ",
  • "language": "de",
  • "evseid": "DESGDE000801",
  • "owner": "WIRELANE-2500781",
  • "emp": "desgd",
  • "cpo": "eclearing",
  • "plug_type": "TYPE_2",
  • "charging_type": "AC",
  • "country": "DE",
  • "city": "Schwäbisch Gmünd",
  • "zip_code": "73525",
  • "street": "Honiggasse",
  • "house_number": "21",
  • "tariff": "LADEPAY_01",
  • "tariff_text": "tariff_text",
  • "price_model": "desgd_ladepay_01",
  • "price_model_text": "price_model_text",
  • "identification": "e6f252d6-30a0-5416-8533-126335a2ad2d",
  • "identification_type": "access_token",
  • "session_begin": "2023-04-01T12:00:00+02:00",
  • "session_end": "2023-04-01T12:00:00+02:00",
  • "timezone": "Europe/Berlin",
  • "duration": 68,
  • "session_duration": 68,
  • "kwh": 17.46,
  • "has_signed_value": true,
  • "totalPrice": {
    },
  • "charging_session_type": "comfort_charging",
  • "status": "closed",
  • "meter_start": 1541678196,
  • "meter_stop": 1541678196,
  • "error_code": "invalid_meter_values",
  • "error_message": "Manually closed because of time out",
  • "roaming_provider": "eclearing",
  • "secret": "4D9FEC1EE17BBC224A14CAD439E5C0AD11AFFCF9301F318DFA23C1CBBC736135",
  • "location": {
    },
  • "customer": {
    }
}

Single direct billing charging session

Authorizations:
OAuth2ClientCredentialOAuth2Password
path Parameters
shortSessionId
required
string^[0-9a-f]{8}|[0-9a-f]{8}\-[0-9a-f]{4}\-[0-9a-...

Either the ChargingSession.short_session_id (8 chars) or ChargingSession.session_id (36 chars / UUIDv4)

query Parameters
customer_email
string <email>

Email address of customer that has been used to start the session. Either this value or customer_payment_token needs to be provided to retrieve the session data.

customer_payment_token
string^[0-9]{3}$

A three-digit representation of the payment method that has been used to start the session (e.g., the last three digits of a credit card or IBAN). Either this value or customer_email needs to be provided to retrieve the session data.

secret
string <password>

The ChargingSession.secret to verify access to the ChargingSession.

Responses

Response samples

Content type
application/json
{
  • "session_id": "d8d195c0-900e-41f1-b239-0456855d81c2",
  • "short_session_id": "d8d195c0",
  • "customer_id": "`DEWLN-0123456789` for registered user, `ROAM-DE*CUST*987654321` for example when coming from Roaming providers",
  • "customer_email": "customer@example.com",
  • "card_number": "WIRELANE123456",
  • "card_short_reference": "CarXYZ",
  • "language": "de",
  • "evseid": "DESGDE000801",
  • "owner": "WIRELANE-2500781",
  • "emp": "desgd",
  • "cpo": "eclearing",
  • "plug_type": "TYPE_2",
  • "charging_type": "AC",
  • "country": "DE",
  • "city": "Schwäbisch Gmünd",
  • "zip_code": "73525",
  • "street": "Honiggasse",
  • "house_number": "21",
  • "tariff": "LADEPAY_01",
  • "tariff_text": "tariff_text",
  • "price_model": "desgd_ladepay_01",
  • "price_model_text": "price_model_text",
  • "identification": "e6f252d6-30a0-5416-8533-126335a2ad2d",
  • "identification_type": "access_token",
  • "session_begin": "2023-04-01T12:00:00+02:00",
  • "session_end": "2023-04-01T12:00:00+02:00",
  • "timezone": "Europe/Berlin",
  • "duration": 68,
  • "session_duration": 68,
  • "kwh": 17.46,
  • "has_signed_value": true,
  • "totalPrice": {
    },
  • "charging_session_type": "comfort_charging",
  • "status": "closed",
  • "meter_start": 1541678196,
  • "meter_stop": 1541678196,
  • "error_code": "invalid_meter_values",
  • "error_message": "Manually closed because of time out",
  • "roaming_provider": "eclearing",
  • "secret": "4D9FEC1EE17BBC224A14CAD439E5C0AD11AFFCF9301F318DFA23C1CBBC736135",
  • "location": {
    },
  • "customer": {
    }
}

Invoice receipt for a direct charging session

Authorizations:
OAuth2ClientCredentialOAuth2Password
path Parameters
shortSessionId
required
string^[0-9a-f]{8}|[0-9a-f]{8}\-[0-9a-f]{4}\-[0-9a-...

Either the ChargingSession.short_session_id (8 chars) or ChargingSession.session_id (36 chars / UUIDv4)

query Parameters
customer_email
string <email>

Email address of customer that has been used to start the session. Either this value or customer_payment_token needs to be provided to retrieve the session data.

customer_payment_token
string^[0-9]{3}$

A three-digit representation of the payment method that has been used to start the session (e.g., the last three digits of a credit card or IBAN). Either this value or customer_email needs to be provided to retrieve the session data.

secret
string <password>

The ChargingSession.secret to verify access to the ChargingSession.

Responses

Signed meter values for direct billing charging session

Authorizations:
OAuth2ClientCredentialOAuth2Password
path Parameters
shortSessionId
required
string^[0-9a-f]{8}|[0-9a-f]{8}\-[0-9a-f]{4}\-[0-9a-...

Either the ChargingSession.short_session_id (8 chars) or ChargingSession.session_id (36 chars / UUIDv4)

query Parameters
customer_email
string <email>

Email address of customer that has been used to start the session. Either this value or customer_payment_token needs to be provided to retrieve the session data.

customer_payment_token
string^[0-9]{3}$

A three-digit representation of the payment method that has been used to start the session (e.g., the last three digits of a credit card or IBAN). Either this value or customer_email needs to be provided to retrieve the session data.

secret
string <password>

The ChargingSession.secret to verify access to the ChargingSession.

Responses

Response samples

Content type
application/json
{}

Stop a running ChargingSession

Authorizations:
OAuth2ClientCredentialOAuth2Password
path Parameters
shortSessionId
required
string^[0-9a-f]{8}|[0-9a-f]{8}\-[0-9a-f]{4}\-[0-9a-...

Either the ChargingSession.short_session_id (8 chars) or ChargingSession.session_id (36 chars / UUIDv4)

Request Body schema: application/json
required

Data to verify ChargingSession access.

secret
required
string <password>

The ChargingSession.secret to verify access to the ChargingSession.

Responses

Request samples

Content type
application/json
{
  • "secret": "4D9FEC1EE17BBC224A14CAD439E5C0AD11AFFCF9301F318DFA23C1CBBC736135"
}

Response samples

Content type
application/json
{
  • "session_id": "d8d195c0-900e-41f1-b239-0456855d81c2",
  • "short_session_id": "d8d195c0",
  • "customer_id": "`DEWLN-0123456789` for registered user, `ROAM-DE*CUST*987654321` for example when coming from Roaming providers",
  • "customer_email": "customer@example.com",
  • "card_number": "WIRELANE123456",
  • "card_short_reference": "CarXYZ",
  • "language": "de",
  • "evseid": "DESGDE000801",
  • "owner": "WIRELANE-2500781",
  • "emp": "desgd",
  • "cpo": "eclearing",
  • "plug_type": "TYPE_2",
  • "charging_type": "AC",
  • "country": "DE",
  • "city": "Schwäbisch Gmünd",
  • "zip_code": "73525",
  • "street": "Honiggasse",
  • "house_number": "21",
  • "tariff": "LADEPAY_01",
  • "tariff_text": "tariff_text",
  • "price_model": "desgd_ladepay_01",
  • "price_model_text": "price_model_text",
  • "identification": "e6f252d6-30a0-5416-8533-126335a2ad2d",
  • "identification_type": "access_token",
  • "session_begin": "2023-04-01T12:00:00+02:00",
  • "session_end": "2023-04-01T12:00:00+02:00",
  • "timezone": "Europe/Berlin",
  • "duration": 68,
  • "session_duration": 68,
  • "kwh": 17.46,
  • "has_signed_value": true,
  • "totalPrice": {
    },
  • "charging_session_type": "comfort_charging",
  • "status": "closed",
  • "meter_start": 1541678196,
  • "meter_stop": 1541678196,
  • "error_code": "invalid_meter_values",
  • "error_message": "Manually closed because of time out",
  • "roaming_provider": "eclearing",
  • "secret": "4D9FEC1EE17BBC224A14CAD439E5C0AD11AFFCF9301F318DFA23C1CBBC736135",
  • "location": {
    },
  • "customer": {
    }
}

Start a new ChargingSession

Authorizations:
OAuth2ClientCredentialOAuth2Password
Request Body schema: application/json
required

Tariff and ChargingPoint information for the new ChargingSession

charging_point_id
required
string

The ConnectorInfo.scm_id which should process the ChargingSession.

price_identifier
required
string

The CustomerPrice.price to start the ChargingSession for.

object (PaymentAuthorizationReference)

Payment authorization id and secret to be used to create a payment method

language
string^[a-z]{2}$

ISO 639-1 customer language. Required for direct-payment session start

Responses

Request samples

Content type
application/json
{
  • "charging_point_id": "9b4352863224cea884ce4de0bbb66d17",
  • "price_identifier": "dewln-276-2228247",
  • "authorization": {
    },
  • "language": "de"
}

Response samples

Content type
application/json
{
  • "session_id": "d8d195c0-900e-41f1-b239-0456855d81c2",
  • "short_session_id": "d8d195c0",
  • "customer_id": "`DEWLN-0123456789` for registered user, `ROAM-DE*CUST*987654321` for example when coming from Roaming providers",
  • "customer_email": "customer@example.com",
  • "card_number": "WIRELANE123456",
  • "card_short_reference": "CarXYZ",
  • "language": "de",
  • "evseid": "DESGDE000801",
  • "owner": "WIRELANE-2500781",
  • "emp": "desgd",
  • "cpo": "eclearing",
  • "plug_type": "TYPE_2",
  • "charging_type": "AC",
  • "country": "DE",
  • "city": "Schwäbisch Gmünd",
  • "zip_code": "73525",
  • "street": "Honiggasse",
  • "house_number": "21",
  • "tariff": "LADEPAY_01",
  • "tariff_text": "tariff_text",
  • "price_model": "desgd_ladepay_01",
  • "price_model_text": "price_model_text",
  • "identification": "e6f252d6-30a0-5416-8533-126335a2ad2d",
  • "identification_type": "access_token",
  • "session_begin": "2023-04-01T12:00:00+02:00",
  • "session_end": "2023-04-01T12:00:00+02:00",
  • "timezone": "Europe/Berlin",
  • "duration": 68,
  • "session_duration": 68,
  • "kwh": 17.46,
  • "has_signed_value": true,
  • "totalPrice": {
    },
  • "charging_session_type": "comfort_charging",
  • "status": "closed",
  • "meter_start": 1541678196,
  • "meter_stop": 1541678196,
  • "error_code": "invalid_meter_values",
  • "error_message": "Manually closed because of time out",
  • "roaming_provider": "eclearing",
  • "secret": "4D9FEC1EE17BBC224A14CAD439E5C0AD11AFFCF9301F318DFA23C1CBBC736135",
  • "location": {
    },
  • "customer": {
    }
}

DirectPayment Payment Method

Update an authorization with the response returned from Novalnet.

This endpoint should be called in the error and success case.

Authorizations:
OAuth2ClientCredential
Request Body schema: application/json
required
object (PaymentAuthorizationReference)

Payment authorization id and secret to be used to create a payment method

checksum
string

The unchanged checksum parameter from the success page

status
string

The unchanged status parameter from the success page

tid
string

The unchanged tid parameter from the success page

txn_secret
string <password>

The unchanged txn_secret parameter from the success page

Responses

Request samples

Content type
application/json
{
  • "status": "status",
  • "txn_secret": "txn_secret",
  • "tid": "tid",
  • "checksum": "checksum",
  • "authorization": {
    }
}

Response samples

Content type
application/json
{
  • "authorization": {
    },
  • "payment_method": {
    },
  • "valid": true,
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Create an authorization and a redirect token for payment method creation for direct-payment.

This is to be used along with the Novalnet JS library as described in https://developer.novalnet.de/onlinepayments/inline.

Authorizations:
OAuth2ClientCredential
Request Body schema: application/json
required
email
required
string <email>

Email address of the registering user

error_url
required
string

The error page the payment service provider should redirect the user to after invalid payment data have been given. authorizationId and authorizationSecret will automatically be added as query parameters.

success_url
required
string

The success page the payment service provider should redirect the user to after payment data have been given. authorizationId and authorizationSecret will automatically be added as query parameters.

language
string^[a-z]{2}$

ISO 639-1 language code.

Responses

Response samples

Content type
application/json
{
  • "payment_form_url": "https://openapi-generator.tech",
  • "txn_secret": "txn_secret",
  • "authorization": {
    }
}

ChargingStations

Get private and public charging stations

Finding charging points for the account.

Authorizations:
OAuth2ClientCredentialOAuth2Password
query Parameters
auth_type
Array of strings
Items Enum: "card" "remote" "nfc_terminal" "direct"

The charging station authorization type.

charging_station_id
Array of strings

Filter by list of charging station id's

charging_type
Array of strings
Items Enum: "AC" "DC"

The charging type.

cpos
Array of strings

Filter by CPOs

distance
integer [ 1 .. 100000 ]

Search distance in meters, maximum is 100000m (100km). Requires lat and lon parameters to be set.

energy_resource_type
Array of strings
Items Enum: "mixed" "nonrenewable" "renewable"

Energy resource type

  • renewable: 100% powered by renewable energy
  • mixed: partly powered by renewable energy and classic power sources
  • nonrenewable: no renewable energy in the mix
evseid
string^[a-zA-Z0-9-_*]+$

The ID to search for

lat
number <float> [ -90 .. 90 ]

Latitude

lon
number <float> [ -180 .. 180 ]

Longitude

max_power
string^[0-9]{1,3}-[0-9]{1,3}$

The charging speed, as minimum to maximum (e.g. 22-300 for 22 to 300 kW).

order_by
string
Default: "distance"
Enum: "distance" "station_id"

Name for sort

order_direction
string
Default: "asc"
Enum: "asc" "desc"

Key for order direction

page
integer >= 1
Default: 1

Number of current page

page_size
integer [ 1 .. 1000 ]
Default: 50

Number of items per page

plug_types
Array of strings
Items Enum: "TYPE_1" "TYPE_1_ATCH" "TYPE_2" "TYPE_2_ATCH" "TYPE_3" "TYPE_3_ATCH" "CHADEMO" "CCS" "SCHUKO" "UNKNOWN"

The plug types. (*_ATCH = with cable attached)

search
string

Search term

status
Array of strings
Items Enum: "FREE" "IN_USE" "CHARGING" "UNAVAILABLE" "UNKNOWN" "FAULTED" "RESERVED" "CLOSED" "MAINTENANCE"

Status of the connector

  • FREE: Connector is free / available
  • IN_USE: Connector is occupied (cable connected or RFID card presented to card reader, in case of roaming charging might already happen)
  • CHARGING: Connector is charging
  • UNAVAILABLE: Connector is unavailable (not installed or broken)
  • UNKNOWN: Connector status is unknown
  • FAULTED: Connector is (temporary) faulted
  • RESERVED: Connector is reserved
  • CLOSED: Connector is closed (not in use anymore)
  • MAINTENANCE: Connector is scheduled for maintenance

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Gets clusters of charging stations

Gets clusters of charging stations in GeoJSON / RFC 7946 format.

Authorizations:
OAuth2ClientCredentialOAuth2Password
query Parameters
auth_type
Array of strings
Items Enum: "card" "remote" "nfc_terminal" "direct"

The charging station authorization type.

charging_type
Array of strings
Items Enum: "AC" "DC"

The charging type.

cpos
Array of strings

Filter by CPOs

distance
integer [ 5000 .. 1000000 ]

Search distance in meters, maximum is 1000000m (1000km), minimum is 5000m (5km). Requires lat and lon parameters to be set.

energy_resource_type
Array of strings
Items Enum: "mixed" "nonrenewable" "renewable"

Energy resource type

  • renewable: 100% powered by renewable energy
  • mixed: partly powered by renewable energy and classic power sources
  • nonrenewable: no renewable energy in the mix
lat
number <float> [ -90 .. 90 ]

Latitude

lon
number <float> [ -180 .. 180 ]

Longitude

max_power
string^[0-9]{1,3}-[0-9]{1,3}$

The charging speed, as minimum to maximum (e.g. 22-300 for 22 to 300 kW).

plug_types
Array of strings
Items Enum: "TYPE_1" "TYPE_1_ATCH" "TYPE_2" "TYPE_2_ATCH" "TYPE_3" "TYPE_3_ATCH" "CHADEMO" "CCS" "SCHUKO" "UNKNOWN"

The plug types. (*_ATCH = with cable attached)

status
Array of strings
Items Enum: "FREE" "IN_USE" "CHARGING" "UNAVAILABLE" "UNKNOWN" "FAULTED" "RESERVED" "CLOSED" "MAINTENANCE"

Status of the connector

  • FREE: Connector is free / available
  • IN_USE: Connector is occupied (cable connected or RFID card presented to card reader, in case of roaming charging might already happen)
  • CHARGING: Connector is charging
  • UNAVAILABLE: Connector is unavailable (not installed or broken)
  • UNKNOWN: Connector status is unknown
  • FAULTED: Connector is (temporary) faulted
  • RESERVED: Connector is reserved
  • CLOSED: Connector is closed (not in use anymore)
  • MAINTENANCE: Connector is scheduled for maintenance
with_polygons
boolean
Default: false

Return Polygons of areas that are covered by the clusters.

Responses

Response samples

Content type
application/json
{
  • "type": "FeatureCollection",
  • "features": [
    ]
}

Get a single Charging Station

Get a single charging station by provider, owner and ID.

Authorizations:
OAuth2ClientCredentialOAuth2Password
path Parameters
chargingProvider
required
string^[a-zA-Z0-9-_]+$

The charging provider of the station. See ChargingStationInfo.charging_provider

owner
required
string^[a-zA-Z0-9-_*]+$

The charging station owner. See ChargingStationInfo.owner

publicStationId
required
string^[^\/]+$

The station ID to search for. See ChargingStationInfo.station_id.

Responses

Response samples

Content type
application/json
{
  • "station_id": "DE*WLN*7966",
  • "charging_provider": "emc",
  • "owner": "dewln",
  • "cpo": "dewln",
  • "cpo_name": "Wirelane GmbH",
  • "cpo_logo": "cpo_logo",
  • "vendor": "Wirelane",
  • "model": "Light&Charge",
  • "address": {
    },
  • "availability": {
    },
  • "timezone": "Europe/Berlin",
  • "service_hotline": "+4980010203040",
  • "coordinates": {
    },
  • "roaming": false,
  • "accessibility": "public",
  • "accessibility_location_type": "on-street",
  • "accessibility_location_attributes": [
    ],
  • "authentication_types": [
    ],
  • "energy_resource_type": "mixed",
  • "connectors": [
    ],
  • "favorite_id": "254c5412-0d6e-4269-ae1a-0f723d6d7ae7"
}

Get prices for a Charging Station

Lists customer prices of single charging station.

Authorizations:
OAuth2ClientCredentialOAuth2Password
path Parameters
chargingProvider
required
string^[a-zA-Z0-9-_]+$

The charging provider of the station. See ChargingStationInfo.charging_provider

owner
required
string^[a-zA-Z0-9-_*]+$

The charging station owner. See ChargingStationInfo.owner

publicStationId
required
string^[^\/]+$

The station ID to search for. See ChargingStationInfo.station_id.

query Parameters
customer_type
string
Enum: "registered" "unregistered"

If the filter is not passed then both registered and unregistered tariffs are returned Filter tariffs by customer type.

  • registered: Tariffs only for logged in customer
  • unregistered: Tariffs only for customers not logged in
header Parameters
Accept-Language
string^[a-zA-Z]{2}(-[a-zA-Z]{2})?

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Tenants

Get organization info

Authorizations:
OAuth2ClientCredential
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

header Parameters
Accept-Language
string^[a-zA-Z]{2}(-[a-zA-Z]{2})?

Responses

Response samples

Content type
application/json
{
  • "id": "dewln",
  • "name": "name",
  • "is_cpo": true,
  • "is_sub_cpo": true,
  • "is_emp": false,
  • "is_location_partner": false,
  • "is_contract_holder": false,
  • "supports_direct_billing": false,
  • "currency": "EUR",
  • "contract_holder": "dewln",
  • "plans_with_code": true,
  • "supported_countries": [
    ],
  • "supported_languages": [
    ],
  • "terms_and_conditions_url": "https://example.com/terms_and_conditions.html",
  • "email_sender_name": "Wirelane E-Mobility Services",
  • "customer_contact_phone": "+33 4567 89",
  • "customer_contact_email": "contact@example.com",
  • "customer_contact_fax": "+33 4567 89",
  • "customer_contact_website": "https://support.example.com",
  • "card_login_enabled": true,
  • "timezone": "Europe/Berlin",
  • "card_identifier": "printed_number",
  • "card_accept_ordering": true,
  • "payment_methods": [
    ],
  • "emp": "dewln",
  • "cpo": "dewln",
  • "registration_enabled": true,
  • "registration_mode": "NONE",
  • "maximum_rfid_cards": 20,
  • "portal_domain_name": "my-tenant.emobilitycloud.com",
  • "active": true,
  • "validation_domains": [
    ],
  • "registration_information": "{}"
}

Lookup a given invitations membership

Authorizations:
OAuth2ClientCredential
path Parameters
invitationUuid
required
string[a-zA-Z0-9-_]+

UUID of given invitation

organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Responses

Response samples

Content type
application/json
{
  • "uuid": "uuid",
  • "language": "de",
  • "tenant": "dewln",
  • "email": "john.doe@example.com"
}

Confirms the during registration given email address from a customer

Authorizations:
OAuth2Password
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
token
required
string

Token

Responses

Request samples

Content type
application/json
{
  • "token": "token"
}

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Confirm Reset Password process

Authorizations:
OAuth2ClientCredential
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
newPassword
required
string <password> [ 8 .. 64 ] characters

New password

token
required
string

Token

Responses

Request samples

Content type
application/json
{
  • "token": "token",
  • "newPassword": "newPassword"
}

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Start Reset Password process

Authorizations:
OAuth2ClientCredential
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
email
required
string <email>

The email address of the customer account

Responses

Request samples

Content type
application/json
{
  • "email": "customer@example.com"
}

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Reset password Deprecated

@deprecated: Use requestTenantAccountPasswordReset instead.

Authorizations:
OAuth2ClientCredential
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
email_address
required
string <email>
tenant
string

Tenant ID

Responses

Request samples

Content type
application/json
{
  • "tenant": "dewln",
  • "email_address": "email_address"
}

Response samples

Content type
application/json
{
  • "error_code": "validation_error",
  • "error_message": "Provided data is not valid"
}

Get possible plans for the account

Delivers the plans that are available to the account, might deliver private plans also.

Authorizations:
OAuth2ClientCredential
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

query Parameters
group_type
string
Enum: "PUBLIC" "PRIVATE"

Filter by plan group type

unlock_code
string <password> <= 20 characters ^[a-zA-Z0-9-_*.,;!@$]+$

Search for plans unlocked with the provided code

header Parameters
language
string^[a-z]{2}$

ISO 639-1 language code.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Tenants Registration

Register a new account

Short registration for a customer account. Can only be called if the OrganizationInfo.registration_mode for the tenant is set to SHORT.

Authorizations:
OAuth2ClientCredential
path Parameters
organizationId
required
string^[a-zA-Z0-9-_*]+$

Organization ID

Request Body schema: application/json
required
email
required
string <email>

Email address of the account

password
required
string <password> [ 8 .. 64 ] characters

Password of the account

invite_token
string

The invite token represents the membership UUID and is needed to automatically accept the membership for the inviting tenant.

language
string^[a-z]{2}$
Default: "de"

ISO 639-1 language code.

location_partner
string

Location Partner to which the customer gets added as a member

Responses

Request samples

Content type
application/json
{
  • "email": "exampleuser@example.com",
  • "password": "password",
  • "language": "de",
  • "invite_token": "54cab49631dbad17434225e9bf4261a71b424ccf",
  • "location_partner": "dewln"
}

Response samples

Content type
application/json
{
  • "account_type": "business",
  • "language": "de",
  • "name": "John Doe",
  • "address": {
    },
  • "invoice_email_address": "invoices@example.com",
  • "company_name": "Wirelane GmbH",
  • "vat_number": "DE999999999",
  • "account_id": "DEWLN-0123456789",
  • "tenant": "dewln",
  • "email": "test@example.com",
  • "status": "ACTIVE",
  • "terminationRequested": "2023-04-01T12:00:00+02:00",
  • "terminationEffective": "2023-04-01T12:00:00+02:00",
  • "terminationReason": "terminationReason"
}