OCPI 2.3.0 API (2.3.0)

Download OpenAPI specification:

CDRs - Sender

Get CDRs List (Sender)

Fetch CDR objects from the CPO, last updated between date_from and date_to (paginated).

query Parameters
date_from
string <date-time>

Only return objects that have last_updated after or equal to this Date/Time (inclusive).

date_to
string <date-time>

Only return objects that have last_updated up to this Date/Time, but not including (exclusive).

offset
integer >= 0
Default: 0

The offset of the first object returned. Default is 0.

limit
integer >= 0

Maximum number of objects to GET. The server might return fewer objects.

header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

CDRs - Receiver

Create CDR (Receiver)

Create a new CDR in the eMSP's system. The response SHALL contain a Location header with the URL to the newly created CDR.

header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Request Body schema: application/json
required
country_code
required
string <= 2 characters

ISO-3166 alpha-2 country code of the CPO.

party_id
required
string <= 3 characters

ID of the CPO.

id
required
string <= 39 characters

Unique ID of the CDR per country_code/party_id combination.

start_date_time
required
string <date-time> (DateTime)

Timestamp formatted as RFC 3339 string in UTC. Fractional seconds MAY be used.

end_date_time
required
string <date-time> (DateTime)

Timestamp formatted as RFC 3339 string in UTC. Fractional seconds MAY be used.

session_id
string <= 36 characters

Unique ID of the Session for which this CDR is sent.

required
object (CdrToken)

Identifies the token used to start a charging session in a CDR.

auth_method
required
string (AuthMethod)
Enum: "AUTH_REQUEST" "COMMAND" "WHITELIST"

Method used to authenticate a charging session.

authorization_reference
string <= 36 characters

Reference to the authorization given by the eMSP.

required
object (CdrLocation)

Snapshot of the Location where the charging session took place.

meter_id
string <= 255 characters

Identification of the Meter inside the Charge Point.

currency
required
string <= 3 characters

ISO-4217 code of the currency.

Array of objects (Tariff)

List of relevant Tariffs.

required
Array of objects (ChargingPeriod) non-empty

List of Charging Periods that make up this charging session.

object (SignedData)

Signed meter data for transparency and verification.

required
object (Price)

Price with taxes breakdown.

object (Price)

Price with taxes breakdown.

total_energy
required
number

Total energy charged in kWh.

object (Price)

Price with taxes breakdown.

total_time
required
number

Total duration of the charging session in hours.

object (Price)

Price with taxes breakdown.

total_parking_time
number

Total duration of not charging in hours.

object (Price)

Price with taxes breakdown.

object (Price)

Price with taxes breakdown.

remark
string <= 255 characters

Optional remark with additional information.

invoice_reference_id
string <= 39 characters

Reference to an invoice for this CDR.

credit
boolean

When true, this is a Credit CDR correcting a previous CDR.

credit_reference_id
string <= 39 characters

ID of the CDR that this Credit CDR corrects.

home_charging_compensation
boolean

When true, this CDR is for a home charger session with financial compensation.

last_updated
required
string <date-time> (DateTime)

Timestamp formatted as RFC 3339 string in UTC. Fractional seconds MAY be used.

property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "country_code": "st",
  • "party_id": "str",
  • "id": "string",
  • "start_date_time": "2024-01-15T10:30:00Z",
  • "end_date_time": "2024-01-15T10:30:00Z",
  • "session_id": "string",
  • "cdr_token": {
    },
  • "auth_method": "AUTH_REQUEST",
  • "authorization_reference": "string",
  • "cdr_location": {
    },
  • "meter_id": "string",
  • "currency": "str",
  • "tariffs": [
    ],
  • "charging_periods": [
    ],
  • "signed_data": {
    },
  • "total_cost": {
    },
  • "total_fixed_cost": {
    },
  • "total_energy": 0,
  • "total_energy_cost": {
    },
  • "total_time": 0,
  • "total_time_cost": {
    },
  • "total_parking_time": 0,
  • "total_parking_cost": {
    },
  • "total_reservation_cost": {
    },
  • "remark": "string",
  • "invoice_reference_id": "string",
  • "credit": true,
  • "credit_reference_id": "string",
  • "home_charging_compensation": true,
  • "last_updated": "2024-01-15T10:30:00Z"
}

Response samples

