API v1 vs v1r1
What is the deal with/v1
and/v1r1
APIs?
At Help Lightning, we take backwards compatibility serious, and avoid ever changing any of our APIs in a way that would break backward compatibility.
The /v1
API is our initial API. It has almost complete coverage of all
of Help Lightning’s features.
The /v1r1
API is a limited API that started as a small revision
(revision 1, hence r1) to the /v1
API with the goal of unifying some
of our error handling in certain places (which wasn’t compatible with
the existing API, thus why it has its own namespace). As Help
Lightning grew and our customers’ requirements changed, we also began
to make some changes in the /v1r1
API that behaved differently from
the /v1
API.
The /v1
and /v1r1
APIs are compatible with each other, in that
your application can use a mix of the two. For example, you may use
the /v1
API to authenticate, but then use the /v1r1
to get
information about your enterprise.
In places where the /v1r1
and /v1
API overlap, Help Lightning
recommends using the /v1r1
API, however the decision is up to
you. We have attempted to maintain similar endpoints for each version
to make it easier to see where they overlap.
Help Lightning is currently working on a /v2
API, that will
eventually unify everything in the /v1
and /v1r1
APIs into a
single consistent API. At that time, we may consider deprecating
both the /v1
and /v1r1
APIs, which just means that they will not
be recommended for new development. We will continue to support them.