Famulor SDKFür TypeScript- und JavaScript-Backends

Famulor in deinem Code.
Typisiert, Feld für Feld.

Liste Assistenten, starte Anrufe und lies Ergebnisse mit wenigen Zeilen TypeScript. Jede API-Operation ist eine Methode, mit Autocomplete für jedes Feld.

npm install famulor-sdk
  • Typen aus der OpenAPI
  • ESM und CommonJS
  • Keine Abhängigkeiten
server.ts
$ npm install famulor-sdk
added 1 package in 1s

// server.ts
import { Famulor } from 'famulor-sdk'

const client = new Famulor({
  apiKey: process.env.FAMULOR_API_KEY,
})

const { data: call } = await client.calls.create({
  assistant_id: '3e8b1f6a-9c2d-4a7e-b1f5-6d7c8e9a0b55',
  to_number: '+4930123456',
})

console.log(call.id, call.status)

$ node server.ts
c7d21e4a-5b3f-4e8a-a1c9-2f6e0b7d9a13 queued
Methoden

Kurze Methoden für jeden Tag. client.api für alles andere.

Sieben Gruppen decken die häufigsten Aufgaben ab. Jede öffentliche API-Operation gibt es zusätzlich als typisierte Methode.

client.calls
Methodenlist()create()get()recording()iterate()
const { data: call } = await client.calls.create({
assistant_id: assistant.id,
to_number: '+4930123456',
})
​
const { data: result } = await client.calls.get(call.id)
console.log(result.status, result.summary)
Paginierung

Deine ganze Anrufhistorie. Eine Schleife.

Der Iterator lädt die nächste Seite erst, wenn du sie brauchst. Ein break stoppt das Laden.

sync-calls.ts
for await (const call of client.calls.iterate({
status: 'completed',
limit: 50,
})) {
await saveToCrm(call)
if (isDone(call)) break
}
Sichere Wiederholungen

Lesen wird wiederholt. Anrufe nie doppelt.

Bei 429, 502, 503 oder 504 versucht das SDK Lesezugriffe erneut. Schreibende Anfragen wie ein Anruf werden nie automatisch wiederholt.

Lesen

  1. GET /calls
  2. 503
  3. Retry-Aftererneut versucht
  4. 200 OK

Schreiben

  1. POST /calls
  2. timeout
  3. retrykein zweiter Versuch
  4. mayHaveExecutedPrüfe den Status, bevor du erneut sendest.

Fehler mit Typ

  • FamulorApiError

    Antwort der API mit status, code und requestId.

  • FamulorTimeoutError

    Frist abgelaufen. mayHaveExecuted sagt, ob es angekommen sein kann.

  • FamulorNetworkError

    Keine Antwort erhalten, ebenfalls mit mayHaveExecuted.

  • FamulorAbortError

    Dein AbortSignal hat die Anfrage abgebrochen.

Für Produktion gebaut

Vorhersehbar in jeder Umgebung.

Klare Zugangsdaten, eine feste Frist pro Anfrage und kein globaler Zustand.

Du übergibst den Key

Das SDK liest keine .env-Dateien und wählt keinen Workspace für dich. Jeder Client kennt nur seinen Key.

Ein Client pro Workspace

Ein API-Key gehört zu einem Workspace. Für mehrere Workspaces legst du mehrere Clients an.

Auch auf deiner Domain

White-Label-Partner setzen baseUrl auf ihre eigene HTTPS-Domain mit /api/v1.

OAuth für Nutzer-Apps

Statt eines Keys gibst du ein OAuth-Token oder eine Funktion, die das aktuelle Token liefert.

Eine Frist pro Anfrage

timeoutMs gilt für Token, Wiederholungen und Antwort zusammen. Mit AbortSignal brichst du jederzeit ab.

Dateien und Audio

Uploads gehen als FormData rein. Aufnahmen und Stimmproben kommen als ArrayBuffer zurück.

client.ts
const client = new Famulor({
apiKey: process.env.FAMULOR_API_KEY,
baseUrl: 'https://app.famulor.io/api/v1',
timeoutMs: 90_000,
maxRetries: 2,
})
​
const controller = new AbortController()
​
await client.calls.list(
{ status: 'completed', limit: 10 },
{ signal: controller.signal, timeoutMs: 10_000 },
)
SDK, CLI, MCP oder API

Vier Wege zu Famulor. Nimm den passenden.

Alle vier arbeiten mit demselben Workspace und denselben Daten.

Eine Operation, überall gleich

SDKclient.calls.create()
RESTPOST /api/v1/calls
CLIfamulor create-call
Diese Seite

