The biggest challenge I faced during the GraphQLAPIs was auth and implemented REST endpoints for that.
And later on, considering the users of GraphQL API, there is too many complexities in keeping the gql query sane, it's too large.
To optimize the size of query, I started using the Fragments but there is no consolidated way to share Fragments in whole codebase.