Espobase-Dokumentation
Espobase ist im Early Access. Diese Seiten beschreiben, wie die Plattform funktioniert; ausführliche Anleitungen und API-Referenzen entstehen mit jeder neuen Funktion.
Erste Schritte
- Erstelle ein Konto und eine Organisation.
- Leg ein Projekt an. Es bekommt eine eigene Datenbank.
- Leg Tabellen im Tabelleneditor an oder beschreib deine App dem KI-Builder.
- Ruf deine REST API mit dem öffentlichen Schlüssel des Projekts auf.
curl "<project URL>/rest/v1/todos?select=*" \ -H "apikey: <publishable key>"
Projekte
Ein Projekt ist das Backend einer App: eine eigene PostgreSQL-Datenbank, REST API, API-Schlüssel und App-Nutzer (App Authentication). Projekte gehören zu einer Organisation.
Datenbank
Jedes Projekt bekommt eine eigene PostgreSQL-18-Datenbank. Tabellen im Schema public werden über die REST API bereitgestellt; Richtlinien der Row Level Security legen fest, wer welche Zeile lesen oder ändern darf.
REST API
Jede Tabelle bekommt Endpunkte unter der REST-URL deines Projekts (…/project/<project-ref>/rest/v1, angezeigt auf der API-Seite des Projekts). Sende aus Browsern und Apps einen öffentlichen Schlüssel (eb_pk_…); seine Anfragen sind anonym, und die Row Level Security entscheidet, was sie sehen dürfen. Füge das Zugriffstoken eines angemeldeten Nutzers als Authorization: Bearer hinzu, um Anfragen als dieser Nutzer auszuführen. Geheime Schlüssel (eb_sk_…) umgehen die Zugriffskontrollen auf Nutzerebene und dürfen nur auf vertrauenswürdigen Servern verwendet werden.
Authentifizierung
Mit Espobase App Authentication können sich die Nutzer deiner App mit E-Mail und Passwort registrieren und anmelden, getrennt von deinem Espobase-Konto. Die Nutzer liegen in der Datenbank deines Projekts. Bei der Anmeldung gibt es ein kurzlebiges Zugriffstoken (signiert mit dem eigenen Schlüssel deines Projekts) und ein rotierendes Refresh-Token; das SDK @espobase/client hält beide aktuell und sendet das Token mit jeder Anfrage, sodass die Row Level Security den Nutzer als authentifiziert erkennt. Ohne Nutzer-Token sind Anfragen mit dem öffentlichen Schlüssel anonym. Geheime Schlüssel wirken als serverseitige Service-Rolle und dürfen nur auf vertrauenswürdigen Servern verwendet werden.
Row Level Security
Row Level Security ist für jede neue Tabelle aktiviert, egal ob du sie im Tabelleneditor, im SQL-Editor, mit einer Migration oder mit dem KI-Builder anlegst. Solange du unter Datenbank → Richtlinien keine Richtlinien hinzufügst, sehen öffentliche Schlüssel keine Zeilen; geheime Schlüssel (nur serverseitig) sehen alles. Du prüfst das generierte SQL immer, bevor es ausgeführt wird. Öffentlich lesbar gilt für alle. Nur angemeldete Nutzer, Nutzer besitzt Zeile, Organisationsmitgliedschaft und Nur Administratoren gelten für Nutzer, die mit App Authentication angemeldet sind: espobase.user_id() ist die ID des angemeldeten Nutzers und espobase.app_role() seine App-Rolle, beide aus dem verifizierten Token. Organisationsmitgliedschaft braucht außerdem deine eigene Mitgliedschaftstabelle (mit einer Richtlinie, die Nutzern das Lesen ihrer eigenen Mitgliedschaften erlaubt), und Nur Administratoren braucht App-Rollen, die du auf dem Server vergibst.
Speicher
Buckets enthalten Dateien. Der Zugriff folgt demselben Row-Level-Security-Modell wie deine Tabellen.
Realtime
Live-Updates für deine App mit espobase.realtime: Sende Nachrichten an alle in einem Kanal, sieh mit Presence, wer online ist, und empfange Zeilenänderungen der Tabellen, die du unter Realtime im Dashboard einschaltest. Jeder Abonnent erhält nur die Zeilen, die sein Nutzer laut den Sicherheitsregeln der Tabelle lesen darf; bei Löschungen wird nur der Primärschlüssel gesendet. Die vollständige Anleitung findest du unter espobase.com/docs/realtime.
Edge Functions
Dein eigener Servercode mit espobase.functions: TypeScript-Funktionen, die du im Dashboard oder über die CLI bereitstellst, für Webhooks, Zahlungen, E-Mails und andere Serveraufgaben. Die Funktionen jedes Projekts laufen in ihrer eigenen Sandbox; Secrets werden verschlüsselt gespeichert, angemeldete Nutzer werden für dich geprüft, und die Ausgabe jedes Aufrufs erscheint unter Logs. Die vollständige Anleitung findest du unter espobase.com/docs/functions.
Hosting
Veröffentliche das Frontend deiner App neben ihrem Backend: Baue deine Website, veröffentliche den Ordner im Dashboard oder mit `espobase deploy`, und sie ist unter `https://<name>.espohost.com` mit HTTPS erreichbar. Jedes Deployment bleibt erhalten, sodass du mit einem Klick zurückgehen kannst. Verfügbar in Pro und Group. Die vollständige Anleitung findest du unter espobase.com/docs/hosting.
KI-Backend-Builder
Beschreib deine App, und Espobase schlägt Tabellen, Beziehungen und Richtlinien vor. Du prüfst jede Anweisung; nichts läuft ohne deine Zustimmung.
Vektorsuche
Jedes Projekt enthält pgvector: Speichere Embeddings in Vektorspalten, indexiere sie mit HNSW und suche nach Ähnlichkeit mit einer Datenbankfunktion, die du über die REST API oder espobase.rpc() aufrufst. Die Row Level Security gilt. Die vollständige Anleitung findest du unter espobase.com/docs/vector.
CLI
npx espobase login, dann npx espobase init: Verknüpfe einen Ordner mit einem Projekt, generiere TypeScript-Typen, führe Lesezugriffe aus und prüfe Logs und Nutzung im Terminal. Die vollständige Anleitung findest du unter espobase.com/docs/cli.
KI-Tools verbinden (MCP)
Nutze Espobase aus Claude, ChatGPT, Cursor oder VS Code: Sie lesen dein Schema, die API-Referenz, Logs und Nutzung, führen Lesezugriffe aus und schlagen Änderungen vor, die du freigibst. Die vollständige Anleitung findest du unter espobase.com/docs/ai-tools.