I am still new with API endpoints, can someone explain to me pagination for this api?

I am trying to understand if this API supports pagination. Here is a link to the documentation

https://www.skulabs.com/api/#introduction

The important params are:

Limit
Limit represents an integer that is used to limit the number of documents returned. By default, it is 10.

Skip
Skip represents an integer that is used to aid in pagination. By default, it is 0.

Examples:

I wanna fetch the first 10 items (limit 10, skip 0)

I wanna fetch the items 11-20 (limit 10, skip 10)

I wanna fetch items 401-500 (limit 100, skip 400)

So the problem im running into is with the endpoint im using. It only allows for the parameter selector. So I am filtering by time currently.

public SerialRoot getSerial() {
        return webClient
                .get()
                .uri("/order/get_scanned_serial_numbers?start=2021-11-29T00:00:00Z&end=%s".formatted(todaysDate))
                .header(auth, skuT + token)
                .retrieve()
                .bodyToMono(SerialRoot.class)
                .block();
    }```

It starts at the time of the first order, all the way to todays date. So this returns everything right now. This works, but I tried to link two json responses with a different endpoint. They have a common data point of `order_number`. I was using second json response to return the customers name, but received a `429 Too Many Requests`. 
@quirky-zebra

Reading the docs they say all 4 params are required. You are probably better off asking their support about it.

The same goes for the 429. You either start caching / storing results in your own database (not sure if allowed, ask support), reduce the amount of queries to not hit the limit (ask the support about the limit) or add slowness between the requests (ask the support about the wait time between requests)

Using this endpoint that does support pagination, how can I reflect that in my vaadin grid?

 public List<BillingAddress> getOrder() {
        List<BillingAddress> billingAddressList = webClient
                .get()
                .uri(uriBuilder -> uriBuilder
                        .path("/order/get")
                        .queryParam("limit", 100)
                        .queryParam("skip", 0)
                        .build())
                .header(auth, skuT + token)
                .retrieve()
                .bodyToFlux(OrderRoot.class)
                .map(orderRoot -> orderRoot.getStash().getBilling_address())
                .collectList()
                .block();
        return billingAddressList;
    }```

https://vaadin.com/docs/latest/binding-data/data-provider#lazy-data-binding-using-callbacks