Changelog

Per-API-change history. Each entry corresponds to a deployment that touched the public API surface. For the broader project roadmap and shipped features, see /backlogs.

2026-05-05 — Plan 4c · Public docs + OpenAPI

ADDITIVE
  • GET /api/v1/openapi.json (new — public, no auth, 5-min edge cache)
  • Internal: every /api/v1 parser refactored onto src/schema/* (byte-identical behaviour; no caller-visible changes)

2026-05-04 — Plan 4b · Tags

ADDITIVE
  • POST /api/v1/links — body field tags?: string[] (max 20, charset [a-z0-9:_-])
  • POST /api/v1/links — response field tags: string[] (always present, [] if none)
  • PATCH /api/v1/links/{slug}/tags (new — additive, never removes)
  • DELETE /api/v1/links/{slug}/tags/{tag} (new)
  • Error codes: invalid_tag, too_many_tags

2026-04-25 — Plan 2 · API for create + revoke + webhooks

INITIAL RELEASE
  • POST /api/v1/links (create)
  • DELETE /api/v1/links/{slug} (revoke)
  • Idempotency-Key support (24h TTL, conflict detection)
  • Webhook delivery on revoke (5s timeout, fire-and-forget)