sk_test_ API key.
How it works
Sandbox is a fetch model, not a simulator. The API never runs a real generation pipeline and never charges quota. Instead, every course-read endpoint resolves to one shared, pre-built demo course (20260621_001352_0fca91). This canonical course has real slides, video, notes, and quiz data, so your UI and webhook handlers can be built against real response shapes.
What happens in sandbox
| Behaviour | Sandbox | Production |
|---|---|---|
Course creation returns a course_id | Yes | Yes |
status poll returns ready immediately | Yes | No (5 to 15 min real wait) |
| Video URLs point to the demo course | Yes | No |
| Quota consumed | No | Yes |
| Webhook deliveries fire | Yes | Yes |
| Idempotency key required on launch | Yes | Yes |
When to use it
- Building the integration in CI
- Reviewing UI flows with stakeholders
- Verifying webhook signature handling
- Running smoke tests on every deploy
When NOT to use it
- Final QA before go-live. Run at least a handful of real
sk_live_generations end-to-end to verify your billing flow, error handling on real failures, and webhook reliability. - Load testing. Sandbox is rate-limited and the response shapes are static; it does not represent production behaviour under stress.
Isolation guarantees
sk_live_keys never see the sandbox course.- The sandbox demo course is read-only; mutations against it succeed but have no persistent effect.
- Sandbox webhook deliveries carry
"sandbox": truein the payload so your consumer can branch.
Going live
When your integration is ready:- Swap the API key from
sk_test_tosk_live_in your config or secret store. - Verify your webhook URL is registered (contact your account manager if not).
- Run one full course generation to confirm the live flow end-to-end.
- Monitor your first week of production traffic for billing and rate-limit signals.