Versioning

Interested in exploring Labs?
The endpoints we release in Labs are previews of tools that may be released more broadly in the future, but will likely undergo changes before then. We encourage you to take that into consideration as you explore. Before getting started, please read more about Twitter Developer Labs.

Overview

Since Labs is an experimental program, the features and functionality of Labs products will likely evolve over time as we iterate development based on developer feedback. In some cases, changes made to Labs endpoints are not intended to be backward compatible. We will use versioning to avoid breaking changes to previously released versions and to allow for faster iteration. In such cases, we will plan to support prior versions for a period of time to allow for transitions to new versions.

Versioning for Labs endpoints will be represented within the endpoint URI by sequential version numbers containing a whole number for major revisions:

https://api.twitter.com/labs/2/tweets

Breaking changes are those where a developer is expected to be forced to change their code. Examples of breaking changes include the following:

  • Removing a field from a response
  • Removing support for a query parameter
  • Adding a required parameter
  • Changing the type or semantic meaning of a field
     

Compatible changes are those that are not expected to break clients. Examples of compatible changes include the following:

  • Adding a field to a response
  • Adding support for an optional parameter
  • Making a field value null when it wasn't before, if the specification for the field marked it as nullable.
     

Compatible changes may be made within a major version, and may be made with or without notice. Client applications should be built to tolerate these changes without breaking. All breaking changes to any Labs endpoints will be managed with releasing a new version for Labs endpoints at the same time, even if some endpoints are not affected by any breaking changes. 

Generally, we expect that two versions of an endpoint will be maintained for a period of time to allow developers time to migrate without disruption to their application. 
 

Versioning history

We have retired all of Labs v1, and the majority of the Labs v2 endpoints. 

You can review the Labs versioning history on our changelog.

 


 

Additional resources

Was this document helpful?

Thank you

Thank you for the feedback. We’re really glad we could help!

Thank you for the feedback. How could we improve this document?

Thank you for the feedback. Your comments will help us improve our documents in the future.