Troubleshooting
Quick-reference guide for diagnosing errors across all Solenoid APIs.
Error Lookup
| Error Code | HTTP | Products | Jump to Fix |
|---|---|---|---|
unauthorized | 401 | All | Authentication Issues |
rate_limit_exceeded | 429 | All | Rate Limiting |
insufficient_balance | 402 | Meter | Balance Issues |
validation_error | 400 | All | Request Validation |
forbidden | 403 | All | Permission Issues |
not_found | 404 | All | Resource Not Found |
Authentication Issues
My API key isn’t working
Diagnosis:
curl -I https://api.solenoid.systems/v1/meter/balance \
-H "Authorization: Bearer sm_your_key_here"
Common causes:
- Typo in key (keys start with
sm_) - Wrong header format (must be
Authorization: Bearer sm_...) - Key was rotated or deleted
- Extra whitespace before or after the key
Resolution:
- Verify key format:
sm_prefix, no whitespace - Verify header:
Authorization: Bearer sm_...(space after Bearer) - Regenerate key via the dashboard if needed
OAuth token not accepted
Common causes:
- Token expired (access tokens expire after 1 hour)
- Token revoked by user or key rotation
- Using refresh token instead of access token
- Token missing required scopes
Resolution:
- Refresh the token using your refresh token grant
- Re-authenticate if the token was revoked
- Verify token scopes match the endpoint requirements
Rate Limiting
I’m getting 429 errors
Rate limits by tier:
| Tier | Requests/min |
|---|---|
| Free | 60 |
| Starter | 300 |
| Pro | 600 |
| Scale | 1,800 |
Check rate limit headers in any response:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 45
X-RateLimit-Reset: 1709251200
Retry-After: 30
Resolution:
- Read the
Retry-Afterheader and wait before retrying - Implement exponential backoff for retries
- Batch requests when possible
- Cache responses to avoid repeated fetches
- Upgrade your tier for higher limits
Balance Issues
Insufficient balance errors
Diagnosis:
curl https://api.solenoid.systems/v1/meter/balance \
-H "Authorization: Bearer sm_your_key_here"
Common causes:
- All credits consumed
- Runaway process consuming credits unexpectedly
- Subscription expired or payment failed
Resolution:
- Add credits via the dashboard or upgrade tier
- Check logs for unusual spikes in API calls
- Set up balance alerts to catch depletion early
Request Validation
Validation errors on requests
Validation errors return a fields object with specific issues:
{
"error": "Validation failed",
"code": "validation_error",
"fields": {
"amount": ["Expected number, received string"]
}
}
Common fixes:
| Field | Issue | Fix |
|---|---|---|
amount | String instead of number | Use 1 not "1" |
url | Missing protocol | Use https://example.com |
email | Invalid format | Verify email format |
id | Wrong format | Check ID prefix matches expected pattern |
Permission Issues
Forbidden errors (403)
Common causes:
- Accessing another user’s resource
- OAuth token missing required scopes
- Feature not available on your tier
- Request from a blocked IP (if IP restrictions are configured)
Resolution:
- Verify the resource ID belongs to your account
- Re-authorize with correct scopes if using OAuth
- Upgrade tier if accessing premium features
- Check IP allowlist configuration
Resource Not Found
404 on resources that should exist
Diagnosis:
curl https://api.solenoid.systems/v1/meter/user-123/balance \
-H "Authorization: Bearer sm_your_key_here"
Common causes:
- Typo or copy-paste error in the resource ID
- Resource was deleted by another process
- Looking in the wrong environment (production vs staging)
- Recently created resource not yet propagated (usually seconds)
Resolution:
- Double-check the resource identifier
- Wait and retry for recently created resources
- Re-create the resource if it was deleted
Network Issues
Requests timing out
Diagnosis:
nslookup api.solenoid.systems
curl -v --connect-timeout 5 https://api.solenoid.systems/health
Resolution:
- Configure reliable DNS (1.1.1.1 or 8.8.8.8)
- Allow outbound HTTPS to api.solenoid.systems in firewall rules
- Configure HTTP_PROXY/HTTPS_PROXY if behind a proxy
- Increase client timeout for longer operations
SSL/TLS errors
Common causes:
- System clock is wrong (certificates validate against current time)
- Outdated root certificates (old OS or runtime)
- Corporate proxy with untrusted certificate
- Antivirus intercepting HTTPS
Resolution:
- Sync system clock
- Update OS or runtime for latest root certs
- Add corporate CA to trust store if behind a proxy
Product-Specific Troubleshooting
For issues specific to individual products, see their dedicated error pages:
Still Stuck?
- Check status page — verify there’s no ongoing incident
- Search docs — product-specific references may have your answer
- Review API reference — ensure your request matches the spec
- Contact support — include the request ID from response headers