Skip to content

Sandbox

Sandbox is a full copy of Oura that never moves real money. You get it the moment you sign in with Google. There's no paperwork and nothing to wait for.

What works in sandbox

  • Creating, retrieving, listing and cancelling payments
  • The hosted checkout, with simulated eSewa, Khalti and other rails
  • Signed webhooks for every payment event
  • The MCP server, including its sandbox-only tools for creating and cancelling test payments

Test keys

Sandbox keys start with sk_test_. A test key can only see test data, and a live key can only see live data. The API enforces this on the server, so a test key can never touch a real payment.

Local development

Every SDK accepts a base URL, so you can point it at a local Oura API while developing:

const oura = new Oura(key, { baseUrl: 'http://localhost:8080' });
oura = Oura(key, base_url="http://localhost:8080")
$oura = new Client($key, ['base_url' => 'http://localhost:8080']);
client, err := oura.NewClient(key, oura.WithBaseURL("http://localhost:8080"))
var oura = new OuraClient(key, baseUrl: "http://localhost:8080");
oura = Oura::Client.new(key, base_url: 'http://localhost:8080')

To receive webhooks on your laptop, expose your local server with a tunnel (for example cloudflared tunnel or ngrok) and set that URL as your webhook endpoint in the dashboard.