Pagination
Every list endpoint in the Public API uses the same offset-based pagination. There are no cursors to manage and no hidden defaults — the response tells you where you are.
Parameters
| Parameter | Type | Range | Default |
|---|---|---|---|
limit |
integer | 1–100 | 25 |
offset |
integer | ≥ 0 | 0 |
Out-of-range values are rejected with 422 VALIDATION_ERROR.
curl "https://api.floatless.com/api/public/v1/invoices?limit=50&offset=100" \
-H "Authorization: Bearer sk_live_..."
Response shape
{
"data": [ "...resources..." ],
"pagination": {
"limit": 50,
"offset": 100,
"total": 237,
"has_more": true
}
}
has_more is exactly offset + limit < total. When it is false, you have the last page.
Ordering
All list endpoints sort by created_at descending — newest first. This is stable across resources (invoices, customers, products, subscriptions, webhook events), which makes "fetch what arrived since my last sync" a simple loop:
- Request page 1 (
limit=100). - Stop consuming records older than your high-water mark.
- Persist the newest
created_atyou saw as the next sync's watermark.
Filters available per resource
| Resource | Filters besides pagination |
|---|---|
| Invoices | customer_id, status |
| Subscriptions | customer_id, status |
| Products | active |
| Webhook endpoints | status (ACTIVE / DISABLED) |
| Webhook events | endpoint_id, status (PENDING / SUCCESS / FAILED / RETRYING), event_type |
Combine filters freely — they compose with limit/offset.