Question about error status code


#1

Our team created a GraphQL server by GraphQL.js and koa-graphql (a port for express-graphql).

Currently GraphQL server always return 200.

I know one of biggest advantage of GraphQL is it can return data that partially successful - both data and errors will return.
However, for some critical issue in mutation, our team plans to change status code on the server before it returns, for example, 403 Forbidden error.

My question is if our customers use Apollo as app client side in future, will a different status code rather than 200 conflict with Apollo client’s error handling?

I am also not sure changing status code is a good practice in GraphQL world, any insight will be helpful. Thanks!


#2

Found an article which has information.