// the find
graphiti-api/graphiti
Stylish Graph APIs
Graphiti is a JSON:API framework for Rails that sits on top of ActiveRecord and handles serialization, filtering, sorting, pagination, and relationship sideloading through a Resource abstraction. It replaces the controller-plus-serializer pattern with a single resource class that declares attributes and relationships declaratively. The target audience is Rails API shops that want JSON:API compliance without writing the plumbing themselves.
The resource DSL is genuinely well-designed — custom filters and sorts that join across associations are a few lines instead of scattered controller logic. Sideloading relationships with automatic link generation means you get HATEOAS-style responses for free without thinking about it. The test matrix covers Rails 5.2 through 8.1 with a real Appraisals setup, so you can trust it won't silently break on upgrade. The schema diffing tool (`schema_diff.rb`) is a nice addition — it lets you catch breaking API changes before they hit consumers.
The name 'Graphiti' and GitHub description 'Stylish Graph APIs' imply GraphQL but this is JSON:API only — that will confuse people coming in cold. The generators are in a `deprecated_generators/` folder with no obvious replacement, which means bootstrapping a new resource is more manual than it should be. Remote resource support (federating across multiple Graphiti services) is present but poorly documented at the code level — `resource/remote.rb` exists but the guides site is the only real explanation. At 1,053 stars with last push in March 2026, the community is small; if you hit an edge case, you're likely reading source code rather than finding a StackOverflow answer.