Google Classroom add-ons are now generally available to developers! Please see the
add-ons documentation for more information.
Google Classroom API error structure
Stay organized with collections
Save and categorize content based on your preferences.
The Classroom API returns error information that can help developers
debug issues and provide helpful, actionable information to end users. This
guide explains how to parse error information returned from the API.
The Classroom API returns two levels of error information:
- HTTP error code in the header.
- An object in the response body with additional details.
Error message structure
Errors returned in the response body include the following fields:
code
: The numerical HTTP error code. For example, 403
.
message
: Additional details about the error. When available, the error
message is prepended with @
and a specific error type. For example,
@ClassroomApiDisabled
.
status
: The HTTP request status. For example, PERMISSION_DENIED
or
NOT_FOUND
.
If a request failed with a ClassroomApiDisabled
error, the response would
be:
{
"error": {
"code": 403,
"message": "@ClassroomApiDisabled The user is not permitted to access the Classroom API.",
"status": "PERMISSION_DENIED"
}
}
You can use the response body to help you debug the cause of the error and
provide helpful information to users. Include a trailing space when checking
for a specific error message to avoid matching other values that start with
the same string. In the provided error example, you can check if the message
field begins with "@ClassroomApiDisabled "
to present appropriate information
to users.
Reference the Common errors page for information on some errors that
can be returned by the Classroom API.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-28 UTC.
[null,null,["Last updated 2025-08-28 UTC."],[],[],null,["# Google Classroom API error structure\n\nThe Classroom API returns error information that can help developers\ndebug issues and provide helpful, actionable information to end users. This\nguide explains how to parse error information returned from the API.\n\nThe Classroom API returns two levels of error information:\n\n- HTTP error code in the header.\n- An object in the response body with additional details.\n\nError message structure\n-----------------------\n\nErrors returned in the response body include the following fields:\n\n- `code`: The numerical HTTP error code. For example, `403`.\n- `message`: Additional details about the error. When available, the error message is prepended with `@` and a specific error type. For example, `@ClassroomApiDisabled`.\n- `status`: The HTTP request status. For example, `PERMISSION_DENIED` or `NOT_FOUND`.\n\nIf a request failed with a [`ClassroomApiDisabled`](/workspace/classroom/troubleshooting/common-errors#classroom-api-disabled) error, the response would\nbe: \n\n {\n \"error\": {\n \"code\": 403,\n \"message\": \"@ClassroomApiDisabled The user is not permitted to access the Classroom API.\",\n \"status\": \"PERMISSION_DENIED\"\n }\n }\n\nYou can use the response body to help you debug the cause of the error and\nprovide helpful information to users. Include a trailing space when checking\nfor a specific error message to avoid matching other values that start with\nthe same string. In the provided error example, you can check if the message\nfield begins with `\"@ClassroomApiDisabled \"` to present appropriate information\nto users.\n\nReference the [Common errors](/workspace/classroom/troubleshooting/common-errors) page for information on some errors that\ncan be returned by the Classroom API."]]