Documentation
How to use your service: store your data, manage your users, and switch on what you need.
Start
- Overview
A backend for web, mobile and AI apps: sign-up and login, permissions, payments, live data and an MCP server for agents, on a managed MongoDB.
- Agent-native apps
An app with two interfaces: screens for people and MCP for AI agents, on one backend with one set of permissions. How Ulabase makes it, and how an assistant helps you build it.
- Getting started
Create a free service, get its credentials, make the first request and connect your web or mobile app with the Kit. About five minutes, no card.
- Root user
Every service has a root user that can do everything: where to set its password, when to use the Admin JWT instead, and why your app never signs in as root.
- The console
A tour of the console: organizations, services, and the sections of a service from data to users, integrations and AI. What each one does and where to find it.
- Plans
What changes between the four plans: capacity, backups, support, Enterprise on your MongoDB or ours, and the paths of system collections that scripts must know about.
- Full-stack example
The backend of a product catalog on Ulabase, request by request: collections, sample data, a public read permission and queries. Then a starter for the frontend.
Your data
- Collections and documents
Browse, create, edit and delete your app's data from the console, and the same operations over the API: filter, sort, page, and partial updates.
- Indexes
Keep filters and sorts fast as a collection grows: create, inspect and delete MongoDB indexes from the console, with the unique, TTL and full-text patterns.
- Aggregations
Reports, counts and grouped data computed by MongoDB: define a pipeline once in the console, test it, and call it from your app by name.
- Constraints
Rules on the whole collection no write can break: no negative balance, no double booking. Written as a pipeline, checked in a transaction on every write.
- Schemas
Refuse a document that does not match: write a JSON Schema once, bind it to a collection, and every write from every client is validated on the server.
- Change streams
Your UI updates when the data does: publish the changes of a collection and your app subscribes over WebSocket with the user's credentials. No polling.
AI New
- Overview
Semantic search over your collections and AI agents on your data: your own provider keys, vectors computed as you write, search with or without an index, and MCP.
- AI Keys
Add the AI providers your service may call, each with your key and its default models, verified before they are saved. The rest of the AI group runs on these keys.
- Auto Embeddings
Give every document written to a collection a vector for one of its fields, computed by your provider. Under each rule, the steps to a semantic search, and a guided demo on the starter's catalog.
- Auto Chunking
Split the files uploaded to a bucket into text chunks, in a collection you choose. That collection embeds them, and you search it like any other.
- MCP
Let AI agents such as Claude use your data over MCP: publish collections, aggregations, streams and GraphQL apps, and the agent works within your permissions.
Your users
- Users
The people and apps that sign in to your service: create them, give them roles, reset passwords, and choose what a login token says about them.
- Permissions
Who may do what in your service, by role: rules with a path, a method and a priority, plus filters that limit a user to their own documents.
- Tokens
Your two credentials as a service owner: a personal access token for ulabase and CI, and a fifteen-minute admin token for a test by hand. Which job wants which.
- API Keys
Let your users issue long-lived, revocable keys for an AI agent, a script or an app, with roles you allow. Turn it on and decide who may issue what.
- Sign-up and login
Registration, email verification, password reset, login with Google and team invitations, done by the service. You set the app name, the URLs and the emails.
Build
- GraphQL
Give your app a GraphQL endpoint over your collections without writing resolvers: a schema, a mapping from types to collections, and the endpoint is live.
- Webhooks
Call an HTTP endpoint or send an email when a request to your service matches a condition, with the payload shaped by a template: Slack, Mailjet, your backend.
- Guards
Block or redirect a request that fails a rule of yours, such as terms not accepted or a lapsed subscription, before it reaches the data. Evaluated in order.
- Origin allowlist
Only the websites you list may call your service from a browser. A request from any other Origin is refused, so other sites cannot use your users' sessions.
- Email
Verification, reset, invitation and order emails sent for you. How many you can send on each plan, and how to send them from your own address.
- Stripe
Take payments from your app without a payment backend: subscriptions or a product catalog with checkout, billed through your own Stripe account, in four steps.
Tools
- ulabase CLI
Configure a service from a file in git: collections, indexes, permissions, features and settings, applied the same way from a terminal or a CI pipeline.
- Ulabase Kit
The client side of your backend: sign-up, sign-in, sessions, teams, invitations and payments for React, Angular, Vue, Next.js and Nuxt. One package.
Reference
- Users and permissions API
The requests behind the Users and Permissions pages: create a user, grant a role a permission, limit a user to their own documents, hide a field.
- Your own MongoDB
Run an Enterprise service on your own MongoDB, on Atlas or self-hosted: the connection string, the network settings to open, and where the service keeps its data.