API Compatibility

API Compatibility

The Solarize API is unversioned. Breaking changes are announced by email to all API key holders 30 days in advance, along with a detailed migration guide.

For currently planned removals and replacements, see Upcoming Breaking Changes.

API-breaking changes are modifications that may introduce incompatibilities or disrupt existing integrations. These include, but are not limited to:

  • Alterations to resource URLs
  • Removal or renaming of response properties
  • Removal or renaming of request parameters
  • Deletion of enum values
  • Conversion of an optional request parameter to a required one
  • Changes to HTTP status codes

Additive changes do not introduce any incompatibilities and typically enhance the API’s functionality. These include:

  • Introduction of new resources
  • Addition of new request parameters
  • Introduction of new response properties
  • Inclusion of new enum values

Upcoming Breaking Changes

This section tracks API changes that are planned to become breaking changes after the deprecation period.

The section contains summaries of changes. As the final reference please refer to the API reference of each listed entity.

2026-07-06

The API remains backward compatible during the current 30-day notice window. After this window, the changes below become breaking and old behavior is removed.

Effective: 2026-07-06 14:00 Europe/Berlin
Status: announced

Global

These changes apply across the API and are not limited to a single resource.

EndpointsChangeMigration
POST on all creation endpointsCreate responses change from 200 to 201Expect 201 on successful resource creation.
PUT on all update endpointsPUT update operations removedUse PATCH update operations.

Accounts

Legacy company object is removed.

EndpointsChangeMigration
GET /v1/accounts/{id}company removedUse companyName.

Contracts

Contract endpoints remove v2 and standardize on v1. Contract payloads also require using dunningBlock.

EndpointsChangeMigration
GET /v1/contracts
GET /v1/contracts/{id}
PATCH /v1/contracts/{id}
POST /v1/contracts
dunningBlock required/used in contract payloadsSend and handle dunningBlock in your integration.
GET /v1/contracts
GET /v1/contracts/{id}
PATCH /v1/contracts/{id}
POST /v1/contracts
siteId required/used in contract payloadsSend and handle siteId in your integration.
PUT /v1/contracts/{id}PUT update operation removedUse PATCH /v1/contracts/{id}.
DELETE /v2/contracts/{id}
GET /v2/contracts
GET /v2/contracts/{id}
PATCH /v2/contracts/{id}
POST /v2/contracts
v2 contract endpoints removedMigrate to v1/contracts endpoints.

Contract Meters

Legacy contract meter updates via PUT are removed.

EndpointsChangeMigration
PUT /v1/contract-meters/{id}PUT update operation removedUse PATCH /v1/contract-meters/{id}.

Custom Attributes

Legacy custom attribute updates via PUT are removed.

EndpointsChangeMigration
PUT /v1/custom-attributes/{id}PUT update operation removedUse PATCH /v1/custom-attributes/{id}.

Customers

Customer legacy identity, person, and address aliases are removed.

EndpointsChangeMigration
GET /v1/customers
GET /v1/customers/{id}
POST /v1/customers
PATCH /v1/customers/{id}
siteId removedStop relying on this field in customer objects.
GET /v1/customers
GET /v1/customers/{id}
POST /v1/customers
PATCH /v1/customers/{id}
type removedUse companyName for differentiation.
GET /v1/customers
GET /v1/customers/{id}
POST /v1/customers
PATCH /v1/customers/{id}
customerNumber removedUse number.
GET /v1/customers
GET /v1/customers/{id}
POST /v1/customers
PATCH /v1/customers/{id}
billingEmail removedUse invoiceEmail.
GET /v1/customers
GET /v1/customers/{id}
POST /v1/customers
PATCH /v1/customers/{id}
person removedUse email, salutation, title, firstName, lastName, phone1, phone2.
GET /v1/customers
GET /v1/customers/{id}
POST /v1/customers
PATCH /v1/customers/{id}
shippingAddress removedUse deliveryAddress.
GET /v1/customers
GET /v1/customers/{id}
POST /v1/customers
PATCH /v1/customers/{id}
billingAddress removedUse address.
PUT /v1/customers/{id}PUT update operation removedUse PATCH /v1/customers/{id}.

Electricity Products

Legacy prepayment cycle configuration is removed.

EndpointsChangeMigration
GET /v1/electricity-products
GET /v1/electricity-products/{id}
POST /v1/electricity-products
PATCH /v1/electricity-products/{id}
prepaymentCycle removedUse prepaymentConfiguration.
PUT /v1/electricity-products/{id}PUT update operation removedUse PATCH /v1/electricity-products/{id}.

Invoices

Invoice filtering removes the legacy settled switch.

EndpointsChangeMigration
GET /v1/invoicessettled query parameter removedUse state query parameter.

Line Items

Line item ownership references are normalized.

EndpointsChangeMigration
GET /v1/line-items
GET /v1/line-items/{id}
meterOwnershipId removedUse contractId of the invoice context.

