GraphQL всегда возвращает HTTP 200 при успешном транспорте; проблемы сообщаются в теле ответа, а не в коде статуса. У ответа есть два ключа верхнего уровня: data и errors, и оба могут присутствовать одновременно — это частичные данные (partial data).
Частичные данные + массив errors
Если resolver одного поля бросает исключение, это поле становится , в добавляется запись, но все остальные поля всё равно разрешаются. Клиент получает то, что удалось, плюс описание того, что не удалось.
