Skip to main content

Pagination and response format

Listings

All GET endpoints that return collections support pagination with the following parameters:

ParameterTypeDefaultDescription
pageinteger1Page number, 1-indexed
countinteger20Items per page, max 200

Listings return the direct array (no envelope), and pagination info travels in headers:

HeaderDescription
X-Total-CountTotal items matching the filters (not just this page)

Status codes

StatusWhen
200 OKSuccessful response. Includes both pages with items and empty listings (200 [] if the filter returns no results).

Example

GET /v1/clients?taxId=30999999999&page=1&count=20

200 OK
Content-Type: application/json
X-Total-Count: 47

[
{ "id": 1001, "businessName": "Kiosco Central", "taxId": "30999999999", ... },
{ "id": 1002, "businessName": "Kiosco Central", "taxId": "30999999999", "branch": { "externalCode": "02" }, ... },
...
]

To iterate through all pages:

let page = 1;
const count = 100;
let total = Infinity;

while ((page - 1) * count < total) {
const res = await fetch(`/v1/clients?page=${page}&count=${count}`, {
headers: { Authorization: `Bearer ${token}` }
});
total = parseInt(res.headers.get('X-Total-Count'), 10);
const items = await res.json();
for (const item of items) {
// process
}
page++;
}

Sorting

Listings sort by default by creationDate descending. Some endpoints accept a sort parameter with specific fields documented per resource (e.g. sort=-movementDate for movements).

Single-resource responses

Endpoints that return a single resource respond with the object directly, no envelope:

GET /v1/clients/1001

200 OK
{
"id": 1001,
"businessName": "Kiosco Central",
"taxId": "30999999999",
...
}

Field conventions

  • Identifiers (id, clientId, receivableAccountId, etc.): int64 integers.
  • Tax ID (taxId): always 11 digits, no dashes. The API canonicalizes the value on receive (it accepts dashes and spaces) and always returns this format.
  • Currency codes: ISO 4217. Today only ARS.
  • Timestamps (creationDate, modificationDate, movementDate): ISO 8601 with offset. E.g. 2026-05-14T10:30:00-03:00.
  • Dates without time (issueDate, dueDate): YYYY-MM-DD.
  • Amounts: decimal number without thousand separators, dot as the decimal separator. E.g. 45000.50.
  • Optional booleans: default false when omitted in POST/PUT.
  • Derived fields (computed by the system): returned in GET but ignored if sent on POST/PUT.
  • status instead of disabled: resources expose states as enums (ACTIVE, DISABLED, etc.) instead of boolean flags to ease future evolution.

Standard filters

When a resource supports it, the most common filters follow this pattern:

ParameterTypeDescription
idsint arrayList of specific IDs. E.g. ?ids=1,2,3
fromDateISO 8601Filters by creation date >=
toDateISO 8601Filters by creation date <= (inclusive)
statusenumSpecific status
externalIdstringIntegrator's external ID