{"id":"collections-pagination","title":"Pagination Approaches","section":"collections","approaches":[{"id":"cursor-based","name":"Cursor-Based (Server-Driven)","recommended":true,"description":"Server controls page size, client uses opaque cursor","example":{"request":"GET /v1/items?cursor=abc123","response":{"value":["..."],"nextLink":"/v1/items?cursor=def456"}},"pros":["More reliable for large datasets","Handles concurrent modifications better"],"cons":["Cannot jump to arbitrary page"]},{"id":"offset-based","name":"Offset-Based (Client-Driven)","recommended":false,"description":"Client specifies limit and offset","example":{"request":"GET /v1/items?limit=20&offset=40"},"pros":["Can jump to any page","Familiar pattern"],"cons":["Inconsistent with concurrent modifications","Performance degrades with large offsets"]}],"parameters":[{"name":"limit","aliases":["top","per_page","page_size"],"description":"Maximum items to return"},{"name":"offset","aliases":["skip"],"description":"Items to skip"},{"name":"cursor","aliases":["continuation","page_token"],"description":"Opaque pagination token"}]}