Skip to main content
Sandbox is a free integration environment for the MyUstadia API. It is enabled automatically when you use an 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

BehaviourSandboxProduction
Course creation returns a course_idYesYes
status poll returns ready immediatelyYesNo (5 to 15 min real wait)
Video URLs point to the demo courseYesNo
Quota consumedNoYes
Webhook deliveries fireYesYes
Idempotency key required on launchYesYes

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": true in the payload so your consumer can branch.

Going live

When your integration is ready:
  1. Swap the API key from sk_test_ to sk_live_ in your config or secret store.
  2. Verify your webhook URL is registered (contact your account manager if not).
  3. Run one full course generation to confirm the live flow end-to-end.
  4. Monitor your first week of production traffic for billing and rate-limit signals.