Start
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.
You set up everything about your backend in the console at https://ulabase.com. It needs no code, and what you save is live at once.
Organizations and services
An organization groups services, people and billing. You get one when you sign up, and you can share it with a team.
-
Overview: your role, the team, the services, and a link to each of them.
-
Services: the list, and New service.
-
Team: invite people and give each a role.
-
Billing: subscriptions, invoices and payment methods, for the whole organization.
-
Settings: the organization’s name and options.
A service is one backend: one address, with its own users, data and settings. When you open one, the sidebar shows its sections.
The sections of a service
Home, Support and Settings are always in the sidebar. You choose the rest: the sidebar shows the features you keep there, and the Features page lists them all, so you can add or remove any.
| Section | What it is for |
|---|---|
Home |
Where you land: the address, the plan, the credentials (the root password and the Admin JWT), the Kit snippet for your framework, requests to run, and the first steps. See The root user. |
Monitor |
Requests, errors and response times over time. |
API Tutorial |
Six requests that run against your own service, one click each: from the first |
Support |
The support level of the service, your tickets with our answers, and a new ticket when you need one. |
Settings |
The name and tags of the service, bringing data into it, and the request to delete it. |
Data |
|
Collections |
Browse, create, edit and delete collections and documents. Collections and documents |
Aggregations |
Pipelines defined once on the server and called by name. Aggregations |
Constraints |
Rules across the collection that every write must meet. Constraints |
Indexes |
Fast queries as the collection grows, and unique fields. Indexes |
GraphQL |
A schema and a mapping, and your collections answer GraphQL. GraphQL applications |
Schemas |
JSON Schema validation on every write. Schemas |
Change streams |
Live updates to your UI over WebSocket or Server-Sent Events. Change streams |
Users and access |
|
Users |
The people and apps that sign in to your service. Users |
Permissions |
Who may do what, by role. Permissions |
API Keys |
Long-lived credentials a user issues for an agent or a script. API keys |
Sign-up and login |
Registration, verification, password reset, login with Google, invitations. Sign-up and login |
Guards |
Your own rules, such as terms the user must accept or a plan that has lapsed, checked before a request reaches the data. Guards |
Origin allowlist |
The websites allowed to call the API from a browser. Origin allowlist |
Integrations |
|
Quotas, and sending from your own address. Email |
|
Webhooks |
Call an endpoint or send an email when something happens. Webhooks |
Stripe |
Subscriptions and purchases from your app. Stripe billing |
AI |
|
AI Keys |
Your keys for the providers the service uses to embed and rerank. The other AI features run on them. AI Keys |
Auto Embeddings |
A rule per collection: every document written gets a vector for a field, ready for semantic search. The rule also shows what is still missing. Auto Embeddings |
Auto Chunking |
Rules on a file bucket: every uploaded file that matches one is split into text chunks, in a collection you can search. Auto Chunking |
MCP |
Let an agent use your data, under your permissions. MCP |
What changes with the plan
On Free, Starter and Pro a service has one database, and the console works in it directly. On Enterprise a service can have several, and every page that works on collections shows a database selector. System collections also move: /users becomes /restheart/users, /acl becomes /restheart/acl. The console uses the right path for you; your own scripts must use it too. See what differs between plans.
How the console talks to your service
Every call the console makes to your service carries a short-lived Admin JWT, issued by Ulabase and renewed for you. It is separate from your users' credentials. You can take one yourself from the service’s Home for a test from a terminal. For automation, use a personal access token and ulabase. A WebSocket change stream cannot be opened with an Admin JWT: it needs one of the service’s users.
Conventions
-
Every delete asks for confirmation first.
-
Every list has a search box and pages.
-
Every JSON field has a Format button that pretty-prints it and points at a mistake before you save.
-
An error from your service shows as a notification with the most specific message the service gave.