Befehle finden
Die CLI hat für jede API-Operation einen Befehl, gruppiert in Bereiche wie Assistenten, Anrufe, Kampagnen und Telefonnummern.famulor list-voices für eine Stimme.
Du kannst auch zuerst den Bereich und dann das Verb schreiben: famulor assistants create führt create-assistant aus, und famulor calls list führt list-calls aus. Passt ein Verb zu mehr als einem Befehl, listet die CLI die möglichen Befehle auf, statt zu raten.
Argumente und Optionen
Pfadparameter sind Argumente in der Reihenfolge, in der sie im API-Pfad vorkommen. Alles andere ist eine Option.- Eine Ja/Nein-Option nimmt
true/falsean (auchyes/no,on/off,1/0) oder lässt sich mit vorangestelltem--no-ausschalten, zum Beispiel--no-recording-enabled. - Optionen, die eine Liste annehmen, akzeptieren Kommas oder können mehrfach angegeben werden:
--tags vip,newoder--tags vip --tags new. Für Werte, die Kommas enthalten, übergibst du ein JSON-Array:--tags '["a,b"]'. - Textoptionen lesen eine Datei ein, wenn der Wert mit
@beginnt:--system-prompt @prompt.md. Schreibe@@für ein wörtliches@. - Der Wert
nullleert ein Feld, sofern das Feld das zulässt.
Request-Bodys
Felder auf der obersten Ebene des Bodys sind Optionen. Objekte und Listen nehmen JSON entgegen oder mit@file.json den Inhalt einer Datei. Für alles andere gibt es zwei weitere Wege, und alle drei lassen sich kombinieren: zuerst die JSON-Datei, dann die Optionen, dann die Felder.
- JSON-Datei oder stdin
- Einzelne Felder
- Datei-Uploads
--input ist ein Fehler, sodass ein fehlgeschlagener früherer Schritt in einer Pipeline nie eine Anfrage mit Standardwerten sendet.
Ausgabeformate
Standardmäßig gibt die CLI die API-Antwort als JSON aus: im Terminal mit Syntaxhervorhebung, bei Weiterleitung per Pipe als reiner Text. Fortschritt und Meldungen gehen an stderr, damit die Ausgabe für andere Tools sauber bleibt.--columns schaltet automatisch auf Tabellenausgabe um. Tabellen kürzen IDs nie, sodass du sie in den nächsten Befehl kopieren kannst. Im Terminal werden Zeiten in deiner Zeitzone angezeigt; bei Weiterleitung per Pipe bleiben sie im UTC-Format der API.
Setze FAMULOR_OUTPUT=table, um Tabellen in deiner Shell zum Standard zu machen.
Pagination
Listen liefern jeweils eine Seite.--all ruft die Seiten für dich nacheinander ab und gibt alle Einträge zurück. Mit --output jsonl werden die Einträge ausgegeben, sobald die jeweilige Seite eintrifft.
Audio und Downloads
Befehle, die Audio oder eine Aufzeichnung zurückgeben, speichern diese mit--output-file:
Beliebige Anfragen
famulor api sendet jede beliebige Anfrage mit deiner gespeicherten Anmeldung, deinen Ausgabeoptionen und automatischen Wiederholungen. Pfade sind relativ zu /api/v1: