Page consistency
Web Programmer
As context — the API frontend keeps a list of all ids for a given resource, sorted by id (basically what’s emitted when you request e.g. /v2/specializations). When a page is requested, it’s sliced out of the sorted id list, then each resource is fetched asynchronously from a backend server. For ?ids, it just uses the id list passed in. The asynchronous bit causes the output order to get shuffled a bit (which is still on the backlog to fix).
Ids can basically be added in anywhere — our content does not guarantee a monotonically incrementing id. Because of that, only requesting pages means that you’ll always have to do a full re-fetch of the entire dataset to find all resources (and the contents will shift around on the pages). For finding new stuff, the recommended approach is to just grab the list of all ids, diff against the set you’ve already got, then request what’s missing from your local set via ?ids. You’ll probably also want to re-fetch everything whenever a new release comes out because sometimes old items are updated.