This document outlines the vision and scope for v2 of the API.
Ordered lists represent prioritized order. We recannot accomplish everything at once, and thus everything needs to be prioritized sooner or later. I choose sooner.
This document does not attempt to present a comprehensive record of all the changes that will be made, as those will be captured by stories in JIRA. Instead, it establishes the goals, principles, and patterns that we'll use to make the decisions about what needs to change.
It is a living document and will evolve as we discover new edge cases and outliers that weren't previously considered.
What are we trying to accomplish with API v2?
These are the high-level goals, in priority order:
- leave well enough alone
- prove the effectiveness of our versioning strategy
- provide consistency across endpoints
- fix design decisions that have led to performance problems
- enable greater cacheability
- better use of generic HTTP libraries and patterns
- remove backwards-compatibility shims that lack semantic meaning