Skip to main content
Bota provides test and live API keys to help you develop and test your integration safely. Both key types use the same API endpoint.

API Keys

Each project has separate API keys for test and live modes:

Key Types by Mode

Test and live modes are completely isolated. EndUsers, devices, and recordings created with test keys do not exist in live mode and vice versa.

Test Mode Behavior

What’s the Same

  • Same API endpoint (https://api.bota.dev/v1)
  • All API endpoints work identically
  • Request/response formats are identical
  • Webhooks are delivered normally
  • Error codes and messages match production

What’s Different

Test mode uses real ASR processing, so transcription quality and timing match production. This ensures your integration behaves identically when you go live.

Multiple Projects for Environments

For more robust environment separation, create multiple projects within your organization: This approach provides:
  • Complete data isolation between environments
  • Separate webhook configurations per environment
  • Independent rate limits and quotas
  • Clear audit trails per environment

Testing Webhooks

Webhooks in test mode work exactly like production. Events are delivered to your configured endpoints with valid signatures.

Testing Locally

Use a tunneling service like ngrok to receive webhooks during local development:

Trigger Test Events

Create resources with test keys to trigger webhook events:

Going Live Checklist

Before switching from test mode to production:
1

Update API keys

Replace sk_test_* keys with sk_live_* keys in your production environment
2

Verify webhook endpoints

Ensure your production webhook URLs are configured and accessible
3

Test with real devices

Verify Bluetooth pairing and upload flows work with actual hardware
4

Monitor initial requests

Watch for errors in your first production API calls

Environment Variables

We recommend using environment variables to manage your API configuration:

Cleaning Up Test Data

To clean up test data, delete the resources directly:
Deleting an EndUser also deletes all associated recordings, transcriptions, and summaries.