Pagination
All list endpoints in the Gesvision API support offset-based pagination for retrieving large result sets efficiently.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
skip | integer | 0 | Number of records to skip from the beginning |
limit | integer | 50 | Maximum number of records to return (max 500) |
Basic example
Fetch the first 20 invoices:
curl "https://app.gesvision.com/gesmo/rest/api/v1/invoices?skip=0&limit=20" \
-H "Authorization: Bearer $TOKEN"
Fetch the next 20 (second page):
curl "https://app.gesvision.com/gesmo/rest/api/v1/invoices?skip=20&limit=20" \
-H "Authorization: Bearer $TOKEN"
Continue incrementing skip by the page size until you receive fewer records
than the limit, which indicates you've reached the last page.
Filtering by modification date
List endpoints accept date range filters for incremental synchronization — retrieve only records that changed since your last sync:
| Parameter | Format | Description |
|---|---|---|
modifiedAfter | ISO 8601 datetime | Only records modified after this timestamp |
modifiedBefore | ISO 8601 datetime | Only records modified before this timestamp |
Incremental sync example
# First sync: fetch everything
curl "https://app.gesvision.com/gesmo/rest/api/v1/invoices?limit=500" \
-H "Authorization: Bearer $TOKEN"
# Subsequent syncs: only fetch changes since last sync
curl "https://app.gesvision.com/gesmo/rest/api/v1/invoices?modifiedAfter=2026-02-24T00:00:00Z&limit=500" \
-H "Authorization: Bearer $TOKEN"
Best practice
Store the lastModifiedAt timestamp from your most recently synced record.
Use it as the modifiedAfter value in your next sync cycle. This ensures you
never miss updates, even if they happen between sync runs.
Additional filters
Some endpoints support extra query parameters:
| Endpoint | Extra filters |
|---|---|
GET /api/v1/invoices | issued (boolean), status (string) |
GET /api/v1/orders | issued (boolean), subscription (boolean) |
GET /api/v1/credit-notes | issued (boolean) |
Example: list only issued invoices
curl "https://app.gesvision.com/gesmo/rest/api/v1/invoices?issued=true&limit=100" \
-H "Authorization: Bearer $TOKEN"