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 CodeDescription
2XXSuccessful request.

Client error codes (4xx)

Status CodeDescriptionMost Likely Cause
400Bad RequestInvalid/missing data.
401UnauthorizedInvalid/missing credentials.
403ForbiddenUser does not have permission or has not authorized shared access permissions.
404Not FoundThe resource doesn't exist. For example, invalid or non-existent user ID.
409ConflictThe request conflicts with the current state of the resource. For example, creating a user with an email address that already exists.
429Too Many RequestsThe request exceeded an API rate limit. Review your request frequency and implement retry logic with backoff.

Zoom-specific

Status CodeDescriptionMost Likely Cause
4700Invalid Access TokenThe 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 CodeDescriptionMost Likely Cause
500Internal Server ErrorAn unexpected error occurred on Zoom's servers. Retry with exponential backoff; if the issue persists, contact Zoom Support.
502Bad GatewayZoom's gateway received an invalid or no response from an upstream service. Retry after a short delay.
503Service UnavailableZoom'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.
504Gateway TimeoutZoom'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."
        }
    ]
}