API Playground Troubleshooting
The API playground lets you test endpoints directly in the browser. Here are solutions to common issues.”Missing required fields to send a playground request”
This error occurs when required parameters haven’t been filled in. Here’s how to fix it:For GET Requests
GET requests typically only need your API key:- Enter your API key in the Authorization field
- Click Send
GET /modelsGET /voicesGET /developer/api
For POST Requests
POST requests need additional body parameters:- Enter your API key in the Authorization field
- Fill in all required body parameters (marked with
required) - Click Send
POST /tts-synthesize, you must fill in:
text(required) - The text to convert to speechvoice_id(optional) - Voice to usespeed(optional) - Speech speed
For Path Parameters
Some endpoints have path parameters like{id}:
- Enter your API key in the Authorization field
- Fill in the path parameter (e.g., the API key ID)
- Click **Send`
DELETE /developer/api/{id} requires the API key ID in the URL.
Billing & Credits Issues
Issue: “402 Insufficient credits” or “ZERO_BALANCE”
Cause: The workspace wallet has no funds Solution:- Check your workspace balance in the Dashboard billing page
- Add funds via the Dashboard billing page
- Each workspace has its own wallet — make sure you’re checking the right workspace
Issue: “403 Forbidden” on billing endpoints
Cause: Only workspace owners can access billing endpoints Solution:- Verify you are the workspace owner (not admin/developer/member)
- Contact the workspace owner to manage billing
Issue: “Workspace not found” on API calls
Cause: The API key or JWT token is not associated with a valid workspace Solution:- If using API keys: verify the key is active and linked to a workspace
- If using JWT: include
workspace_idin the request body or query params - Check that the workspace hasn’t been deleted
STT / TTS Limits & Errors
Issue: “429 STT_CONCURRENCY_LIMIT” or “429 TTS_CONCURRENCY_LIMIT”
Cause: You have reached your per-user concurrency cap (counted across REST + WS combined). Defaults: STT 8, TTS 5. Solution:- Wait for an in-flight request or session to finish, then retry.
- Do not auto-retry without backoff — the limit only releases when an in-flight call completes.
- The error body includes
details.limitwith the active cap value.
Issue: “429 STT_UPSTREAM_RATE_LIMIT”
Cause: The upstream STT service is rate-limiting all 60db traffic. Solution:- Read the
Retry-AfterHTTP header (seconds) and back off for that duration before retrying. The header takes precedence over the JSON body’sdetails.retry_after.
Issue: “503 STT_UPSTREAM_UNAVAILABLE”
Cause: The upstream STT service returned a 5xx. Solution:- Retry with exponential backoff (1s → 2s → 4s …). Treat as transient, not a user-input error.
- No credits are charged for upstream errors.
Issue: “499 STT_CLIENT_CANCELLED”
Cause: The client closed the connection before the response was returned. The upstream call was aborted. Solution:- Intentional — wire
AbortController.abort()to your cancel button. No credits are charged. Don’t retry; don’t show an error toast.
Issue: WebSocket closed with code 1008 and STT_CONCURRENCY_LIMIT / TTS_CONCURRENCY_LIMIT
Cause: Concurrency cap reached on the WebSocket path.
Solution:
- Wait for an in-flight session to finish, then reconnect. Do not auto-reconnect immediately on
1008.
Common Issues
Issue: “401 Unauthorized”
Cause: Invalid or missing API key Solution:- Verify your API key is correct
- Get a new API key from app.60db.ai
- Make sure you’re including the key in the Authorization field
Issue: “CORS error”
Cause: Browser security blocking the request Solution:- Make sure you’re testing from the documentation site
- Try refreshing the page
- Clear your browser cache
Issue: Request times out
Cause: Network issues or server problems Solution:- Check your internet connection
- Try again in a few moments
- Check if the API is operational
Getting Your API Key
- Go to app.60db.ai
- Navigate to Settings → Developer → API Keys
- Click Create API Key
- Copy and store your API key securely
Tips for Using the Playground
- Start with GET requests - They’re simpler and only need an API key
- Check required fields - All required fields must be filled before sending
- Use example values - The playground shows example values to help you get started
- Test incrementally - Try one endpoint at a time to understand the API
Still Having Issues?
If you’re still experiencing problems:- Check the Authentication documentation
- Contact support at [email protected]
- Open an issue on GitHub