Content type
application/json
{
  • "data": null,
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Get CDR (Receiver)

Retrieve an existing CDR from the eMSP's system. The URL is provided by the eMSP in the Location header of the POST response.

path Parameters
cdr_id
required
string

ID of the CDR (as returned in the Location header).

header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

ChargingProfiles - Receiver

Get Active Charging Profile (Receiver)

Request the active charging profile for a session. The result is sent asynchronously to the response_url.

path Parameters
session_id
required
string <= 36 characters

The unique id that identifies the session.

query Parameters
duration
required
integer

Length of the requested ActiveChargingProfile in seconds.

response_url
required
string <uri>

URL that the ActiveChargingProfileResult POST should be sent to.

header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Responses

Callbacks

Response samples

Content type
application/json
{
  • "data": {
    },
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Callback payload samples

Callback
POST: Async ActiveChargingProfile result
Content type
application/json
{
  • "result": "ACCEPTED",
  • "profile": {
    }
}

Set Charging Profile (Receiver)

Set or update a charging profile for a session. The result is sent asynchronously to the response_url in the request body.

path Parameters
session_id
required
string <= 36 characters

The unique id that identifies the session.

header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Request Body schema: application/json
required
required
object (ChargingProfile)

Defines power or current limits over time for a charging session.

response_url
required
string <uri> <= 255 characters

URL that the ChargingProfileResult POST should be sent to.

property name*
additional property
any

Responses

Callbacks

Request samples

Content type
application/json
{
  • "charging_profile": {
    },
  • "response_url": "http://example.com"
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Callback payload samples

Callback
POST: Async ChargingProfile result
Content type
application/json
{
  • "result": "ACCEPTED"
}

Clear Charging Profile (Receiver)

Clear/remove the charging profile for a session. The result is sent asynchronously to the response_url.

path Parameters
session_id
required
string <= 36 characters

The unique id that identifies the session.

query Parameters
response_url
required
string <uri>

URL that the ClearProfileResult POST should be sent to.

header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Responses

Callbacks

Response samples

Content type
application/json
{
  • "data": {
    },
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Callback payload samples

Callback
POST: Async ClearProfile result
Content type
application/json
{
  • "result": "ACCEPTED"
}

ChargingProfiles - Sender

Update Active Charging Profile (Sender)

CPO pushes an updated ActiveChargingProfile to the Sender when changes occur that influence the profile for an ongoing session. Only sent after the Sender has at least once successfully called the Receiver PUT interface for the session.

path Parameters
session_id
required
string <= 36 characters

The unique id that identifies the session.

header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Request Body schema: application/json
required
start_date_time
required
string <date-time> (DateTime)

Timestamp formatted as RFC 3339 string in UTC. Fractional seconds MAY be used.

required
object (ChargingProfile)

Defines power or current limits over time for a charging session.

property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "start_date_time": "2024-01-15T10:30:00Z",
  • "charging_profile": {
    }
}

Response samples

Content type
application/json
{
  • "data": null,
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Commands - Receiver

Cancel Reservation (Receiver)

Request the Charge Point to cancel a specific reservation.

header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Request Body schema: application/json
required
response_url
required
string <uri> <= 255 characters

URL that the CommandResult POST should be sent to.

reservation_id
required
string <= 36 characters

Unique reservation ID to cancel.

property name*
additional property
any

Responses

Callbacks

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Callback payload samples

Callback
POST: Async result from Charge Point
Content type
application/json
{
  • "result": "ACCEPTED",
  • "message": [
    ]
}

Reserve Now (Receiver)

Request the Charge Point to reserve an EVSE for a Token.

header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Request Body schema: application/json
required
response_url
required
string <uri> <= 255 characters

URL that the CommandResult POST should be sent to.

required
object (Token)

Representation of a charging token.

expiry_date
required
string <date-time> (DateTime)

Timestamp formatted as RFC 3339 string in UTC. Fractional seconds MAY be used.

reservation_id
required
string <= 36 characters

Unique reservation ID.

location_id
required
string <= 36 characters

Location.id of the Location to reserve at.

evse_uid
string <= 36 characters

Optional EVSE.uid of the specific EVSE to reserve.

authorization_reference
string <= 36 characters

Reference to the authorization given by the eMSP.

property name*
additional property
any

Responses

Callbacks

Request samples

Content type
application/json
{
  • "response_url": "http://example.com",
  • "token": {
    },
  • "expiry_date": "2024-01-15T10:30:00Z",
  • "reservation_id": "string",
  • "location_id": "string",
  • "evse_uid": "string",
  • "authorization_reference": "string"
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Callback payload samples

Callback
POST: Async result from Charge Point
Content type
application/json
{
  • "result": "ACCEPTED",
  • "message": [
    ]
}

Start Session (Receiver)

Request the Charge Point to start a transaction on the given EVSE/Connector.

header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Request Body schema: application/json
required
response_url
required
string <uri> <= 255 characters

URL that the CommandResult POST should be sent to.

required
object (Token)

Representation of a charging token.

location_id
required
string <= 36 characters

Location.id of the Location to start charging at.

evse_uid
string <= 36 characters

Optional EVSE.uid. Required when connector_id is set.

connector_id
string <= 36 characters

Optional Connector.id. Required when START_SESSION_CONNECTOR_REQUIRED capability is set.

authorization_reference
string <= 36 characters

Reference to the authorization given by the eMSP.

property name*
additional property
any

Responses

Callbacks

Request samples

Content type
application/json
{
  • "response_url": "http://example.com",
  • "token": {
    },
  • "location_id": "string",
  • "evse_uid": "string",
  • "connector_id": "string",
  • "authorization_reference": "string"
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Callback payload samples

Callback
POST: Async result from Charge Point
Content type
application/json
{
  • "result": "ACCEPTED",
  • "message": [
    ]
}

Stop Session (Receiver)

Request the Charge Point to stop an ongoing session.

header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Request Body schema: application/json
required
response_url
required
string <uri> <= 255 characters

URL that the CommandResult POST should be sent to.

session_id
required
string <= 36 characters

Session.id of the Session to stop.

property name*
additional property
any

Responses

Callbacks

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Callback payload samples

Callback
POST: Async result from Charge Point
Content type
application/json
{
  • "result": "ACCEPTED",
  • "message": [
    ]
}

Unlock Connector (Receiver)

Request the Charge Point to unlock the connector. This functionality is for help desk operators only.

header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Request Body schema: application/json
required
response_url
required
string <uri> <= 255 characters

URL that the CommandResult POST should be sent to.

location_id
required
string <= 36 characters

Location.id of the Location.

evse_uid
required
string <= 36 characters

EVSE.uid of the EVSE.

connector_id
required
string <= 36 characters

Connector.id of the Connector to unlock.

property name*
additional property
any

Responses

Callbacks

Request samples

Content type
application/json
{
  • "response_url": "http://example.com",
  • "location_id": "string",
  • "evse_uid": "string",
  • "connector_id": "string"
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Callback payload samples

Callback
POST: Async result from Charge Point
Content type
application/json
{
  • "result": "ACCEPTED",
  • "message": [
    ]
}

Credentials

Get Credentials

Retrieves the credentials object to access the server's platform. The response contains the credentials object with business details.

header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

Responses

Response samples

Content type
application/json
{
  • "data": {},
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Register (Credentials Exchange)

Provides the server with credentials to access the client's system (registration). If successful, the server generates a new credentials token and responds with the client's new credentials to access the server's system. Returns HTTP 405 if the client has already been registered.

header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

Request Body schema: application/json
required
token
required
string <= 64 characters

The credentials token for the other party to authenticate in your system. Should only contain printable non-whitespace ASCII characters (U+0021 to U+007E).

url
required
string <uri> <= 255 characters

The URL to your API versions endpoint.

hub_party_id
string <= 5 characters

The Hub party of this platform. The two-letter country code and three-character party ID are concatenated together as one five-character string.

required
Array of objects (CredentialsRole) non-empty

List of the roles this platform provides.

property name*
additional property
any

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{
  • "data": {},
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Update Credentials

Provides the server with updated credentials to access the client's system. A PUT will switch to the version that contains this credentials endpoint if different. The server must fetch the client's endpoints again. Returns HTTP 405 if the client has not been registered yet.

header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

Request Body schema: application/json
required
token
required
string <= 64 characters

The credentials token for the other party to authenticate in your system. Should only contain printable non-whitespace ASCII characters (U+0021 to U+007E).

url
required
string <uri> <= 255 characters

The URL to your API versions endpoint.

hub_party_id
string <= 5 characters

The Hub party of this platform. The two-letter country code and three-character party ID are concatenated together as one five-character string.

required
Array of objects (CredentialsRole) non-empty

List of the roles this platform provides.

property name*
additional property
any

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{
  • "data": {},
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Unregister

Informs the server that its credentials to access the client's system are now invalid. Both parties must end any automated communication. Returns HTTP 405 if the client has not been registered.

header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

Responses

Response samples

Content type
application/json
{
  • "data": null,
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

HubClientInfo - Sender

Get Client Info List (Sender)

Fetch ClientInfo objects from the Hub, last updated between date_from and date_to (paginated).

query Parameters
date_from
string <date-time>

Only return objects that have last_updated after or equal to this Date/Time (inclusive).

date_to
string <date-time>

Only return objects that have last_updated up to this Date/Time, but not including (exclusive).

offset
integer >= 0
Default: 0

The offset of the first object returned. Default is 0.

limit
integer >= 0

Maximum number of objects to GET. The server might return fewer objects.

header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

HubClientInfo - Receiver

Get Client Info (Receiver)

Retrieve a ClientInfo object as stored in the Receiver's system.

path Parameters
country_code
required
string = 2 characters

ISO-3166 alpha-2 country code of the party that owns the object.

party_id
required
string = 3 characters

Party ID (Provider ID) of the party that owns the object.

header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Push Client Info (Receiver)

Push a new or updated ClientInfo object to the Receiver.

path Parameters
country_code
required
string = 2 characters

ISO-3166 alpha-2 country code of the party that owns the object.

party_id
required
string = 3 characters

Party ID (Provider ID) of the party that owns the object.

header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

Request Body schema: application/json
required
party_id
required
string <= 3 characters

CPO or eMSP ID of this party.

country_code
required
string <= 2 characters

Country code of the country this party is operating in.

role
required
string (Role)
Enum: "CPO" "EMSP" "NAP" "NSP" "OTHER" "SCSP"

The role of a party in the EV charging ecosystem.

status
required
string (ConnectionStatus)
Enum: "CONNECTED" "OFFLINE" "PLANNED" "SUSPENDED"

Status of a party's connection to the Hub.

last_updated
required
string <date-time> (DateTime)

Timestamp formatted as RFC 3339 string in UTC. Fractional seconds MAY be used.

property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "party_id": "str",
  • "country_code": "st",
  • "role": "CPO",
  • "status": "CONNECTED",
  • "last_updated": "2024-01-15T10:30:00Z"
}

Response samples

Content type
application/json
{
  • "data": null,
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Locations - Sender

Get Locations List (Sender)

Fetch Location objects from the CPO, last updated between date_from and date_to (paginated).

query Parameters
date_from
string <date-time>

Only return objects that have last_updated after or equal to this Date/Time (inclusive).

date_to
string <date-time>

Only return objects that have last_updated up to this Date/Time, but not including (exclusive).

offset
integer >= 0
Default: 0

The offset of the first object returned. Default is 0.

limit
integer >= 0

Maximum number of objects to GET. The server might return fewer objects.

header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Get Location Object (Sender)

Retrieve a specific Location object by its ID.

path Parameters
location_id
required
string <= 36 characters
header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Get EVSE Object (Sender)

Retrieve a specific EVSE object from a Location.

path Parameters
location_id
required
string <= 36 characters
evse_uid
required
string <= 36 characters
header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Get Connector Object (Sender)

Retrieve a specific Connector object from an EVSE.

path Parameters
location_id
required
string <= 36 characters
evse_uid
required
string <= 36 characters
connector_id
required
string <= 36 characters
header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Locations - Receiver

Get Location (Receiver)

Retrieve a Location object as stored in the Receiver's system.

path Parameters
country_code
required
string = 2 characters

ISO-3166 alpha-2 country code of the party that owns the object.

party_id
required
string = 3 characters

Party ID (Provider ID) of the party that owns the object.

location_id
required
string <= 36 characters
header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Push Location (Receiver)

Push a new or updated Location object to the Receiver.

path Parameters
country_code
required
string = 2 characters

ISO-3166 alpha-2 country code of the party that owns the object.

party_id
required
string = 3 characters

Party ID (Provider ID) of the party that owns the object.

location_id
required
string <= 36 characters
header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Request Body schema: application/json
required
country_code
required
string <= 2 characters

ISO-3166 alpha-2 country code of the CPO that owns this Location.

party_id
required
string <= 3 characters

ID of the CPO that owns this Location.

id
required
string <= 36 characters

Uniquely identifies the location within the CPO's platform.

publish
required
boolean

Whether this Location may be published on a website or app.

Array of objects (PublishTokenType)

Only used when publish is false. Tokens listed are allowed to be shown this Location.

name
string <= 255 characters

Display name of the location.

address
required
string <= 45 characters

Street/block name and house number if available.

city
required
string <= 45 characters

City or town.

postal_code
string <= 10 characters

Postal code of the location.

state
string <= 20 characters

State or province of the location.

country
required
string <= 3 characters

ISO 3166-1 alpha-3 code for the country.

required
object (GeoLocation)

Geographic coordinates (WGS 84).

Array of objects (AdditionalGeoLocation)

Geographical locations of related points relevant to the user.

ParkingType (string) or ParkingType (string) (ParkingType)

The general type of parking at this location.

Array of objects (EVSE)

List of EVSEs that belong to this Location.

Array of objects (Parking)

List of parking spaces at this Location.

Array of objects (DisplayText)

Human-readable directions on how to reach the location.

object (BusinessDetails)

Details of an operator, owner, or suboperator.

object (BusinessDetails)

Details of an operator, owner, or suboperator.

object (BusinessDetails)

Details of an operator, owner, or suboperator.

Array of strings or strings (Facility)

Optional list of facilities this charging location directly belongs to.

time_zone
required
string <= 255 characters

IANA TZ-value representing the time zone of the location.

object (Hours)

Opening and access hours.

charging_when_closed
boolean

Indicates if the EVSEs are still charging outside the opening hours. Default is true.

Array of objects (Image)

Links to images related to the location.

object (EnergyMix)

Details about the energy supplied at this location.

help_phone
string <= 25 characters

Customer service phone number.

last_updated
required
string <date-time> (DateTime)

Timestamp formatted as RFC 3339 string in UTC. Fractional seconds MAY be used.

property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "country_code": "st",
  • "party_id": "str",
  • "id": "string",
  • "publish": true,
  • "publish_allowed_to": [
    ],
  • "name": "string",
  • "address": "string",
  • "city": "string",
  • "postal_code": "string",
  • "state": "string",
  • "country": "str",
  • "coordinates": {
    },
  • "related_locations": [
    ],
  • "parking_type": "ALONG_MOTORWAY",
  • "evses": [
    ],
  • "parking_places": [
    ],
  • "directions": [
    ],
  • "operator": {},
  • "suboperator": {},
  • "owner": {},
  • "facilities": [
    ],
  • "time_zone": "string",
  • "opening_times": {
    },
  • "charging_when_closed": true,
  • "images": [],
  • "energy_mix": {
    },
  • "help_phone": "string",
  • "last_updated": "2024-01-15T10:30:00Z"
}

Response samples

Content type
application/json
{
  • "data": null,
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Partially Update Location (Receiver)

Push partial updates to a Location object. The request MUST contain the last_updated field.

path Parameters
country_code
required
string = 2 characters

ISO-3166 alpha-2 country code of the party that owns the object.

party_id
required
string = 3 characters

Party ID (Provider ID) of the party that owns the object.

location_id
required
string <= 36 characters
header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Request Body schema: application/json
required
property name*
additional property
any

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "data": null,
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Get EVSE (Receiver)

Retrieve an EVSE object as stored in the Receiver's system.

path Parameters
country_code
required
string = 2 characters

ISO-3166 alpha-2 country code of the party that owns the object.

party_id
required
string = 3 characters

Party ID (Provider ID) of the party that owns the object.

location_id
required
string <= 36 characters
evse_uid
required
string <= 36 characters
header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Push EVSE (Receiver)

Push a new or updated EVSE to the Receiver. The Receiver SHALL update the last_updated field on the parent Location.

path Parameters
country_code
required
string = 2 characters

ISO-3166 alpha-2 country code of the party that owns the object.

party_id
required
string = 3 characters

Party ID (Provider ID) of the party that owns the object.

location_id
required
string <= 36 characters
evse_uid
required
string <= 36 characters
header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Request Body schema: application/json
required
uid
required
string <= 36 characters

Uniquely identifies the EVSE within the CPO's platform (not the eMI3 EVSE ID).

evse_id
string <= 48 characters

Compliant with the eMI3 standard EVSE ID.

status
required
string (Status)
Enum: "AVAILABLE" "BLOCKED" "CHARGING" "INOPERATIVE" "OUTOFORDER" "PLANNED" "REMOVED" "RESERVED" "UNKNOWN"

The status of an EVSE.

Array of objects (StatusSchedule)

Indicates a planned status update of the EVSE.

Array of strings or strings (Capability)

List of functionalities that the EVSE is capable of.

required
Array of objects (Connector) non-empty

List of available connectors on the EVSE.

floor_level
string <= 4 characters

Level on which the Charge Point is located (in garage buildings).

object (GeoLocation)

Geographic coordinates (WGS 84).

physical_reference
string <= 16 characters

A number/string printed on the outside of the EVSE for visual identification.

Array of objects (DisplayText)

Multi-language human-readable directions to find the EVSE.

Array of strings or strings (ParkingRestriction)

Restrictions that apply to the parking spot.

Array of objects (EVSEParking)

References to parking spaces assigned to this EVSE.

Array of objects (Image)

Links to images related to the EVSE.

accepted_service_providers
Array of strings[ items <= 50 characters ]

Names of eMSPs that accept payment at this EVSE.

last_updated
required
string <date-time> (DateTime)

Timestamp formatted as RFC 3339 string in UTC. Fractional seconds MAY be used.

property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "uid": "string",
  • "evse_id": "string",
  • "status": "AVAILABLE",
  • "status_schedule": [
    ],
  • "capabilities": [
    ],
  • "connectors": [
    ],
  • "floor_level": "stri",
  • "coordinates": {
    },
  • "physical_reference": "string",
  • "directions": [
    ],
  • "parking_restrictions": [
    ],
  • "parking": [
    ],
  • "images": [],
  • "accepted_service_providers": [
    ],
  • "last_updated": "2024-01-15T10:30:00Z"
}

Response samples

Content type
application/json
{
  • "data": null,
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Partially Update EVSE (Receiver)

Push partial updates to an EVSE. The request MUST contain the last_updated field. The Receiver SHALL update last_updated on the parent Location.

path Parameters
country_code
required
string = 2 characters

ISO-3166 alpha-2 country code of the party that owns the object.

party_id
required
string = 3 characters

Party ID (Provider ID) of the party that owns the object.

location_id
required
string <= 36 characters
evse_uid
required
string <= 36 characters
header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Request Body schema: application/json
required
property name*
additional property
any

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "data": null,
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Get Connector (Receiver)

Retrieve a Connector object as stored in the Receiver's system.

path Parameters
country_code
required
string = 2 characters

ISO-3166 alpha-2 country code of the party that owns the object.

party_id
required
string = 3 characters

Party ID (Provider ID) of the party that owns the object.

location_id
required
string <= 36 characters
evse_uid
required
string <= 36 characters
connector_id
required
string <= 36 characters
header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Push Connector (Receiver)

Push a new or updated Connector to the Receiver. The Receiver SHALL update last_updated on the parent EVSE and Location.

path Parameters
country_code
required
string = 2 characters

ISO-3166 alpha-2 country code of the party that owns the object.

party_id
required
string = 3 characters

Party ID (Provider ID) of the party that owns the object.

location_id
required
string <= 36 characters
evse_uid
required
string <= 36 characters
connector_id
required
string <= 36 characters
header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Request Body schema: application/json
required
id
required
string <= 36 characters

Identifier of the Connector within the EVSE.

required
ConnectorType (string) or ConnectorType (string) (ConnectorType)

The socket or plug standard of the connector.

format
required
string (ConnectorFormat)
Enum: "SOCKET" "CABLE"

The format of a connector (socket or attached cable).

power_type
required
string (PowerType)
Enum: "AC_1_PHASE" "AC_2_PHASE" "AC_2_PHASE_SPLIT" "AC_3_PHASE" "DC"

AC or DC power type.

max_voltage
required
integer

Maximum voltage of the connector (line to neutral) in Volts [V].

max_amperage
required
integer

Maximum amperage of the connector in Amperes [A].

max_electric_power
integer

Maximum electric power that can be delivered by this connector in Watts [W].

tariff_ids
Array of strings[ items <= 36 characters ]

Identifiers of the currently valid charging tariffs.

terms_and_conditions
string <uri> <= 255 characters

URL to the operator's terms and conditions.

Array of strings or strings (ConnectorCapability)

List of functionalities that the connector is capable of.

last_updated
required
string <date-time> (DateTime)

Timestamp formatted as RFC 3339 string in UTC. Fractional seconds MAY be used.

property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "standard": "CHADEMO",
  • "format": "SOCKET",
  • "power_type": "AC_1_PHASE",
  • "max_voltage": 0,
  • "max_amperage": 0,
  • "max_electric_power": 0,
  • "tariff_ids": [
    ],
  • "terms_and_conditions": "http://example.com",
  • "capabilities": [
    ],
  • "last_updated": "2024-01-15T10:30:00Z"
}

Response samples

Content type
application/json
{
  • "data": null,
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Partially Update Connector (Receiver)

Push partial updates to a Connector. The request MUST contain the last_updated field. The Receiver SHALL update last_updated on the parent EVSE and Location.

path Parameters
country_code
required
string = 2 characters

ISO-3166 alpha-2 country code of the party that owns the object.

party_id
required
string = 3 characters

Party ID (Provider ID) of the party that owns the object.

location_id
required
string <= 36 characters
evse_uid
required
string <= 36 characters
connector_id
required
string <= 36 characters
header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Request Body schema: application/json
required
property name*
additional property
any

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "data": null,
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Payments - Terminals - Sender

Get Terminals List (Sender)

Fetch Terminal objects from the PTP, last updated between date_from and date_to (paginated).

query Parameters
date_from
string <date-time>

Only return objects that have last_updated after or equal to this Date/Time (inclusive).

date_to
string <date-time>

Only return objects that have last_updated up to this Date/Time, but not including (exclusive).

offset
integer >= 0
Default: 0

The offset of the first object returned. Default is 0.

limit
integer >= 0

Maximum number of objects to GET. The server might return fewer objects.

header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Get Terminal (Sender)

Fetch a specific Terminal object by ID.

path Parameters
terminal_id
required
string <= 36 characters

Terminal.terminal_id of the Terminal to retrieve.

header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Update Terminal (Sender)

Update location data of a Terminal.

path Parameters
terminal_id
required
string <= 36 characters
header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Request Body schema: application/json
required
terminal_id
required
string <= 36 characters

Unique ID that identifies the terminal.

customer_reference
string <= 36 characters

Reference to link terminal to CSMS, provided via order process.

party_id
string <= 3 characters

Alternative to customer_reference.

country_code
string <= 2 characters

Alternative to customer_reference.

address
string <= 45 characters

Street/block name and house number.

city
string <= 45 characters

City or town.

postal_code
string <= 10 characters

Postal code.

state
string <= 20 characters

State or province.

country
string <= 3 characters

ISO 3166-1 alpha-3 country code.

object (GeoLocation)

Geographic coordinates (WGS 84).

invoice_base_url
string <uri> <= 255 characters

BaseURL to the downloadable invoice.

invoice_creator
string (InvoiceCreator)
Enum: "CPO" "PTP"

Which party creates the invoice for the EV driver.

reference
string <= 36 characters

Mapping value issued by PTP (e.g. serial number).

location_ids
Array of strings[ items <= 36 characters ]

List of all locations assigned to this terminal.

evse_uids
Array of strings[ items <= 36 characters ]

List of all EVSEs assigned to this terminal.

last_updated
required
string <date-time> (DateTime)

Timestamp formatted as RFC 3339 string in UTC. Fractional seconds MAY be used.

property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "terminal_id": "string",
  • "customer_reference": "string",
  • "party_id": "str",
  • "country_code": "st",
  • "address": "string",
  • "city": "string",
  • "postal_code": "string",
  • "state": "string",
  • "country": "str",
  • "coordinates": {
    },
  • "invoice_base_url": "http://example.com",
  • "invoice_creator": "CPO",
  • "reference": "string",
  • "location_ids": [
    ],
  • "evse_uids": [
    ],
  • "last_updated": "2024-01-15T10:30:00Z"
}

Response samples

Content type
application/json
{
  • "data": null,
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Partially Update Terminal (Sender)

Assign location_ids and/or evse_uids to a Terminal.

path Parameters
terminal_id
required
string <= 36 characters
header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Request Body schema: application/json
required
property name*
additional property
any

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "data": null,
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Activate Terminal (Sender)

Activate a Terminal.

header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Request Body schema: application/json
required
terminal_id
required
string <= 36 characters

Unique ID that identifies the terminal.

customer_reference
string <= 36 characters

Reference to link terminal to CSMS, provided via order process.

party_id
string <= 3 characters

Alternative to customer_reference.

country_code
string <= 2 characters

Alternative to customer_reference.

address
string <= 45 characters

Street/block name and house number.

city
string <= 45 characters

City or town.

postal_code
string <= 10 characters

Postal code.

state
string <= 20 characters

State or province.

country
string <= 3 characters

ISO 3166-1 alpha-3 country code.

object (GeoLocation)

Geographic coordinates (WGS 84).

invoice_base_url
string <uri> <= 255 characters

BaseURL to the downloadable invoice.

invoice_creator
string (InvoiceCreator)
Enum: "CPO" "PTP"

Which party creates the invoice for the EV driver.

reference
string <= 36 characters

Mapping value issued by PTP (e.g. serial number).

location_ids
Array of strings[ items <= 36 characters ]

List of all locations assigned to this terminal.

evse_uids
Array of strings[ items <= 36 characters ]

List of all EVSEs assigned to this terminal.

last_updated
required
string <date-time> (DateTime)

Timestamp formatted as RFC 3339 string in UTC. Fractional seconds MAY be used.

property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "terminal_id": "string",
  • "customer_reference": "string",
  • "party_id": "str",
  • "country_code": "st",
  • "address": "string",
  • "city": "string",
  • "postal_code": "string",
  • "state": "string",
  • "country": "str",
  • "coordinates": {
    },
  • "invoice_base_url": "http://example.com",
  • "invoice_creator": "CPO",
  • "reference": "string",
  • "location_ids": [
    ],
  • "evse_uids": [
    ],
  • "last_updated": "2024-01-15T10:30:00Z"
}

Response samples

Content type
application/json
{
  • "data": null,
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Deactivate Terminal (Sender)

Deactivate a Terminal.

path Parameters
terminal_id
required
string <= 36 characters
header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Responses

Response samples

Content type
application/json
{
  • "data": null,
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Payments - Terminals - Receiver

Create Terminal (Receiver)

PTP creates a newly shipped terminal in the CPO's system.

header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Request Body schema: application/json
required
terminal_id
required
string <= 36 characters

Unique ID that identifies the terminal.

customer_reference
string <= 36 characters

Reference to link terminal to CSMS, provided via order process.

party_id
string <= 3 characters

Alternative to customer_reference.

country_code
string <= 2 characters

Alternative to customer_reference.

address
string <= 45 characters

Street/block name and house number.

city
string <= 45 characters

City or town.

postal_code
string <= 10 characters

Postal code.

state
string <= 20 characters

State or province.

country
string <= 3 characters

ISO 3166-1 alpha-3 country code.

object (GeoLocation)

Geographic coordinates (WGS 84).

invoice_base_url
string <uri> <= 255 characters

BaseURL to the downloadable invoice.

invoice_creator
string (InvoiceCreator)
Enum: "CPO" "PTP"

Which party creates the invoice for the EV driver.

reference
string <= 36 characters

Mapping value issued by PTP (e.g. serial number).

location_ids
Array of strings[ items <= 36 characters ]

List of all locations assigned to this terminal.

evse_uids
Array of strings[ items <= 36 characters ]

List of all EVSEs assigned to this terminal.

last_updated
required
string <date-time> (DateTime)

Timestamp formatted as RFC 3339 string in UTC. Fractional seconds MAY be used.

property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "terminal_id": "string",
  • "customer_reference": "string",
  • "party_id": "str",
  • "country_code": "st",
  • "address": "string",
  • "city": "string",
  • "postal_code": "string",
  • "state": "string",
  • "country": "str",
  • "coordinates": {
    },
  • "invoice_base_url": "http://example.com",
  • "invoice_creator": "CPO",
  • "reference": "string",
  • "location_ids": [
    ],
  • "evse_uids": [
    ],
  • "last_updated": "2024-01-15T10:30:00Z"
}

Response samples

Content type
application/json
{
  • "data": null,
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Get Terminal (Receiver)

Retrieve a Terminal object from the CPO's system.

path Parameters
terminal_id
required
string <= 36 characters
header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Payments - FAC - Sender

Get FAC List (Sender)

Fetch FinancialAdviceConfirmation objects, last updated between date_from and date_to (paginated).

query Parameters
date_from
string <date-time>

Only return objects that have last_updated after or equal to this Date/Time (inclusive).

date_to
string <date-time>

Only return objects that have last_updated up to this Date/Time, but not including (exclusive).

offset
integer >= 0
Default: 0

The offset of the first object returned. Default is 0.

limit
integer >= 0

Maximum number of objects to GET. The server might return fewer objects.

header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Get FAC (Sender)

Fetch a specific FinancialAdviceConfirmation by ID.

path Parameters
fac_id
required
string <= 36 characters

FinancialAdviceConfirmation.id to retrieve.

header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Payments - FAC - Receiver

Create FAC (Receiver)

PTP creates a FinancialAdviceConfirmation in the CPO's system after capture at PSP.

header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Request Body schema: application/json
required
id
required
string <= 36 characters

Unique ID of this financial advice confirmation.

authorization_reference
required
string <= 36 characters

Reference to authorization given by PTP in Commands.StartSession.

required
object (Price)

Price with taxes breakdown.

currency
required
string <= 3 characters

ISO-4217 currency code.

eft_data
required
Array of strings non-empty [ items <= 255 characters ]

Invoice relevant data from direct payment.

capture_status_code
required
string (CaptureStatusCode)
Enum: "SUCCESS" "PARTIAL_SUCCESS" "FAILED"

Status code for the financial advice (payment capture).

capture_status_message
string <= 255 characters

Message about any error at financial advice.

last_updated
required
string <date-time> (DateTime)

Timestamp formatted as RFC 3339 string in UTC. Fractional seconds MAY be used.

property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "authorization_reference": "string",
  • "total_costs": {
    },
  • "currency": "str",
  • "eft_data": [
    ],
  • "capture_status_code": "SUCCESS",
  • "capture_status_message": "string",
  • "last_updated": "2024-01-15T10:30:00Z"
}

Response samples

Content type
application/json
{
  • "data": null,
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Get FAC (Receiver)

Retrieve a FinancialAdviceConfirmation from the CPO's system.

path Parameters
fac_id
required
string <= 36 characters
header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Sessions - Sender

Get Sessions List (Sender)

Fetch Session objects from the CPO, last updated between date_from and date_to (paginated).

query Parameters
date_from
string <date-time>

Only return objects that have last_updated after or equal to this Date/Time (inclusive).

date_to
string <date-time>

Only return objects that have last_updated up to this Date/Time, but not including (exclusive).

offset
integer >= 0
Default: 0

The offset of the first object returned. Default is 0.

limit
integer >= 0

Maximum number of objects to GET. The server might return fewer objects.

header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Set Charging Preferences (Sender)

Set or update the driver's Charging Preferences for an ongoing session. The EVSE must have the CHARGING_PREFERENCES_CAPABLE capability.

path Parameters
session_id
required
string <= 36 characters

Session.id of the Session to set Charging Preferences for.

header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Request Body schema: application/json
required
profile_type
required
string (ProfileType)
Enum: "CHEAP" "FAST" "GREEN" "REGULAR"

Type of smart charging profile selected by the driver.

departure_time
string <date-time> (DateTime)

Timestamp formatted as RFC 3339 string in UTC. Fractional seconds MAY be used.

energy_need
number

Requested amount of energy in kWh.

discharge_allowed
boolean

Whether the driver allows the EV to be discharged when needed. Default if omitted: false.

property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "profile_type": "CHEAP",
  • "departure_time": "2024-01-15T10:30:00Z",
  • "energy_need": 0,
  • "discharge_allowed": true
}

Response samples

Content type
application/json
{
  • "data": "ACCEPTED",
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Sessions - Receiver

Get Session (Receiver)

Retrieve a Session object as stored in the Receiver's system.

path Parameters
country_code
required
string = 2 characters

ISO-3166 alpha-2 country code of the party that owns the object.

party_id
required
string = 3 characters

Party ID (Provider ID) of the party that owns the object.

session_id
required
string <= 36 characters
header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Push Session (Receiver)

Push a new or updated Session object to the Receiver. A new Session replaces any existing Session. charging_periods from new Session replace old ones.

path Parameters
country_code
required
string = 2 characters

ISO-3166 alpha-2 country code of the party that owns the object.

party_id
required
string = 3 characters

Party ID (Provider ID) of the party that owns the object.

session_id
required
string <= 36 characters
header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Request Body schema: application/json
required
country_code
required
string <= 2 characters

ISO-3166 alpha-2 country code of the CPO that owns this Session.

party_id
required
string <= 3 characters

ID of the CPO that owns this Session.

id
required
string <= 36 characters

Unique ID of the charging session in the CPO platform.

start_date_time
required
string <date-time> (DateTime)

Timestamp formatted as RFC 3339 string in UTC. Fractional seconds MAY be used.

end_date_time
string <date-time> (DateTime)

Timestamp formatted as RFC 3339 string in UTC. Fractional seconds MAY be used.

kwh
required
number

How many kWh were charged.

required
object (CdrToken)

Identifies the token used to start a charging session in a CDR.

auth_method
required
string (AuthMethod)
Enum: "AUTH_REQUEST" "COMMAND" "WHITELIST"

Method used to authenticate a charging session.

authorization_reference
string <= 36 characters

Reference to the authorization given by the eMSP.

location_id
required
string <= 36 characters

Location.id where the charging session is/was happening.

evse_uid
required
string <= 36 characters

EVSE.uid of the EVSE. Can be '#NA' for reservation without assigned EVSE.

connector_id
required
string <= 36 characters

Connector.id of the Connector. Can be '#NA' for reservation without assigned connector.

meter_id
string <= 255 characters

Optional identification of the kWh meter.

currency
required
string <= 3 characters

ISO-4217 code of the currency used for this session.

Array of objects (ChargingPeriod)

List of Charging Periods to calculate/verify total cost.

object (Price)

Price with taxes breakdown.

status
required
string (SessionStatus)
Enum: "ACTIVE" "COMPLETED" "INVALID" "PENDING" "RESERVATION"

The status of a charging session.

last_updated
required
string <date-time> (DateTime)

Timestamp formatted as RFC 3339 string in UTC. Fractional seconds MAY be used.

property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "country_code": "st",
  • "party_id": "str",
  • "id": "string",
  • "start_date_time": "2024-01-15T10:30:00Z",
  • "end_date_time": "2024-01-15T10:30:00Z",
  • "kwh": 0,
  • "cdr_token": {
    },
  • "auth_method": "AUTH_REQUEST",
  • "authorization_reference": "string",
  • "location_id": "string",
  • "evse_uid": "string",
  • "connector_id": "string",
  • "meter_id": "string",
  • "currency": "str",
  • "charging_periods": [
    ],
  • "total_cost": {
    },
  • "status": "ACTIVE",
  • "last_updated": "2024-01-15T10:30:00Z"
}

Response samples

Content type
application/json
{
  • "data": null,
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Partially Update Session (Receiver)

Push partial updates to a Session. MUST contain last_updated. For charging_periods: acts as a request to add ChargingPeriod objects. To replace or remove charging_periods, use PUT instead.

path Parameters
country_code
required
string = 2 characters

ISO-3166 alpha-2 country code of the party that owns the object.

party_id
required
string = 3 characters

Party ID (Provider ID) of the party that owns the object.

session_id
required
string <= 36 characters
header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Request Body schema: application/json
required
property name*
additional property
any

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "data": null,
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Tariffs - Sender

Get Tariffs List (Sender)

Fetch Tariff objects from the CPO, last updated between date_from and date_to (paginated).

query Parameters
date_from
string <date-time>

Only return objects that have last_updated after or equal to this Date/Time (inclusive).

date_to
string <date-time>

Only return objects that have last_updated up to this Date/Time, but not including (exclusive).

offset
integer >= 0
Default: 0

The offset of the first object returned. Default is 0.

limit
integer >= 0

Maximum number of objects to GET. The server might return fewer objects.

header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Tariffs - Receiver

Get Tariff (Receiver)

Retrieve a Tariff object as stored in the Receiver's system for validation.

path Parameters
country_code
required
string = 2 characters

ISO-3166 alpha-2 country code of the party that owns the object.

party_id
required
string = 3 characters

Party ID (Provider ID) of the party that owns the object.

tariff_id
required
string <= 36 characters

Tariff.id of the Tariff to retrieve.

header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Push Tariff (Receiver)

Push a new or updated Tariff object to the Receiver.

path Parameters
country_code
required
string = 2 characters

ISO-3166 alpha-2 country code of the party that owns the object.

party_id
required
string = 3 characters

Party ID (Provider ID) of the party that owns the object.

tariff_id
required
string <= 36 characters
header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Request Body schema: application/json
required
country_code
required
string <= 2 characters

ISO-3166 alpha-2 country code of the CPO that owns this Tariff.

party_id
required
string <= 3 characters

ID of the CPO that owns this Tariff.

id
required
string <= 36 characters

Uniquely identifies the Tariff within the CPO's platform.

currency
required
string <= 3 characters

ISO-4217 code of the currency of this Tariff.

type
string (TariffType)
Enum: "AD_HOC_PAYMENT" "PROFILE_CHEAP" "PROFILE_FAST" "PROFILE_GREEN" "REGULAR"

Type of tariff.

Array of objects (DisplayText)

Alternative tariff info text in multiple languages.

tariff_alt_url
string <uri> <= 255 characters

URL to a web page with tariff information in human readable form.

object (PriceLimit)

Minimum or maximum price limit for a charging session.

object (PriceLimit)

Minimum or maximum price limit for a charging session.

preauthorize_amount
number

Amount that a Payment Terminal Provider should preauthorize for card payment.

required
Array of objects (TariffElement) non-empty

List of Tariff Elements.

tax_included
required
string (TaxIncluded)
Enum: "YES" "NO" "N/A"

Whether taxes are included in this Tariff's prices.

start_date_time
string <date-time> (DateTime)

Timestamp formatted as RFC 3339 string in UTC. Fractional seconds MAY be used.

end_date_time
string <date-time> (DateTime)

Timestamp formatted as RFC 3339 string in UTC. Fractional seconds MAY be used.

object (EnergyMix)

Details about the energy supplied at this location.

last_updated
required
string <date-time> (DateTime)

Timestamp formatted as RFC 3339 string in UTC. Fractional seconds MAY be used.

property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "country_code": "st",
  • "party_id": "str",
  • "id": "string",
  • "currency": "str",
  • "type": "AD_HOC_PAYMENT",
  • "tariff_alt_text": [
    ],
  • "tariff_alt_url": "http://example.com",
  • "min_price": {
    },
  • "max_price": {
    },
  • "preauthorize_amount": 0,
  • "elements": [
    ],
  • "tax_included": "YES",
  • "start_date_time": "2024-01-15T10:30:00Z",
  • "end_date_time": "2024-01-15T10:30:00Z",
  • "energy_mix": {
    },
  • "last_updated": "2024-01-15T10:30:00Z"
}

Response samples

Content type
application/json
{
  • "data": null,
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Delete Tariff (Receiver)

Delete a Tariff object that is no longer in use.

path Parameters
country_code
required
string = 2 characters

ISO-3166 alpha-2 country code of the party that owns the object.

party_id
required
string = 3 characters

Party ID (Provider ID) of the party that owns the object.

tariff_id
required
string <= 36 characters
header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Responses

Response samples

Content type
application/json
{
  • "data": null,
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Tokens - Sender

Get Tokens List (Sender)

Fetch Token objects from the eMSP, last updated between date_from and date_to (paginated).

query Parameters
date_from
string <date-time>

Only return objects that have last_updated after or equal to this Date/Time (inclusive).

date_to
string <date-time>

Only return objects that have last_updated up to this Date/Time, but not including (exclusive).

offset
integer >= 0
Default: 0

The offset of the first object returned. Default is 0.

limit
integer >= 0

Maximum number of objects to GET. The server might return fewer objects.

header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Real-time Authorization (Sender)

Perform a real-time authorization request to the eMSP, validating if a Token may be used at the optionally given Location.

path Parameters
token_uid
required
string <= 36 characters

Token.uid of the Token to authorize.

query Parameters
string or string (TokenType)

Token.type of the Token to authorize. Default if omitted is RFID.

header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Request Body schema: application/json
optional
location_id
required
string <= 36 characters

Unique identifier for the location.

evse_uids
Array of strings[ items <= 36 characters ]

Unique identifiers for EVSEs within the given location.

property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "location_id": "string",
  • "evse_uids": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Tokens - Receiver

Get Token (Receiver)

Retrieve a Token object as stored in the Receiver's system.

path Parameters
country_code
required
string = 2 characters

ISO-3166 alpha-2 country code of the party that owns the object.

party_id
required
string = 3 characters

Party ID (Provider ID) of the party that owns the object.

token_uid
required
string <= 36 characters

Token.uid of the Token to retrieve.

query Parameters
string or string (TokenType)

Token.type of the Token to retrieve. Default if omitted is RFID.

header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Push Token (Receiver)

Push a new or updated Token object to the Receiver.

path Parameters
country_code
required
string = 2 characters

ISO-3166 alpha-2 country code of the party that owns the object.

party_id
required
string = 3 characters

Party ID (Provider ID) of the party that owns the object.

token_uid
required
string <= 36 characters
query Parameters
string or string (TokenType)

Token.type of the Token. Default if omitted is RFID.

header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Request Body schema: application/json
required
country_code
required
string <= 2 characters

ISO-3166 alpha-2 country code of the eMSP that owns this Token.

party_id
required
string <= 3 characters

ID of the eMSP that owns this Token.

uid
required
string <= 36 characters

Unique ID by which this Token (combined with Token type) can be identified. For RFID tokens, this is typically the RFID hidden ID.

required
TokenType (string) or TokenType (string) (TokenType)

Type of charging token.

contract_id
required
string <= 36 characters

Uniquely identifies the EV driver contract token within the eMSP's platform.

visual_number
string <= 64 characters

Visual readable number/identification printed on the Token.

issuer
required
string <= 64 characters

Issuing company name (usually printed on the RFID card).

group_id
string <= 36 characters

Groups multiple tokens so a session can be started with one and stopped with another.

valid
required
boolean

Whether this Token is valid.

whitelist
required
string (WhitelistType)
Enum: "ALWAYS" "ALLOWED" "ALLOWED_OFFLINE" "NEVER"

Defines the whitelist behavior for a Token.

language
string <= 2 characters

ISO 639-1 language code for the Token owner's preferred interface language.

default_profile_type
string (ProfileType)
Enum: "CHEAP" "FAST" "GREEN" "REGULAR"

Type of smart charging profile selected by the driver.

object (EnergyContract)

Information about an EV driver's energy supply contract.

last_updated
required
string <date-time> (DateTime)

Timestamp formatted as RFC 3339 string in UTC. Fractional seconds MAY be used.

property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "country_code": "st",
  • "party_id": "str",
  • "uid": "string",
  • "type": "AD_HOC_USER",
  • "contract_id": "string",
  • "visual_number": "string",
  • "issuer": "string",
  • "group_id": "string",
  • "valid": true,
  • "whitelist": "ALWAYS",
  • "language": "st",
  • "default_profile_type": "CHEAP",
  • "energy_contract": {
    },
  • "last_updated": "2024-01-15T10:30:00Z"
}

Response samples

Content type
application/json
{
  • "data": null,
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Partially Update Token (Receiver)

Push partial updates to a Token. MUST contain last_updated. Tokens cannot be deleted; use PUT to invalidate.

path Parameters
country_code
required
string = 2 characters

ISO-3166 alpha-2 country code of the party that owns the object.

party_id
required
string = 3 characters

Party ID (Provider ID) of the party that owns the object.

token_uid
required
string <= 36 characters
query Parameters
string or string (TokenType)

Token.type of the Token. Default if omitted is RFID.

header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

OCPI-from-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-from-party-id
string = 3 characters

Party ID of the connected party this message is sent from. Required for Functional Modules when routing via Hub or Platform.

OCPI-to-country-code
string = 2 characters

ISO-3166 alpha-2 country code of the party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

OCPI-to-party-id
string = 3 characters

Party ID of the connected party this message is to be sent to. Required for Functional Modules when routing via Hub or Platform. Can be omitted for Open Routing Requests.

Request Body schema: application/json
required
property name*
additional property
any

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "data": null,
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Versions

Get Supported Versions

Fetch all supported OCPI versions of this CPO or eMSP.

header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

Responses

Response samples

Content type
application/json
{
  • "data": [],
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}

Get Version Details

Fetch information about the supported endpoints and their URLs for a specific OCPI version.

path Parameters
required
string or string (VersionNumber)

The version number to get details for.

header Parameters
Authorization
required
string^Token [A-Za-z0-9+/=]+$
Example: Token ZWJmM2IzOTktNzc5Zi00NDk3LTliOWQtYWM2YWQzY2M0NGQyCg==

OCPI credentials token for authentication. Format: Token

X-Request-ID
required
string <uuid>
Example: f5be3127-a31e-4e8c-84c3-0e4c89a48d71

Every request SHALL contain a unique request ID. The response to this request SHALL contain the same ID.

X-Correlation-ID
required
string <uuid>
Example: 9d863a1c-e981-4fc1-b3be-8c39ec35bc38

Every request/response SHALL contain a unique correlation ID. Every response to this request SHALL contain the same ID.

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2024-01-15T10:30:00Z"
}
Back to specification