CompuDime API docs

Versioning and deprecation

The API is versioned by date, not by address. Additions ship any day. A change that could break your code ships when it is needed, and the changelog announces it the day it ships, marked Breaking. There is no fixed notice period.

If this policy changes, the changelog says so.

One API, versioned by date

Changes that can ship any day

These do not break code that follows the rules below. They ship without notice and are listed in the changelog:

A fix that makes the API do what these pages already say also ships any day, and is listed.

What your code must do

Breaking changes

A breaking change is one that can stop working code: removing or renaming an endpoint, a field or a parameter; changing a field's type or meaning; making an optional parameter required. There is no fixed notice period for one. It goes like this:

  1. It ships when it is needed, on any day.
  2. The changelog lists it under the day it ships, marked Breaking. The entry says what changed and what to do instead.
  3. Where it is cheap to keep the old behaviour for a while, it is kept for an overlap. The changelog lists the affected operations as Deprecated on the day the change ships, with the day the old behaviour stops (the sunset date). There is no promised minimum: the overlap can be short, and there may be none.
  4. During an overlap the operations are marked deprecated: true in the OpenAPI document, with the dates in x-compudime-deprecated-since and x-compudime-sunset. Their reference pages say so too. They keep working as before, and every answer from them carries three headers:
    • Deprecation (RFC 9745): when the deprecation was announced, as @ and Unix seconds.
    • Sunset (RFC 8594): when the operation may stop working, as an HTTP date.
    • Link with rel="deprecation": the changelog entry that announced it.
  5. On or after the sunset date the old behaviour stops, and the changelog lists that under the day, marked Breaking.

For example, an endpoint deprecated on 2027-01-04 with its sunset on 2027-04-05 answers:

Deprecation: @1799020800
Sunset: Mon, 05 Apr 2027 00:00:00 GMT
Link: <https://api.compudime.com/docs/changelog#2027-01-04>; rel="deprecation"; type="text/html"

Log these headers when you see them. They are the same for test keys and live keys.

A field can also be deprecated in name only, like upc on products, which is still served beside its new name unitsPerCase. The schema marks it deprecated. It keeps working until the changelog lists its removal.

Deprecated today

No endpoint is deprecated.

How you hear about changes