Area: Integration / API (audit p13) · Surface: mobieusAPI · Dimension: feature-to-improve · Severity: minor
Zendesk and Intercom list endpoints return a total count and/or an explicit has_more boolean so clients can show progress, pre-size buffers, and know when to stop without an extra empty fetch. With Mobieus, a client must keep requesting until next_cursor is null and can never display 'X of Y'. For a build-an-export or sync-all-members job this is a real ergonomics gap. has_more is free (it's already computed as count(rows) > limit at UsersController.php:37); a count is one extra COUNT query that can be opt-in via a flag to keep it cheap.
Evidence
`grep -rn "total_count|'total'|has_more" platform/src/Controllers/Api/V1/*.php` returns nothing. UsersController@index (lines 43-46), PostsController@index (57-60), and EventsController@index (33-36) all return only {data, next_cursor}. The cursor is base64 of a row id, with no count metadata.
Suggested fix. Add has_more:bool to every paginated envelope (already known from the count>limit check) and an optional ?include_total=1 that returns total_count; document the meta block in openapi.yaml.
Filed by the automated tenant-app audit and adversarially evidence-verified. Status: verified. Open — not yet actioned.
Patrick Bass
@mobieus