Pagination

All list endpoints support pagination using page and limit query parameters.

Request Parameters

ParameterTypeDefaultDescription
pagenumber1Page number (1-indexed)
limitnumber20Items per page (max varies by endpoint, typically 100)

Example Request

curl "https://api.storno.ro/api/v1/invoices?page=2&limit=25" \
  -H "Authorization: Bearer {token}" \
  -H "X-Company: {company_uuid}"

Response Format

Paginated responses include metadata alongside the data:

{
  "data": [
    { "uuid": "...", "number": "FACT-001", ... },
    { "uuid": "...", "number": "FACT-002", ... }
  ],
  "total": 150,
  "page": 2,
  "limit": 25,
  "pages": 6
}
FieldTypeDescription
dataarrayArray of resource objects
totalnumberTotal number of matching resources
pagenumberCurrent page number
limitnumberItems per page
pagesnumberTotal number of pages

Filtering and Sorting

Many list endpoints support additional query parameters for filtering and sorting. Common filters include:

ParameterTypeDescription
searchstringFull-text search across relevant fields
statusstringFilter by resource status
fromstringFilter by start date (YYYY-MM-DD)
tostringFilter by end date (YYYY-MM-DD)
sortstringSort field (e.g., issueDate, number)
orderstringSort direction: asc or desc

See individual endpoint documentation for available filters.

Grouped Responses

Some endpoints (e.g., clients, suppliers) return grouped results instead of paginated arrays:

{
  "data": {
    "A": [
      { "uuid": "...", "name": "ABC Corp" }
    ],
    "S": [
      { "uuid": "...", "name": "SC Firma SRL" }
    ]
  },
  "total": 45
}

These endpoints group results alphabetically by the first letter of the name.

Best Practices

  • Use reasonable limit values (20–50) for UI pagination
  • Use larger limits (100) for bulk data exports
  • Always check pages to know when you've reached the end
  • Cache total to avoid re-fetching it on every page change