Troubleshooting¶
Common issues you might run into while using WhiteBoxXAI, and how to resolve them. If you're still stuck after trying these steps, reach out — see Getting help.
SDK issues¶
"No module named 'whiteboxxai'"¶
The SDK isn't installed in the environment you're running. Install it:
Then verify it's available:
If you have multiple Python environments, make sure you're installing into the same one
that runs your code (check with import sys; print(sys.executable)).
"cannot import name 'WhiteBoxXAI'"¶
You may have an outdated version. Upgrade to the latest:
The package was renamed from the earlier whiteboxai naming to whiteboxxai — make sure
your imports use from whiteboxxai import WhiteBoxXAI.
Authentication¶
"401 Unauthorized: Invalid API key"¶
- Double-check the key was copied correctly, with no leading/trailing spaces or newlines. Keys
start with
wbx_live_. - Confirm you're using an active key: in the dashboard, go to Profile → API Keys and check it hasn't been revoked or passed its expiry.
- If in doubt, generate a new key and update your integration. Remember that a key is shown in full only once, at creation time.
- If you're using a login token instead of an API key, it has expired — JWTs last about 30 minutes. Switch to an API key, which doesn't expire on a schedule.
"403 Forbidden: Insufficient permissions"¶
Your account or API key doesn't have permission for that action:
- API key scopes. The key may not carry the scope the operation needs. Check its scopes under Profile → API Keys and issue a new key if needed.
- Your role. Check it under Settings → Team. Issuing and revoking API keys is admin-only.
- Demo accounts are read-only — they can view data but can't create, edit, or delete. See Plans & Limits.
"404 Not Found" on /api/v1/reports¶
Report generation lives at /api/v1/export/*, not /api/v1/reports. See Exports &
Reports.
Getting a 404 on an alerts endpoint instead? Check the path — rules live under
/api/v1/alerts/rules, not /api/v1/alerts directly. See Alerts.
Predictions aren't appearing¶
Your SDK calls succeed but you don't see predictions in the dashboard. Work through these in order:
-
Check the model ID. Make sure you're logging to the right model:
-
Check your sampling rate. If you configured sampling, some predictions are logged intentionally. Set the rate to
1.0to log every prediction while debugging: -
Allow time for async delivery. If you log asynchronously or with buffering, predictions are sent in the background. Flush the buffer, or give it a moment before refreshing the dashboard.
-
Enable debug logging to confirm requests are being sent:
If you're on the Free plan and have hit your monthly API-call limit, new requests are paused until your next cycle — see Plans & Limits.
Two-factor authentication¶
My 6-digit code isn't accepted¶
- Time drift is the most common cause. Authenticator codes depend on your device clock. Enable automatic date/time on your phone, or turn on "time correction" in your authenticator app's settings.
- Codes expire every 30 seconds and can only be used once. Wait for a fresh code and enter the one currently shown.
I've lost my authenticator app¶
Use one of your saved backup codes at the 2FA prompt. Each backup code works once. After logging in, go to Profile → Security to set up a new authenticator and regenerate backup codes. Full details: Two-Factor Authentication.
I've lost my app and my backup codes¶
Contact support@whiteboxxai.com. Account recovery requires identity verification and can take 24–48 hours.
Understanding API errors¶
When an API request fails, the response body includes an error code and message. The
HTTP status tells you the category:
| Status | Meaning | What to check |
|---|---|---|
| 400 | Bad Request | Invalid input or malformed request body |
| 401 | Unauthorized | Missing or invalid API key |
| 403 | Forbidden | Insufficient permissions, or a read-only (demo) account |
| 404 | Not Found | The resource ID doesn't exist |
| 409 | Conflict | The resource already exists |
| 422 | Validation Error | A field doesn't match the expected format |
| 429 | Too Many Requests | Rate limit or monthly quota exceeded |
| 500 | Server Error | A problem on our side — retry, then contact support |
A 422 response tells you exactly which field is wrong:
{
"error": {
"code": "VALIDATION_ERROR",
"message": "Invalid input",
"details": { "field": "model_type", "error": "Must be one of: classification, regression" }
}
}
Rate limits and quotas (429)¶
A 429 means you've sent too many requests too quickly, or reached your plan's monthly
allowance. To avoid it:
- Batch your prediction logging instead of one call per prediction.
- Sample high-volume models rather than logging every prediction.
- Retry with a short backoff after a brief pause.
See Plans & Limits for the allowance on each plan.
Getting help¶
Before reaching out, it helps to gather:
- The exact error message and the API
code(if any) - Steps to reproduce the issue
- Your SDK version (
whiteboxxai.__version__)
Then contact us:
- Documentation: docs.whiteboxxai.com
- Community forum: community.whiteboxxai.com
- Email support: support@whiteboxxai.com