Skip to main content

D17 — API versioning: URL-versioned, v1 is the current default (RESOLVED)

Architecture decision record, relocated verbatim from the retired single-file docs/tenancy/ decision log. Status, thematic clusters, and how to record a new ADR: the decision log index.

The REST API is URL-versioned under /api/v1/… (central routes/api.php + tenant routes/tenant.php). v1 is the current/default version, recorded in config/api.php (current_version, supported_versions). Each version is registered explicitly per route file so adding v2 never moves v1's routes. No unversioned fallback — clients pin a version (best practice for a fintech API). Route names are namespaced: api.v1.*, tenant.api.v1.*.


← Decision log index