{ "$schema": "http://json-schema.org/draft-06/schema#", "$id": "urn:OCPP:Cp:2:2020:3:AuthorizeRequest", "comment": "OCPP 2.0.1 FINAL", "definitions": { "CustomDataType": { "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.", "javaType": "CustomData", "type": "object", "properties": { "vendorId": { "type": "string", "maxLength": 255 } }, "required": [ "vendorId" ] }, "HashAlgorithmEnumType": { "description": "Used algorithms for the hashes provided.\r\n", "javaType": "HashAlgorithmEnum", "type": "string", "additionalProperties": false, "enum": [ "SHA256", "SHA384", "SHA512" ] }, "IdTokenEnumType": { "description": "Enumeration of possible idToken types.\r\n", "javaType": "IdTokenEnum", "type": "string", "additionalProperties": false, "enum": [ "Central", "eMAID", "ISO14443", "ISO15693", "KeyCode", "Local", "MacAddress", "NoAuthorization" ] }, "AdditionalInfoType": { "description": "Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.\r\n", "javaType": "AdditionalInfo", "type": "object", "additionalProperties": false, "properties": { "customData": { "$ref": "#/definitions/CustomDataType" }, "additionalIdToken": { "description": "This field specifies the additional IdToken.\r\n", "type": "string", "maxLength": 36 }, "type": { "description": "This defines the type of the additionalIdToken. This is a custom type, so the implementation needs to be agreed upon by all involved parties.\r\n", "type": "string", "maxLength": 50 } }, "required": [ "additionalIdToken", "type" ] }, "IdTokenType": { "description": "Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.\r\n", "javaType": "IdToken", "type": "object", "additionalProperties": false, "properties": { "customData": { "$ref": "#/definitions/CustomDataType" }, "additionalInfo": { "type": "array", "additionalItems": false, "items": { "$ref": "#/definitions/AdditionalInfoType" }, "minItems": 1 }, "idToken": { "description": "IdToken is case insensitive. Might hold the hidden id of an RFID tag, but can for example also contain a UUID.\r\n", "type": "string", "maxLength": 36 }, "type": { "$ref": "#/definitions/IdTokenEnumType" } }, "required": [ "idToken", "type" ] }, "OCSPRequestDataType": { "javaType": "OCSPRequestData", "type": "object", "additionalProperties": false, "properties": { "customData": { "$ref": "#/definitions/CustomDataType" }, "hashAlgorithm": { "$ref": "#/definitions/HashAlgorithmEnumType" }, "issuerNameHash": { "description": "Hashed value of the Issuer DN (Distinguished Name).\r\n\r\n", "type": "string", "maxLength": 128 }, "issuerKeyHash": { "description": "Hashed value of the issuers public key\r\n", "type": "string", "maxLength": 128 }, "serialNumber": { "description": "The serial number of the certificate.\r\n", "type": "string", "maxLength": 40 }, "responderURL": { "description": "This contains the responder URL (Case insensitive). \r\n\r\n", "type": "string", "maxLength": 512 } }, "required": [ "hashAlgorithm", "issuerNameHash", "issuerKeyHash", "serialNumber", "responderURL" ] } }, "type": "object", "additionalProperties": false, "properties": { "customData": { "$ref": "#/definitions/CustomDataType" }, "idToken": { "$ref": "#/definitions/IdTokenType" }, "certificate": { "description": "The X.509 certificated presented by EV and encoded in PEM format.\r\n", "type": "string", "maxLength": 5500 }, "iso15118CertificateHashData": { "type": "array", "additionalItems": false, "items": { "$ref": "#/definitions/OCSPRequestDataType" }, "minItems": 1, "maxItems": 4 } }, "required": [ "idToken" ] }