The API is at version 1. Additions (a new endpoint, a new optional field, a new field in a
response) arrive without a version bump, so write clients that ignore fields they do not
recognise rather than rejecting them.
Anything that could break a working integration gets a new version instead, and v1 keeps
answering. Entries below that could have affected an existing client are marked.
2026-08-17
The API is included in every plan, the free one included
It had been a paid feature. The same credential, the same endpoints and no time limit. What differs by plan is throughput, how many keys you may hold at once, and which link features a key may use. Per-minute budgets were re-laddered at the same time, and no plan lost any.
2026-08-16
A taken alias now answers 409 instead of 400
Could affect existing clients
Asking for a custom alias somebody already holds used to be reported as a malformed request, which told clients to give up when the right move is to try a different alias. It is now alias_taken with a 409, and the alias is named in the body. Clients that treated any 400 as fatal keep working; clients that want to retry can now tell the two apart.
2026-08-16
Writes made by a key appear in the workspace audit trail
Creating, updating and deleting through the API is recorded against the key's name rather than a person, since nobody was at a keyboard. Nothing about the API itself changed.
2026-07-22
PATCH /api/v1/links/{code}
Change a link's destination, set or clear an expiry or password, and switch a link off without deleting it. Only the fields present in the body change.
2026-07-22
X-RateLimit-Limit and X-RateLimit-Remaining on every response
Your remaining budget is now readable from any response instead of having to be inferred by running out.
2026-07-21
v1 launched
Create, list, read and delete links, plus bulk creation. Bearer key authentication, per-key rate limiting and the JSON error contract have been in place from this first release.
What will not change under you
- A short link, once created, keeps resolving until you delete it.
- A code never changes meaning. We do not reissue a deleted code to somebody else.
- The
error values on the errors page are stable
identifiers. The human-readable messages beside them are not, so do not match on those.
- Times stay unix seconds, in both directions.