Versions
How the API is versioned by date, how your key is pinned, and how to try another version.
This page explains how API versions work and how to choose one.
A version is a date. The current version is 2026-11-01.
Your key is pinned
Your key is pinned to the API version of the day it was made. Every call made with that key behaves the way that version describes, even after newer versions arrive. GET /me shows it as api_version.
Breaking changes only arrive as a new date. A new date never changes what a pinned key sees.
Try another version
Send Done-Version with a date to choose a different version for one call:
curl https://api.done.com/v1/me \
-H "Authorization: Bearer $DONE_API_KEY" \
-H "Done-Version: 2026-11-01"Leave the header out to use the version your key is pinned to. The header is optional on every operation.
Webhook endpoints are pinned too
Each webhook endpoint is pinned to the API version of the day it was made. It receives event names and shapes from that version.
An endpoint made under an earlier version keeps receiving the event names and headers it was made with, until you make a new endpoint under the current version. To move up, make a new endpoint, check that your receiver handles it, then delete the old one. See Webhooks.