Skip to content

Test vs Live Environment

Every Rakomi tenant has two environments by default: Live (production) and Test (sandbox). Test environments let you build and test your auth integration without affecting real users.

This follows the same model as Stripe’s test/live mode — your API key prefix determines the environment.

EnvironmentPrefixPurpose
Liveakm_live_Production — real users, real emails
Testakm_test_Sandbox — test users, emails suppressed

Both keys are created automatically when you sign up. Find them in Dashboard → API Keys.

  • Users created with test keys are auto-verified (no email verification needed)
  • Emails are suppressed — never sent to external providers, but logged for preview in the dashboard
  • Test users are not counted toward MAU — Free tier developers can test freely
  • Webhooks use a separate test webhook URL (localhost and ngrok allowed)
  • Rate limits have a 2x multiplier on auth endpoints for faster iteration
  • Test data is auto-purged after 90 days
  • Standard email verification flow
  • Emails sent via transactional email provider
  • Users counted toward MAU and billing
  • Strict SSRF validation on webhook URLs (HTTPS only, no private IPs)
  • Standard rate limits
  1. Use your test API key for development

    Your test key starts with akm_test_. Use it in your development environment.

  2. Register test users

    Users created via test API key are auto-verified — no email check needed.

  3. Test webhooks locally

    Set your test webhook URL to http://localhost:3000/webhooks in Dashboard → Webhooks settings.

  4. Switch to live when ready

    Replace akm_test_ with akm_live_ in your production deployment. That’s it.

The dashboard has a global environment toggle in the sidebar. Switching to “Test” filters all views (users, events, API keys) to show only test data. A persistent amber banner indicates when you’re viewing test data.

Each webhook configuration can have a separate test URL. Test webhooks support:

  • localhost / 127.0.0.1 / ::1 (HTTP allowed on ports 3000-9999)
  • *.ngrok.io / *.ngrok-free.app (HTTPS required)

No circuit breaker is applied to test webhooks — failures are logged but won’t disable delivery.

Test environment emails are never sent. Instead, they’re rendered and stored for preview in the dashboard’s “Test Emails” section. This includes password reset URLs, verification links, and all transactional emails.

Use the seed endpoint to generate synthetic test users quickly:

Terminal window
curl -X POST https://api.rakomi.com/v1/auth/dashboard/tenants/{slug}/environments/{envId}/seed \
-H "Cookie: __ra_session=..." \
-H "Content-Type: application/json" \
-d '{"count": 10}'

Generated users have synthetic emails (test+name@{slug}.rakomi.dev) and are pre-verified.

Use Dashboard → Settings → Reset Test Environment to bulk-delete all test data. This removes all test users, sessions, and events while keeping your API keys and configuration intact.

Test users with real email addresses are still personal data under GDPR. Best practices:

  • Use the seed endpoint for synthetic data (test+*@*.rakomi.dev)
  • Reset test environment regularly
  • Don’t use real customer emails for testing
PlanNon-live EnvironmentsTest Users per Environment
Free1 (test)1,000
Pro1 (test)5,000
BusinessUp to 3 (test, staging, dev)10,000
EnterpriseUnlimitedUnlimited