# Pattern: Pagination ## Query `?page=1&page_size=20` Defaults: page=1, page_size=20, max page_size=100. ## Response data ```json { "list": [], "total": 0, "page": 1, "page_size": 20 } ``` ## SQL `LIMIT $n OFFSET $m` with bound params. Always return `total` via `COUNT(*)` (or approximate only with ADR).