Authorize

Asks the CSMS whether an identifier may charge. The token is now a structured object, and certificates are supported.

Version
OCPP 2.0.1
Direction
Charge Point → CSMS
Functional block
Authorization

Authorize also exists in OCPP 1.6, with a different payload. See the OCPP 1.6 version.

The 1.6 idTag string becomes idToken, an object with a type — RFID, a key code, a MAC address, an ISO 15118 eMAID, or NoAuthorization for free-vend stations.

The response carries idTokenInfo, which can also return a charging profile, an EVSE allowlist and display language preferences alongside the status.

Request

FieldTypeRequiredDescription
idTokenIdTokenTypeRequiredidToken string plus a type. Replaces 1.6's bare idTag.
certificatestringOptionalPEM-encoded X.509 certificate, for ISO 15118 plug-and-charge.
iso15118CertificateHashDataOCSPRequestDataType[]OptionalOCSP data for certificate status checking. Up to 4 entries.
json
[2, "19223201", "Authorize", {
  "idToken": {
    "idToken": "04A1B2C3D4E580",
    "type": "ISO14443"
  }
}]

Response

FieldTypeRequiredDescription
idTokenInfoIdTokenInfoTypeRequiredThe decision, plus optional expiry, language, group id and EVSE allowlist.
certificateStatusAuthorizeCertificateStatusEnumTypeOptionalResult of the certificate check, when one was supplied.
json
[3, "19223201", {
  "idTokenInfo": {
    "status": "Accepted",
    "cacheExpiryDateTime": "2026-12-31T23:59:59Z",
    "groupIdToken": { "idToken": "FLEET-042", "type": "Central" }
  }
}]

Values

IdTokenEnumType

ValueMeaning
CentralAssigned by the CSMS, not read at the station.
eMAIDISO 15118 e-mobility account identifier.
ISO14443RFID card UID, the usual case.
ISO15693Vicinity RFID card.
KeyCodeA code entered on a keypad.
LocalLocally generated identifier.
MacAddressA device MAC address.
NoAuthorizationNo authorization required — free vend.

AuthorizationStatusEnumType

ValueMeaning
AcceptedAllowed to charge.
BlockedKnown but blocked.
ExpiredValidity has passed.
InvalidNot known.
ConcurrentTxAlready in use in another transaction.
NoCreditInsufficient credit.
NotAllowedTypeEVSENot permitted on this type of EVSE.
NotAtThisLocationNot permitted at this location.
NotAtThisTimeNot permitted at this time.
UnknownThe CSMS could not determine a result.

Implementation notes

The status set grew from five values to ten. NoCredit, NotAtThisTime and NotAtThisLocation are new and let a CSMS explain a refusal precisely enough for a station to display something useful.

groupIdToken replaces 1.6's parentIdTag and is a full IdToken object rather than a string.

idTokenInfo.evseId can restrict a token to specific EVSEs on the station — there was no 1.6 equivalent.