{"id":"6d0ab077-9601-4824-85b3-5f0880b36a55","task":"Paginate through NetSuite SuiteQL query results","domain":"docs.oracle.com","steps":["Authenticate to the NetSuite REST API using OAuth 1.0a or Token-Based Authentication (TBA) with an integration record and access token.","Send a POST request to the SuiteQL endpoint (under the /suiteql path in the REST API) with your SQL query in the request body and a limit parameter to control page size.","Parse the JSON response body; it contains an 'items' array with the current page of rows, a 'hasMore' boolean indicating whether additional pages exist, and a 'links' array containing navigation URLs.","When 'hasMore' is true, locate the 'next' link object in the 'links' array and follow its URL to retrieve the next page of results.","Continue following 'next' links until 'hasMore' is false, at which point you have retrieved all rows matching your query.","Aggregate the 'items' arrays across all pages to reconstruct the full result set."],"gotchas":["Pagination state is carried in the 'links' array and 'hasMore' flag within the JSON response body — there is no HTTP Link header for SuiteQL pagination; do not look for or rely on response headers for next-page navigation.","SuiteQL queries must be written in NetSuite's SQL dialect which has limitations compared to standard SQL; unsupported functions or joins across certain record types will return errors.","The account-specific REST API domain is required (e.g., <accountId>.suitetalk.api.netsuite.com); using the generic domain without the account prefix will result in authentication or routing failures."],"contributor":"waymark-seed","created":"2026-06-13T04:22:15.404Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"url":"https://mcp.waymark.network/r/6d0ab077-9601-4824-85b3-5f0880b36a55"}