Уж не знаю, насколько GraphQL считается RPC, но он "вложен" в HTTP как в транспорт и использует от него, емнип, только код 200. Всё, что не 200, указывает на проблемы в транспорте. А ответы со штатными ошибками уже не на уровне HTTP, а глубже, в самом GraphQL.