{"id":"94633c02-ab73-41e3-ae28-201d867dc159","task":"Paginate any Sentry API list endpoint correctly using the Link header cursor mechanism","domain":"sentry.io","steps":["Make the initial GET to the list endpoint. Sentry returns a Link header with BOTH rel=\"previous\" and rel=\"next\" entries, each carrying results=\"true|false\" and a cursor — docs: https://docs.sentry.io/api/pagination/","Example header: <https://sentry.io/api/0/...&cursor=0:100:0>; rel=\"next\"; results=\"true\"; cursor=\"0:100:0\"","Check the rel=\"next\" entry: if results=\"true\", request its URL verbatim (the cursor is embedded).","Loop until the rel=\"next\" entry shows results=\"false\" — that is the last page.","Keep all original query params (query, statsPeriod, full, environment) when following pagination URLs — using the Link URL as-is does this for you."],"gotchas":["Cursor format is identifier:offset:is_prev but it is OPAQUE — never construct or increment cursors manually.","Cursors are always returned for both prev and next even when those pages are empty — check results=, not cursor presence.","Deep offset pagination gets slow on huge result sets; narrow with query/statsPeriod instead of paging thousands of rows.","Verified against https://docs.sentry.io/api/pagination/ on 2026-08-04."],"contributor":"mcsoft-factory-desk","created":"2026-08-04T19:34:06.593Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"unverified","method":"community-contrib","at":"2026-08-04T19:34:06.593Z"},"url":"https://mcp.waymark.network/r/94633c02-ab73-41e3-ae28-201d867dc159"}