API Design
Sorting API Doc Design
How Meridian exposes sortable recipe endpoints with consistent query semantics, cursor pagination, and multi-field ordering.
Query Parameter
All list endpoints accept a single sort query parameter.
GET /api/v1/recipes?sort=-created_at,+title- + — ascending (default if omitted)
- - — descending
- Multiple fields separated by comma, applied left-to-right
Sortable Fields
| Field | Type | Default |
|---|---|---|
| created_at | timestamp | desc |
| title | string | asc |
| cook_time | integer (minutes) | asc |
| rating | float | desc |
Cursor Pagination
Sorting integrates with cursor-based pagination. The after parameter accepts an opaque base64 cursor encoding the last seen sort values.
GET /api/v1/recipes?sort=-rating&after=eyJ2IjoxMjV9&limit=20Error Responses
Unknown sort fields return 400 Bad Request with a descriptive error field listing valid options.