When paginating the results of a query in Oracle REST APIs...we don't actually do that.
We take the query...and rewrite it to have the 'page' returned as a singular resultset.
So each time the user/app follows the link for the next or previous page, the query is executed again.
So instead of
SELECT * FROM my_table
We run
SELECT *
FROM (
SELECT Q_.*,
ROW_NUMBER() OVER(
ORDER BY 1
) RN___
FROM(
SELECT *
FROM my_table
) Q_
)
WHERE RN___ BETWEEN :1 AND :2
The API dev can of course override this and build their own logic, or even disable paging...