Given the beautifully formatted API pagination, I was surprised by the lack of Relational Links per RFC 5998. Due to this absence, certain API clients can not “intelligently” parse together paginated output across multiple calls.
Working example: GitHub
The 1st page’s response header includes
Link as follows:
<https://api.github.com/search/code?q=addClass+user%3Amozilla&page=2>; rel="next", <https://api.github.com/search/code?q=addClass+user%3Amozilla&page=34>; rel="last"
Notice, the query is retained while only the page number suffix changes, thus allowing the client to make subsequent calls automatically (with delays to account for rate-limiting thresholds).
API client example: PowerShell v6+
Observe Example #3 from the above link which uses the
-FollowRelLink flag to make subsequent API calls based on relation links:
$url = 'https://api.github.com/repos/powershell/powershell/issues' Invoke-RestMethod $url -FollowRelLink -MaximumFollowRelLink 2
Really looking forward to this being implemented, especially given ongoing updates to PagerDuty API.
Thanks for your time,