Thank you for the suggestions — we’ve investigated these areas further and wanted to share additional observations that may help narrow this down.
Based on what we’re seeing, the issue does not appear to be driven by overall response size, page size, or pagination:
- We see successful responses with
$top=1000when using$filter+$orderby(without$search). - We see failures with much smaller
$topvalues when$searchis included.
This suggests the behavior may be correlated with the presence of $search, rather than general payload size or pagination limits.
In the failing cases, requests return 200 OK with headers indicating a streamed response (transfer- encoding: chunked and odata.streaming=true), but the response body terminates early:
{
"@odata.context": "...",
"value": [
No message objects or error details follow. From the client’s perspective, the response appears successful at the HTTP level but incomplete at the payload level.
Additional context:
- We use a defined
$selectand$expand=attachmentsas part of our integration’s expected response shape; removing these would be a breaking change for existing usage. - Client-side retries do not resolve the behavior for affected tenants.