Skip to main content

Versioning

The Seamless API is at version 1.0.0.

Every response carries the version in a header:

X-API-Version: 1.0.0

What the numbers mean​

The version follows semantic versioning, MAJOR.MINOR.PATCH:

PartChanges whenDo you need to do anything?
MAJORSomething existing is removed or changes meaningYes. You will be told well in advance
MINORSomething is added: a new field, type, argument or queryNo
PATCHA fix that does not change the schemaNo

There is one endpoint, and it always serves the latest version. The version is not part of the URL.

What stays the same​

Within version 1 you can rely on the following:

  • A field or query that exists will keep existing, with the same type and meaning.
  • An argument that is optional will stay optional.
  • Error codes will keep their meaning.

What can change without notice​

The following can be added or reworded at any time. A client that allows for them will not be affected:

  • New fields on existing types. GraphQL only returns the fields you ask for, so you will not see them until you want them.
  • New types, queries and optional arguments.
  • New values for fields that describe a kind of thing, such as an order line's type or a payment's type. Handle a value you do not recognise sensibly instead of failing.
  • The wording of error messages. Branch on the error code.

Retiring a field​

Before a field is removed it is marked as deprecated in the schema, with a note saying what to use instead. It goes on working in the meantime. Deprecated fields are listed in the reference and flagged by GraphQL tools.

Changelog​

1.0.0​

The first release.

  • Product library: categories, products, modifierGroups.
  • Sales: orders, refunds, dailySummary.
  • API keys limited by site and by permission.