Prior to this release, the Skedulo GraphQL API restricted callers to 200 top level records in a query. If more than 200 records are available, the platform allows callers to access this data using pagination to make subsequent requests.
We’ve heard from developers that this limit is overly restrictive, and adds extra complexity when implementing solutions. Somewhat paradoxically this limit has also been linked to incidents where system performance was degraded, due to developers attempting to fetch multiple pages of data simultaneously.
With this release we hope to address several of these concerns.
Dynamic query limits using the new "limit" parameter
When using the new "limit" parameter developers can now request up to 10,000 top level records in a single query. Instead of the previous static limits, the platform calculates a dynamic limit based on the complexity of the query.
Factors that influence the dynamic limit include:
- The number of Lookup/HasMany relationships referenced
- The depth of nested relationships queried
- The values of subquery limits in nested queries
- The number of fields queried
Developers can understand what the calculated limit is by checking a new response header: X-Skedulo-Dynamic-Query-Limit
You can learn more about the new parameter and dynamic query limits in the updated documentation.
Deprecation of the ‘first’ parameter
The previous method for restricting the number of records returned in a query was the ‘first’ parameter. With the introduction of the dynamic limits, and the new ‘limit’ operator, the ‘first’ operator has been deprecated, and should not be used.
For backwards compatibility, we will continue to allow the use of the ‘first’ parameter, however we strongly encourage developers to migrate to the newer ‘limit’ parameter.
For more information about the deprecation of the ‘first’ parameter, migrating to the new ‘limit’ parameter, and backwards compatibility please refer to the documentation.
Skedulo on Salesforce customers
The new ‘limit’ parameter is available to Skedulo on Salesforce customers, and no changes to existing implementations is required. We have improved our documentation with regards to pagination limitations when accessing Salesforce data via the Skedulo GraphQL API.
For considerations when querying Salesforce data via our GraphQL API please refer to the documentation.