Your backend is already written
Sign-up and login, permissions, payments, real-time data — called from React, Angular or Vue, or straight from your iOS and Android app. There is no server of yours to write, deploy or pay for.
$ npm install @restheart-cloud/kit-react Included In Your Plan
Everything here comes with your service, on the Free tier too. Sophia AI is the one exception.
Switch On Yourself
Enable a feature from your service and it is running. No sales call, no waiting.
Fully Managed
We handle updates, scaling, and maintenance. You focus on building your application.
Secure & Reliable
Enterprise-grade security with the same reliability guarantees as your RESTHeart Cloud API.
What you get
9 of these are simply there, 6 you switch on when you need them. All of it is included in the price of your service — no add-on fee.
Your data
REST API
Fetch, filter, sort and page your collections over HTTP
GraphQL Apps
A GraphQL app is a schema and a mapping you configure — no resolvers to write
Change streams
Your UI updates when the data does — over WebSocket or SSE
Aggregations
Pipelines defined server-side and called by name, so the client sends no query
Indexes
Keep the queries fast as the collection grows
Schemas
Turn away a document that does not match your JSON Schema
Users and access
Authentication
useAuth(): sign in, sign out, and a reload that keeps the session
Permissions
Roles and rules on the server, which the client cannot talk its way past
Sign-up Management
The whole account story, already working. Registration with email verification, Google and GitHub sign-in, password reset, team invitations with roles, multi-tenancy. The screens are in the starter app and the state is in a hook, so what you write is your product.
What you get:
- useAuth() for sign-in, sign-up, reset and team switching
- Google and GitHub sign-in with no OAuth code of yours
- Team invitations with role-based access, and multi-tenancy
- Email templates you can rewrite
Included in your plan, Free tier included
Guards
Rules of your own on top of permissions: a user who has not accepted the current terms, a lapsed subscription, a feature that is not in their plan. Each request is checked in order and the first rule that matches blocks it or redirects it—so the check lives in one place instead of in every screen.
What you get:
- Conditions over the signed-in user, their team and the request
- Block with a status code, or redirect to a page of yours
- Evaluated in order, first match wins
- Never applied to the service administrator, so you cannot lock yourself out
Included in your plan, Free tier included
Origin Allowlist
List the origins your app is served from and a browser request from anywhere else is turned away with a 403. It is the answer to somebody else's page calling your API with your user's session. Server-to-server calls send no Origin header and are unaffected.
What you get:
- Allow only the origins your app is served from
- Everyone else’s fetch gets a 403
- Server-to-server integrations unaffected
- Edit the list whenever, nothing to redeploy
Included in your plan, Free tier included
Integrations
Webhooks
Say what should happen when a request matches a condition: call an HTTP endpoint, or send a templated email. A welcome message on sign-up, a Slack ping on a new order, another system kept in step—none of it needs a backend of yours to run it.
What you get:
- Fires on the requests you choose, matched by predicate
- Calls an endpoint, or sends an email
- Body shaped with Mustache templates
- Retries on failure, with a log of every attempt
Included in your plan, Free tier included
Stripe
Charge the people using your app, on your own Stripe account. Subscription plans with trials, seats and per-plan limits, or a catalogue of products with orders. The checkout session, the payment events and the refunds are handled for you.
What you get:
- usePayments() for plans, checkout and order history
- Subscriptions with trials, seats and limits, or one-off products
- Payment, refund and dispute events handled for you
- Test mode and live mode, decided by the keys you set
Included in your plan. Free runs Stripe in test mode; live payments need Shared or above
AI
Sophia AI
Turn a service into a dedicated Sophia instance—the RAG platform by SoftInstigate that makes your documents and knowledge a conversational agent, reachable over REST API and MCP. Customize the prompts for your domain and let your own content answer your users.
What you get:
- Retrieval-Augmented Generation over your own documents
- Reachable from your app over REST, and from agents over MCP
- Prompts you write for your domain
- Dedicated infrastructure, managed updates, onboarding included
Needs a Dedicated service, and is billed separately from your plan
Vector Search
Coming soonThe retrieval half of a RAG application, without a separate vector database. Chunk your documents, embed them with the model you choose, and keep the vectors in MongoDB next to the data they describe—then search by meaning and rerank the results before a model ever sees them.
What it will do:
- Documents chunked and embedded with the model you choose
- Contextual embeddings: each chunk vectorized aware of its neighbours
- Vectors kept alongside the data they describe
- Reranking to order results before they reach a model
MCP Server
Coming soonPublish your service to AI agents over the Model Context Protocol. Collections, GraphQL apps and endpoints appear as MCP resources, and an agent reading them goes through exactly the permissions your own app goes through—there is no second access model to keep in step.
What it will do:
- Collections, GraphQL apps and endpoints published as MCP resources
- Agents read under the same permissions as your app
- Exposure opted into per feature, and switchable off
- Works with any MCP-compatible client
Your AI assistant already knows this
Add one MCP server and Claude Code, Cursor, VS Code or IntelliJ can read the whole RESTHeart Cloud documentation — the API shapes, the permissions, the kit, the pricing. The code it writes for you is right the first time instead of guessed.
$ claude mcp add --transport http restheart-cloud https://api.bysophia.ai/mcp/restheart-cloud/ It reads our documentation, never your data. Letting an agent reach your own collections is a separate feature, and it is coming.
Already wired up in the starters
The RESTHeart Cloud Kit is the client for everything above, and it ships for React, Angular and Vue. Clone a starter and sign-up, teams and checkout already work — what is left to write is your app. The Vue package is ready today; its starter is next.
Building for iOS or Android? Everything above is plain HTTPS with a JWT, so Swift, Kotlin, Flutter and React Native call it the same way. The Kit itself is for the web.
When not to use RESTHeart Cloud
Four cases where the honest answer is somebody else
You are not on MongoDB
RESTHeart is built for MongoDB. If your data lives in PostgreSQL or MySQL, look at Supabase or Hasura instead.
You need a protocol we do not speak
REST, GraphQL and WebSocket are what a service exposes. Anything else, and you need more control than this gives you.
You are optimising in microseconds
If the tuning you need is specific to your workload and measured in microseconds, a build of your own will beat a managed one.
You want the infrastructure itself
Kubernetes manifests, your own load balancers, the whole stack in your hands — then self-host the open-source server.
In the last two cases the server itself is open source and yours to run — restheart.org.
And the rest is a plugin
Everything on this page is built on RESTHeart's plugin framework. If your product needs something that is not here, it is built the same way and runs in your service — tell us what you are missing.
Tell us what you need