Error codes
The Zoom API uses HTTP Status codes to reflect a successful or unsuccesful request. 2XX status codes represent a successful request, 4XX/5XX status codes represent an error took place. If you receive an error status code, check the body for an error code and message.
Status codes
| Status Code | Description |
|---|
2XX | Successful request. |
Client error codes (4xx)
| Status Code | Description | Most Likely Cause |
|---|
400 | Bad Request | Invalid/missing data. |
401 | Unauthorized | Invalid/missing credentials. |
403 | Forbidden | User does not have permission or has not authorized shared access permissions. |
404 | Not Found | The resource doesn't exist. For example, invalid or non-existent user ID. |
409 | Conflict | The request conflicts with the current state of the resource. For example, creating a user with an email address that already exists. |
429 | Too Many Requests | The request exceeded an API rate limit. Review your request frequency and implement retry logic with backoff. |
Zoom-specific
| Status Code | Description | Most Likely Cause |
|---|
4700 | Invalid Access Token | The access token is invalid, expired, or missing required scopes. |
Server error codes (5xx)
5xx errors indicate a server-side issue unrelated to your request. Implement retry logic with exponential backoff and jitter. If errors persist, check the Zoom Status page for ongoing incidents.
| Status Code | Description | Most Likely Cause |
|---|
500 | Internal Server Error | An unexpected error occurred on Zoom's servers. Retry with exponential backoff; if the issue persists, contact Zoom Support. |
502 | Bad Gateway | Zoom's gateway received an invalid or no response from an upstream service. Retry after a short delay. |
503 | Service Unavailable | Zoom's servers are temporarily unavailable, possibly due to scheduled maintenance or high load. Retry after a brief delay. Check the Zoom Status page for known incidents. |
504 | Gateway Timeout | Zoom's gateway timed out waiting for an upstream service to respond. Retry the request. Consider using pagination or filters if your request involves large datasets. |
Error response example
{
"code": 300,
"message": "Request Body should be a valid JSON object."
}
Error response when sending invalid fields
{
"code": 300,
"message": "Validation Failed.",
"errors": [
{
"field": "user_info.email",
"message": "Invalid field."
},
{
"field": "user_info.type",
"message": "Invalid field."
}
]
}