Preflight checklist
Ory Network Project
No response
Describe the bug
In v2.3.0, GET /admin/clients returned all clients in a single page (the default page_size was large enough to cover all clients). After upgrading to v26.2.0, the default page_size is 100, silently truncating results for anyone with more than 100 registered clients.
v2.3.0 behavior:
Link: </admin/clients?page_size=160&page_token=...>; rel="first"
X-Total-Count: 160
→ All 160 clients returned in one response
v26.2.0 behavior:
Link: </admin/clients?page_size=100>; rel="first", </admin/clients?page_size=100&page_token=...>; rel="next"
→ Only first 100 clients returned, no error raised
This is a breaking change for any consumer with more than 100 clients that does not explicitly set page_size or handle page_token iteration. It is not mentioned in the upgrade notes for v25.4.0 or v26.2.0.
Additionally, the OpenAPI spec declares default: 250 for page_size while the actual runtime behavior is 100, which is an additional inconsistency.
Reproducing the bug
- Have more than 100 OAuth2 clients registered in Hydra
- Upgrade from v2.3.0 to v26.2.0
- Call GET /admin/clients without any query parameters
- Observe that only 100 clients are returned instead of all clients
- Check the Link response header:
Link: </admin/clients?page_size=100>; rel="first", </admin/clients?page_size=100&page_token=...>; rel="next"
- Check X-Total-Count header — it reflects the real total, confirming results are truncated
For comparison, the same call on v2.3.0 returns all clients in a single response:
Link: </admin/clients?page_size=160&page_token=...>; rel="first"
X-Total-Count: 160
Relevant log output
Relevant configuration
Version
v26.2.0
On which operating system are you observing this issue?
None
In which environment are you deploying?
None
Additional Context
No response
Preflight checklist
Ory Network Project
No response
Describe the bug
In v2.3.0,
GET /admin/clientsreturned all clients in a single page (the defaultpage_sizewas large enough to cover all clients). After upgrading to v26.2.0, the defaultpage_sizeis 100, silently truncating results for anyone with more than 100 registered clients.v2.3.0 behavior:
v26.2.0 behavior:
This is a breaking change for any consumer with more than 100 clients that does not explicitly set
page_sizeor handlepage_tokeniteration. It is not mentioned in the upgrade notes for v25.4.0 or v26.2.0.Additionally, the OpenAPI spec declares default: 250 for
page_sizewhile the actual runtime behavior is 100, which is an additional inconsistency.Reproducing the bug
Link: </admin/clients?page_size=100>; rel="first", </admin/clients?page_size=100&page_token=...>; rel="next"
For comparison, the same call on v2.3.0 returns all clients in a single response:
Link: </admin/clients?page_size=160&page_token=...>; rel="first"
X-Total-Count: 160
Relevant log output
Relevant configuration
Version
v26.2.0
On which operating system are you observing this issue?
None
In which environment are you deploying?
None
Additional Context
No response