API Conventions
- Protected owner routes expect `Authorization: Bearer <jwt>`.
- Some routes can also operate through API key auth because the main auth middleware falls back to `x-api-key`.
- Most write endpoints accept JSON and return either a resource payload or a top-level `message` plus metadata.