Search and filter model
Filtering needs strict grammar validation and result bounds to prevent expensive backend scans and unexpected result windows.
Pagination guidance
- Use stable sort and deterministic cursors where available.
- Document default page size and server maximums.
- Expose throttling headers to guide client pacing.
Performance guardrail
When queries grow, move to indexed attribute paths first, then broaden query complexity in controlled maintenance windows.
Filter edge cases
- Reject mixed wildcard with unindexed equality conditions.
- Fail closed for unsupported operators to avoid full table scan explosions.
- Return stable sort ordering for every paginated cursor response.
GET /v2/Users?filter=userName+eq+"alice"+and+not+active+eq+false&startIndex=1&count=100