In short
Z; dates are plain YYYY-MM-DD.limit (1 to 200) and offset, and stop when has_more is false.null never means zero: it means redacted, not loaded, the other product family, or not set.PATCH, omit a field to keep it and send null to clear it. lines is replaced as a whole.currency by GET /organization. Documents do not repeat it.cost:read. Without it they read null, which means redacted, not zero.Z, such as 2026-09-10T14:30:00Z.YYYY-MM-DD with no time zone: an order date is a calendar date, not an instant.updated_since accepts an ISO 8601 timestamp. One without an offset is read as UTC.YYYY-MM-DD. A malformed date is refused with 400.limit is 1 to 200, default 50. offset is 0 to 10,000. Values outside either range are refused with 400.pagination reports limit, offset, total and has_more.has_more to decide whether to fetch again. Computing it from offset and limit claims another page whenever total is an exact multiple of limit.updated_since or narrower filters. See Lots and incremental sync.sort takes a comma-separated list of field:direction, for example sort=name:desc,id:asc. Each operation's sort parameter lists the fields it accepts; any other field is refused with 400.id is always appended as the final sort key, and the response's order states the ordering that was applied. Offset paging over a non-unique ordering would let rows move between pages as you walk them.status=OPEN&status=BACK_ORDER.search, the combination is refused with 400 rather than returning results that look filtered and are not.pagination.total when a filter matters.null never means zero. Depending on the field, it means one of these, and the field's description in the reference says which:
| Null means | Example |
|---|---|
Redacted: the key lacks cost:read | cost, price, subtotal |
| Not loaded on a list operation: fetch the single object | a product's allergens, a document's lines |
| The other product family | recipe on a material product |
| The generic lot | lot_number on a lot |
| Not set | an optional date or reference |
null to clear a field that can be null. Sending null for a field that cannot be null is refused with 400.lines is replaced as a whole set. See Writing documents.0 or a negative id is refused with 400.is_global. You can read and reference them, but not change them: a write is 403 READ_ONLY.customer_code are unique within your account; a duplicate is refused with 409.details names the field.