Pagination
All list endpoints (GET /v1/products, GET /v1/suppliers) support pagination.
Query Parameters
| Parameter | Type | Default | Max | Description |
|---|---|---|---|---|
page | integer | 1 | — | Page number (1-indexed) |
per_page | integer | 50 | 200 | Results per page |
sort | string | createdAt | — | Field to sort by. Prefix with - for descending order |
search | string | — | — | Full-text search across name, SKU, and other text fields |
Sorting
Use the sort parameter to order results. Prefix the field name with - for descending order:
# Sort by name ascending
GET /v1/products?sort=name
# Sort by createdAt descending (newest first)
GET /v1/products?sort=-createdAt
# Sort by SKU ascending
GET /v1/products?sort=sku
Search
The search parameter performs a full-text search across name, model, SKU, GTIN, and other text fields:
GET /v1/products?search=organic+cotton
Response Format
All paginated responses include a pagination object:
{
"products": [ ... ],
"pagination": {
"page": 2,
"perPage": 50,
"total": 243,
"totalPages": 5
}
}
| Field | Type | Description |
|---|---|---|
page | integer | Current page number |
perPage | integer | Results per page for this response |
total | integer | Total number of matching records |
totalPages | integer | Total number of pages |
Examples
# Page 2 of products, 25 per page
GET /v1/products?page=2&per_page=25
# Search for "jacket", newest first
GET /v1/products?search=jacket&sort=-createdAt
# All active suppliers, sorted by name
GET /v1/suppliers?sort=name&per_page=200