Several comments about the problems with undocumented pagination limits.
In the case of
/rest/api/3/users the default
maxUsers is 50 but as I checked we can set it larger, at least 100. But I have not checked what is the actual maximum, don’t have a large Cloud site where to test it.
If developers would rely on the default and if we request
/rest/api/3/users and get 100 results then we do not know if these are all 100 users or maxUsers are limited at 100. Therefore we would always need to request
/rest/api/3/users?startAt=100 to validate it.
If we would use
/rest/api/3/users?maxUsers=1000 and get only 100 results then we also don’t know if these are all results as probably
maxUsers is limited just to 100 results. And we would need to make another request
/rest/api/3/users?maxUsers=1000&startAt=1000 to validate it.
The new style paginated resource results is better as it returns the actual
maxResults that was enforced and then we can check that https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination
But unfortunately, not all REST APIs are using this results format.
One more problem with
/rest/api/3/users is that it cannot be used from Connect apps. For the additional confusion there is
/rest/api/3/users/search which also cannot be used from Connect apps. But there is very similarly looking
/rest/api/3/user/search which can be used from Connect apps. All these are returning just arrays of user objects without the possibility to see enforced maxResults.