What do common API error responses from Zuvo mean?
| Situation | What's Happening |
|---|---|
| "Invalid IP" / "IP not authorized" | Your request's originating IP isn't on the approved list for the API key being used. |
| Rate limit exceeded | Requests are being sent faster than your account can currently process. Submit as a batch file rather than many rapid individual requests. |
| A 500 error | Usually an issue on our end, or occasionally a malformed request. Contact Zuvo Support with your sanitized request details if it persists. |
Fixing an invalid IP error
- Confirm your server's current outbound IP address.
- Log in to the portal and go to Integrations → API Keys.
- Locate the key your integration uses and open its IP Range Restriction settings.
- Add your IP address or range, then try your request again.
Good to Know If you change hosting providers or servers, add the new IP before switching your traffic over — approval for a previous IP doesn't automatically transfer to a new one. |
When integrating with APIs, monitoring the HTTP status code from responses is essential. Below are the most frequent codes and how to address them.
400 – Bad Request
Meaning: The request could not be processed due to malformed syntax or invalid data.
Troubleshooting:
- Check that your request payload matches the API’s expected format.
- Inspect query parameters or JSON body for typos or missing fields.
401 – Unauthorized
Meaning: The server requires valid authentication credentials.
Troubleshooting:
- Confirm that your API key or authentication token is correct and included in the headers.
- Ensure tokens have not expired.
403 – Forbidden
Meaning: The server understood the request but refuses to authorize it.
Troubleshooting:
- Verify the account has sufficient permissions for the endpoint.
- Double-check IP or domain restrictions that might block your request.
- Look for usage limits that, when exceeded, can lead to 403 responses.
404 – Not Found
Meaning: The requested endpoint or resource does not exist.
Troubleshooting:
- Ensure the URL path and query parameters are correct.
- Check for typos in the route or endpoint name.
- If referencing an ID, verify the resource actually exists on the server.
500 – Internal Server Error
Meaning: A problem occurred on the server side while processing the request.
Troubleshooting:
- Examine server logs if you control the API.
- For third-party APIs, retry later or contact support with details.
- When developing with Flask, running the app with debug=True will show stack traces for easier debugging.
General Workflow Tips
- Log the Status Code – Always check response.status_code when making API calls. This helps narrow down the issue quickly.
- Validate Request Data – Use tools or code validation to ensure your outgoing data matches the API’s requirements.
- Use Environment Variables for Credentials – Store keys like WEBBULA_API_KEY in environment variables to keep them out of your codebase and avoid accidental exposure.
- Retry Logic – Implement retries for temporary failures (such as some 500 errors) but avoid hammering the server.
- Check API Documentation – Each API may return additional custom error codes. Refer to official documentation for specifics.
By systematically checking the status code and examining the request/response details, you can quickly diagnose most API issues.