<!-- Generated from Btab's docs/api/CHANGELOG.md. The same guide as a web page: https://btab.app/developers/changelog -->

# 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](https://keepachangelog.com/en/1.1.0/) 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.
