This page is the promise behind the beta label. It tells you exactly how the Madless API changes over time, how you will hear about it, and how much notice you will get before anything you depend on goes away.
API v0.5 — Beta
Endpoints, payload shapes, and authentication scopes may change without notice. Use it to explore and prototype, but don't lock production integrations to it yet — the policy below is how a stable v1 will change over time.
The API is versioned in the path. Everything you build against today lives under /api/v1. That major version is stable: breaking changes never ship into it.
/api/v2. The old version keeps working through its sunset window so you can migrate on your own schedule.Every response carries an X-API-Version header so you can confirm which major served your request.
X-API-Version: v1When an operation is on its way out, the API tells you in the response headers, following RFC 8594. You do not have to poll anything — the signal rides along on the calls you are already making. Watch for these headers in your client and surface them in your own logs.
| Header | Description |
|---|---|
| X-API-Version | The API major version that served this response. Always v1 today. |
| Deprecation | Set to true once an operation is scheduled for removal (RFC 8594). |
| Sunset | The date after which the deprecated operation may stop responding (RFC 8594). |
| Link | A link to the changelog entry, with rel="deprecation", explaining the change. |
A deprecated response looks like this — the body is unchanged, only the headers are added:
HTTP/1.1 200 OK
X-API-Version: v1
Deprecation: true
Sunset: Wed, 31 Dec 2026 23:59:59 GMT
Link: <https://docs.madless.com/changelog>; rel="deprecation"We will not pull anything out from under you. Before any operation reaches its Sunset date, you get at least 90 days’ notice — both in the Sunset header on live responses and as a dated entry in the Changelog.
For breaking changes that move to a new major, the previous major stays online for the whole notice window so you can migrate without a hard cutover. The changelog entry will name the replacement and what changed.
The API is currently v0.5 (beta). The 90-day notice guarantee and the new-major migration path described here apply from the stable v1 release onward. While in beta, shapes can still change with shorter notice — track the Changelogand don’t lock production integrations to beta payloads yet.