Pagination Parameters

Modified on Tue, 17 Mar at 3:39 PM

Skip


Purpose


  • The $skip parameter defines how many results should be skipped, allowing pagination in the result set.


Key Points


  • It is used with $top to implement limit and offset paging.


Syntax of $skip Expression


  • The expression follows the format:
NUMBER_OF_ITEMS_TO_BE_SKIPPED
  • Example
$skip=10


How to Use $skip in a Request


  • Add the $skip parameter to specify how many items should be skipped.
http://api2.saleslayer.com/rest/Catalog/Families/?$select=typ_title,typ_stat,typ_modify,typ_creation&$skip=1


Response Format


  • When building your API request, add the $skip parameter to specify how many items should be skipped.
{
    "value": [
        {
            "typ_stat": "V",
            "typ_title": "AV-Air Velocity",
            "typ_modify": "2023-11-23T13:35:59",
            "typ_creation": "2023-11-23T13:35:59"
        }
    ],
    "@count": 2,
    "@readLink": "https://catalog-rest.kp.saleslayer.com/rest/Catalog/Families/?$select=typ_title,typ_stat,typ_modify,typ_creation&$skip=1"
}


SkipToken


Purpose


  • The $skipToken parameter allows continuation token-based pagination for fetching data.


Key Points


  • It is recommended when no sorting is applied and for faster pagination.
  • The continuation token is provided by the API in the response when paging is available.


Syntax of $skipToken Expression


  • The expression follows the format:
CONTINUATION_TOKEN
  • Example of retrieved $skipToken
$skipToken=5


How to Use $skipToken in a Request


  • When constructing your API request, add the $skipToken parameter to continue fetching the next set of results.
http://api2.saleslayer.com/rest/Catalog/Products?$select=prod_ref,cat_ref,prod_title&$skipToken=5&$top=5


Response Format


  • When you use $top, the response will contain the skipToken as @nextLink.
{
    "value": [
        {
            "prod_ref": "MyPer",
            "prod_title": {
                "en": "My Personify"
            }
        },
        {
            "prod_ref": "CuMoApp",
            "prod_title": {
                "en": "Custom Mobile Apps"
            }
        },
        {
            "prod_ref": "Atrius",
            "prod_title": {
                "en": "Atrius"
            }
        },
        {
            "prod_ref": "Builder",
            "prod_title": {
                "en": "Builder"
            }
        },
        {
            "prod_ref": "X-pressP",
            "prod_title": {
                "en": "X-press gfx Points"
            }
        }
    ],
    "@count": 11,
    "@readLink": "http://api2.saleslayer.com/rest/Catalog/Products?$select=[prod_ref,cat_ref,prod_title]&$top=[5]",
    "@nextLink": "http://api2.saleslayer.com/rest/Catalog/Products?$select=prod_ref,cat_ref,prod_title&$skipToken=5&$top=5"
}


Top


Purpose


  • The $top parameter defines the maximum number of items returned in the result set.


Key Points


  • It is typically used with $skip for limit and offset paging.
  • The default maximum page size is 100 items for most resources.


Syntax of $top Expression


  • The expression follows the format:
NUMBER_OF_ITEMS_TO_RETURN
  • Example for retrieving only the first 5 products.
$top=5


How to Use $top in a Request


  • When constructing your API request, add the $top parameter to control pagination.
http://api2.saleslayer.com/rest/Catalog/Products?$select=prod_ref,cat_ref,prod_description&$top=1


Response Format


  • The response will return only the number of results defined by the $top parameter.
{
    "value": [
        {
            "prod_ref": "X-pressP",
            "cat_ref": "DE",
            "prod_description": {
                "en": "X-press gfx Points"
            }
        }
    ],
    "@count": 11,
    "@readLink": "http://api2.saleslayer.com/rest/Catalog/Products?$select=prod_ref,cat_ref,prod_description&$top=1",
    "@nextLink": "http://api2.saleslayer.com/rest/Catalog/Products?$select=prod_ref,cat_ref,prod_description&$skip=1&$top=1"
}


Difference Between @nextLink and Incremental Synchronization


@nextLink is used exclusively for pagination.


It preserves the original query parameters and allows retrieving the next page of results.


Example:

GET /Products?$top=100


If more results are available, the response will include:

"@nextLink": "https://api2.saleslayer.com/rest/Catalog/Products?$skip=100"


Clients should continue requesting the provided @nextLink until no further link is returned.


Incremental Synchronization


Incremental synchronization is not based on @nextLink.


The API does not implement full OData delta token synchronization.


Incremental data retrieval must be implemented using OData $filter queries over modification date fields such as:

  • prod_modify
  • frmt_modify
  • cat_modify
  • The corresponding modification fields in custom entities


Example:

GET /Products?$filter=prod_modify ge 2026-03-01T00:00:00Z


Recommended Incremental Synchronization Pattern


For reliable incremental synchronization:

  • Store the last processed modification timestamp.
  • Use ge (greater or equal) instead of gt.
  • Treat the entity ID as the unique identifier and update existing records instead of inserting duplicates when processing incremental results.
  • Treat timestamps as UTC ISO 8601 date-time values.


Default Ordering Behavior


If no $orderby parameter is specified, results are returned ordered by the entity ID field in ascending order.


Default ID fields per entity:

  • Products → prod_id
  • Variants → frmt_id
  • Categories → cat_id
  • Custom Entities → the entity-specific ID field


For predictable pagination behavior, it is recommended to explicitly specify $orderby when performing paginated queries.


Example:

GET /Products?$orderby=prod_id asc

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article