0010. Stable addresses for every record¶
Status: accepted
Date: 2026-11-07
Context¶
QR labels stuck on appliances, universal links opening the iOS app, and links shared between members must keep working for years.
Decision¶
Web addresses follow one convention:
Address |
Content |
|---|---|
|
Landing page |
|
The user’s homes |
|
One home |
|
A collection in a home, for example |
|
One record, for example |
|
Sign-in and account (allauth) |
|
API (0004) |
|
Health probe |
Identifiers are the records’ UUIDs (0005), never names or slugs, so renaming never breaks a link.
Collection names are English plural nouns, lowercase, stable once released.
API paths mirror the web paths under
/api/v1/homes/<home_id>/....A link to a record the user cannot see answers 404 (0006); a QR label always asks for sign-in first.
Consequences¶
An address, once released, is kept; if a screen moves, the old address redirects permanently.
The first routes (
/h/,/h/<home_id>/) already follow the convention.