X-Error-Reason и дублируется в теле ответа. Тело — стандартный
google.rpc.Status, поэтому поле code в нём числовое (код gRPC), а не строка.
X-Error-Reason. Если заголовки
недоступны, тот же код лежит в details[].metadata.code, а details[].reason — это
он же с точками, заменёнными на подчёркивания. Текст message предназначен человеку
и может меняться — не сопоставляйте с ним.
Для ошибок «ресурс не найден» в details добавляется второй элемент
google.rpc.ResourceInfo с полями resourceType и resourceName.
Коды состояния
Коды ошибок
Ключ и доступ
Списки и параметры
Сотрудники
Документы
Файлы
Вебхуки
Ingest
Почему 404, а не 403
Чтобы API нельзя было использовать как оракул, «не существует», «нет доступа» и «черновик/удалён» для одиночных ресурсов возвращают одинаковый404 — например
EMPLOYEE_NOT_FOUND для сотрудника и DOCUMENT_NOT_FOUND для документа. По коду
ответа нельзя выяснить, существует ли скрытый от вас ресурс.
Ограничения preview
- Ошибка ограничителя частоты (
429) приходит безX-Error-Reasonи с пустымdetails. Опознавайте её по статусу, а паузу берите из заголовкаRetry-After. - Опечатка в имени query-параметра обрабатывается транскодером до попадания в API и
возвращает
500с текстомunknown field in field path. Неизвестное значение параметра при этом даёт корректный400.