List an EVSE's text messages and their status
get/v1/tenants/{tenant_id}/stations/{station_id}/evses/{evse_number}/display/messages
Requires an API key
Messages that are not deleted, oldest first, from Ivora's repository without a charger read. Filter with status.
Path parameters
- tenant_idintegerRequired
- station_idintegerRequired
- evse_numberintegerRequiredOCPP EVSE number on the station, as in connectors[].evse_numberGreater than 0 · Maximum 99
Query parameters
- statusenum | nullOne of
pending,applied,failed,unsupported
Returns · 200
- dataarray of MessageRecordRequired
Child attributes
- idstringRequired
- tenant_idintegerRequired
- station_idintegerRequired
- evse_numberintegerRequired
- textstringRequired
- languagestring | nullRequired
- formatstringRequired
- starts_atstring | nullRequired
- ends_atstring | nullRequired
- priorityenumRequiredOne of
normal,urgent - stateenumRequiredOne of
idle,charging,always - statusenumRequiredpending: not yet sent (also while the charger is offline or has not connected). applied: the charging core accepted the push, which does not prove the screen shows it. failed: the push was refused or unconfirmed and is retried with backoff; last_error has the code. unsupported: no display adapter template carries text for this charger; reason says why and nothing is sent.One of
pending,applied,failed,unsupported - last_errorstring | nullRequiredError code of the last failed or withheld push, for example dispatch_unconfirmed, message_too_long or no_text_adapter.
- reasonstring | nullRequiredWhy the message is unsupported or failed, in words.
- adapterstring | nullRequiredWhat delivers it: ocpp2-display-message on OCPP 2.x, else the display adapter template with a text section, null when none applies.
- ocpp_message_idintegerRequiredThe message id on OCPP 2.x chargers (SetDisplayMessage id). Never reused on the station and never one of the QR or price ids.
- deletedbooleanRequired
- last_attempt_atstring | nullRequired
- applied_atstring | nullRequired
- created_atstringRequired
- updated_atstringRequired
GET /v1/tenants/{tenant_id}/stations/{station_id}/evses/{evse_number}/display/messages
curl --fail-with-body "https://api.ivoracharge.com/v1/tenants/1042/stations/1/evses/1/display/messages" \
-H "Authorization: Bearer $IVORA_API_KEY"Response · 200JSON
{
"data": [
{
"id": "id_0123456789abcdef",
"tenant_id": 1042,
"station_id": 1,
"evse_number": 1,
"text": "string",
"language": "string",
"format": "plain",
"starts_at": "2026-09-30T17:00:00Z",
"ends_at": "2026-09-30T17:00:00Z",
"priority": "normal",
"state": "idle",
"status": "pending",
"last_error": "string",
"reason": "string",
"adapter": "string",
"ocpp_message_id": 1,
"deleted": false,
"last_attempt_at": "2026-09-30T17:00:00Z",
"applied_at": "2026-09-30T17:00:00Z",
"created_at": "2026-09-30T17:00:00Z",
"updated_at": "2026-09-30T17:00:00Z"
}
]
}Requires an approved production API keyProduction access starts with a request, a short meeting with Ivora and a card on file, after which Ivora staff grant your account access. How to request access
Try itproduction · api.ivoracharge.com
Paste a production api key (iv_live_…). Create keys in Developer tools. The key stays in this page's memory, is sent only to https://api.ivoracharge.com and clears when you reload. Test keys are refused.



