Schemas
Pagination, Filtering, and Sorting
How to document list options and avoid fragile client assumptions.
First created Last updated
End-to-end developer runbook
- Step 1 - Confirm the API area: Identify the product area, route module, endpoint path, and consumer before writing or calling code.
- Step 2 - Read the endpoint contract: Check method, auth, parameters, response, errors, side effects, and related docs.
- Step 3 - Prepare authentication and input: Use the right session, bearer token, webhook secret, or internal header. Validate body and query data before sending it.
- Step 4 - Make the request: Call the endpoint from the correct origin and environment. Keep credentials and secrets out of logs.
- Step 5 - Verify response, side effects, and records: Confirm status code, response shape, database records, external side effects, and audit evidence.
- Step 6 - Add tests, docs, and handoff notes: Update route inventory, consumer notes, and certification checks before depending on the change.
List option rules
- Action 1 - Find query reads: Search for
c.req.query(),new URL(c.req.url), and Supabase range/order/filter calls. - Action 2 - Document defaults: Record default page size, maximum page size, default sort, and missing-filter behavior.
- Action 3 - Keep filters named: A filter is not part of the API contract until its name, type, and allowed values are documented.
- Action 4 - Verify empty states: Consumers need to know the difference between no results, forbidden results, and broken queries.