The Problems

The Problems

  • We don't know which fields each consumer needs from an endpoint
  • Developer experience is not great
    • API is not very easy to use
    • Documentation is lacking
    • No good dev playground
  • Pagination is slow for large customers
  • Difficult to deprecate fields from endpoints/entire endpoints
    • Requires updating entire API's version
    • Impossible to know which fields are actively being used

The Opportunities

The Opportunities

  • Clients can compose requests as suitable for them
  • Reduce # of API requests for fetching related data
  • Clients fetch only what they need and no more
  • GraphQL is declarative and strongly typed
  • Documentation + deprecation are first-class citizens
    • Can even auto-generate deprecation documentation
  • Design API to match behaviors/use cases, not data 
  • Public & private API can be merged into one, which makes us develop with API first mentality
    • New features would get public API for free
  • GraphQL has awesome tooling!
Made with Slides.com