Changes to our API

Releasing changes to our API constantly, rather than following a fixed release schedule, allows us to be more responsive and agile in addressing customer needs, security vulnerabilities, and emerging market demands.

This approach enables us to fix bugs, patch security issues, and introduce new features or improvements as soon as they are ready, minimising downtime and enhancing user experience.  Additionally, it allows us to gather real-time feedback and make incremental changes, reducing the risk of large, disruptive updates.

Types of changes

Most changes are minor, won’t affect your integration, and are therefore classed as non-breaking changes.  Sometimes we’ll release a major change to our API which will require you to do some further integration work.  This is classed as a breaking change.

A non-breaking change is part of our continuous update process, which will not interrupt your integration.

Most changes are introduced without prior notification.  Please ensure that your application or integration is designed to handle these types of changes.

A breaking change is something that might require you to update your application to avoid interruptions in service.

We’ll always notify you in advance and allow you plenty of time to perform any required updates to your integration.

Here are some specific examples of each type of change and how they will affect your integration with Volt.

API endpoints

Non-breaking change Breaking change
Adding an endpoint Removing of an endpoint
Adding a method to an existing endpoint Renaming of an endpoint

Request and response body

Non-breaking change Breaking change
Adding an optional field to a request body Adding a required field to a request body
Adding a field to a response body Renaming or removing a field in a request or response body
Changing a field in a request body from required to optional Changing a field in a request body from optional to required
  Changing the type of a field in a request or response body

HTTP headers

Non-breaking change Breaking change
Adding an optional request header Adding a required request header
Adding a response header Removing a response header
Changing a request header from required to optional Changing a request header from optional to required

Query parameters

Non-breaking change Breaking change
Adding an optional request query param Adding a required request query param
Adding a query param to redirect URL Removing a query param from redirect URL
Changing a request query param from required to optional Changing a request query param from optional to required
  Renaming a request query param

Others

Non-breaking change Breaking change
Changing a response error message Changes to existing permissions
Adding a response status code  
Extending enum dictionaries (response error codes, validation error types,
allowed values for HTTP headers, validation)
 

API versioning

Changes policy allows to avoid API versioning, however there might be a situation when such versioning is required.

API version is controlled by X-Volt-Api-Version HTTP header.

At this moment there is only one version: 1.