Versioning & migration
/api/v1 is the stable contract
Use only the /api/v1 paths. They are the versioned, stable contract with
clean, documented data shapes.
Unversioned paths are deprecated
The earlier unversioned paths (/api/workspaces/… without /v1) still work
unchanged, but are marked deprecated. They send the corresponding HTTP headers:
Deprecation: true
Link: </api/v1/workspaces/{workspaceId}/glasses>; rel="successor-version"
In the API Reference these operations are marked deprecated and link
to their /api/v1 successor.
Migration
- Replace the path prefix
/api/…with/api/v1/…. - Note the cleaner v1 shapes:
hasImage/imageUrlinstead of embedded images,camelCase, lean references (glass: { id, name }), aggregates (averageRating,ratingCount). GETsingle-resource fetches now return404when not found (instead of200withnull).
Future versions
Breaking changes appear as a new version (/api/v2, …). /api/v1 remains available and is
deprecated in turn before it eventually gets an optional sunset date (Sunset header).