Hermes Wiki

Pagination Filtering Sorting

Conventions for listing endpoints: cursor vs offset pagination, filter query params, sort order.

Why we need this / what value this brings

Inconsistent pagination/filtering conventions across endpoints make every new list endpoint a fresh design decision and confuse API consumers.

When to use this

Any time an endpoint returns a list that can grow unbounded (bookings, services, providers).

How to use or implement this

Pick one pagination style (cursor-based avoids the skip/duplicate bug under concurrent writes) and one filter/sort query-param convention, and apply it to every list endpoint.

Research questions

  • Cursor-based pagination avoids the 'page 2 skips a row' bug under concurrent writes — when does that matter for Localz listings?
  • What's a consistent query-param convention across all list endpoints (bookings, services, providers)?

Empty folder — drop notes, links, and findings here as you research.

Hermes Wiki