FOMDocs

Pagination and syncing

Page through lists with a cursor, and fetch only what changed since your last sync.

Pages

List endpoints return up to limit records (default 50, at most 100), newest first. meta.pagination says whether there is more:

"meta": {
  "pagination": { "limit": 50, "next_cursor": "eyJ0IjoiMjAyNi0xMS0y…", "has_more": true }
}

To get the next page, send next_cursor back as cursor, keeping the other filters the same. On the last page has_more is false and next_cursor is null.

curl "https://api.getfom.com/public/v1/orders?status=new&cursor=eyJ0IjoiMjAyNi0xMS0y…" \
  -H "Authorization: Bearer $FOM_API_KEY"

Treat the cursor as an opaque string; don't build or change it.

Syncing

To keep your own copy up to date, pass updated_since. You then get every record changed at or after that time, oldest change first, so you can stop at any point and carry on later:

  1. The first time, sync from a date in the past, like 2026-01-01T00:00:00Z.
  2. Page through the results and save each record.
  3. Keep the updated_at of the last record you saved.
  4. Next time, ask from that time.
curl "https://api.getfom.com/public/v1/products?updated_since=2026-11-25T08:00:00.000Z" \
  -H "Authorization: Bearer $FOM_API_KEY"

You may see a record again that you already have, so save by id (update if it exists). For products, a change to any variant or its stock counts as a change to the product.

Sync and webhooks together

Webhooks tell you about a change within seconds. A sync every few minutes or hours catches anything you missed while your server was down.

Filters

EndpointFilters
GET /ordersstatus, customer_id
GET /deliveriesstatus
GET /customers, GET /productsnone

On this page