Live and test
Every organisation has live data and a sandbox. What belongs to one mode, what the two share, and how a request's mode is decided.
Every organisation works in two modes: live, its real catalogue, and test, a sandbox
with a sample catalogue. The API behaves the same in
both; only the data differs. Objects and events say which with livemode.
How a request's mode is decided
| Credential | Mode |
|---|---|
| API key | Its prefix: fo_test_ and fo_rk_test_ are test; fo_live_ and fo_rk_live_ live. |
| OAuth access token (the dashboard's, the CLI's, an app's) | Live, unless the request sends FurniOps-Mode: test. |
A key whose mode the header contradicts is refused with 400
invalid_request. See
Choosing the mode with a signed-in token.
What belongs to one mode
Whatever a request creates belongs to its mode, and a request in the other mode cannot see it (an
ID from the other mode answers 404):
| Belongs to one mode | Notes |
|---|---|
| The catalogue: products, variants, offers | The sandbox holds your test catalogue only; network catalogues are live. |
| Sources, their runs, uploads and mappings | Moving to live means creating sources again with a live credential. |
| Source probes, the AI agents' proposals and settings, and the matching judge's settings | Each belongs to a catalogue, and each mode has its own catalogue. |
| Change feed cursors and the stream | A sandbox cursor means nothing in live mode. |
| Webhook endpoints, their secrets and deliveries | A test endpoint only ever receives test events. Live endpoint URLs must use HTTPS. |
| Bulk exports | Three open at once in each mode. |
| API keys | A key's mode is its prefix, for life. |
| Request logs | The dashboard's Logs show the mode it is in. |
| Usage | Metered apart; only live is capped by quotas. |
| Rate budgets | Separate budgets of the same size. |
What the two share
The organisation itself: its name, plan, members and their roles, single sign-on, OAuth apps, access policies and the audit log, which records both modes in one timeline.
The dashboard's switch
The dashboard has a test-mode switch in its header. In test mode it shows a banner, reads the sandbox, and makes test keys; its Workbench sends requests in test mode unless the request says live.
Catalogues and licences
Your own catalogue, the network catalogue, and how a licence narrows what you can see of it by source and by field group, the same way on every path.
Plans and features
What your organisation's plan decides, what feature_unavailable means, how fat webhooks fall back to thin, and how long the change feed and delivery log reach back.