Developer guide

API changelog

Every change to the public API contract — docs/api/openapi.json, served at GET /api/v1/openapi.json and rendered at https://btab.app/developers/api — is recorded here, newest first, in the Keep a Changelog form: Added…

Written with the code it describes, in the same pull request. Plain Markdown: /developers/changelog.md

Every change to the public API contract — docs/api/openapi.json, served at GET /api/v1/openapi.json and rendered at https://btab.app/developers/api — is recorded here, newest first, in the Keep a Changelog form: Added, Changed, Deprecated, Removed, Fixed, Security.

How the version moves. info.version in the spec changes with each entry: patch for an additive change (a new endpoint, field, query parameter or webhook event), minor for a deprecation, major for a removal or a changed meaning. A removal arrives only after a deprecation that named a sunset date. There are no date-named API versions: one API, additive by default.

How this file stays true. A pull request that changes openapi.json adds its entry here, or its body says Docs: no change — <reason> (the api-changelog row of the Docs coverage gate). The API spec breaking job diffs the pull request's spec against main with oasdiff and fails a breaking change the body does not declare with Breaking: accepted — <reason>. The monthly stale-page report lists spec changes that reached main without a line here.

[1.0.0] — 2026-10-18

Added

  • This log. The contract as it stands when the log begins: OpenAPI 3.1, 35 paths, 41 operations, 15 webhook events, tags Catalogue, Store, Listings, Orders, Webhooks and OAuth, bearer API keys and OAuth 2 for partner apps, one server (https://api.btab.app). Changes before this date were not logged (46 spec changes merged in the 31 days before it); from here on every change has a line.