API Versions
REST API Versions
The Crossref REST API is versioned. You should always use the API version in your REST API requests.
Breaking changes
Any breaking changes will be released in a new API version. Breaking changes are changes that can potentially break an integration. Breaking changes include:
- removing an entire operation
- removing or renaming a parameter
- removing or renaming a response field
- adding a new required parameter
- making a previously optional parameter required
- changing the type of a parameter or response field
- removing enum values
- adding a new validation rule to an existing parameter
- changing authentication or authorization requirements
Non-breaking changes
Any additive (non-breaking) changes will be available in all supported API versions. Additive changes are changes that should not break an integration. Additive changes include:
- adding an operation
- adding an optional parameter
- adding an optional request header
- adding a response field
- adding a response header
- adding enum values
Specifying an API version
To be safe, specify an API version in your requests.
For example:
https://api-crossref-org.turing.library.northwestern.edu/v1/works?rows=0
However, as long as v1 of the API exists, requests that do not contain an API version in the request will default to v1. Eventually, if you specify an API version that is no longer supported, you will receive a 400 error.
Upgrading and legacy support
When a new REST API version is released, the previous API version will be supported for 24 more months following the release of the new API version. In exceptional circumstances, we may decide to extend this.
Before upgrading to a new REST API version, you should read the changelog of breaking changes for the new API version to understand what breaking changes are included and to learn more about how to upgrade to that specific API version.
Supported API versions
The following REST API versions are currently supported:
Credits: This policy is adapted from the very short, clear and reasonable Github API policy