Partner integrations can poll the API for the set of orders currently assigned to their partner account, instead of (or in addition to) receiving events via webhooks.
Two read-only endpoints are available — the paginated variant is recommended for all new consumers; the offset-based variant is kept for backwards compatibility with early integrations.
Both endpoints require a partner-role access JWT (the same token issued
via /v3/auth/access-token — see Authentication).
Authorization: Bearer <PARTNER ACCESS TOKEN>
Authorization rules:
partner (other roles → 401).WebhookConfiguration with
scope = "partner" must exist for the authenticated partner account.
Child partner accounts fall back to their master account's
configuration. If neither resolves a configuration → 403.version come from that
configuration; for the paginated endpoint the configuration's
transformer must be s4c.The set of orders returned to the caller is determined by the account
that owns the resolved WebhookConfiguration (not by the caller's own
account directly):
| Caller | Orders visible |
|---|---|
Contact on a partner account that has its own partner-scoped WebhookConfiguration |
Orders assigned to that partner account and to all of its direct child partner accounts. |
| Contact on a child partner account (the child has no own configuration; resolved via fallback to the master) | Orders assigned to the master account and all of its direct child partner accounts — i.e. the same set the master would see, including siblings of the caller's account. |
In other words: when a child contact's WebhookConfiguration is
resolved via the master fallback, the visibility scope widens to the
master's full first-level subtree. Configure a partner-scoped
WebhookConfiguration directly on a child account if you need its
contacts to be restricted to that account's own orders.
Orders that are not assigned to any account inside the resolved scope are never returned.
GET /v3/partner-orders/paginatedReturns the partner's orders in a stable paginated envelope.
| Name | Type | Default | Description |
|---|---|---|---|
page |
integer (≥1) | 1 |
1-based page index. |
pageSize |
integer (1–200) | 50 |
Page size. Values above 200 are silently clamped to 200. |
updatedSince |
ISO‑8601 datetime | none | Only return orders whose updatedAt >= updatedSince. Use for delta polling. |
active |
boolean (true/1) |
false | When true, exclude orders whose status is one of new, cancelled, closed, completed, invoice sent. Use to fetch only the orders that still require partner action. |
{
"items": [ /* OrderStatusEvent-shaped payloads, one per job */ ],
"page": 1,
"pageSize": 50,
"total": 1234
}
items is ordered by updatedAt descending and is sized to at most
pageSize. total is the unpaginated count under the same filters
(account scope, updatedSince, active).
curl -i "https://<api-host>/v3/partner-orders/paginated?active=true&page=1&pageSize=50&updatedSince=2026-05-01T00:00:00Z" \
-H "Authorization: Bearer <PARTNER ACCESS TOKEN>"
GET /v3/partner-ordersLegacy offset-based listing. Returns a raw array (no envelope).
| Name | Type | Default | Description |
|---|---|---|---|
limit |
integer | unbounded | Max number of orders to return. No server-side cap — prefer /paginated. |
offset |
integer | 0 |
Skip the first N orders. |
updatedSince |
ISO‑8601 datetime | none | Same semantics as on /paginated. |
active |
boolean (true/1) |
false | Same semantics as on /paginated. |
[
{ "_v": "1.3.0", "_type": "OrderStatusEvent", /* … */ },
/* … */
]
| HTTP status | Meaning |
|---|---|
401 |
Missing, expired, or invalid JWT. |
403 |
Authenticated, but the partner account has no partner-scoped WebhookConfiguration (and no parent account that does). |
400 |
/paginated was called on an account whose WebhookConfiguration.transformer is not s4c. |
Generated using TypeDoc