Test mode
Every workspace can create test keys, prefixed with skoup_test_. They let you build an
integration end to end — reads, writes and webhooks — without touching your real data and without
triggering a single AI sampling.
What a test key reads
Test keys read a shared demo workspace: a cycling brand, Nordvelo, with twelve weeks of realistic measurements on several markets, open alerts, a backlog of fixes, a catalog and attributed orders. The data is fixed, so your tests are reproducible.
Every object returned in test mode carries "livemode": false.
What happens on writes
Writes go through exactly the same validation as in live mode: the same required fields, the same quotas, the same state transitions, the same error codes. You get back the object as it would have been saved.
Then everything is rolled back. Nothing is persisted, no e-mail is sent, no AI model is called
and no background job runs. Retrieving the object you just created returns 404.
Test mode is designed to prove your integration is correct, not to store data. If you need to see your writes persist, use a live key on a dedicated brand.
Webhooks in test mode
Webhook endpoints also have a mode. Events produced by your test requests — a task.created
after a POST …/tasks, for instance — are delivered to your test endpoints, with
"livemode": false. Live events never reach a test endpoint, and test events never reach a live
one.
You can also send a sample of any event type from the dashboard: open an endpoint and click Send test event.
Switching to live
Once your integration works, create a live key with the same scopes, create live webhook endpoints, and swap the secrets. Nothing else changes: URLs, payloads and errors are identical in both modes.