Hasura connects to your existing databases and instantly generates a complete GraphQL API with queries, mutations, subscriptions, and REST endpoints—no code generation step required. Point it at a PostgreSQL, MySQL, SQL Server, or MongoDB instance, and within minutes you have a production-ready API with filtering, sorting, pagination, aggregations, and relationship traversal across tables. The engine handles query optimization and batching automatically, translating GraphQL operations into efficient SQL.
Authorization in Hasura goes well beyond simple API key checks. The permission system operates at the row and column level, using session variables from your authentication provider (Auth0, Firebase, Clerk, or any JWT/webhook system) to dynamically filter which data each user can access. You define rules declaratively—no middleware code needed. Event triggers fire webhooks on insert, update, or delete operations, enabling serverless workflows, audit logging, and data synchronization without polling.
The platform supports schema stitching to combine multiple GraphQL schemas and REST endpoints into a unified API gateway, making it practical to build a single data access layer across microservices. Real-time subscriptions push live data changes to connected clients over WebSocket. With the Hasura Cloud offering, you get automatic scaling, caching, monitoring, and a generous free tier. Self-hosted deployments run as a single Docker container alongside your database.