### Find all commands

The CLI's built-in help is the source of truth for the current command list and flags.

```
kick --help
```

Then inspect a command group:

```
kick transactions --help
kick reports --help
```

For command-specific flags, run `--help` on the command:

```
kick reports profit-loss --help
kick transactions find --help
```

This avoids stale docs when commands or flags change.

### Credential lookup order

The CLI resolves credentials in the following order:

1. `--token <value>`  
2. `KICK_PAT`  
3. `KICK_API_TOKEN`  
4. OS keychain from `kick login`  
5. `~/.config/kick/credentials`

`KICK_API_TOKEN` is the older environment variable name. Prefer `KICK_PAT`.

### Workspace selection

List workspaces:

```
kick workspaces list
```

Run a command in a workspace:

```
kick --workspace <workspace-id> transactions find --limit 10
```

If you work across multiple clients, pass `--workspace` explicitly. This is safer than relying on a remembered default.

### Common command examples

These examples are not a complete command list. Use `kick --help` and command-specific `--help` output for the current list.

Authentication and context:

```
kick login
kick whoami
kick auth status
kick logout
```

Workspace lookup:

```
kick workspaces list
kick workspaces get <id>
```

Transaction lookup:

```
kick --workspace <workspace-id> transactions find --limit 10
kick --workspace <workspace-id> transactions get <id>
```

Reports:

```
kick --workspace <workspace-id> reports profit-loss
kick --workspace <workspace-id> reports balance-sheet
kick --workspace <workspace-id> reports trial-balance
```

Activity:

```
kick --workspace <workspace-id> activity list
kick --workspace <workspace-id> activity logs
```

### Output modes

- `--output auto` - table in a terminal, structured output when piped.
- `--output table` - human-readable table.
- `--output json` - formatted JSON.
- `--output json-compact` - compact JSON for scripts and agent contexts.
- `--output yaml` - YAML.

Data goes to stdout. Diagnostics, progress messages, and errors go to stderr.

For examples, see [Kick CLI use case library](https://docs.kick.co/ai/cli/cli-use-case-library) and [additional workflows](https://docs.kick.co/ai/developer-tools/cli/cli-example-workflows).

### Exit codes

- `0` - success  
- `1` - generic failure  
- `2` - usage error  
- `3` - network error  
- `4` - authentication or authorization error  
- `5` - not found  
- `6` - rate limited  
- `130` - interrupted

### Safety reminders

- Use read-only commands for lookup and reporting.  
- Use write commands only when the workflow needs them.  
- Keep PATs out of source control and shared docs.  
- Confirm workspace and entity IDs before running commands on client data.  
- Treat generated output as a draft until an accountant reviews it.
