> ## Documentation Index
> Fetch the complete documentation index at: https://docs.famulor.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Log in and workspaces

> API keys, the system keychain, CI credentials, one profile per workspace and white-label domains

The CLI signs requests with a workspace API key, the same credential the REST API uses. Create one in the dashboard under **Settings → API & MCP**. The full key is shown once.

## Log in

```bash theme={null}
famulor auth login
```

The CLI offers to open the settings page in your browser, then asks for the key. The input stays hidden. Before anything is saved, the key is checked against the API, so a mistyped or revoked key is never stored.

After a successful login you see the workspace, the key name and its scopes. The key is saved in your system keychain:

| System | Where the key is stored |
| - | - |
| macOS | Keychain |
| Windows | Credential Manager |
| Linux | Secret Service (for example GNOME Keyring or KWallet) |

Where no keychain is available, the CLI uses an owner-only file in `~/.config/famulor` and says so.

```bash theme={null}
famulor auth whoami     # workspace, key name and scopes behind the login
famulor auth status     # all saved logins, and whether the active one still works
famulor auth logout     # remove the saved key from this computer
```

<Note>
  Logging out removes the key from your computer only. To invalidate the key itself, revoke it under **Settings → API & MCP**.
</Note>

## CI and scripts

In pipelines, set `FAMULOR_API_KEY` from your secret store. It takes precedence over any saved login, and nothing is written to disk:

```bash theme={null}
export FAMULOR_API_KEY="fam_..."
famulor list-calls --status completed --limit 50
```

To save a key without an interactive prompt and without putting it in your shell history, pipe it in:

```bash theme={null}
printf '%s' "$FAMULOR_API_KEY" | famulor auth login --with-token
```

## Several workspaces

An API key belongs to exactly one workspace. Save one profile per workspace and switch between them:

```bash theme={null}
famulor auth login --profile agency     # log in a second workspace
famulor auth switch agency              # make it the default
famulor list-assistants --profile default   # use another profile once
```

`FAMULOR_PROFILE` selects a profile for a whole shell session.

## White-label domains

If you use Famulor under your own domain, log in against that domain once. The profile remembers it, and every command uses it from then on:

```bash theme={null}
famulor auth login --base-url app.example.com
```

The API paths, keys and scopes are the same on every domain.

## Check your setup

`famulor doctor` checks your Node.js version, the saved login, the host, the network connection and API Access in one go, and tells you what to fix:

```bash theme={null}
famulor doctor
```
