Error Codes & Status Reference
Comprehensive guide to Smart Money API error codes, HTTP status codes, and troubleshooting steps. Understand error responses and resolve integration issues quickly.
2xx Success Codes
Success responses indicate the request was processed successfully.
| Code | Status | Meaning |
|---|---|---|
| 200 | OK | Request succeeded. Response body contains the requested data. |
| 201 | Created | Resource was created successfully. Response includes the new resource. |
| 204 | No Content | Request succeeded but there's no content to return (e.g., DELETE). |
Example 200 Response
4xx Client Error Codes
Client errors indicate the request was malformed or invalid. Fix your request and retry.
| Code | Status | Cause |
|---|---|---|
| 400 | Bad Request | Malformed request syntax. Check query parameters, headers, and request body. |
| 401 | Unauthorized | Missing or invalid authentication credentials. Check your API key or JWT token. |
| 402 | Payment Required | Your subscription payment failed. Update billing information in your account. |
| 403 | Forbidden | Authenticated but not authorized for this resource. Your plan doesn't include this feature. |
| 404 | Not Found | Resource doesn't exist. Check the endpoint URL and parameters. |
| 429 | Too Many Requests | Rate limit exceeded. Wait before retrying. Check Retry-After header. |
| 422 | Unprocessable Entity | Validation failed. Request parameters are invalid or missing required fields. |
Authentication Error Examples
Missing API Key (401)
Invalid API Key (401)
Rate Limiting (429)
When you exceed your API quota, the server returns 429 Too Many Requests. Check the response headers for rate limit information:
Rate Limit Error Response
Validation Errors (422)
Validation errors occur when your request parameters are invalid or missing required fields.
5xx Server Error Codes
Server errors indicate a problem on our side. These are temporary and typically resolve quickly. Implement exponential backoff retry logic.
| Code | Status | Action |
|---|---|---|
| 500 | Internal Error | Unexpected server error. Retry with exponential backoff. |
| 502 | Bad Gateway | Temporary service interruption. Retry after a few seconds. |
| 503 | Service Unavailable | Maintenance or temporary outage. Check status page. Retry after Retry-After interval. |
| 504 | Gateway Timeout | Request took too long. The server may have processed it anyway. Check idempotency. |
Server Error Example (503)
Troubleshooting Guide
401 Unauthorized - Invalid API Key
Problem: Receiving 401 errors even with an API key.
Solutions:
- Verify API key is included in the Authorization header with "Bearer" prefix
- Check that your API key hasn't expired or been revoked
- Ensure you're using the correct key (production, staging, or development)
- Generate a new API key from your console if the current one is lost
403 Forbidden - Feature Not Available
Problem: Getting 403 errors on certain endpoints.
Solutions:
- Check your API tier. Some endpoints require Trader or Pro plans
- Upgrade your plan at /pricing.html to access premium features
- Verify the API key has the required scopes enabled
- Contact support if you believe you should have access
429 Too Many Requests - Rate Limited
Problem: Getting 429 errors and rate limited.
Solutions:
- Implement exponential backoff retry logic (wait 1s, 2s, 4s, etc.)
- Cache responses to avoid redundant API calls
- Use WebSocket for real-time data instead of polling REST endpoints
- Upgrade your plan for higher quotas (Trader 3,000/day, Pro 15,000/day)
- Batch multiple queries into single requests where possible
400 Bad Request - Invalid Parameters
Problem: Receiving 400 errors with malformed requests.
Solutions:
- Check API documentation for required and optional parameters
- Verify parameter types (strings vs numbers, arrays vs objects)
- Ensure JSON is valid and properly formatted
- Use correct endpoint URLs with proper path parameters
- Check for typos in query parameter names
5xx Server Errors - Temporary Outages
Problem: Getting 500, 502, 503, or 504 errors.
Solutions:
- Check service status at https://status.smartmoneyapi.com
- Implement automatic retry with exponential backoff (max 5-10 attempts)
- Wait 30-60 seconds before retrying 503 errors
- Use the Retry-After header to determine retry timing
- Subscribe to status page for incident notifications
Error Response Format
All error responses follow a consistent format:
Need More Help?
Check our API documentation or contact support with your error code and request details.
API Reference