Read a station's OCPP message log
The OCPP messages the charging core exchanged with the charger, newest first, for troubleshooting: direction, message type, action, message ID, timestamp and the redacted payload. since and until are ISO 8601; until defaults to now and since to 24 hours before until, and one request covers at most 7 days (422 time_range_invalid). action (repeatable, up to 20) keeps only those OCPP actions; a reply carries its request's action. Page with cursor=next_cursor and the same filters. Payloads are redacted before they leave the API: passwords, keys and secret configuration values read [redacted], HTTP Basic and URL credentials and query strings are masked, ID tokens show their last 4 characters, and certificates are cut to 32 characters. Requires stations:diagnostics, which team owners, admins and developers and Ivora support hold, and operators, viewers and billing members never do.
Path parameters
- tenant_idintegerRequired
- station_idintegerRequired
Query parameters
- sincestring | nullUp to 40 characters
- untilstring | nullUp to 40 characters
- actionarray of string | nullOCPP action, for example StatusNotification; repeat for more
- cursorstring | nullnext_cursor of the previous pageUp to 20 characters
- limitintegerDefault
100· Minimum 1 · Maximum 500
Returns · 200
- station_idintegerRequired
- sincestringRequiredThe start of the requested period (inclusive).
- untilstringRequiredThe end of the requested period (exclusive).
- dataarray of OcppMessageRecordRequiredNewest first.
Child attributes
- idintegerRequiredThe message's journal ID in the charging core; newer messages have higher IDs.
- station_idintegerRequired
- directionenum | nullRequiredfrom_charger: the charger sent it. to_charger: the charging core sent it to the charger.One of
from_charger,to_charger - message_typeenum | nullRequiredOCPP-J frame: call (a request), call_result (its reply) or call_error (a refusal).One of
call,call_result,call_error - actionstring | nullRequiredThe OCPP action, for example BootNotification. A reply carries its request's action when the core recorded it.
- message_idstring | nullRequiredThe OCPP-J message ID that pairs a call with its call_result or call_error.
- timestampstring | nullRequiredWhen the charging core recorded the message.
- protocolstring | nullRequiredocpp1.6, ocpp2.0.1 or ocpp2.1.
- payloadobject | array of any | string | integer | number | boolean | nullRequiredThe OCPP payload with secrets redacted: passwords, keys and secret configuration values read [redacted], HTTP Basic credentials and URL credentials and query strings are masked, ID tokens show their last 4 characters behind ****, and certificates, CSRs and signatures keep their first 32 characters and their length. null when truncated. Energy values are the charger's own: OCPP 1.6 meter registers are Wh.
- redactedbooleanRequiredTrue when redaction changed the payload.
- truncatedbooleanRequiredThe redacted payload exceeded 32,768 characters, or could not be read, and is omitted (payload null).
- payload_sizeintegerRequiredCharacters of the redacted payload as JSON.
- errorobject | nullRequiredcall_error only.
Child attributes
- codestring | nullRequiredThe CALLERROR errorCode, for example NotImplemented or InternalError.
- descriptionstring | nullRequiredThe CALLERROR errorDescription, with credentials masked.
- next_cursorstring | nullRequiredPass as cursor with the same since, until and action to read older messages; null on the last page.
curl --fail-with-body "https://api.ivoracharge.com/v1/tenants/1042/stations/1/ocpp-messages" \
-H "Authorization: Bearer $IVORA_API_KEY"{
"station_id": 1,
"since": "string",
"until": "string",
"data": [
{
"id": 1,
"station_id": 1,
"direction": "from_charger",
"message_type": "call",
"action": "string",
"message_id": "message_0123456789abcdef",
"timestamp": "string",
"protocol": "string",
"payload": {},
"redacted": false,
"truncated": false,
"payload_size": 1,
"error": {
"code": "string",
"description": "string"
}
}
],
"next_cursor": "string"
}https://api.ivoracharge.com is public. Use the code samples from your application server; Ivora grants production access. Keys are created in Developer tools.