Details on API and Webhook versioning and backward compatibility

Versioning

  • Changes may be made to any of our APIs or Webhooks without a change in version number, provided the change follows our backwards compatibility guidelines (see below).
  • Different versions will be managed via a HTTP header indicating the version of the API that the client is using.
  • Requests with no version number, or an unmatched version number, will be treated as version 1.0 requests.

Backwards Compatibility

The following changes are considered to be backwards-compatible:

  • Adding new API endpoints; new endpoints are independent.
  • Adding new Webhooks; new Webhooks are independent.
  • Adding new Webhook event parameters.
  • Adding new optional request parameters to existing API calls.
  • Adding new response properties to existing API calls. You should pay particular attention to this point if you are mapping your JSON responses to another programming language construct.
  • Changing of the property order in existing API responses.
  • Changing the length of object IDs (object IDs will never exceed 255 characters).
  • Changing the messages returned by validation or other error messages.
  • Output Encoding Rules are applied to some services and will be applied to all services in the future.