Added the session.chargingPeriod.changed notification type. This webhook fires when a session's charging period state changes — either when the first charging period is created, or when the session transitions between charging states (e.g., charging to idle). The notification payload includes sessionId, chargePointId, evseId, previousChargingPeriodId, currentChargingPeriodId, previousState, currentState, and lastUpdatedAt. Available for subscription on POST /public-api/notifications/v1.0, PUT /public-api/notifications/v1.0/{notification}, POST /public-api/notifications/v2.0, and PUT /public-api/notifications/v2.0/{notification}.
Changed POST /actions/tariffs/v2.0/{tariff}/set-tariff-display-information to support both creating and updating tariff display information. Previously, calling this endpoint when display information already existed returned a 406 error. Now the endpoint is idempotent: it returns 201 when creating new display information and 200 when updating existing values. The response body now includes the full tariff display information data.
Relaxed validation on PATCH /resources/charge-points/v1.0/{chargePoint}/configurations/{key} and PATCH /resources/charge-points/v2.0/{chargePoint}/configurations/{key} for the MeterValuesAlignedData and ClockAlignedDataInterval configuration keys. The value field for these keys now accepts null or empty strings, where previously a non-empty string was required.
Changed the downloadUrl field on Invoice responses to support externally-configured download URLs. When an invoice has an external download URL configured, that URL is returned directly instead of a platform-generated signed URL.
Added the POST /actions/tax/v1.0/validate-vat endpoint for validating EU VAT numbers against the VIES service. Accepts required countryCode (2-character string) and vatNumber (string) fields, and returns validation details on success.
Added the PATCH /resources/partner-contracts/v1.0/{partnerContract} endpoint for partial updates to partner contracts. Unlike PUT, this allows updating individual fields without providing all required fields.
Added the optional locale request property to POST /actions/transactions/v1.0/{transaction}/issue-invoice. When provided, the invoice is issued in the specified locale.
Added the optional allowChargingOutsideWorkingHours property to the workingHours object on Location v2.0 endpoints. This field appears in responses from GET /resources/locations/v2.0, GET /resources/locations/v2.0/{location}, and can be set in requests to POST /resources/locations/v2.0 and PATCH /resources/locations/v2.0/{location}.
Added the optional companyName property to User endpoints. The field is returned in responses and accepted as an optional company_name request property on POST /resources/users/v1.0, PATCH /resources/users/v1.0/{user}, and the corresponding v1.1 endpoints.
Added FirmwareStatusNotification as a new subscribable webhook notification type on POST /notifications/v1.0, PUT /notifications/v1.0/{notification}, POST /notifications/v2.0, and PUT /notifications/v2.0/{notification}. The callback payload includes firmware update status details and varies based on the OCPP protocol version (1.5, 1.6, or 2.0.1).
Expanded the resourceType enum in Issue responses to include integration as a new value. This value may appear in the keyResource.resourceType and relatedResources fields on GET /resources/issues/v1.0, POST /resources/issues/v1.0, GET /resources/issues/v1.0/{issue}, and PATCH /resources/issues/v1.0/{issue}.
🔧 Improvements
Made Issue endpoint responses more resilient to unknown resource types. Issues referencing resources with unmapped types now omit those references from the response instead of causing errors.
Changed the deprecated field accepted by the Charge Point V2 endpoints from autoFaultRecovery to enableAutoFaultRecovery on POST /resources/charge-points/v2.0 and PATCH /resources/charge-points/v2.0/{chargePoint}. Consumers using the undocumented autoFaultRecovery field name with V2 endpoints must update to enableAutoFaultRecovery. This aligns the server behavior with the documented OpenAPI specification.
Added date validation on Partner Contract endpoints: startDate must be today or in the future when creating a contract via POST /resources/partner-contracts/v1.0. When updating via PATCH /resources/partner-contracts/v1.0/{partnerContract}, the same validation applies only if the startDate value is being changed.
Made partnerId immutable on PATCH /resources/partner-contracts/v1.0/{partnerContract}. The partnerId must match the existing contract's partner and cannot be changed during an update.
✨ New features
Added the optional invoiceRequired boolean property to the Transaction request body on POST /resources/transactions/v1.0 and PATCH /resources/transactions/v1.0/{transaction}. When set to true and the operator has receipt suppression for invoice issuance enabled, automatic receipt generation is suppressed for the transaction.
🔧 Improvements
Changed the Transaction paymentMethod response fields (type, last4, expMonth, expYear) to fall back to stored payment data when the original payment method record is unavailable, instead of returning null. The paymentMethod string representation also falls back to stored data in this scenario. Affects all Transaction response endpoints.
Remove optional property applyMinimumCurrentOnSessionStart from 201 response in Electricity Rates and Configuration Templates resources
Remove request property defaultPrice from Locations and Partners resources
Remove Payter schema variant from request properties in Electricity Meters and Payment Terminals resources (7 endpoints affected)
✨ New Features
Add required property operatorId to 200 response across Custom Fees, Terms and Policies, Vouchers, and 54 total endpoints to support multi-operator functionality
Add optional query parameter filter[operatorId] to all listing endpoints
Add optional property operatorId to 200 response in Locations, Authorizations, Parking Spaces
Add optional request property operatorId to Locations, Vouchers, Issues, and 22 total endpoints
Add new endpoint /public-api/resources/operators/v1.0/{operator} for operator management
Add new endpoints /public-api/logs/ocpi/v1.0 and /public-api/logs/ocpi/v1.0/{id} for OCPI logging
Add 409 conflict response status to Electricity Rates and Circuits endpoints for improved error handling
🔧 Improvements
Make integratedAt property writable in Charge Points v2.0 requests
Make integratedAt property nullable in Charge Points v2.0 requests