Famulor SDK

Für TypeScript und JavaScript in deinem Backend.

  • Jede API-Operation als Methode
  • Typen aus der OpenAPI
  • ESM und CommonJS
Doku lesen

Famulor CLI

Für Terminal, Skripte, CI und Coding-Agents.

  • Ein Befehl pro API-Operation
  • JSON, Tabelle oder JSONL
  • Key im OS-Schlüsselbund
Zur Famulor CLI

MCP Connector

Für Claude, ChatGPT und andere KI-Tools im Chat.

  • Eine Server-URL, Login per OAuth
  • Famulor-Tools direkt im Chat
  • Keine lokale Installation
Zum MCP Connector

REST API

Für HTTP-Integrationen in jeder Sprache.

  • OpenAPI-Spezifikation
  • Webhooks in Echtzeit
  • Jede Sprache, jedes Framework
Zur API-Referenz
Auf einen Blick

Kleines Paket. Ganze API.

API-Abdeckung

100%

Jede öffentliche Operation über client.api.

Abhängigkeiten

0

Nutzt das fetch deiner Node.js-Runtime.

Modulformate

2

ESM und CommonJS, mit Typen für beide.

Ressourcen-Gruppen

7

Assistenten, Anrufe, Kampagnen und mehr.

Los geht’s

In drei Schritten zum ersten Anruf.

Installieren, Key anlegen, loslegen.

  1. 01

    Installieren

    npm install famulor-sdk. Läuft mit Node.js 22 oder neuer, als ESM oder CommonJS.

  2. 02

    Key anlegen

    Erstelle unter Settings → API & MCP einen Key und lege ihn in die Umgebung oder den Secret Manager deines Servers.

  3. 03

    Loslegen

    new Famulor({ apiKey }) und dann client.assistants.list(). Dein Editor zeigt jedes Feld.

FAQ

Fragen vor dem Go-live

Was ist das Famulor SDK?

Das Famulor SDK ist der offizielle TypeScript- und JavaScript-Client für die öffentliche Famulor API. Es bringt kurze Methoden für Assistenten, Anrufe, Kampagnen, Kontakte, Stimmen, Wissensbasen und dein Konto. Über client.api erreichst du jede weitere Operation, mit Typen aus der OpenAPI-Spezifikation.

Was brauche ich, um das SDK zu nutzen?

Node.js 22 oder neuer und einen Workspace mit API Access über deinen Plan oder ein Add-on. Installiert wird mit npm install famulor-sdk. Den API-Key erstellst du im Dashboard unter Settings → API & MCP.

Kann ich das SDK im Browser oder in einer App nutzen?

Das SDK läuft auf deinem Server, damit dein API-Key geheim bleibt. Für Gespräche direkt auf deiner Website nimmst du das Web-Widget.

Startet ein Anruf doppelt, wenn die Verbindung abbricht?

Nicht durch das SDK. Schreibende Anfragen wiederholt es nie automatisch, auch nicht nach einem Rate Limit. Nach einem Timeout zeigt mayHaveExecuted, ob die Anfrage schon angekommen sein kann. Prüf dann den Status, bevor du erneut sendest.

Geht das auch mit JavaScript ohne TypeScript?

Ja. Das Paket liefert ESM und CommonJS, du nutzt es mit import oder require('famulor-sdk'). In TypeScript-Projekten kommen die Typen automatisch dazu.

Geht das mit mehreren Workspaces und White-Label?

Ja. Ein API-Key gehört zu genau einem Workspace, also legst du pro Workspace einen eigenen Client an. Unter deiner eigenen Domain setzt du baseUrl, zum Beispiel auf https://app.example.com/api/v1.

Unterstützt das SDK OAuth?

Ja. Statt apiKey übergibst du accessToken: ein Token oder eine Funktion, die das aktuelle Token liefert. Zustimmung und Token-Erneuerung steuert deine App.

Wann nehme ich das SDK, die CLI oder den MCP Connector?

Das SDK passt in dein Backend. Die CLI ist für Terminal, Skripte, CI und Coding-Agents. Der MCP Connector bringt Famulor in Chat-Tools wie Claude oder ChatGPT. Alle drei arbeiten mit derselben API und demselben Workspace.

Loslegen

Dein erster Anruf, ein paar Zeilen entfernt.

Hol dir einen API-Key, installiere famulor-sdk und starte mit client.assistants.list().

Das Famulor SDK ist kostenlos und MIT-lizenziert. Du brauchst Node.js 22 oder neuer und einen Plan mit API Access.