Query language describing data using a type system, with bindings for many languages. Released by Facebook in 2015 as a declarative data-fetching and modification layer, later adopted by large systems in the Rails ecosystem (GitLab, GitHub, Facebook). Exposes a single HTTP POST endpoint to which clients send queries and mutations asking for exactly the fields they need, addressing REST's over-fetching (too many attributes returned) and under-fetching (multiple endpoint round-trips) problems. In Emiliano's wroclove.rb 2026 talk, GraphQL is demoed via graphql-ruby with a createOrder mutation called through curl.