Skip to main content

Find commands

The CLI has one command for every API operation, grouped into areas such as assistants, calls, campaigns and phone numbers.
Each command’s help shows what it does, the API request it sends, its arguments and options with types and allowed values, which fields are required, and an example. Options that take IDs say which command lists them, for example famulor list-voices for a voice. You can also write the area first and then the verb: famulor assistants create runs create-assistant, and famulor calls list runs list-calls. When a verb fits more than one command, the CLI lists the candidates instead of guessing.

Arguments and options

Path parameters are arguments in the order they appear in the API path. Everything else is an option.
  • A yes/no option takes true/false (also yes/no, on/off, 1/0), or is turned off with --no- in front, for example --no-recording-enabled.
  • Options that take a list accept commas or can be repeated: --tags vip,new or --tags vip --tags new. For values that contain commas, pass a JSON array: --tags '["a,b"]'.
  • Text options read a file when the value starts with @: --system-prompt @prompt.md. Write @@ for a literal @.
  • A value of null clears a field that allows it.

Request bodies

Top-level body fields are options. Objects and lists take JSON, or @file.json to read it from a file. Two more ways cover everything else, and all three can be combined: the JSON file first, then options, then fields.
Before sending, the CLI checks that the JSON is valid and that every required field is set. An empty --input is an error, so a failed step earlier in a pipeline never sends a request with default values.

Output formats

By default the CLI prints the API response as JSON: highlighted on a terminal, plain when piped. Progress and messages go to stderr, so the output stays clean for other tools.
--columns implies table output. Tables never shorten IDs, so you can copy them into the next command. On a terminal, times are shown in your time zone; in piped output they stay in the API’s UTC format. Set FAMULOR_OUTPUT=table to make tables the default in your shell.

Pagination

Lists return one page at a time. --all follows the pages for you and returns every item. With --output jsonl, items are printed as soon as each page arrives.

Audio and downloads

Commands that return audio or a recording save it with --output-file:

Any request

famulor api sends any request with your saved login, output options and retries. Paths are relative to /api/v1: