Nothing Drifts
The same definitions that validate requests in production generate your OpenAPI, TypeScript, and Zod. One source of truth for the entire boundary.
Define your API once — and generate everything from it
The same definitions that validate requests in production generate your OpenAPI, TypeScript, and Zod. One source of truth for the entire boundary.
ActiveRecord, migrations, associations, validations, gems — none of it changes. Apiwork adds the typed boundary.
Enums become typed enums. STI and polymorphic associations become discriminated unions. Apiwork maps what Rails knows to the typed world.
Filtering, sorting, and pagination with typed operators, validated parameters, and generated client types. Declare filterable and the rest is built for you.
Create, update, and delete nested records in one request. Fully typed payloads with structured error paths at every level.
Sorbus is the typed TypeScript client, purpose-built for Apiwork. It turns your API into a Prisma-like experience — end-to-end types derived from your database, backed by the full power of Rails.