SendLocalList
Pushes the local authorization list to the charge point, as a full replacement or a differential update.
- Version
- OCPP 1.6
- Direction
- CSMS → Charge Point
- Feature profile
- Local Auth List Management
SendLocalList also exists in OCPP 2.0.1, with a different payload. See the OCPP 2.0.1 version.
SendLocalList writes the offline authorization list. Full replaces the list entirely; Differential applies changes on top of what the charger already has.
In a differential update, an entry with no idTagInfo means delete this token. That is the only way to remove an entry, and it is easy to miss.
Request
| Field | Type | Required | Description |
|---|---|---|---|
listVersion | integer | Required | The version number this update produces. |
updateType | UpdateType | Required | Full to replace, Differential to apply changes. |
localAuthorizationList | AuthorizationData[] | Optional | The entries. Each has an idTag and an optional idTagInfo. |
[2, "19223201", "SendLocalList", {
"listVersion": 43,
"updateType": "Differential",
"localAuthorizationList": [
{ "idTag": "04A1B2C3D4E580", "idTagInfo": { "status": "Accepted" } },
{ "idTag": "04FFEEDDCCBB00" }
]
}]Response
| Field | Type | Required | Description |
|---|---|---|---|
status | UpdateStatus | Required | Result of the update. |
[3, "19223201", {
"status": "Accepted"
}]Values
UpdateType
| Value | Meaning |
|---|---|
Full | Replace the entire list with the entries supplied. |
Differential | Apply the entries as changes to the existing list. |
UpdateStatus
| Value | Meaning |
|---|---|
Accepted | The update was applied. |
Failed | The update failed. |
NotSupported | The charge point does not support the local list. |
VersionMismatch | The supplied listVersion is not higher than the one held. |
Implementation notes
An entry without `idTagInfo` is a deletion. In the example above, 04FFEEDDCCBB00 is being removed from the list, not added with default permissions.
`VersionMismatch` means your version number was not higher. Recover by calling GetLocalListVersion and sending a version above what the charger reports — not by retrying the same number.
A Full update with an empty or absent list clears the list entirely.
SendLocalListMaxLength limits how many entries fit in one message. Large fleets need to chunk differential updates.