Sitelet https://github.com/errbit/errbit/pull/3137
Skip to content

Unbounded api v1 notices pagination - #3137

Open
mikelolasagasti wants to merge 2 commits into
mainfrom
unbounded-api-v1-notices-pagination
Open

mikelolasagasti wants to merge 2 commits into
mainfrom
unbounded-api-v1-notices-pagination

Conversation

@mikelolasagasti

Copy link
Copy Markdown
Contributor

The API v1 notices endpoint currently loads all matching notices into memory, which can exhaust workers on large datasets.

This adds deterministic pagination with a default and maximum page size of 100, while preserving existing filters, response formats, fields, and authentication.

The intentional compatibility change is documented in the v0.11.6 release notes.

Closes #3136

The notices endpoint currently materializes every matching notice with
to_a. Without date filters, a single request can load the entire notices
collection into memory and exhaust application workers on larger datasets.

Add deterministic pagination with a default and maximum page size of 100.
Invalid pagination values use safe defaults, while date filtering,
authentication, response formats, and response fields remain unchanged.
Add controller coverage for pagination boundaries and invalid parameters.
The API v1 notices endpoint has no dedicated documentation, making its
authentication, filtering, response formats, and pagination behavior
difficult to discover.

Document the current API v1 contract with JSON and XML examples, pagination
parameters, bounded responses, authentication behavior, and global
visibility.
@mikelolasagasti
mikelolasagasti force-pushed the unbounded-api-v1-notices-pagination branch from 0b3b522 to 5657855 Compare September 4, 2026 14:39

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

API v1 notices endpoint has no pagination

1 participant