Measurements

Interpolated marker is removed from measurements.

EndpointsChangeMigration
GET /v1/measurementsinterpolated removedStop relying on this field.

Readings

Legacy readings endpoints are removed in favor of measurements endpoints.

EndpointsChangeMigration
GET /v1/aggregated-readingsAggregated readings endpoint removedUse /v1/aggregated-measurements.
GET /v1/readingsReadings endpoint removedUse /v1/measurements.

Meter Balancing Settings

Account reference is removed from balancing settings payloads.

EndpointsChangeMigration
GET /v1/meter-balancing-settings
GET /v1/meter-balancing-settings/{id}
POST /v1/meter-balancing-settings
PATCH /v1/meter-balancing-settings/{id}
accountId removedStop relying on this field.
PUT /v1/meter-balancing-settings/{id}PUT update operation removedUse PATCH /v1/meter-balancing-settings/{id}.

Meters

Meter compatibility fields are removed in favor of dedicated balancing settings and the new MPO identifier.

EndpointsChangeMigration
GET /v1/meters
GET /v1/meters/{id}
POST /v1/meters
PATCH /v1/meters/{id}
parentMeterId removedStop relying on this field.
GET /v1/meters
GET /v1/meters/{id}
priority removed from meterUse /v1/meter-balancing-settings/{id} for priority.
GET /v1/meters
GET /v1/meters/{id}
POST /v1/meters
PATCH /v1/meters/{id}
mpo removedUse mpoId.
PUT /v1/meters/{id}PUT update operation removedUse PATCH /v1/meters/{id}.

Payment Methods

Legacy payment method updates via PUT are removed.

EndpointsChangeMigration
PUT /v1/payment-methods/{id}PUT update operation removedUse PATCH /v1/payment-methods/{id}.

Payments

Legacy payment updates via PUT are removed.

EndpointsChangeMigration
PUT /v1/payments/{id}PUT update operation removedUse PATCH /v1/payments/{id}.

Prepayment Requests

Single payment linkage is removed in favor of multiple payment IDs.

EndpointsChangeMigration
POST /v1/prepayment-requestsdate removedUse startDate and endDate.
GET /v1/prepayment-requests
GET /v1/prepayment-requests/{id}
POST /v1/prepayment-requests
paymentId removedUse paymentIds.

Prepayment Amounts

Legacy prepayment amount updates via PUT are removed.

EndpointsChangeMigration
PUT /v1/prepayment-amounts/{id}PUT update operation removedUse PATCH /v1/prepayment-amounts/{id}.

Price Component Groups

Legacy price component group updates via PUT are removed.

EndpointsChangeMigration
PUT /v1/price-component-groups/{id}PUT update operation removedUse PATCH /v1/price-component-groups/{id}.

Price Components

Legacy price component updates via PUT are removed.

EndpointsChangeMigration
PUT /v1/price-components/{id}PUT update operation removedUse PATCH /v1/price-components/{id}.

Prices

Legacy price updates via PUT are removed.

EndpointsChangeMigration
PUT /v1/prices/{id}PUT update operation removedUse PATCH /v1/prices/{id}.

Sites

Site responses and payloads remove legacy location/address compatibility fields.

EndpointsChangeMigration
GET /v1/sites
GET /v1/sites/{id}
POST /v1/sites
PATCH /v1/sites/{id}
timezone removed from siteRead timezone from account (GET /v1/accounts/{id}) instead.
GET /v1/sites
GET /v1/sites/{id}
POST /v1/sites
PATCH /v1/sites/{id}
address1, address2, address3, address4 removedUse line1, line2, line3, line4.
PUT /v1/sites/{id}PUT update operation removedUse PATCH /v1/sites/{id}.

Invoice Templates

Invoice-template endpoints are removed and template payload compatibility fields are cleaned up.

EndpointsChangeMigration
DELETE /v1/invoice-templates/{id}
GET /v1/invoice-templates
GET /v1/invoice-templates/{id}
PATCH /v1/invoice-templates/{id}
POST /v1/invoice-templates
Invoice-template endpoints removedUse /v1/templates endpoints.

Templates

Template payload compatibility fields are cleaned up.

EndpointsChangeMigration
PUT /v1/templates/{id}PUT update operation removedUse PATCH /v1/templates/{id}.
/v1/templates payloadsvalues removedUse GET /v1/templates/{id} and remove reliance on values.

Tax Rates

Legacy tax rate updates via PUT are removed.

EndpointsChangeMigration
PUT /v1/tax-rates/{id}PUT update operation removedUse PATCH /v1/tax-rates/{id}.

Users

Nested person object is removed in favor of top-level user contact fields.

EndpointsChangeMigration
GET /v1/users
GET /v1/users/{id}
person removedUse firstName, lastName, phone1, phone2.