I’ve really come to like using GitHub’s GraphQL API, but I have come across some aggravating things relating to their documentation.

The documentation for rate limits talks about the node limit and their system of a “rate limit score”, but that isn’t all there is. In one of the applications I have been working on we are getting messages about their abuse rate limits. That wasn’t something we expected because it was never referenced in the GraphQL documentation, it is part of the v3 REST API documentation. So we’ve had to puzzle out exactly what applies from their dealing with abuse rate limits documentation. We are pretty sure the one second rule between requests is necessary for us and we have implemented the Retry-After headers but don’t know for sure if that is necessary.

Hopefully as the GraphQL API matures these issues will get resolved, but in the mean time keep an eye out for other oddities.