Basis-URL
app.famulor.io ist die gehostete Plattform. Meldest du dich über eine White-Label-Mandantendomain an, nutze stattdessen diese Domain – die API läuft dort mit dem Branding des Mandanten, es gelten dieselben Pfade.
Authentifizierung
Alle Anfragen erfordern ein Bearer-Token imAuthorization-Header. Zwei Token-Typen werden akzeptiert:
- API-Schlüssel (
fam_...) – erstelle sie unter Einstellungen → API-Schlüssel. Der vollständige Schlüssel wird bei der Erstellung nur einmal angezeigt, gespeichert wird ausschließlich ein Hash. Schlüssel lassen sich optional auf Scopes beschränken (z. B.assistants:read,calls:write,campaigns:write,dashboards:read,dashboards:write,leads:write,phone_numbers:write,sip_trunks:write,knowledge:write,voices:read,billing:read) und mit einem Ablaufdatum versehen. Ohne Scope-Einschränkung hat ein Schlüssel vollen Zugriff; ein*:write-Scope schließt das passende*:readautomatisch mit ein. Ideal für Server-zu-Server-Integrationen. Dashboard-Endpunkte akzeptieren zusätzlichcalls:read/write, sodass OAuth-Clients mit den vier Standard-Scopes kompatibel bleiben. - OAuth-2.0-Access-Tokens (
fam_at_...) – ausgestellt über den OAuth-Flow der Plattform (Authorization Code + PKCE, dynamische Client-Registrierung). Scoped und kurzlebig (1 Stunde, mit Refresh-Tokens). Ideal für Drittanbieter-Apps, die im Auftrag eines Nutzers handeln.
Response-Envelope
Jeder Endpunkt antwortet mit einer einheitlichen JSON-Struktur. Bei Erfolg steckt die Payload indata (plus optionalem meta):
Was die API zurückgibt – und was nicht
REST-API und MCP-Endpoint liefern denselben, bewusst kuratierten Blick auf deine Workspace-Daten: alles, was du zum Bauen brauchst – nichts darüber, wie die Plattform intern arbeitet. In keiner Antwort enthalten:- Infrastruktur-IDs – Medien-Session-, Room-, Trunk-, Dispatch- und Carrier-IDs des darunterliegenden Telefonie-Stacks.
- Interne Storage-Pfade – Aufnahmen kommen als zeitlich begrenzte signierte URL (
GET /calls/{id}/recording), nie als Bucket-Pfad. - Plattform-Kosten und Abrechnungs-Interna – Provider-Kosten, Token-/Zeichen-/Sekunden-Zähler und Buchungs-Status. Dein eigener Verbrauch wird in den Einheiten ausgewiesen, in denen abgerechnet wird: Minuten und Credits (
GET /balance,GET /transactions). - Modell-Interna – welches Modell einen Anruf bewertet oder die Zusammenfassung geschrieben hat. Ergebnis, Score und Zusammenfassung kommen zurück, die Engine dahinter nicht.
- Secrets – Passwörter, Tokens und Carrier-Zugangsdaten sind nach dem Speichern nie wieder lesbar; höchstens ein maskierter Hinweis.
- Betriebsdiagnostik – interne Call-Events (Komponenten-Fallbacks, Session-Fehler, Verbrauchsbuchungen) werden in den Events von
GET /calls/{id}herausgefiltert.
Pagination
Listen-Endpunkte werden über die Query-Parameterlimit und offset paginiert:
Das
meta.pagination.total der Antwort enthält die Gesamtzahl der Treffer (unabhängig von limit/offset), sodass du blättern kannst, bis offset + limit >= total:
Fehler
Bei einem Fehler bekommst du eine Fehlerstruktur mit einem stabilen, maschinenlesbarencode und einer für Menschen lesbaren message:
Rate Limits
Pro Account gelten Fair-Use-Rate-Limits. Überschreitest du sie, antwortet die API mit429 Too Many Requests – warte dann und versuche es mit exponentiellem Backoff erneut. Die veröffentlichten Limits pro Plan werden hier dokumentiert.
White Label: Verwalte die Kunden deiner Plattform
Wenn dein Workspace das White-Label-Feature hat, steuerst du deine eigene Plattform über eine eigene Endpoint-Gruppe komplett programmatisch: Endkunden auflisten und registrieren, API-Tokens für sie ausstellen (mit oder ohne deren Passwort), abmelden, Credits zwischen deinem Wallet und ihren Workspaces bewegen und die Custom Domain deiner Plattform verwalten. Plattform-Admins der Haupt-Plattform nutzen dieselben Endpunkte für ihre direkten Kunden. Alle Endpunkte erfordern einen API-Schlüssel deines White-Label-Workspace mit den Scopesplatform:read / platform:write (Custom Domain: settings:*):
Schritt-für-Schritt-Rezepte (eigene Auth-Flows, Dashboards, Guthaben-Verwaltung): White-Label-API-Guide. Dieselben Funktionen gibt es als MCP-Tools über das
platform-Toolset (https://<deine-domain>/mcp?toolsets=platform).