# Autotouch CLI Reference

Generated from the installed parser for `autotouch-cli` `0.2.129`.
Manifest schema version: `2`.

## Output Modes

- `json`: exactly one JSON document per invocation.
- `ndjson`: one JSON object per line for streaming/progress-oriented commands.
- `human`: interactive text for people.

## Commands

### `auth`

#### `autotouch auth`

Auth helpers

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `check, status, bootstrap, login, set-key, show, whoami, clear, schema`
- Example:
  - `autotouch auth [-h]
                      {check,status,bootstrap,login,set-key,show,config,whoami,clear,schema}
                      ...`

#### `autotouch auth bootstrap`

Retired public account-and-key bootstrap

This command is retired. Register and sign in through the web app, then create a developer API key from the authenticated workspace.

- Auth: `none`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch auth bootstrap [-h] [--first-name FIRST_NAME]
                                [--last-name LAST_NAME] [--email EMAIL]
                                [--password PASSWORD]
                                [--organization-name ORGANIZATION_NAME]
                                [--key-name KEY_NAME]
                                [--expires-at EXPIRES_AT]
                                [--scopes-json SCOPES_JSON]
                                [--scopes-file SCOPES_FILE]
                                [--data-json DATA_JSON]
                                [--data-file DATA_FILE] [--save-key]
                                [--base-url BASE_URL] [--timeout TIMEOUT]
                                [--output {json,ndjson,human}] [--compact]
                                [--select SELECT | --json-pointer JSON_POINTER]
                                [--verbose]`
- Options:
  - `--first-name` (kind=string): First name
  - `--last-name` (kind=string): Last name
  - `--email` (kind=string): User email
  - `--password` (kind=string; sensitive): Password
  - `--organization-name` (kind=string): Organization name
  - `--key-name` (kind=string): Developer key label (default: Agent bootstrap key)
  - `--expires-at` (kind=string): Optional developer key expiry ISO timestamp
  - `--scopes-json` (kind=json; input=json): Optional JSON array of scopes
  - `--scopes-file` (kind=file; input=file): Optional JSON file with scopes array
  - `--data-json` (kind=json; input=json): Explicit agent bootstrap payload JSON
  - `--data-file` (kind=file; input=file): Path to agent bootstrap payload JSON file
  - `--save-key` (kind=boolean; when omitted=False; when present=True): Persist the returned apiKey and bootstrap a saved JWT session
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch auth check`

Validate the current token/session and show granted scopes

Validate the current token/session against the API and show granted scopes for developer API keys.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch auth check [-h] [--base-url BASE_URL] [--token TOKEN]
                            [--use-x-api-key] [--timeout TIMEOUT]
                            [--output {json,ndjson,human}] [--compact]
                            [--select SELECT | --json-pointer JSON_POINTER]
                            [--verbose]`
- Options:
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch auth clear`

Clear stored auth config

- Auth: `none`
- Stability: `stable`
- Destructive: `yes`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch auth clear [-h] [--all] [--clear-base-url]
                            [--output {json,ndjson,human}] [--compact]
                            [--select SELECT | --json-pointer JSON_POINTER]`
- Options:
  - `--all` (kind=boolean; when omitted=False; when present=True): Clear all config keys
  - `--clear-base-url` (kind=boolean; when omitted=False; when present=True): Also clear stored base_url
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)

#### `autotouch auth login`

Authenticate with email/password and persist a JWT session

- Auth: `none`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch auth login [-h] [--email EMAIL] [--password PASSWORD]
                            [--data-json DATA_JSON] [--data-file DATA_FILE]
                            [--no-save-session] [--base-url BASE_URL]
                            [--timeout TIMEOUT] [--output {json,ndjson,human}]
                            [--compact]
                            [--select SELECT | --json-pointer JSON_POINTER]
                            [--verbose]`
- Options:
  - `--email` (kind=string): User email
  - `--password` (kind=string; sensitive): Password (prompted if omitted in a TTY)
  - `--data-json` (kind=json; input=json): Explicit auth login payload JSON
  - `--data-file` (kind=file; input=file): Path to auth login payload JSON file
  - `--no-save-session` (kind=boolean; when omitted=True; when present=False): Do not persist the returned access token
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch auth schema`

Print auth payload schemas

- Auth: `none`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch auth schema [-h] [--type {all,login}] [--out-file OUT_FILE]
                             [--output {json,ndjson,human}] [--compact]
                             [--select SELECT | --json-pointer JSON_POINTER]`
- Options:
  - `--type` (kind=string; choices=all,login; default=all)
  - `--out-file` (kind=file; input=file): Write schema JSON to file
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)

#### `autotouch auth set-key`

Persist API key/base URL to user config

- Auth: `none`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch auth set-key [-h] [--api-key API_KEY] [--base-url BASE_URL]
                              [--overwrite] [--output {json,ndjson,human}]
                              [--compact]
                              [--select SELECT | --json-pointer JSON_POINTER]`
- Options:
  - `--api-key` (kind=string; sensitive): Developer API key to store (defaults from env if omitted)
  - `--base-url` (kind=string): Default API base URL (default: https://app.autotouch.ai)
  - `--overwrite` (kind=boolean; when omitted=False; when present=True): Replace existing stored API key
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)

#### `autotouch auth show`

Show current local auth config

Show the locally saved auth config only. This command does not contact the API.

- Auth: `none`
- Stability: `stable`
- Destructive: `no`
- Aliases: `config`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch auth show [-h] [--output {json,ndjson,human}] [--compact]
                           [--select SELECT | --json-pointer JSON_POINTER]`
- Options:
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)

#### `autotouch auth status`

Resolve auth, identity, and credit/allowance context

Fetch the effective auth context plus organization/user credit state. This is the best one-command status check when a key is valid but pointed at the wrong org or the real blocker is allowance/quota state rather than authentication.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch auth status [-h] [--base-url BASE_URL] [--token TOKEN]
                             [--use-x-api-key] [--timeout TIMEOUT]
                             [--output {json,ndjson,human}] [--compact]
                             [--select SELECT | --json-pointer JSON_POINTER]
                             [--verbose]`
- Options:
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch auth whoami`

Show the current saved user session identity

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch auth whoami [-h] [--token TOKEN] [--base-url BASE_URL]
                             [--timeout TIMEOUT]
                             [--output {json,ndjson,human}] [--compact]
                             [--select SELECT | --json-pointer JSON_POINTER]
                             [--verbose]`
- Options:
  - `--token` (kind=string; sensitive): Explicit JWT session token
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

### `blacklist`

#### `autotouch blacklist`

Organization blacklist operations (admin)

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `list, add, remove, import, check, filter`
- Example:
  - `autotouch blacklist [-h] {list,add,remove,import,check,filter} ...`

#### `autotouch blacklist add`

Add a blacklist entry

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--type, --value`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch blacklist add [-h] --type {email,domain} --value VALUE
                               [--reason REASON] [--notes NOTES]
                               [--base-url BASE_URL] [--token TOKEN]
                               [--use-x-api-key] [--timeout TIMEOUT]
                               [--output {json,ndjson,human}] [--compact]
                               [--select SELECT | --json-pointer JSON_POINTER]
                               [--verbose]`
- Options:
  - `--type` (required; kind=string; choices=email,domain): Entry type
  - `--value` (required; kind=string; sensitive): Email or domain value
  - `--reason` (kind=string; default=): Optional reason
  - `--notes` (kind=string; default=): Optional notes
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch blacklist check`

Check whether emails are blacklisted

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch blacklist check [-h] [--email EMAIL]
                                 [--emails-json EMAILS_JSON]
                                 [--emails-file EMAILS_FILE]
                                 [--emails-column EMAILS_COLUMN]
                                 [--chunk-size CHUNK_SIZE] [--summary-only]
                                 [--base-url BASE_URL] [--token TOKEN]
                                 [--use-x-api-key] [--timeout TIMEOUT]
                                 [--output {json,ndjson,human}] [--compact]
                                 [--select SELECT | --json-pointer JSON_POINTER]
                                 [--verbose]`
- Options:
  - `--email` (kind=string; repeatable; comma-separated): Email value (repeatable; comma-separated also supported)
  - `--emails-json` (kind=json; input=json): JSON array or object with emails[]
  - `--emails-file` (kind=file; input=file): Path to .txt/.csv/.json email list
  - `--emails-column` (kind=string; default=email): CSV column for emails (default: email)
  - `--chunk-size` (kind=integer; default=1000): Request chunk size (max 1000, default: 1000)
  - `--summary-only` (kind=boolean; when omitted=False; when present=True): Omit per-email results
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch blacklist filter`

Filter blacklisted emails from a list

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch blacklist filter [-h] [--email EMAIL]
                                  [--emails-json EMAILS_JSON]
                                  [--emails-file EMAILS_FILE]
                                  [--emails-column EMAILS_COLUMN]
                                  [--chunk-size CHUNK_SIZE] [--summary-only]
                                  [--base-url BASE_URL] [--token TOKEN]
                                  [--use-x-api-key] [--timeout TIMEOUT]
                                  [--output {json,ndjson,human}] [--compact]
                                  [--select SELECT | --json-pointer JSON_POINTER]
                                  [--verbose]`
- Options:
  - `--email` (kind=string; repeatable; comma-separated): Email value (repeatable; comma-separated also supported)
  - `--emails-json` (kind=json; input=json): JSON array or object with emails[]
  - `--emails-file` (kind=file; input=file): Path to .txt/.csv/.json email list
  - `--emails-column` (kind=string; default=email): CSV column for emails (default: email)
  - `--chunk-size` (kind=integer; default=10000): Request chunk size (max 10000, default: 10000)
  - `--summary-only` (kind=boolean; when omitted=False; when present=True): Omit full clean/blocked lists
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch blacklist import`

Import blacklist entries from CSV/TXT

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--file`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch blacklist import [-h] --file FILE [--base-url BASE_URL]
                                  [--token TOKEN] [--use-x-api-key]
                                  [--timeout TIMEOUT]
                                  [--output {json,ndjson,human}] [--compact]
                                  [--select SELECT | --json-pointer JSON_POINTER]
                                  [--verbose]`
- Options:
  - `--file` (required; kind=file; input=file): Path to CSV/TXT file
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch blacklist list`

List blacklist entries

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch blacklist list [-h] [--type-filter {all,email,domain}]
                                [--search SEARCH] [--page PAGE]
                                [--limit LIMIT] [--base-url BASE_URL]
                                [--token TOKEN] [--use-x-api-key]
                                [--timeout TIMEOUT]
                                [--output {json,ndjson,human}] [--compact]
                                [--select SELECT | --json-pointer JSON_POINTER]
                                [--verbose]`
- Options:
  - `--type-filter` (kind=string; choices=all,email,domain; default=all)
  - `--search` (kind=string): Filter by value/reason/notes
  - `--page` (kind=integer; default=1): Page number (default: 1)
  - `--limit` (kind=integer; default=100): Entries per page (default: 100)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch blacklist remove`

Remove a blacklist entry by id

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--entry-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch blacklist remove [-h] --entry-id ENTRY_ID
                                  [--base-url BASE_URL] [--token TOKEN]
                                  [--use-x-api-key] [--timeout TIMEOUT]
                                  [--output {json,ndjson,human}] [--compact]
                                  [--select SELECT | --json-pointer JSON_POINTER]
                                  [--verbose]`
- Options:
  - `--entry-id` (required; kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

### `calendar`

#### `autotouch calendar`

Personal Calendar operations (requires Calendar enabled and a connected provider)

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `connections, agenda, get-agenda-event, events, get-event, update-event, delete-event, send-lead-invite`
- Example:
  - `autotouch calendar [-h]
                          {connections,agenda,get-agenda-event,events,get-event,update-event,delete-event,send-lead-invite}
                          ...`

#### `autotouch calendar agenda`

Read a bounded calendar agenda page

Read a bounded calendar agenda page. Available only when Calendar is enabled, with the caller's connected calendar and event ownership checks; read/write developer-key scopes apply.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--provider, --start, --end`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch calendar agenda [-h] --provider {google,microsoft} --start
                                 START --end END [--query QUERY]
                                 [--attendee ATTENDEE]
                                 [--attendee-domain ATTENDEE_DOMAIN]
                                 [--page-size PAGE_SIZE] [--cursor CURSOR]
                                 [--projection {compact,full}]
                                 [--include-crm-context] [--base-url BASE_URL]
                                 [--token TOKEN] [--use-x-api-key]
                                 [--timeout TIMEOUT]
                                 [--output {json,ndjson,human}] [--compact]
                                 [--select SELECT | --json-pointer JSON_POINTER]
                                 [--verbose]`
- Options:
  - `--provider` (required; kind=string; choices=google,microsoft)
  - `--start` (required; kind=string): ISO 8601 datetime with a UTC offset; range is bounded to 90 days
  - `--end` (required; kind=string): ISO 8601 datetime with a UTC offset; range is bounded to 90 days
  - `--query` (kind=string)
  - `--attendee` (kind=string)
  - `--attendee-domain` (kind=string)
  - `--page-size` (kind=integer)
  - `--cursor` (kind=string)
  - `--projection` (kind=string; choices=compact,full)
  - `--include-crm-context` (kind=boolean; when omitted=None; when present=True)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch calendar connections`

List the caller's connected calendars

List the caller's connected calendars. Available only when Calendar is enabled, with the caller's connected calendar and event ownership checks; read/write developer-key scopes apply.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch calendar connections [-h] [--base-url BASE_URL]
                                      [--token TOKEN] [--use-x-api-key]
                                      [--timeout TIMEOUT]
                                      [--output {json,ndjson,human}]
                                      [--compact]
                                      [--select SELECT | --json-pointer JSON_POINTER]
                                      [--verbose]`
- Options:
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch calendar delete-event`

Cancel a Lead-associated calendar event

Cancel a Lead-associated calendar event. Available only when Calendar is enabled, with the caller's connected calendar and event ownership checks; read/write developer-key scopes apply.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--provider, --event-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch calendar delete-event [-h] --provider {google,microsoft}
                                       --event-id EVENT_ID
                                       [--expected-etag EXPECTED_ETAG]
                                       [--base-url BASE_URL] [--token TOKEN]
                                       [--use-x-api-key] [--timeout TIMEOUT]
                                       [--output {json,ndjson,human}]
                                       [--compact]
                                       [--select SELECT | --json-pointer JSON_POINTER]
                                       [--verbose]`
- Options:
  - `--provider` (required; kind=string; choices=google,microsoft)
  - `--event-id` (required; kind=string)
  - `--expected-etag` (kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch calendar events`

List Lead-associated calendar events in a bounded time range

List Lead-associated calendar events in a bounded time range. Available only when Calendar is enabled, with the caller's connected calendar and event ownership checks; read/write developer-key scopes apply.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--provider, --start, --end`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch calendar events [-h] --provider {google,microsoft} --start
                                 START --end END [--base-url BASE_URL]
                                 [--token TOKEN] [--use-x-api-key]
                                 [--timeout TIMEOUT]
                                 [--output {json,ndjson,human}] [--compact]
                                 [--select SELECT | --json-pointer JSON_POINTER]
                                 [--verbose]`
- Options:
  - `--provider` (required; kind=string; choices=google,microsoft)
  - `--start` (required; kind=string): ISO 8601 datetime with a UTC offset; range is bounded to 90 days
  - `--end` (required; kind=string): ISO 8601 datetime with a UTC offset; range is bounded to 90 days
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch calendar get-agenda-event`

Read one event from the caller's agenda

Read one event from the caller's agenda. Available only when Calendar is enabled, with the caller's connected calendar and event ownership checks; read/write developer-key scopes apply.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--provider, --event-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch calendar get-agenda-event [-h] --provider {google,microsoft}
                                           --event-id EVENT_ID
                                           [--base-url BASE_URL]
                                           [--token TOKEN] [--use-x-api-key]
                                           [--timeout TIMEOUT]
                                           [--output {json,ndjson,human}]
                                           [--compact]
                                           [--select SELECT | --json-pointer JSON_POINTER]
                                           [--verbose]`
- Options:
  - `--provider` (required; kind=string; choices=google,microsoft)
  - `--event-id` (required; kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch calendar get-event`

Read one Lead-associated calendar event

Read one Lead-associated calendar event. Available only when Calendar is enabled, with the caller's connected calendar and event ownership checks; read/write developer-key scopes apply.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--provider, --event-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch calendar get-event [-h] --provider {google,microsoft}
                                    --event-id EVENT_ID [--base-url BASE_URL]
                                    [--token TOKEN] [--use-x-api-key]
                                    [--timeout TIMEOUT]
                                    [--output {json,ndjson,human}] [--compact]
                                    [--select SELECT | --json-pointer JSON_POINTER]
                                    [--verbose]`
- Options:
  - `--provider` (required; kind=string; choices=google,microsoft)
  - `--event-id` (required; kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch calendar send-lead-invite`

Send an invite from the caller's connected calendar to explicit CRM Leads

Send an invite from the caller's connected calendar to explicit CRM Leads. Available only when Calendar is enabled, with the caller's connected calendar and event ownership checks; read/write developer-key scopes apply.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--provider`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch calendar send-lead-invite [-h] --provider {google,microsoft}
                                           (--data-json DATA_JSON | --data-file DATA_FILE)
                                           [--base-url BASE_URL]
                                           [--token TOKEN] [--use-x-api-key]
                                           [--timeout TIMEOUT]
                                           [--output {json,ndjson,human}]
                                           [--compact]
                                           [--select SELECT | --json-pointer JSON_POINTER]
                                           [--verbose]`
- Options:
  - `--provider` (required; kind=string; choices=google,microsoft)
  - `--data-json` (kind=json; input=json): CreateLeadInvite: request_id (UUID), lead_id or lead_ids, title, start, end; optional teammate_ids, guest_emails, description, add_video_conference as JSON
  - `--data-file` (kind=file; input=file): Path to CreateLeadInvite: request_id (UUID), lead_id or lead_ids, title, start, end; optional teammate_ids, guest_emails, description, add_video_conference JSON (use - for stdin)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch calendar update-event`

Update a Lead-associated event with optional ETag protection

Update a Lead-associated event with optional ETag protection. Available only when Calendar is enabled, with the caller's connected calendar and event ownership checks; read/write developer-key scopes apply.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--provider, --event-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch calendar update-event [-h] --provider {google,microsoft}
                                       --event-id EVENT_ID
                                       (--data-json DATA_JSON | --data-file DATA_FILE)
                                       [--expected-etag EXPECTED_ETAG]
                                       [--base-url BASE_URL] [--token TOKEN]
                                       [--use-x-api-key] [--timeout TIMEOUT]
                                       [--output {json,ndjson,human}]
                                       [--compact]
                                       [--select SELECT | --json-pointer JSON_POINTER]
                                       [--verbose]`
- Options:
  - `--provider` (required; kind=string; choices=google,microsoft)
  - `--event-id` (required; kind=string)
  - `--data-json` (kind=json; input=json): UpdateEvent: one or more of title, description, start, end as JSON
  - `--data-file` (kind=file; input=file): Path to UpdateEvent: one or more of title, description, start, end JSON (use - for stdin)
  - `--expected-etag` (kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

### `capabilities`

#### `autotouch capabilities`

Discover API capabilities and product operations

- Auth: `optional`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Subcommands: `show, operations`
- Example:
  - `autotouch capabilities show`
  - `autotouch capabilities operations list --surface research_table`
  - `autotouch capabilities operations get research_table.email_finder`
- Options:
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr
  - `--representation` (kind=string; choices=compact,full): Server projection (default: compact for JSON, full for human output)
  - `--source` (kind=string; choices=live,bundled; default=live): Capability source (default: live server; bundled is explicit offline metadata)

#### `autotouch capabilities operations`

Discover product-operation capabilities

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `list, get`
- Example:
  - `autotouch capabilities operations [-h] {list,get} ...`

#### `autotouch capabilities operations get`

Get one backend product-operation capability

- Auth: `optional`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch capabilities operations get [-h] [--base-url BASE_URL]
                                             [--token TOKEN] [--use-x-api-key]
                                             [--timeout TIMEOUT]
                                             [--output {json,ndjson,human}]
                                             [--compact]
                                             [--select SELECT | --json-pointer JSON_POINTER]
                                             [--verbose]
                                             operation_id`
- Options:
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch capabilities operations list`

List backend product-operation capabilities

- Auth: `optional`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch capabilities operations list [-h] [--surface SURFACE]
                                              [--cli-status CLI_STATUS]
                                              [--cli-available]
                                              [--approval-required | --no-approval-required]
                                              [--executable-only]
                                              [--base-url BASE_URL]
                                              [--token TOKEN]
                                              [--use-x-api-key]
                                              [--timeout TIMEOUT]
                                              [--output {json,ndjson,human}]
                                              [--compact]
                                              [--select SELECT | --json-pointer JSON_POINTER]
                                              [--verbose]`
- Options:
  - `--surface` (kind=string): Filter by operation surface, for example research_table or crm
  - `--cli-status` (kind=string): Filter by operation cli_status
  - `--cli-available` (kind=boolean; when omitted=False; when present=True): Only show operations with a CLI binding
  - `--approval-required` (kind=boolean; when omitted=False; when present=True): Only show approval-gated operations
  - `--no-approval-required` (kind=boolean; when omitted=False; when present=True): Only show operations that do not require approval
  - `--executable-only` (kind=boolean; when omitted=False; when present=True): Only show operations with callable execution support
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch capabilities show`

Get machine-readable API capabilities

- Auth: `optional`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch capabilities show [-h] [--base-url BASE_URL] [--token TOKEN]
                                   [--use-x-api-key] [--timeout TIMEOUT]
                                   [--output {json,ndjson,human}] [--compact]
                                   [--select SELECT | --json-pointer JSON_POINTER]
                                   [--verbose]
                                   [--representation {compact,full}]
                                   [--source {live,bundled}]`
- Options:
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr
  - `--representation` (kind=string; choices=compact,full): Server projection (default: compact for JSON, full for human output)
  - `--source` (kind=string; choices=live,bundled): Capability source (default: live server; bundled is explicit offline metadata)

### `capacity`

#### `autotouch capacity`

Inspect sender and task capacity

Read the backend-owned Command Center capacity model for LinkedIn, provider email, personal email, and calls. These commands are read-only and require the tasks:read developer-key scope.

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `overview, channels, recommend`
- Example:
  - `autotouch capacity overview --scope org --output json`
  - `autotouch capacity channels --scope me --output json`
  - `autotouch capacity overview --scope me --user-email rep@example.com --output json`
  - `autotouch capacity recommend --scope org --output json`

#### `autotouch capacity channels`

Summarize channel capacity and blockers

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch capacity channels [-h] [--scope {org,me}] [--user-id USER_ID]
                                   [--user-email USER_EMAIL]
                                   [--surface {admin_command_center,sales_home}]
                                   [--date DATE] [--timezone TIMEZONE]
                                   [--include-details] [--base-url BASE_URL]
                                   [--token TOKEN] [--use-x-api-key]
                                   [--timeout TIMEOUT]
                                   [--output {json,ndjson,human}] [--compact]
                                   [--select SELECT | --json-pointer JSON_POINTER]
                                   [--verbose]`
- Options:
  - `--scope` (kind=string; choices=org,me; default=org): Capacity scope (default: org)
  - `--user-id` (kind=string): Target org user id for --scope me
  - `--user-email` (kind=string): Target org user email for --scope me
  - `--surface` (kind=string; choices=admin_command_center,sales_home; default=admin_command_center): Command Center surface model to read
  - `--date` (kind=string): Capacity date in YYYY-MM-DD; default is today in the requested timezone
  - `--timezone` (kind=string): IANA timezone for the date window, for example America/New_York
  - `--include-details` (kind=boolean; when omitted=False; when present=True): Also include raw channel details
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch capacity overview`

Return the full Command Center overview payload

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch capacity overview [-h] [--scope {org,me}] [--user-id USER_ID]
                                   [--user-email USER_EMAIL]
                                   [--surface {admin_command_center,sales_home}]
                                   [--date DATE] [--timezone TIMEZONE]
                                   [--base-url BASE_URL] [--token TOKEN]
                                   [--use-x-api-key] [--timeout TIMEOUT]
                                   [--output {json,ndjson,human}] [--compact]
                                   [--select SELECT | --json-pointer JSON_POINTER]
                                   [--verbose]`
- Options:
  - `--scope` (kind=string; choices=org,me; default=org): Capacity scope (default: org)
  - `--user-id` (kind=string): Target org user id for --scope me
  - `--user-email` (kind=string): Target org user email for --scope me
  - `--surface` (kind=string; choices=admin_command_center,sales_home; default=admin_command_center): Command Center surface model to read
  - `--date` (kind=string): Capacity date in YYYY-MM-DD; default is today in the requested timezone
  - `--timezone` (kind=string): IANA timezone for the date window, for example America/New_York
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch capacity recommend`

Recommend the next capacity action from current usage

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch capacity recommend [-h] [--scope {org,me}]
                                    [--user-id USER_ID]
                                    [--user-email USER_EMAIL]
                                    [--surface {admin_command_center,sales_home}]
                                    [--date DATE] [--timezone TIMEZONE]
                                    [--base-url BASE_URL] [--token TOKEN]
                                    [--use-x-api-key] [--timeout TIMEOUT]
                                    [--output {json,ndjson,human}] [--compact]
                                    [--select SELECT | --json-pointer JSON_POINTER]
                                    [--verbose]`
- Options:
  - `--scope` (kind=string; choices=org,me; default=org): Capacity scope (default: org)
  - `--user-id` (kind=string): Target org user id for --scope me
  - `--user-email` (kind=string): Target org user email for --scope me
  - `--surface` (kind=string; choices=admin_command_center,sales_home; default=admin_command_center): Command Center surface model to read
  - `--date` (kind=string): Capacity date in YYYY-MM-DD; default is today in the requested timezone
  - `--timezone` (kind=string): IANA timezone for the date window, for example America/New_York
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

### `cells`

#### `autotouch cells`

Cell operations

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `get, patch, schema`
- Example:
  - `autotouch cells [-h] {get,patch,schema} ...`

#### `autotouch cells get`

Get one cell with value/status/metadata

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--row-id, --column-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch cells get [-h] --row-id ROW_ID --column-id COLUMN_ID
                           [--base-url BASE_URL] [--token TOKEN]
                           [--use-x-api-key] [--timeout TIMEOUT]
                           [--output {json,ndjson,human}] [--compact]
                           [--select SELECT | --json-pointer JSON_POINTER]
                           [--verbose]`
- Options:
  - `--row-id` (required; kind=string)
  - `--column-id` (required; kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch cells patch`

Patch cells in batch

Patch cells in batch. Use column key strings in updates[].key; this payload does not accept columnId.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--table-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch cells patch [-h] --table-id TABLE_ID
                             [--updates-json UPDATES_JSON]
                             [--updates-file UPDATES_FILE] [--detect-types]
                             [--base-url BASE_URL] [--token TOKEN]
                             [--use-x-api-key] [--timeout TIMEOUT]
                             [--output {json,ndjson,human}] [--compact]
                             [--select SELECT | --json-pointer JSON_POINTER]
                             [--verbose]`
- Options:
  - `--table-id` (required; kind=string)
  - `--updates-json` (kind=json; input=json): JSON list or {updates:[...]} object
  - `--updates-file` (kind=file; input=file): Path to JSON file with updates payload
  - `--detect-types` (kind=boolean; when omitted=False; when present=True): Set detect_types=true query flag
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch cells schema`

Print cell payload schemas

- Auth: `none`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch cells schema [-h] [--type {all,patch_updates}]
                              [--out-file OUT_FILE]
                              [--output {json,ndjson,human}] [--compact]
                              [--select SELECT | --json-pointer JSON_POINTER]`
- Options:
  - `--type` (kind=string; choices=all,patch_updates; default=all)
  - `--out-file` (kind=file; input=file): Write schema JSON to file
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)

### `cli-manifest`

#### `autotouch cli-manifest`

Print the machine-readable CLI command manifest

- Auth: `none`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch cli-manifest [-h] [--source {live,bundled}]
                              [--out-file OUT_FILE]
                              [--output {json,ndjson,human}] [--compact]
                              [--select SELECT | --json-pointer JSON_POINTER]`
- Options:
  - `--source` (kind=string; choices=live,bundled; default=live): Manifest source
  - `--out-file` (kind=file; input=file): Write manifest JSON to file
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)

### `cli-reference`

#### `autotouch cli-reference`

Print the generated CLI reference

- Auth: `none`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch cli-reference [-h] [--source {live,bundled}]
                               [--out-file OUT_FILE]
                               [--output {json,ndjson,human}] [--compact]
                               [--select SELECT | --json-pointer JSON_POINTER]`
- Options:
  - `--source` (kind=string; choices=live,bundled; default=live): Reference source
  - `--out-file` (kind=file; input=file): Write reference markdown to file
  - `--output` (kind=string; choices=json,ndjson,human; default=human): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON when using JSON output
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)

### `columns`

#### `autotouch columns`

Column operations

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `list, create, update, hide, show, move, delete, projections, test-http-request, run, stop, run-next, estimate, test-classify, recipe`
- Example:
  - `autotouch columns [-h]
                         {list,create,update,hide,show,move,delete,projections,test-http-request,run,stop,run-next,estimate,test-classify,recipe}
                         ...`

#### `autotouch columns create`

Create a column

Create a column from a ColumnCreate payload.
For llm_enrichment, there are two valid authoring paths:
- generated path: send config.instructions and let the API compile config.advancedPrompt
- manual path: send config.advancedPrompt directly when you want exact prompt control
The saved/runtime contract is config.advancedPrompt; config.prompt and config.advanced_prompt are rejected.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--table-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch columns create [-h] --table-id TABLE_ID
                                [--data-json DATA_JSON]
                                [--data-file DATA_FILE] [--position POSITION]
                                [--after-column-id AFTER_COLUMN_ID]
                                [--before-column-id BEFORE_COLUMN_ID]
                                [--research-mode {lite,heavy}]
                                [--base-url BASE_URL] [--token TOKEN]
                                [--use-x-api-key] [--timeout TIMEOUT]
                                [--output {json,ndjson,human}] [--compact]
                                [--select SELECT | --json-pointer JSON_POINTER]
                                [--verbose]`
- Notes:

```text
Recommended flow for llm_enrichment:

autotouch columns recipe --type llm_enrichment --output human

The runnable prompt is always config.advancedPrompt before execution.
```
- Options:
  - `--table-id` (required; kind=string)
  - `--data-json` (kind=json; input=json): ColumnCreate payload JSON
  - `--data-file` (kind=file; input=file): ColumnCreate payload file path
  - `--position` (kind=number): Explicit numeric position override
  - `--after-column-id` (kind=string): Place the new column after this existing column id
  - `--before-column-id` (kind=string): Place the new column before this existing column id
  - `--research-mode` (kind=string; choices=lite,heavy): For LLM Research Agent columns, set config.researchMode. Omitted agent columns default to lite.
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch columns delete`

Delete a column and all of its cells

Permanently remove one non-system Research Table column after explicit confirmation. Requires columns:write and table access. The definition is removed synchronously; active work is cancelled and stored cell cleanup can continue in the background. Use --yes only after the user has approved this exact table and column. Native Command Center deletion uses its own approval action.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `yes`
- Required flags: `--table-id, --column-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch columns delete --table-id <TABLE_ID> --column-id <COLUMN_ID> --yes`
- Options:
  - `--table-id` (required; kind=string)
  - `--column-id` (required; kind=string)
  - `--yes` (kind=boolean; when omitted=False; when present=True): Required confirmation flag for destructive delete
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch columns estimate`

Estimate a column run

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--table-id, --column-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch columns estimate [-h] --table-id TABLE_ID --column-id
                                  COLUMN_ID
                                  [--scope {all,subset,row,firstN,filtered}]
                                  [--row-id ROW_ID] [--row-ids [ROW_IDS ...]]
                                  [--first-n FIRST_N]
                                  [--unprocessed-only | --include-processed]
                                  [--filters-json FILTERS_JSON]
                                  [--filters-file FILTERS_FILE]
                                  [--data-json DATA_JSON]
                                  [--data-file DATA_FILE]
                                  [--base-url BASE_URL] [--token TOKEN]
                                  [--use-x-api-key] [--timeout TIMEOUT]
                                  [--output {json,ndjson,human}] [--compact]
                                  [--select SELECT | --json-pointer JSON_POINTER]
                                  [--verbose]`
- Options:
  - `--table-id` (required; kind=string)
  - `--column-id` (required; kind=string)
  - `--scope` (kind=string; choices=all,subset,row,firstN,filtered; default=all): Run scope: row=one explicit ID, subset=explicit many IDs, filtered=current filters, firstN=first N rows, all=entire table
  - `--row-id` (kind=string): Single row ID for scope=row
  - `--row-ids` (kind=list): Row IDs for subset scope (or a single row when scope=row)
  - `--first-n` (kind=integer): First N rows (for scope=firstN). Use with --unprocessed-only to process the next rows without reruns
  - `--unprocessed-only` (kind=boolean; when omitted=True; when present=True): Only process rows without values (default)
  - `--include-processed` (kind=boolean; when omitted=True; when present=False): Include rows that already have output
  - `--filters-json` (kind=json; input=json): JSON object for scope=filtered
  - `--filters-file` (kind=file; input=file): Path to JSON file for scope=filtered
  - `--data-json` (kind=json; input=json): Explicit RunRequest payload JSON (overrides scope flags)
  - `--data-file` (kind=file; input=file): Path to RunRequest payload JSON file (overrides scope flags)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch columns hide`

Hide a column without deleting its cells

Hide a column from the default table view. This is reversible and does not delete cells. Use columns delete only when you intentionally want to remove the column and its data.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--table-id, --column-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch columns hide [-h] --table-id TABLE_ID --column-id COLUMN_ID
                              [--base-url BASE_URL] [--token TOKEN]
                              [--use-x-api-key] [--timeout TIMEOUT]
                              [--output {json,ndjson,human}] [--compact]
                              [--select SELECT | --json-pointer JSON_POINTER]
                              [--verbose]`
- Options:
  - `--table-id` (required; kind=string)
  - `--column-id` (required; kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch columns list`

List table columns

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--table-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch columns list [-h] --table-id TABLE_ID [--base-url BASE_URL]
                              [--token TOKEN] [--use-x-api-key]
                              [--timeout TIMEOUT]
                              [--output {json,ndjson,human}] [--compact]
                              [--select SELECT | --json-pointer JSON_POINTER]
                              [--verbose]`
- Options:
  - `--table-id` (required; kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch columns move`

Reorder an existing column relative to neighbors

Move an existing column by supplying neighbor column ids. Prefer sending both neighbors when possible for stable placement.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--table-id, --column-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch columns move [-h] --table-id TABLE_ID --column-id COLUMN_ID
                              [--after-column-id AFTER_COLUMN_ID]
                              [--before-column-id BEFORE_COLUMN_ID]
                              [--base-url BASE_URL] [--token TOKEN]
                              [--use-x-api-key] [--timeout TIMEOUT]
                              [--output {json,ndjson,human}] [--compact]
                              [--select SELECT | --json-pointer JSON_POINTER]
                              [--verbose]`
- Options:
  - `--table-id` (required; kind=string)
  - `--column-id` (required; kind=string)
  - `--after-column-id` (kind=string): Place the column after this existing column id
  - `--before-column-id` (kind=string): Place the column before this existing column id
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch columns projections`

Create JSON projection columns

Create JSON-split projection columns from a JSON source column.
Use this command for flattening enrichment JSON output into readable columns.
Do not use `autotouch columns create` with `kind: "projection"` and empty `config`.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--table-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch columns projections [-h] --table-id TABLE_ID
                                     [--data-json DATA_JSON]
                                     [--data-file DATA_FILE]
                                     [--after-column-id AFTER_COLUMN_ID]
                                     [--before-column-id BEFORE_COLUMN_ID]
                                     [--base-url BASE_URL] [--token TOKEN]
                                     [--use-x-api-key] [--timeout TIMEOUT]
                                     [--output {json,ndjson,human}]
                                     [--compact]
                                     [--select SELECT | --json-pointer JSON_POINTER]
                                     [--verbose]`
- Notes:

```text
CreateProjectionsRequest payload example:

{
  "items": [
    {
      "key": "company_name",
      "label": "Company Name",
      "sourceColumnId": "<JSON_COLUMN_ID>",
      "path": "company_name",
      "dataType": "text"
    }
  ]
}

Each item must include `key`, `label`, `sourceColumnId`, and `path`.
```
- Options:
  - `--table-id` (required; kind=string)
  - `--data-json` (kind=json; input=json): CreateProjectionsRequest payload JSON
  - `--data-file` (kind=file; input=file): CreateProjectionsRequest payload file path
  - `--after-column-id` (kind=string): Place the new projection group after this existing column id
  - `--before-column-id` (kind=string): Place the new projection group before this existing column id
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch columns recipe`

Print copy-ready ColumnCreate payload templates

- Auth: `none`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch columns recipe [-h]
                                [--type {all,person_lookup,linkedin_profile_lookup,formatter,classify,llm_enrichment,email_finder,phone_finder,add_to_crm,promote_company,sync_to_table,add_to_sequence,crm_push,outreach_push,http_request,company_lookup,fit_analysis,to_leads,to_sequence,to_crm,to_outreach,add_to_leads,sync_to_leads,sync_to_leads_array,add_to_leads_array}]
                                [--research-mode {lite,heavy}]
                                [--out-file OUT_FILE]
                                [--output {json,ndjson,human}] [--compact]
                                [--select SELECT | --json-pointer JSON_POINTER]`
- Options:
  - `--type` (kind=string; choices=all,person_lookup,linkedin_profile_lookup,formatter,classify,llm_enrichment,email_finder,phone_finder,add_to_crm,promote_company,sync_to_table,add_to_sequence,crm_push,outreach_push,http_request,company_lookup,fit_analysis,to_leads,to_sequence,to_crm,to_outreach,add_to_leads,sync_to_leads,sync_to_leads_array,add_to_leads_array; default=all)
  - `--research-mode` (kind=string; choices=lite,heavy; default=lite): Research Agent depth for LLM recipes (default: lite; heavy costs more per row)
  - `--out-file` (kind=file; input=file): Write template JSON to file (single type writes payload only)
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)

#### `autotouch columns run`

Run a column

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--table-id, --column-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch columns run [-h] --table-id TABLE_ID --column-id COLUMN_ID
                             [--scope {all,subset,row,firstN,filtered}]
                             [--row-id ROW_ID] [--row-ids [ROW_IDS ...]]
                             [--first-n FIRST_N]
                             [--unprocessed-only | --include-processed]
                             [--filters-json FILTERS_JSON]
                             [--filters-file FILTERS_FILE]
                             [--data-json DATA_JSON] [--data-file DATA_FILE]
                             [--show-estimate] [--dry-run]
                             [--max-credits MAX_CREDITS] [--allow-unknown-max]
                             [--wait] [--quiet-wait]
                             [--poll-interval POLL_INTERVAL]
                             [--wait-timeout WAIT_TIMEOUT] [--fail-on-error]
                             [--fail-on-partial] [--base-url BASE_URL]
                             [--token TOKEN] [--use-x-api-key]
                             [--timeout TIMEOUT]
                             [--output {json,ndjson,human}] [--compact]
                             [--select SELECT | --json-pointer JSON_POINTER]
                             [--verbose]`
- Options:
  - `--table-id` (required; kind=string)
  - `--column-id` (required; kind=string)
  - `--scope` (kind=string; choices=all,subset,row,firstN,filtered; default=all): Run scope: row=one explicit ID, subset=explicit many IDs, filtered=current filters, firstN=first N rows, all=entire table
  - `--row-id` (kind=string): Single row ID for scope=row
  - `--row-ids` (kind=list): Row IDs for subset scope (or a single row when scope=row)
  - `--first-n` (kind=integer): First N rows (for scope=firstN). Use with --unprocessed-only to process the next rows without reruns
  - `--unprocessed-only` (kind=boolean; when omitted=True; when present=True): Only process rows without values (default)
  - `--include-processed` (kind=boolean; when omitted=True; when present=False): Include rows that already have output
  - `--filters-json` (kind=json; input=json): JSON object for scope=filtered
  - `--filters-file` (kind=file; input=file): Path to JSON file for scope=filtered
  - `--data-json` (kind=json; input=json): Explicit RunRequest payload JSON (overrides scope flags)
  - `--data-file` (kind=file; input=file): Path to RunRequest payload JSON file (overrides scope flags)
  - `--show-estimate` (kind=boolean; when omitted=False; when present=True): Include estimate response in output
  - `--dry-run` (kind=boolean; when omitted=False; when present=True): Only estimate; do not execute run
  - `--max-credits` (kind=number): Block run when estimate exceeds this value
  - `--allow-unknown-max` (kind=boolean; when omitted=False; when present=True): Allow run when estimated_credits_max is null (max-credits guard uses min estimate)
  - `--wait` (kind=boolean; when omitted=False; when present=True): Wait for the canonical operation-run terminal status by polling /api/operation-runs/{operation_run_id}
  - `--quiet-wait` (kind=boolean; when omitted=False; when present=True): Suppress per-poll output in --wait mode
  - `--poll-interval` (kind=integer; default=2): Polling interval seconds for --wait
  - `--wait-timeout` (kind=integer; default=0): Max seconds to wait (0 = no timeout)
  - `--fail-on-error` (kind=boolean; when omitted=False; when present=True): Exit non-zero when final status is error/cancelled
  - `--fail-on-partial` (kind=boolean; when omitted=False; when present=True): Exit non-zero when final status is partial
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch columns run-next`

Run up to N selected rows using subset scope

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--table-id, --column-id, --count`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch columns run-next [-h] --table-id TABLE_ID --column-id
                                  COLUMN_ID --count COUNT
                                  [--filters-json FILTERS_JSON]
                                  [--filters-file FILTERS_FILE]
                                  [--page-size PAGE_SIZE]
                                  [--include-processed] [--fail-if-empty]
                                  [--show-estimate] [--dry-run]
                                  [--max-credits MAX_CREDITS]
                                  [--allow-unknown-max] [--wait]
                                  [--quiet-wait]
                                  [--poll-interval POLL_INTERVAL]
                                  [--wait-timeout WAIT_TIMEOUT]
                                  [--fail-on-error] [--fail-on-partial]
                                  [--base-url BASE_URL] [--token TOKEN]
                                  [--use-x-api-key] [--timeout TIMEOUT]
                                  [--output {json,ndjson,human}] [--compact]
                                  [--select SELECT | --json-pointer JSON_POINTER]
                                  [--verbose]`
- Options:
  - `--table-id` (required; kind=string)
  - `--column-id` (required; kind=string)
  - `--count` (required; kind=integer): Maximum number of rows to queue
  - `--filters-json` (kind=json; input=json): Optional JSON object to select from filtered rows
  - `--filters-file` (kind=file; input=file): Optional JSON file to select from filtered rows
  - `--page-size` (kind=integer; default=200): Rows page size while selecting candidates (max 1000)
  - `--include-processed` (kind=boolean; when omitted=True; when present=False): Include rows that already have output in candidate selection
  - `--fail-if-empty` (kind=boolean; when omitted=False; when present=True): Exit non-zero when no eligible rows are selected
  - `--show-estimate` (kind=boolean; when omitted=False; when present=True): Include estimate response in output
  - `--dry-run` (kind=boolean; when omitted=False; when present=True): Only estimate; do not execute run
  - `--max-credits` (kind=number): Block run when estimate exceeds this value
  - `--allow-unknown-max` (kind=boolean; when omitted=False; when present=True): Allow run when estimated_credits_max is null (max-credits guard uses min estimate)
  - `--wait` (kind=boolean; when omitted=False; when present=True): Wait for the canonical operation-run terminal status by polling /api/operation-runs/{operation_run_id}
  - `--quiet-wait` (kind=boolean; when omitted=False; when present=True): Suppress per-poll output in --wait mode
  - `--poll-interval` (kind=integer; default=2): Polling interval seconds for --wait
  - `--wait-timeout` (kind=integer; default=0): Max seconds to wait (0 = no timeout)
  - `--fail-on-error` (kind=boolean; when omitted=False; when present=True): Exit non-zero when final status is error/cancelled
  - `--fail-on-partial` (kind=boolean; when omitted=False; when present=True): Exit non-zero when final status is partial
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch columns show`

Show a previously hidden column

Make a hidden column visible in the table schema again.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--table-id, --column-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch columns show [-h] --table-id TABLE_ID --column-id COLUMN_ID
                              [--base-url BASE_URL] [--token TOKEN]
                              [--use-x-api-key] [--timeout TIMEOUT]
                              [--output {json,ndjson,human}] [--compact]
                              [--select SELECT | --json-pointer JSON_POINTER]
                              [--verbose]`
- Options:
  - `--table-id` (required; kind=string)
  - `--column-id` (required; kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch columns stop`

Stop a running column (cancel active job dispatch)

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--table-id, --column-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch columns stop [-h] --table-id TABLE_ID --column-id COLUMN_ID
                              [--base-url BASE_URL] [--token TOKEN]
                              [--use-x-api-key] [--timeout TIMEOUT]
                              [--output {json,ndjson,human}] [--compact]
                              [--select SELECT | --json-pointer JSON_POINTER]
                              [--verbose]`
- Options:
  - `--table-id` (required; kind=string)
  - `--column-id` (required; kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch columns test-classify`

Preview Jev classification on one saved row without cell writes or credits

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--table-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch columns test-classify [-h] --table-id TABLE_ID
                                       [--data-json DATA_JSON]
                                       [--data-file DATA_FILE]
                                       [--base-url BASE_URL] [--token TOKEN]
                                       [--use-x-api-key] [--timeout TIMEOUT]
                                       [--output {json,ndjson,human}]
                                       [--compact]
                                       [--select SELECT | --json-pointer JSON_POINTER]
                                       [--verbose]`
- Options:
  - `--table-id` (required; kind=string)
  - `--data-json` (kind=json; input=json): JSON object containing config and row_id
  - `--data-file` (kind=file; input=file): File containing config and row_id
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch columns test-http-request`

Preview an HTTP Request column against the first table row

Resolve and execute one HTTP request using the first row in the table.
This preview does not write cells.
Pass either a full http_request column payload or a direct request config object.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--table-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch columns test-http-request --table-id <TABLE_ID> --data-file column.json`
- Notes:

```text
Recommended flow:

autotouch columns recipe --type http_request --out-file column.json
autotouch columns test-http-request --table-id <TABLE_ID> --data-file column.json
autotouch columns create --table-id <TABLE_ID> --data-file column.json

Template syntax:
- {{column_key}} -> row value from the first table row
- {{secrets.name}} -> workspace secret or active org integration credential by provider slug
```
- Options:
  - `--table-id` (required; kind=string)
  - `--data-json` (kind=json; input=json): HTTP request column payload JSON or direct preview payload JSON
  - `--data-file` (kind=file; input=file): HTTP request column payload file path or direct preview payload file path
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch columns update`

Update a column

Update a column definition. Nested config keys merge into the existing config, so partial config patches are supported. ColumnUpdate JSON can patch valueSchema metadata, including enum/open_enum options for select-like filtering.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--table-id, --column-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch columns update [-h] --table-id TABLE_ID --column-id COLUMN_ID
                                [--data-json DATA_JSON]
                                [--data-file DATA_FILE] [--position POSITION]
                                [--hide | --show]
                                [--research-mode {lite,heavy}]
                                [--base-url BASE_URL] [--token TOKEN]
                                [--use-x-api-key] [--timeout TIMEOUT]
                                [--output {json,ndjson,human}] [--compact]
                                [--select SELECT | --json-pointer JSON_POINTER]
                                [--verbose]`
- Options:
  - `--table-id` (required; kind=string)
  - `--column-id` (required; kind=string)
  - `--data-json` (kind=json; input=json): ColumnUpdate payload JSON, including valueSchema enum/open_enum metadata when needed
  - `--data-file` (kind=file; input=file): ColumnUpdate payload file path, including valueSchema enum/open_enum metadata when needed
  - `--position` (kind=number): Explicit numeric position override
  - `--hide` (kind=boolean; when omitted=False; when present=True): Hide the column without deleting its cells
  - `--show` (kind=boolean; when omitted=False; when present=True): Show a previously hidden column
  - `--research-mode` (kind=string; choices=lite,heavy): Set config.researchMode. Include config.mode=agent when switching a Quick LLM column to Research Agent.
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

### `companies`

#### `autotouch companies`

Company workspace operations

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `promote, refresh-firmographics, refresh-firmographics-status, list, create, import-csv, import-status, delete, custom-fields, signals`
- Example:
  - `autotouch companies list --search Acme --limit 25`
  - `autotouch companies create --name Acme --domain acme.com`
  - `autotouch companies import-csv --file accounts.csv --source-label Q3-targets`
  - `autotouch companies delete --company-id <COMPANY_ID> --yes`
  - `autotouch companies custom-fields set --company-id <COMPANY_ID> --field-key account_tier --value strategic`
  - `autotouch companies custom-fields bulk-set --company-id <COMPANY_ID> --field-key account_tier --value strategic`
  - `autotouch companies signals enroll --company-id <COMPANY_ID> --signal-type hiring --signal-type funding`

#### `autotouch companies create`

Create or promote a company account

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch companies create [-h] [--data-json DATA_JSON]
                                  [--data-file DATA_FILE] [--name NAME]
                                  [--domain DOMAIN] [--industry INDUSTRY]
                                  [--employee-count EMPLOYEE_COUNT]
                                  [--location LOCATION] [--city CITY]
                                  [--state STATE] [--country COUNTRY]
                                  [--zip-code ZIP_CODE] [--timezone TIMEZONE]
                                  [--phone PHONE]
                                  [--linkedin-url LINKEDIN_URL]
                                  [--base-url BASE_URL] [--token TOKEN]
                                  [--use-x-api-key] [--timeout TIMEOUT]
                                  [--output {json,ndjson,human}] [--compact]
                                  [--select SELECT | --json-pointer JSON_POINTER]
                                  [--verbose]`
- Options:
  - `--data-json` (kind=json; input=json): Company create payload JSON
  - `--data-file` (kind=file; input=file): Path to company create payload JSON
  - `--name` (kind=string)
  - `--domain` (kind=string)
  - `--industry` (kind=string)
  - `--employee-count` (kind=string)
  - `--location` (kind=string)
  - `--city` (kind=string)
  - `--state` (kind=string)
  - `--country` (kind=string)
  - `--zip-code` (kind=string)
  - `--timezone` (kind=string)
  - `--phone` (kind=string)
  - `--linkedin-url` (kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch companies custom-fields`

Set company custom field values

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `set, bulk-set`
- Example:
  - `autotouch companies custom-fields [-h] {set,bulk-set} ...`

#### `autotouch companies custom-fields bulk-set`

Set one custom field value on selected companies

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch companies custom-fields bulk-set [-h]
                                                  [--company-id COMPANY_ID]
                                                  [--company-ids-json COMPANY_IDS_JSON]
                                                  [--company-ids-file COMPANY_IDS_FILE]
                                                  [--data-json DATA_JSON]
                                                  [--data-file DATA_FILE]
                                                  [--field-key FIELD_KEY]
                                                  [--value VALUE | --value-json VALUE_JSON | --value-file VALUE_FILE | --clear]
                                                  [--base-url BASE_URL]
                                                  [--token TOKEN]
                                                  [--use-x-api-key]
                                                  [--timeout TIMEOUT]
                                                  [--output {json,ndjson,human}]
                                                  [--compact]
                                                  [--select SELECT | --json-pointer JSON_POINTER]
                                                  [--verbose]`
- Options:
  - `--company-id` (kind=string; repeatable; comma-separated): Company id (repeatable; comma-separated also supported)
  - `--company-ids-json` (kind=json; input=json): JSON array or object with company_ids[]
  - `--company-ids-file` (kind=file; input=file): Path to JSON file with company_ids[]
  - `--data-json` (kind=json; input=json): Explicit custom field payload JSON
  - `--data-file` (kind=file; input=file): Path to custom field payload JSON file
  - `--field-key` (kind=string): Custom field key from `autotouch crm fields list`, not label or id
  - `--value` (kind=string; sensitive): String value to write
  - `--value-json` (kind=json; input=json): Typed JSON value to write
  - `--value-file` (kind=file; input=file): Path to JSON value to write
  - `--clear` (kind=boolean; when omitted=False; when present=True): Clear the custom field value
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch companies custom-fields set`

Set one custom field value on one company

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--company-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch companies custom-fields set [-h] --company-id COMPANY_ID
                                             [--data-json DATA_JSON]
                                             [--data-file DATA_FILE]
                                             [--field-key FIELD_KEY]
                                             [--value VALUE | --value-json VALUE_JSON | --value-file VALUE_FILE | --clear]
                                             [--base-url BASE_URL]
                                             [--token TOKEN] [--use-x-api-key]
                                             [--timeout TIMEOUT]
                                             [--output {json,ndjson,human}]
                                             [--compact]
                                             [--select SELECT | --json-pointer JSON_POINTER]
                                             [--verbose]`
- Options:
  - `--company-id` (required; kind=string)
  - `--data-json` (kind=json; input=json): Explicit custom field payload JSON
  - `--data-file` (kind=file; input=file): Path to custom field payload JSON file
  - `--field-key` (kind=string): Custom field key from `autotouch crm fields list`, not label or id
  - `--value` (kind=string; sensitive): String value to write
  - `--value-json` (kind=json; input=json): Typed JSON value to write
  - `--value-file` (kind=file; input=file): Path to JSON value to write
  - `--clear` (kind=boolean; when omitted=False; when present=True): Clear the custom field value
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch companies delete`

Remove selected promoted companies from the Companies workspace

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `yes`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch companies delete [-h] [--data-json DATA_JSON]
                                  [--data-file DATA_FILE]
                                  [--company-id COMPANY_ID]
                                  [--company-ids-json COMPANY_IDS_JSON]
                                  [--company-ids-file COMPANY_IDS_FILE]
                                  [--yes] [--base-url BASE_URL]
                                  [--token TOKEN] [--use-x-api-key]
                                  [--timeout TIMEOUT]
                                  [--output {json,ndjson,human}] [--compact]
                                  [--select SELECT | --json-pointer JSON_POINTER]
                                  [--verbose]`
- Options:
  - `--data-json` (kind=json; input=json): Explicit CompanySelection payload JSON
  - `--data-file` (kind=file; input=file): Path to explicit CompanySelection payload JSON
  - `--company-id` (kind=string; repeatable; comma-separated): Company id; repeatable or comma-separated
  - `--company-ids-json` (kind=json; input=json): JSON array or object with company_ids[]
  - `--company-ids-file` (kind=file; input=file): Path to JSON file with company_ids[]
  - `--yes` (kind=boolean; when omitted=False; when present=True): Required confirmation for workspace removal
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch companies import-csv`

Import a CSV into promoted Companies/accounts

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--file`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch companies import-csv [-h] --file FILE
                                      [--source-label SOURCE_LABEL]
                                      [--core-field-mappings-json CORE_FIELD_MAPPINGS_JSON]
                                      [--core-field-mappings-file CORE_FIELD_MAPPINGS_FILE]
                                      [--custom-field-mappings-json CUSTOM_FIELD_MAPPINGS_JSON]
                                      [--custom-field-mappings-file CUSTOM_FIELD_MAPPINGS_FILE]
                                      [--custom-field-static-values-json CUSTOM_FIELD_STATIC_VALUES_JSON]
                                      [--custom-field-static-values-file CUSTOM_FIELD_STATIC_VALUES_FILE]
                                      [--sync] [--base-url BASE_URL]
                                      [--token TOKEN] [--use-x-api-key]
                                      [--timeout TIMEOUT]
                                      [--output {json,ndjson,human}]
                                      [--compact]
                                      [--select SELECT | --json-pointer JSON_POINTER]
                                      [--verbose]`
- Options:
  - `--file` (required; kind=file; input=file): Path to the source CSV
  - `--source-label` (kind=string)
  - `--core-field-mappings-json` (kind=json; input=json)
  - `--core-field-mappings-file` (kind=file; input=file)
  - `--custom-field-mappings-json` (kind=json; input=json)
  - `--custom-field-mappings-file` (kind=file; input=file)
  - `--custom-field-static-values-json` (kind=json; input=json)
  - `--custom-field-static-values-file` (kind=file; input=file)
  - `--sync` (kind=boolean; when omitted=False; when present=True): Run synchronously instead of queueing
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch companies import-status`

Get company CSV import status

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--task-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch companies import-status [-h] --task-id TASK_ID
                                         [--base-url BASE_URL] [--token TOKEN]
                                         [--use-x-api-key] [--timeout TIMEOUT]
                                         [--output {json,ndjson,human}]
                                         [--compact]
                                         [--select SELECT | --json-pointer JSON_POINTER]
                                         [--verbose]`
- Options:
  - `--task-id` (required; kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch companies list`

Query Companies workspace records

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch companies list [-h] [--search SEARCH] [--owner-id OWNER_ID]
                                [--source-table-id SOURCE_TABLE_ID]
                                [--filters-json FILTERS_JSON]
                                [--filters-file FILTERS_FILE]
                                [--qualified-only] [--include-memory]
                                [--sort SORT] [--order {asc,desc}]
                                [--limit LIMIT] [--offset OFFSET]
                                [--base-url BASE_URL] [--token TOKEN]
                                [--use-x-api-key] [--timeout TIMEOUT]
                                [--output {json,ndjson,human}] [--compact]
                                [--select SELECT | --json-pointer JSON_POINTER]
                                [--verbose]`
- Options:
  - `--search` (kind=string)
  - `--owner-id` (kind=string)
  - `--source-table-id` (kind=string): Restrict results to companies from a Research Table
  - `--filters-json` (kind=json; input=json): JSON company filter rules
  - `--filters-file` (kind=file; input=file): Path to JSON company filter rules
  - `--qualified-only` (kind=boolean; when omitted=False; when present=True)
  - `--include-memory` (kind=boolean; when omitted=False; when present=True)
  - `--sort` (kind=string; default=name)
  - `--order` (kind=string; choices=asc,desc; default=asc)
  - `--limit` (kind=integer; default=100)
  - `--offset` (kind=integer; default=0)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch companies promote`

Promote one exact Company memory record into Companies

Promote one exact Company memory record into Companies. Requires a user session (`autotouch auth login`); developer keys are not supported.

- Auth: `user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--company-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch companies promote [-h] --company-id COMPANY_ID
                                   [--data-json DATA_JSON | --data-file DATA_FILE]
                                   [--base-url BASE_URL] [--token TOKEN]
                                   [--timeout TIMEOUT]
                                   [--output {json,ndjson,human}] [--compact]
                                   [--select SELECT | --json-pointer JSON_POINTER]
                                   [--verbose]`
- Options:
  - `--company-id` (required; kind=string)
  - `--data-json` (kind=json; input=json): Optional research context: research {table_id, row_id, source_fit_column_id} as JSON
  - `--data-file` (kind=file; input=file): Path to Optional research context: research {table_id, row_id, source_fit_column_id} JSON (use - for stdin)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): User session token (defaults to the saved user session)
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch companies refresh-firmographics`

Refresh firmographics for one exact Company memory record

Refresh firmographics for one exact Company memory record. Requires a user session (`autotouch auth login`); developer keys are not supported.

- Auth: `user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--company-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch companies refresh-firmographics [-h] --company-id COMPANY_ID
                                                 [--data-json DATA_JSON | --data-file DATA_FILE]
                                                 [--idempotency-key IDEMPOTENCY_KEY]
                                                 [--base-url BASE_URL]
                                                 [--token TOKEN]
                                                 [--timeout TIMEOUT]
                                                 [--output {json,ndjson,human}]
                                                 [--compact]
                                                 [--select SELECT | --json-pointer JSON_POINTER]
                                                 [--verbose]`
- Options:
  - `--company-id` (required; kind=string)
  - `--data-json` (kind=json; input=json): CompanyFirmographicsRefreshPayload: optional providers, use_geocoder, classify_public_docs as JSON
  - `--data-file` (kind=file; input=file): Path to CompanyFirmographicsRefreshPayload: optional providers, use_geocoder, classify_public_docs JSON (use - for stdin)
  - `--idempotency-key` (kind=string): Optional stable refresh occurrence key, sent as Idempotency-Key
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): User session token (defaults to the saved user session)
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch companies refresh-firmographics-status`

Read the exact native firmographic refresh result

Read the exact native firmographic refresh result. Requires a user session (`autotouch auth login`); developer keys are not supported.

- Auth: `user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--company-id, --job-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch companies refresh-firmographics-status [-h] --company-id
                                                        COMPANY_ID --job-id
                                                        JOB_ID
                                                        [--base-url BASE_URL]
                                                        [--token TOKEN]
                                                        [--timeout TIMEOUT]
                                                        [--output {json,ndjson,human}]
                                                        [--compact]
                                                        [--select SELECT | --json-pointer JSON_POINTER]
                                                        [--verbose]`
- Options:
  - `--company-id` (required; kind=string)
  - `--job-id` (required; kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): User session token (defaults to the saved user session)
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch companies signals`

Manage recurring Company Signals monitoring

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `enroll`
- Example:
  - `autotouch companies signals [-h] {enroll} ...`

#### `autotouch companies signals enroll`

Enroll selected companies in recurring signal monitoring

Enroll selected companies using the provider's company-monitoring contract. LinkedIn posts uses harvest_linkedin with linkedin_posts, a daily cadence, and a one-day retrieval window. Relevance is evaluated after retrieval; custom topics do not become provider search keywords. Enrollment requests an immediate check by default; --no-run-now waits for the next scheduled cadence.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch companies signals enroll --company-id <COMPANY_ID> --signal-type funding`
  - `autotouch companies signals enroll --company-id <COMPANY_ID> --provider harvest_linkedin --signal-type linkedin_posts --frequency daily --lookback-days 1 --config-json '{"signal_filters":{"linkedin_posts":{"relevance_mode":"custom","topic":"medical devices and related work"}}}'`
- Options:
  - `--data-json` (kind=json; input=json): Explicit bulk-enrollment payload JSON, including ids or descriptor selection
  - `--data-file` (kind=file; input=file): Path to an explicit bulk-enrollment payload JSON file
  - `--company-id` (kind=string; repeatable; comma-separated): Company id (repeatable; comma-separated also supported)
  - `--company-ids-json` (kind=json; input=json): JSON array or object with company_ids[]
  - `--company-ids-file` (kind=file; input=file): Path to JSON file with company_ids[]
  - `--provider` (kind=string; default=signalbase): Company monitoring provider (default: signalbase); use harvest_linkedin for LinkedIn posts
  - `--signal-type` (kind=string; repeatable; comma-separated): Signal type (repeatable; comma-separated also supported); omission uses the selected provider's defaults. harvest_linkedin supports linkedin_posts only
  - `--frequency` (kind=string; default=weekly): Requested cadence (default: weekly); LinkedIn posts always runs daily
  - `--lookback-days` (kind=integer; default=7): Requested lookback in days (default: 7); LinkedIn posts always retrieves one day
  - `--delivery-channel` (kind=string; repeatable; comma-separated): Delivery channel (repeatable; comma-separated also supported)
  - `--active-until` (kind=string): Optional ISO-8601 subscription end time
  - `--paused` (kind=boolean; when omitted=False; when present=True): Create subscriptions paused without running now
  - `--run-now, --no-run-now` (kind=string): Request an immediate asynchronous check (default for enabled enrollment); --no-run-now only enrolls
  - `--config-json` (kind=json; input=json): Provider config JSON containing signal_filters. LinkedIn posts uses signal_filters.linkedin_posts with relevance_mode=recommended|custom|all; custom requires a topic
  - `--config-file` (kind=file; input=file): Path to provider config JSON containing signal_filters
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

### `context`

#### `autotouch context`

Resolved requester context used by enrichment/runtime

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `resolved`
- Example:
  - `autotouch context [-h] {resolved} ...`

#### `autotouch context resolved`

Show effective requester context after workspace profile and personal voice resolution

- Auth: `user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch context resolved [-h] [--base-url BASE_URL] [--token TOKEN]
                                  [--use-x-api-key] [--timeout TIMEOUT]
                                  [--output {json,ndjson,human}] [--compact]
                                  [--select SELECT | --json-pointer JSON_POINTER]
                                  [--verbose]`
- Options:
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

### `crm`

#### `autotouch crm`

CRM workspace field catalog and custom fields

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `fields`
- Example:
  - `autotouch crm fields list --entity lead --custom-only`
  - `autotouch crm fields create --entity lead --label Priority --type select --option high=High --option low=Low`
  - `autotouch crm fields update --field-id <FIELD_ID> --label 'Lead priority'`

#### `autotouch crm fields`

CRM Lead, Company, and Deal field catalog

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `list, create, update`
- Example:
  - `autotouch crm fields [-h] {list,create,update} ...`

#### `autotouch crm fields create`

Create a Lead, Company, or Deal custom field definition

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch crm fields create [-h] [--data-json DATA_JSON]
                                   [--data-file DATA_FILE]
                                   [--entity {lead,company,deal}] [--key KEY]
                                   [--type {text,number,date,boolean,select,multi_select}]
                                   [--label LABEL] [--option OPTION]
                                   [--options-json OPTIONS_JSON]
                                   [--options-file OPTIONS_FILE]
                                   [--filterable | --not-filterable]
                                   [--sortable | --not-sortable]
                                   [--searchable | --not-searchable]
                                   [--include-in-sequence-variables | --exclude-from-sequence-variables]
                                   [--include-in-task-context | --exclude-from-task-context]
                                   [--include-in-ai-context | --exclude-from-ai-context]
                                   [--base-url BASE_URL] [--token TOKEN]
                                   [--use-x-api-key] [--timeout TIMEOUT]
                                   [--output {json,ndjson,human}] [--compact]
                                   [--select SELECT | --json-pointer JSON_POINTER]
                                   [--verbose]`
- Options:
  - `--data-json` (kind=json; input=json): Explicit CRM custom field payload JSON
  - `--data-file` (kind=file; input=file): Path to CRM custom field payload JSON file
  - `--entity` (kind=string; choices=lead,company,deal): Custom field entity type
  - `--key` (kind=string): Optional stable snake_case key; derived from label when omitted
  - `--type` (kind=string; choices=text,number,date,boolean,select,multi_select): Custom field data type
  - `--label` (kind=string): Custom field display label
  - `--option` (kind=string; repeatable): Select option as VALUE=Label or VALUE=Label:#hex; repeat for select/multi_select fields
  - `--options-json` (kind=json; input=json): JSON array of option objects
  - `--options-file` (kind=file; input=file): Path to JSON array of option objects
  - `--filterable` (kind=boolean; when omitted=None; when present=True)
  - `--not-filterable` (kind=boolean; when omitted=None; when present=False)
  - `--sortable` (kind=boolean; when omitted=None; when present=True)
  - `--not-sortable` (kind=boolean; when omitted=None; when present=False)
  - `--searchable` (kind=boolean; when omitted=None; when present=True)
  - `--not-searchable` (kind=boolean; when omitted=None; when present=False)
  - `--include-in-sequence-variables` (kind=boolean; when omitted=None; when present=True)
  - `--exclude-from-sequence-variables` (kind=boolean; when omitted=None; when present=False)
  - `--include-in-task-context` (kind=boolean; when omitted=None; when present=True)
  - `--exclude-from-task-context` (kind=boolean; when omitted=None; when present=False)
  - `--include-in-ai-context` (kind=boolean; when omitted=None; when present=True)
  - `--exclude-from-ai-context` (kind=boolean; when omitted=None; when present=False)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch crm fields list`

List standard and custom CRM fields

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch crm fields list [-h] [--entity {lead,company,deal}]
                                 [--usage {profile,table,sync_to_leads,filter,sort,search,task_context,sequence_variables,ai_context}]
                                 [--custom-only] [--base-url BASE_URL]
                                 [--token TOKEN] [--use-x-api-key]
                                 [--timeout TIMEOUT]
                                 [--output {json,ndjson,human}] [--compact]
                                 [--select SELECT | --json-pointer JSON_POINTER]
                                 [--verbose]`
- Options:
  - `--entity` (kind=string; choices=lead,company,deal): Filter by Lead, Company, or Deal fields
  - `--usage` (kind=string; choices=profile,table,sync_to_leads,filter,sort,search,task_context,sequence_variables,ai_context): Filter field catalog by usage
  - `--custom-only` (kind=boolean; when omitted=False; when present=True): Return only organization-defined custom fields
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch crm fields update`

Update a CRM custom field definition

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--field-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch crm fields update [-h] --field-id FIELD_ID
                                   [--data-json DATA_JSON]
                                   [--data-file DATA_FILE] [--label LABEL]
                                   [--option OPTION]
                                   [--options-json OPTIONS_JSON]
                                   [--options-file OPTIONS_FILE]
                                   [--filterable | --not-filterable]
                                   [--sortable | --not-sortable]
                                   [--searchable | --not-searchable]
                                   [--include-in-sequence-variables | --exclude-from-sequence-variables]
                                   [--include-in-task-context | --exclude-from-task-context]
                                   [--include-in-ai-context | --exclude-from-ai-context]
                                   [--base-url BASE_URL] [--token TOKEN]
                                   [--use-x-api-key] [--timeout TIMEOUT]
                                   [--output {json,ndjson,human}] [--compact]
                                   [--select SELECT | --json-pointer JSON_POINTER]
                                   [--verbose]`
- Options:
  - `--field-id` (required; kind=string): Custom field definition id from crm fields list
  - `--data-json` (kind=json; input=json): Explicit CRM custom field payload JSON
  - `--data-file` (kind=file; input=file): Path to CRM custom field payload JSON file
  - `--label` (kind=string): Custom field display label
  - `--option` (kind=string; repeatable): Select option as VALUE=Label or VALUE=Label:#hex; repeat for select/multi_select fields
  - `--options-json` (kind=json; input=json): JSON array of option objects
  - `--options-file` (kind=file; input=file): Path to JSON array of option objects
  - `--filterable` (kind=boolean; when omitted=None; when present=True)
  - `--not-filterable` (kind=boolean; when omitted=None; when present=False)
  - `--sortable` (kind=boolean; when omitted=None; when present=True)
  - `--not-sortable` (kind=boolean; when omitted=None; when present=False)
  - `--searchable` (kind=boolean; when omitted=None; when present=True)
  - `--not-searchable` (kind=boolean; when omitted=None; when present=False)
  - `--include-in-sequence-variables` (kind=boolean; when omitted=None; when present=True)
  - `--exclude-from-sequence-variables` (kind=boolean; when omitted=None; when present=False)
  - `--include-in-task-context` (kind=boolean; when omitted=None; when present=True)
  - `--exclude-from-task-context` (kind=boolean; when omitted=None; when present=False)
  - `--include-in-ai-context` (kind=boolean; when omitted=None; when present=True)
  - `--exclude-from-ai-context` (kind=boolean; when omitted=None; when present=False)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

### `deals`

#### `autotouch deals`

Deal workspace operations

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `list, get, pipelines, create, update, delete`
- Example:
  - `autotouch deals [-h] {list,get,pipelines,create,update,delete} ...`

#### `autotouch deals create`

Create a Deal (deals:write)

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch deals create [-h]
                              (--data-json DATA_JSON | --data-file DATA_FILE)
                              [--base-url BASE_URL] [--token TOKEN]
                              [--use-x-api-key] [--timeout TIMEOUT]
                              [--output {json,ndjson,human}] [--compact]
                              [--select SELECT | --json-pointer JSON_POINTER]
                              [--verbose]`
- Options:
  - `--data-json` (kind=json; input=json): DealCreate: required name; optional paired pipeline_id and stage_id, company/lead IDs, owner, amount, close dates, next step and custom fields as JSON
  - `--data-file` (kind=file; input=file): Path to DealCreate: required name; optional paired pipeline_id and stage_id, company/lead IDs, owner, amount, close dates, next step and custom fields JSON (use - for stdin)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch deals delete`

Archive one Deal (deals:write); the API returns 204 and the CLI prints a local confirmation

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `yes`
- Required flags: `--deal-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch deals delete [-h] --deal-id DEAL_ID [--base-url BASE_URL]
                              [--token TOKEN] [--use-x-api-key]
                              [--timeout TIMEOUT]
                              [--output {json,ndjson,human}] [--compact]
                              [--select SELECT | --json-pointer JSON_POINTER]
                              [--verbose]`
- Options:
  - `--deal-id` (required; kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch deals get`

Read one Deal by ID (deals:read)

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--deal-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch deals get [-h] --deal-id DEAL_ID [--base-url BASE_URL]
                           [--token TOKEN] [--use-x-api-key]
                           [--timeout TIMEOUT] [--output {json,ndjson,human}]
                           [--compact]
                           [--select SELECT | --json-pointer JSON_POINTER]
                           [--verbose]`
- Options:
  - `--deal-id` (required; kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch deals list`

List Deals with optional filters and page offset (deals:read)

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch deals list [-h] [--company-id COMPANY_ID] [--lead-id LEAD_ID]
                            [--owner-user-id OWNER_USER_ID]
                            [--pipeline-id PIPELINE_ID] [--stage-id STAGE_ID]
                            [--state {open,won,lost,unknown}] [--q Q]
                            [--include-archived] [--limit LIMIT] [--skip SKIP]
                            [--base-url BASE_URL] [--token TOKEN]
                            [--use-x-api-key] [--timeout TIMEOUT]
                            [--output {json,ndjson,human}] [--compact]
                            [--select SELECT | --json-pointer JSON_POINTER]
                            [--verbose]`
- Options:
  - `--company-id` (kind=string)
  - `--lead-id` (kind=string)
  - `--owner-user-id` (kind=string)
  - `--pipeline-id` (kind=string)
  - `--stage-id` (kind=string)
  - `--state` (kind=string; choices=open,won,lost,unknown)
  - `--q` (kind=string)
  - `--include-archived` (kind=boolean; when omitted=None; when present=True)
  - `--limit` (kind=integer)
  - `--skip` (kind=integer)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch deals pipelines`

List available Deal pipelines and stages (deals:read)

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch deals pipelines [-h] [--base-url BASE_URL] [--token TOKEN]
                                 [--use-x-api-key] [--timeout TIMEOUT]
                                 [--output {json,ndjson,human}] [--compact]
                                 [--select SELECT | --json-pointer JSON_POINTER]
                                 [--verbose]`
- Options:
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch deals update`

Update a Deal, including stage and next step (deals:write)

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--deal-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch deals update [-h] --deal-id DEAL_ID
                              (--data-json DATA_JSON | --data-file DATA_FILE)
                              [--base-url BASE_URL] [--token TOKEN]
                              [--use-x-api-key] [--timeout TIMEOUT]
                              [--output {json,ndjson,human}] [--compact]
                              [--select SELECT | --json-pointer JSON_POINTER]
                              [--verbose]`
- Options:
  - `--deal-id` (required; kind=string)
  - `--data-json` (kind=json; input=json): DealUpdate: changed Deal fields; pipeline/stage changes can trigger lifecycle effects as JSON
  - `--data-file` (kind=file; input=file): Path to DealUpdate: changed Deal fields; pipeline/stage changes can trigger lifecycle effects JSON (use - for stdin)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

### `event-streams`

#### `autotouch event-streams`

Configure Research Table event streams

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `list, setup, save, suggest-mappings, generate-settings, reprocess`
- Example:
  - `autotouch event-streams [-h]
                               {list,setup,save,suggest-mappings,generate-settings,reprocess}
                               ...`

#### `autotouch event-streams generate-settings`

Generate display and mapping settings

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch event-streams generate-settings [-h] [--base-url BASE_URL]
                                                 [--token TOKEN]
                                                 [--use-x-api-key]
                                                 [--timeout TIMEOUT]
                                                 [--output {json,ndjson,human}]
                                                 [--compact]
                                                 [--select SELECT | --json-pointer JSON_POINTER]
                                                 [--verbose]
                                                 [--data-json DATA_JSON]
                                                 [--data-file DATA_FILE]`
- Options:
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr
  - `--data-json` (kind=json; input=json)
  - `--data-file` (kind=file; input=file)

#### `autotouch event-streams list`

List event-stream definitions

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch event-streams list [-h] [--base-url BASE_URL] [--token TOKEN]
                                    [--use-x-api-key] [--timeout TIMEOUT]
                                    [--output {json,ndjson,human}] [--compact]
                                    [--select SELECT | --json-pointer JSON_POINTER]
                                    [--verbose] [--table-id TABLE_ID]`
- Options:
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr
  - `--table-id` (kind=string)

#### `autotouch event-streams reprocess`

Reprocess matching historical rows

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch event-streams reprocess [-h] [--base-url BASE_URL]
                                         [--token TOKEN] [--use-x-api-key]
                                         [--timeout TIMEOUT]
                                         [--output {json,ndjson,human}]
                                         [--compact]
                                         [--select SELECT | --json-pointer JSON_POINTER]
                                         [--verbose] [--limit LIMIT]
                                         [--data-json DATA_JSON]
                                         [--data-file DATA_FILE]
                                         definition_id`
- Options:
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr
  - `--limit` (kind=integer; default=500)
  - `--data-json` (kind=json; input=json)
  - `--data-file` (kind=file; input=file)

#### `autotouch event-streams save`

Create or update one stream definition

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch event-streams save [-h] [--base-url BASE_URL] [--token TOKEN]
                                    [--use-x-api-key] [--timeout TIMEOUT]
                                    [--output {json,ndjson,human}] [--compact]
                                    [--select SELECT | --json-pointer JSON_POINTER]
                                    [--verbose] [--data-json DATA_JSON]
                                    [--data-file DATA_FILE]`
- Options:
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr
  - `--data-json` (kind=json; input=json)
  - `--data-file` (kind=file; input=file)

#### `autotouch event-streams setup`

Create or configure an event table from a setup plan

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch event-streams setup [-h] [--base-url BASE_URL]
                                     [--token TOKEN] [--use-x-api-key]
                                     [--timeout TIMEOUT]
                                     [--output {json,ndjson,human}]
                                     [--compact]
                                     [--select SELECT | --json-pointer JSON_POINTER]
                                     [--verbose] [--data-json DATA_JSON]
                                     [--data-file DATA_FILE]
                                     [--idempotency-key IDEMPOTENCY_KEY]`
- Options:
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr
  - `--data-json` (kind=json; input=json)
  - `--data-file` (kind=file; input=file)
  - `--idempotency-key` (kind=string): Retry-safe identity required when setup_mode is new_event_table

#### `autotouch event-streams suggest-mappings`

Suggest mappings from sample fields

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch event-streams suggest-mappings [-h] [--base-url BASE_URL]
                                                [--token TOKEN]
                                                [--use-x-api-key]
                                                [--timeout TIMEOUT]
                                                [--output {json,ndjson,human}]
                                                [--compact]
                                                [--select SELECT | --json-pointer JSON_POINTER]
                                                [--verbose]
                                                [--data-json DATA_JSON]
                                                [--data-file DATA_FILE]`
- Options:
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr
  - `--data-json` (kind=json; input=json)
  - `--data-file` (kind=file; input=file)

### `integrations`

#### `autotouch integrations`

Discover connected sources/destinations and CRM import/push helpers

Use this before choosing a workflow. Directional vocabulary: from_crm pulls HubSpot/Attio/Salesforce into a research table; to_crm pushes rows to HubSpot/Attio; to_outreach pushes rows to Instantly/Smartlead; to_leads syncs rows to Autotouch Leads; to_sequence enrolls Leads into Autotouch Sequences.

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `list, status, recipe, from-crm, from-crm-status, to-crm-status`
- Example:
  - `autotouch integrations list`
  - `autotouch integrations status --provider hubspot`
  - `autotouch integrations recipe --type from_crm --provider hubspot`
  - `autotouch columns recipe --type to_crm --out-file push-to-crm.json`
  - `autotouch integrations to-crm-status --task-id <TASK_ID>`

#### `autotouch integrations from-crm`

Import a connected CRM selection into a Research Table

Submit a HubSpot, Attio, or Salesforce list/filter import through the durable connected-CRM import command.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--provider, --list-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch integrations from-crm --provider hubspot --list-id <LIST_ID> --selected-field name --selected-field domain --table-name 'HubSpot Accounts'`
  - `autotouch integrations from-crm --provider salesforce --list-id filters --data-file salesforce-import.json`
- Options:
  - `--provider` (required; kind=string; choices=hubspot,attio,salesforce)
  - `--list-id` (required; kind=string): Provider list id, or filters for a filter import
  - `--import-type` (kind=string; default=company): Provider object type
  - `--selected-field` (kind=string; repeatable; comma-separated): Provider property id (repeatable; comma-separated also supported)
  - `--filters-json` (kind=json; input=json): Provider filter descriptor array as JSON
  - `--filters-file` (kind=file; input=file): Path to a provider filter descriptor JSON array
  - `--table-mode` (kind=string; choices=create,append; default=create)
  - `--table-id` (kind=string): Existing Research Table id for append mode
  - `--table-name` (kind=string): Destination table name for create mode
  - `--data-json` (kind=json; input=json): Explicit import body JSON; overrides body flags
  - `--data-file` (kind=file; input=file): Path to explicit import body JSON; overrides body flags
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch integrations from-crm-status`

Check a CRM import job

Check a CRM import task created by POST /api/crm/{provider}/lists/{list_id}/import.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--task-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch integrations from-crm-status --task-id <TASK_ID>`
- Options:
  - `--task-id` (required; kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch integrations list`

List available source/destination integrations

Read the backend-owned integration catalog. The response includes sources, destinations, and recipes. Use sources for pull workflows such as from_crm, and destinations for push/sync/enroll workflows such as to_crm, to_outreach, to_leads, and to_sequence.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch integrations list --output json`
  - `autotouch integrations list --select sources`
  - `autotouch integrations list --select destinations`
- Options:
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch integrations recipe`

Print integration workflow payload recipes

Print payload guidance without executing an integration workflow. For from_crm, use integrations from-crm to submit the generated path/body through the shared API command.

- Auth: `none`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch integrations recipe --type from_crm --provider hubspot`
  - `autotouch integrations recipe --type from_crm --provider attio --output json --compact`
- Options:
  - `--type` (kind=string; choices=from_crm; default=from_crm)
  - `--provider` (kind=string; choices=hubspot,attio,salesforce; default=hubspot)
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)

#### `autotouch integrations status`

Show connection status for one integration

Read one provider from the integration catalog. The result shows connected/status/supports so agents can decide whether the provider can be used for from_crm, to_crm, or to_outreach before creating workflow columns.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--provider`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch integrations status --provider hubspot`
  - `autotouch integrations status --provider instantly --select connected`
  - `autotouch integrations status --provider attio --select supports`
- Options:
  - `--provider` (required; kind=string; choices=hubspot,attio,salesforce,instantly,smartlead)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch integrations to-crm-status`

Check a CRM push job

Check a CRM push task created by running a research-table to_crm column.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--task-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch integrations to-crm-status --task-id <TASK_ID>`
- Options:
  - `--task-id` (required; kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

### `jobs`

#### `autotouch jobs`

Bulk job operations

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `get, list, watch`
- Example:
  - `autotouch jobs [-h] {get,list,watch} ...`

#### `autotouch jobs get`

Get bulk job details

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--job-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch jobs get [-h] --job-id JOB_ID [--base-url BASE_URL]
                          [--token TOKEN] [--use-x-api-key]
                          [--timeout TIMEOUT] [--output {json,ndjson,human}]
                          [--compact]
                          [--select SELECT | --json-pointer JSON_POINTER]
                          [--verbose]`
- Options:
  - `--job-id` (required; kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch jobs list`

List recent bulk jobs (recover latest job_id)

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch jobs list [-h] [--table-id TABLE_ID] [--column-id COLUMN_ID]
                           [--status STATUS] [--provider PROVIDER]
                           [--limit LIMIT] [--base-url BASE_URL]
                           [--token TOKEN] [--use-x-api-key]
                           [--timeout TIMEOUT] [--output {json,ndjson,human}]
                           [--compact]
                           [--select SELECT | --json-pointer JSON_POINTER]
                           [--verbose]`
- Options:
  - `--table-id` (kind=string): Filter by table id
  - `--column-id` (kind=string): Filter by column id
  - `--status` (kind=string; comma-separated): Filter by status (or comma-separated statuses)
  - `--provider` (kind=string): Filter by provider
  - `--limit` (kind=integer; default=20): Max jobs to return (1-100)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch jobs watch`

Poll bulk job status until terminal (or once)

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--job-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch jobs watch [-h] --job-id JOB_ID [--once]
                            [--interval INTERVAL]
                            [--wait-timeout WAIT_TIMEOUT] [--fail-on-error]
                            [--fail-on-partial] [--base-url BASE_URL]
                            [--token TOKEN] [--use-x-api-key]
                            [--timeout TIMEOUT] [--output {json,ndjson,human}]
                            [--compact]
                            [--select SELECT | --json-pointer JSON_POINTER]
                            [--verbose]`
- Options:
  - `--job-id` (required; kind=string)
  - `--once` (kind=boolean; when omitted=False; when present=True): Fetch once and exit
  - `--interval` (kind=integer; default=2): Polling interval seconds
  - `--wait-timeout` (kind=integer; default=0): Max seconds to wait (0 = no timeout)
  - `--fail-on-error` (kind=boolean; when omitted=False; when present=True): Exit non-zero on error/cancelled
  - `--fail-on-partial` (kind=boolean; when omitted=False; when present=True): Exit non-zero on partial
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

### `leads`

#### `autotouch leads`

Lead query + mutation operations

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `recipe, get, custom-fields, create, update, upsert-contact-channels, update-status, reassign-owner, find-emails, find-mobile-numbers, validate-emails, exit-sequences, create-research-table, import-csv, import-preview, import-status, delete, query, count, stats, research, filters-metadata, research-tables`
- Example:
  - `autotouch leads [-h]
                       {recipe,get,custom-fields,create,update,upsert-contact-channels,upsert-contacts,update-status,reassign-owner,find-emails,find-mobile-numbers,validate-emails,exit-sequences,create-research-table,import-csv,import-preview,import-status,delete,query,count,stats,research,filters-metadata,research-tables}
                       ...`

#### `autotouch leads count`

Count leads matching a query payload

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch leads count [-h] [--data-json DATA_JSON]
                             [--data-file DATA_FILE]
                             [--filter-json FILTER_JSON]
                             [--filter-file FILTER_FILE]
                             [--sort-json SORT_JSON] [--sort-file SORT_FILE]
                             [--search SEARCH] [--limit LIMIT]
                             [--cursor CURSOR] [--scope {org,user}]
                             [--source-table-id SOURCE_TABLE_ID]
                             [--source-table-scope {company,lead}]
                             [--related-tables-mode {linked,direct,none}]
                             [--include-research-data]
                             [--include-placeholder-leads] [--ids-only]
                             [--base-url BASE_URL] [--token TOKEN]
                             [--use-x-api-key] [--timeout TIMEOUT]
                             [--output {json,ndjson,human}] [--compact]
                             [--select SELECT | --json-pointer JSON_POINTER]
                             [--verbose]`
- Options:
  - `--data-json` (kind=json; input=json): Explicit leads query payload JSON
  - `--data-file` (kind=file; input=file): Path to leads query payload JSON file
  - `--filter-json` (kind=json; input=json): Filter descriptor JSON object
  - `--filter-file` (kind=file; input=file): Path to filter descriptor JSON file
  - `--sort-json` (kind=json; input=json): Sort spec JSON object/array
  - `--sort-file` (kind=file; input=file): Path to sort spec JSON file
  - `--search` (kind=string): Free-text lead search
  - `--limit` (kind=integer): Pagination limit
  - `--cursor` (kind=string): Pagination cursor
  - `--scope` (kind=string; choices=org,user): Lead scope
  - `--source-table-id` (kind=string): Research table id used for scope/research context
  - `--source-table-scope` (kind=string; choices=company,lead): Research scope resolution mode
  - `--related-tables-mode` (kind=string; choices=linked,direct,none): How related_tables should be populated
  - `--include-research-data` (kind=boolean; when omitted=False; when present=True): Inline research_data when --source-table-id is provided
  - `--include-placeholder-leads` (kind=boolean; when omitted=False; when present=True): Include placeholder/incomplete lead records
  - `--ids-only` (kind=boolean; when omitted=False; when present=True): Return lead identifiers without workspace enrichment joins
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch leads create`

Create a lead from a JSON payload

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch leads create [-h] [--data-json DATA_JSON]
                              [--data-file DATA_FILE] [--base-url BASE_URL]
                              [--token TOKEN] [--use-x-api-key]
                              [--timeout TIMEOUT]
                              [--output {json,ndjson,human}] [--compact]
                              [--select SELECT | --json-pointer JSON_POINTER]
                              [--verbose]`
- Options:
  - `--data-json` (kind=json; input=json): Lead create payload JSON
  - `--data-file` (kind=file; input=file): Path to lead create payload JSON file
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch leads create-research-table`

Add selected leads to a new or existing Research Table

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch leads create-research-table [-h] [--data-json DATA_JSON]
                                             [--data-file DATA_FILE]
                                             [--lead-id LEAD_ID]
                                             [--lead-ids-json LEAD_IDS_JSON]
                                             [--lead-ids-file LEAD_IDS_FILE]
                                             [--lead-ids-column LEAD_IDS_COLUMN]
                                             [--filter-json FILTER_JSON]
                                             [--filter-file FILTER_FILE]
                                             [--sort-json SORT_JSON]
                                             [--sort-file SORT_FILE]
                                             [--search SEARCH] [--limit LIMIT]
                                             [--scope {org,user}]
                                             [--source-table-id SOURCE_TABLE_ID]
                                             [--source-table-scope {company,lead}]
                                             [--table-name TABLE_NAME | --destination-table-id DESTINATION_TABLE_ID]
                                             [--research-field-id RESEARCH_FIELD_ID]
                                             [--allow-mixed-grain]
                                             [--base-url BASE_URL]
                                             [--token TOKEN] [--use-x-api-key]
                                             [--timeout TIMEOUT]
                                             [--output {json,ndjson,human}]
                                             [--compact]
                                             [--select SELECT | --json-pointer JSON_POINTER]
                                             [--verbose]`
- Options:
  - `--data-json` (kind=json; input=json): Explicit bulk lead action payload JSON
  - `--data-file` (kind=file; input=file): Path to bulk lead action payload JSON file
  - `--lead-id` (kind=string; repeatable; comma-separated): Lead id (repeatable; comma-separated also supported)
  - `--lead-ids-json` (kind=json; input=json): JSON array or object with lead_ids[]
  - `--lead-ids-file` (kind=file; input=file): Path to JSON/TXT/CSV file with lead_ids[]
  - `--lead-ids-column` (kind=string; default=lead_id): CSV column for lead ids (default: lead_id)
  - `--filter-json` (kind=json; input=json): Filter descriptor JSON object
  - `--filter-file` (kind=file; input=file): Path to filter descriptor JSON file
  - `--sort-json` (kind=json; input=json): Sort spec JSON object/array
  - `--sort-file` (kind=file; input=file): Path to sort spec JSON file
  - `--search` (kind=string): Free-text lead search
  - `--limit` (kind=integer): Optional descriptor selection limit
  - `--scope` (kind=string; choices=org,user): Lead scope
  - `--source-table-id` (kind=string): Optional research table id for descriptor selection
  - `--source-table-scope` (kind=string; choices=company,lead): Optional research scope resolution mode
  - `--table-name` (kind=string): Create a Research Table with this name
  - `--destination-table-id` (kind=string): Add leads to this existing Research Table
  - `--research-field-id` (kind=string; repeatable): Source research field id; repeatable
  - `--allow-mixed-grain` (kind=boolean; when omitted=False; when present=True): Confirm adding Leads-managed rows to an existing generic table
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch leads custom-fields`

Set lead custom field values

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `set, bulk-set`
- Example:
  - `autotouch leads custom-fields [-h] {set,bulk-set} ...`

#### `autotouch leads custom-fields bulk-set`

Set one custom field value on selected leads

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch leads custom-fields bulk-set [-h] [--data-json DATA_JSON]
                                              [--data-file DATA_FILE]
                                              [--lead-id LEAD_ID]
                                              [--lead-ids-json LEAD_IDS_JSON]
                                              [--lead-ids-file LEAD_IDS_FILE]
                                              [--lead-ids-column LEAD_IDS_COLUMN]
                                              [--filter-json FILTER_JSON]
                                              [--filter-file FILTER_FILE]
                                              [--sort-json SORT_JSON]
                                              [--sort-file SORT_FILE]
                                              [--search SEARCH]
                                              [--limit LIMIT]
                                              [--scope {org,user}]
                                              [--source-table-id SOURCE_TABLE_ID]
                                              [--source-table-scope {company,lead}]
                                              [--field-key FIELD_KEY]
                                              [--value VALUE | --value-json VALUE_JSON | --value-file VALUE_FILE | --clear]
                                              [--base-url BASE_URL]
                                              [--token TOKEN]
                                              [--use-x-api-key]
                                              [--timeout TIMEOUT]
                                              [--output {json,ndjson,human}]
                                              [--compact]
                                              [--select SELECT | --json-pointer JSON_POINTER]
                                              [--verbose]`
- Options:
  - `--data-json` (kind=json; input=json): Explicit bulk lead action payload JSON
  - `--data-file` (kind=file; input=file): Path to bulk lead action payload JSON file
  - `--lead-id` (kind=string; repeatable; comma-separated): Lead id (repeatable; comma-separated also supported)
  - `--lead-ids-json` (kind=json; input=json): JSON array or object with lead_ids[]
  - `--lead-ids-file` (kind=file; input=file): Path to JSON/TXT/CSV file with lead_ids[]
  - `--lead-ids-column` (kind=string; default=lead_id): CSV column for lead ids (default: lead_id)
  - `--filter-json` (kind=json; input=json): Filter descriptor JSON object
  - `--filter-file` (kind=file; input=file): Path to filter descriptor JSON file
  - `--sort-json` (kind=json; input=json): Sort spec JSON object/array
  - `--sort-file` (kind=file; input=file): Path to sort spec JSON file
  - `--search` (kind=string): Free-text lead search
  - `--limit` (kind=integer): Optional descriptor selection limit
  - `--scope` (kind=string; choices=org,user): Lead scope
  - `--source-table-id` (kind=string): Optional research table id for descriptor selection
  - `--source-table-scope` (kind=string; choices=company,lead): Optional research scope resolution mode
  - `--field-key` (kind=string): Custom field key from `autotouch crm fields list`, not label or id
  - `--value` (kind=string; sensitive): String value to write
  - `--value-json` (kind=json; input=json): Typed JSON value to write
  - `--value-file` (kind=file; input=file): Path to JSON value to write
  - `--clear` (kind=boolean; when omitted=False; when present=True): Clear the custom field value
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch leads custom-fields set`

Set one custom field value on one lead

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--lead-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch leads custom-fields set [-h] --lead-id LEAD_ID
                                         [--data-json DATA_JSON]
                                         [--data-file DATA_FILE]
                                         [--field-key FIELD_KEY]
                                         [--value VALUE | --value-json VALUE_JSON | --value-file VALUE_FILE | --clear]
                                         [--base-url BASE_URL] [--token TOKEN]
                                         [--use-x-api-key] [--timeout TIMEOUT]
                                         [--output {json,ndjson,human}]
                                         [--compact]
                                         [--select SELECT | --json-pointer JSON_POINTER]
                                         [--verbose]`
- Options:
  - `--lead-id` (required; kind=string)
  - `--data-json` (kind=json; input=json): Explicit custom field payload JSON
  - `--data-file` (kind=file; input=file): Path to custom field payload JSON file
  - `--field-key` (kind=string): Custom field key from `autotouch crm fields list`, not label or id
  - `--value` (kind=string; sensitive): String value to write
  - `--value-json` (kind=json; input=json): Typed JSON value to write
  - `--value-file` (kind=file; input=file): Path to JSON value to write
  - `--clear` (kind=boolean; when omitted=False; when present=True): Clear the custom field value
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch leads delete`

Delete selected Lead workspace records

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `yes`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch leads delete [-h] [--data-json DATA_JSON]
                              [--data-file DATA_FILE] [--lead-id LEAD_ID]
                              [--lead-ids-json LEAD_IDS_JSON]
                              [--lead-ids-file LEAD_IDS_FILE]
                              [--lead-ids-column LEAD_IDS_COLUMN]
                              [--filter-json FILTER_JSON]
                              [--filter-file FILTER_FILE]
                              [--sort-json SORT_JSON] [--sort-file SORT_FILE]
                              [--search SEARCH] [--limit LIMIT]
                              [--scope {org,user}]
                              [--source-table-id SOURCE_TABLE_ID]
                              [--source-table-scope {company,lead}] [--yes]
                              [--base-url BASE_URL] [--token TOKEN]
                              [--use-x-api-key] [--timeout TIMEOUT]
                              [--output {json,ndjson,human}] [--compact]
                              [--select SELECT | --json-pointer JSON_POINTER]
                              [--verbose]`
- Options:
  - `--data-json` (kind=json; input=json): Explicit bulk lead action payload JSON
  - `--data-file` (kind=file; input=file): Path to bulk lead action payload JSON file
  - `--lead-id` (kind=string; repeatable; comma-separated): Lead id (repeatable; comma-separated also supported)
  - `--lead-ids-json` (kind=json; input=json): JSON array or object with lead_ids[]
  - `--lead-ids-file` (kind=file; input=file): Path to JSON/TXT/CSV file with lead_ids[]
  - `--lead-ids-column` (kind=string; default=lead_id): CSV column for lead ids (default: lead_id)
  - `--filter-json` (kind=json; input=json): Filter descriptor JSON object
  - `--filter-file` (kind=file; input=file): Path to filter descriptor JSON file
  - `--sort-json` (kind=json; input=json): Sort spec JSON object/array
  - `--sort-file` (kind=file; input=file): Path to sort spec JSON file
  - `--search` (kind=string): Free-text lead search
  - `--limit` (kind=integer): Optional descriptor selection limit
  - `--scope` (kind=string; choices=org,user): Lead scope
  - `--source-table-id` (kind=string): Optional research table id for descriptor selection
  - `--source-table-scope` (kind=string; choices=company,lead): Optional research scope resolution mode
  - `--yes` (kind=boolean; when omitted=False; when present=True): Required confirmation for destructive delete
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch leads exit-sequences`

Exit selected leads from active sequences

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch leads exit-sequences [-h] [--data-json DATA_JSON]
                                      [--data-file DATA_FILE]
                                      [--lead-id LEAD_ID]
                                      [--lead-ids-json LEAD_IDS_JSON]
                                      [--lead-ids-file LEAD_IDS_FILE]
                                      [--lead-ids-column LEAD_IDS_COLUMN]
                                      [--filter-json FILTER_JSON]
                                      [--filter-file FILTER_FILE]
                                      [--sort-json SORT_JSON]
                                      [--sort-file SORT_FILE]
                                      [--search SEARCH] [--limit LIMIT]
                                      [--scope {org,user}]
                                      [--source-table-id SOURCE_TABLE_ID]
                                      [--source-table-scope {company,lead}]
                                      [--sequence-id SEQUENCE_ID]
                                      [--sequence-ids-json SEQUENCE_IDS_JSON]
                                      [--sequence-ids-file SEQUENCE_IDS_FILE]
                                      [--lead-status LEAD_STATUS]
                                      [--unqualified-reason UNQUALIFIED_REASON]
                                      [--process-limit PROCESS_LIMIT]
                                      [--dry-run | --execute]
                                      [--base-url BASE_URL] [--token TOKEN]
                                      [--use-x-api-key] [--timeout TIMEOUT]
                                      [--output {json,ndjson,human}]
                                      [--compact]
                                      [--select SELECT | --json-pointer JSON_POINTER]
                                      [--verbose]`
- Options:
  - `--data-json` (kind=json; input=json): Explicit bulk lead action payload JSON
  - `--data-file` (kind=file; input=file): Path to bulk lead action payload JSON file
  - `--lead-id` (kind=string; repeatable; comma-separated): Lead id (repeatable; comma-separated also supported)
  - `--lead-ids-json` (kind=json; input=json): JSON array or object with lead_ids[]
  - `--lead-ids-file` (kind=file; input=file): Path to JSON/TXT/CSV file with lead_ids[]
  - `--lead-ids-column` (kind=string; default=lead_id): CSV column for lead ids (default: lead_id)
  - `--filter-json` (kind=json; input=json): Filter descriptor JSON object
  - `--filter-file` (kind=file; input=file): Path to filter descriptor JSON file
  - `--sort-json` (kind=json; input=json): Sort spec JSON object/array
  - `--sort-file` (kind=file; input=file): Path to sort spec JSON file
  - `--search` (kind=string): Free-text lead search
  - `--limit` (kind=integer): Optional descriptor selection limit
  - `--scope` (kind=string; choices=org,user): Lead scope
  - `--source-table-id` (kind=string): Optional research table id for descriptor selection
  - `--source-table-scope` (kind=string; choices=company,lead): Optional research scope resolution mode
  - `--sequence-id` (kind=string; repeatable): Sequence id to limit exits; repeatable
  - `--sequence-ids-json` (kind=json; input=json): JSON array or object with sequenceIds[]
  - `--sequence-ids-file` (kind=file; input=file): Path to JSON/TXT file with sequence ids
  - `--lead-status` (kind=string): Lead status to set after exit
  - `--unqualified-reason` (kind=string): Optional unqualified reason
  - `--process-limit` (kind=integer): Maximum selected leads to process
  - `--dry-run` (kind=boolean; when omitted=True; when present=True): Preview matched exits only
  - `--execute` (kind=boolean; when omitted=True; when present=False): Apply sequence exits
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch leads filters-metadata`

List filterable lead fields and research columns

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch leads filters-metadata [-h] [--base-url BASE_URL]
                                        [--token TOKEN] [--use-x-api-key]
                                        [--timeout TIMEOUT]
                                        [--output {json,ndjson,human}]
                                        [--compact]
                                        [--select SELECT | --json-pointer JSON_POINTER]
                                        [--verbose]`
- Options:
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch leads find-emails`

Find missing work emails for selected leads

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch leads find-emails [-h] [--data-json DATA_JSON]
                                   [--data-file DATA_FILE] [--lead-id LEAD_ID]
                                   [--lead-ids-json LEAD_IDS_JSON]
                                   [--lead-ids-file LEAD_IDS_FILE]
                                   [--lead-ids-column LEAD_IDS_COLUMN]
                                   [--filter-json FILTER_JSON]
                                   [--filter-file FILTER_FILE]
                                   [--sort-json SORT_JSON]
                                   [--sort-file SORT_FILE] [--search SEARCH]
                                   [--limit LIMIT] [--scope {org,user}]
                                   [--source-table-id SOURCE_TABLE_ID]
                                   [--source-table-scope {company,lead}]
                                   [--process-limit PROCESS_LIMIT]
                                   [--skip-previously-attempted | --retry-previously-attempted]
                                   [--base-url BASE_URL] [--token TOKEN]
                                   [--use-x-api-key] [--timeout TIMEOUT]
                                   [--output {json,ndjson,human}] [--compact]
                                   [--select SELECT | --json-pointer JSON_POINTER]
                                   [--verbose]`
- Options:
  - `--data-json` (kind=json; input=json): Explicit bulk lead action payload JSON
  - `--data-file` (kind=file; input=file): Path to bulk lead action payload JSON file
  - `--lead-id` (kind=string; repeatable; comma-separated): Lead id (repeatable; comma-separated also supported)
  - `--lead-ids-json` (kind=json; input=json): JSON array or object with lead_ids[]
  - `--lead-ids-file` (kind=file; input=file): Path to JSON/TXT/CSV file with lead_ids[]
  - `--lead-ids-column` (kind=string; default=lead_id): CSV column for lead ids (default: lead_id)
  - `--filter-json` (kind=json; input=json): Filter descriptor JSON object
  - `--filter-file` (kind=file; input=file): Path to filter descriptor JSON file
  - `--sort-json` (kind=json; input=json): Sort spec JSON object/array
  - `--sort-file` (kind=file; input=file): Path to sort spec JSON file
  - `--search` (kind=string): Free-text lead search
  - `--limit` (kind=integer): Optional descriptor selection limit
  - `--scope` (kind=string; choices=org,user): Lead scope
  - `--source-table-id` (kind=string): Optional research table id for descriptor selection
  - `--source-table-scope` (kind=string; choices=company,lead): Optional research scope resolution mode
  - `--process-limit` (kind=integer): Maximum selected leads to process
  - `--skip-previously-attempted` (kind=boolean; when omitted=None; when present=True)
  - `--retry-previously-attempted` (kind=boolean; when omitted=None; when present=False)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch leads find-mobile-numbers`

Find missing mobile numbers for selected leads

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch leads find-mobile-numbers [-h] [--data-json DATA_JSON]
                                           [--data-file DATA_FILE]
                                           [--lead-id LEAD_ID]
                                           [--lead-ids-json LEAD_IDS_JSON]
                                           [--lead-ids-file LEAD_IDS_FILE]
                                           [--lead-ids-column LEAD_IDS_COLUMN]
                                           [--filter-json FILTER_JSON]
                                           [--filter-file FILTER_FILE]
                                           [--sort-json SORT_JSON]
                                           [--sort-file SORT_FILE]
                                           [--search SEARCH] [--limit LIMIT]
                                           [--scope {org,user}]
                                           [--source-table-id SOURCE_TABLE_ID]
                                           [--source-table-scope {company,lead}]
                                           [--process-limit PROCESS_LIMIT]
                                           [--skip-previously-attempted | --retry-previously-attempted]
                                           [--base-url BASE_URL]
                                           [--token TOKEN] [--use-x-api-key]
                                           [--timeout TIMEOUT]
                                           [--output {json,ndjson,human}]
                                           [--compact]
                                           [--select SELECT | --json-pointer JSON_POINTER]
                                           [--verbose]`
- Options:
  - `--data-json` (kind=json; input=json): Explicit bulk lead action payload JSON
  - `--data-file` (kind=file; input=file): Path to bulk lead action payload JSON file
  - `--lead-id` (kind=string; repeatable; comma-separated): Lead id (repeatable; comma-separated also supported)
  - `--lead-ids-json` (kind=json; input=json): JSON array or object with lead_ids[]
  - `--lead-ids-file` (kind=file; input=file): Path to JSON/TXT/CSV file with lead_ids[]
  - `--lead-ids-column` (kind=string; default=lead_id): CSV column for lead ids (default: lead_id)
  - `--filter-json` (kind=json; input=json): Filter descriptor JSON object
  - `--filter-file` (kind=file; input=file): Path to filter descriptor JSON file
  - `--sort-json` (kind=json; input=json): Sort spec JSON object/array
  - `--sort-file` (kind=file; input=file): Path to sort spec JSON file
  - `--search` (kind=string): Free-text lead search
  - `--limit` (kind=integer): Optional descriptor selection limit
  - `--scope` (kind=string; choices=org,user): Lead scope
  - `--source-table-id` (kind=string): Optional research table id for descriptor selection
  - `--source-table-scope` (kind=string; choices=company,lead): Optional research scope resolution mode
  - `--process-limit` (kind=integer): Maximum selected leads to process
  - `--skip-previously-attempted` (kind=boolean; when omitted=None; when present=True)
  - `--retry-previously-attempted` (kind=boolean; when omitted=None; when present=False)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch leads get`

Get one lead by id

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--lead-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch leads get [-h] --lead-id LEAD_ID [--base-url BASE_URL]
                           [--token TOKEN] [--use-x-api-key]
                           [--timeout TIMEOUT] [--output {json,ndjson,human}]
                           [--compact]
                           [--select SELECT | --json-pointer JSON_POINTER]
                           [--verbose]`
- Options:
  - `--lead-id` (required; kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch leads import-csv`

Import a CSV into the Leads workspace

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--file`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch leads import-csv [-h] --file FILE
                                  [--mappings-json MAPPINGS_JSON]
                                  [--mappings-file MAPPINGS_FILE]
                                  [--default-values-json DEFAULT_VALUES_JSON]
                                  [--default-values-file DEFAULT_VALUES_FILE]
                                  [--custom-field-static-values-json CUSTOM_FIELD_STATIC_VALUES_JSON]
                                  [--custom-field-static-values-file CUSTOM_FIELD_STATIC_VALUES_FILE]
                                  [--skip-company-blacklist]
                                  [--skip-email-blacklist]
                                  [--base-url BASE_URL] [--token TOKEN]
                                  [--use-x-api-key] [--timeout TIMEOUT]
                                  [--output {json,ndjson,human}] [--compact]
                                  [--select SELECT | --json-pointer JSON_POINTER]
                                  [--verbose]`
- Options:
  - `--file` (required; kind=file; input=file): Path to the source CSV
  - `--mappings-json` (kind=json; input=json): Confirmed import mappings JSON
  - `--mappings-file` (kind=file; input=file): Path to confirmed import mappings JSON
  - `--default-values-json` (kind=json; input=json): Default standard-field values JSON object
  - `--default-values-file` (kind=file; input=file): Path to default standard-field values JSON
  - `--custom-field-static-values-json` (kind=json; input=json): Fixed lead custom-field values JSON object
  - `--custom-field-static-values-file` (kind=file; input=file)
  - `--skip-company-blacklist` (kind=boolean; when omitted=False; when present=True)
  - `--skip-email-blacklist` (kind=boolean; when omitted=False; when present=True)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch leads import-preview`

Preview CSV headers, samples, and suggested lead mappings without importing

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--file`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch leads import-preview [-h] --file FILE
                                      [--sample-size SAMPLE_SIZE]
                                      [--base-url BASE_URL] [--token TOKEN]
                                      [--use-x-api-key] [--timeout TIMEOUT]
                                      [--output {json,ndjson,human}]
                                      [--compact]
                                      [--select SELECT | --json-pointer JSON_POINTER]
                                      [--verbose]`
- Options:
  - `--file` (required; kind=file; input=file): Path to the source CSV
  - `--sample-size` (kind=integer; default=5)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch leads import-status`

Get lead CSV import status

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--task-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch leads import-status [-h] --task-id TASK_ID
                                     [--base-url BASE_URL] [--token TOKEN]
                                     [--use-x-api-key] [--timeout TIMEOUT]
                                     [--output {json,ndjson,human}]
                                     [--compact]
                                     [--select SELECT | --json-pointer JSON_POINTER]
                                     [--verbose]`
- Options:
  - `--task-id` (required; kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch leads query`

Query/filter leads with descriptor payloads

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch leads query [-h] [--data-json DATA_JSON]
                             [--data-file DATA_FILE]
                             [--filter-json FILTER_JSON]
                             [--filter-file FILTER_FILE]
                             [--sort-json SORT_JSON] [--sort-file SORT_FILE]
                             [--search SEARCH] [--limit LIMIT]
                             [--cursor CURSOR] [--scope {org,user}]
                             [--source-table-id SOURCE_TABLE_ID]
                             [--source-table-scope {company,lead}]
                             [--related-tables-mode {linked,direct,none}]
                             [--include-research-data]
                             [--include-placeholder-leads] [--ids-only]
                             [--base-url BASE_URL] [--token TOKEN]
                             [--use-x-api-key] [--timeout TIMEOUT]
                             [--output {json,ndjson,human}] [--compact]
                             [--select SELECT | --json-pointer JSON_POINTER]
                             [--verbose]`
- Options:
  - `--data-json` (kind=json; input=json): Explicit leads query payload JSON
  - `--data-file` (kind=file; input=file): Path to leads query payload JSON file
  - `--filter-json` (kind=json; input=json): Filter descriptor JSON object
  - `--filter-file` (kind=file; input=file): Path to filter descriptor JSON file
  - `--sort-json` (kind=json; input=json): Sort spec JSON object/array
  - `--sort-file` (kind=file; input=file): Path to sort spec JSON file
  - `--search` (kind=string): Free-text lead search
  - `--limit` (kind=integer): Pagination limit
  - `--cursor` (kind=string): Pagination cursor
  - `--scope` (kind=string; choices=org,user): Lead scope
  - `--source-table-id` (kind=string): Research table id used for scope/research context
  - `--source-table-scope` (kind=string; choices=company,lead): Research scope resolution mode
  - `--related-tables-mode` (kind=string; choices=linked,direct,none): How related_tables should be populated
  - `--include-research-data` (kind=boolean; when omitted=False; when present=True): Inline research_data when --source-table-id is provided
  - `--include-placeholder-leads` (kind=boolean; when omitted=False; when present=True): Include placeholder/incomplete lead records
  - `--ids-only` (kind=boolean; when omitted=False; when present=True): Return lead identifiers without workspace enrichment joins
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch leads reassign-owner`

Bulk reassign lead owner by ids or descriptor selection

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch leads reassign-owner [-h] [--data-json DATA_JSON]
                                      [--data-file DATA_FILE]
                                      [--lead-id LEAD_ID]
                                      [--lead-ids-json LEAD_IDS_JSON]
                                      [--lead-ids-file LEAD_IDS_FILE]
                                      [--lead-ids-column LEAD_IDS_COLUMN]
                                      [--filter-json FILTER_JSON]
                                      [--filter-file FILTER_FILE]
                                      [--sort-json SORT_JSON]
                                      [--sort-file SORT_FILE]
                                      [--search SEARCH] [--limit LIMIT]
                                      [--scope {org,user}]
                                      [--source-table-id SOURCE_TABLE_ID]
                                      [--source-table-scope {company,lead}]
                                      [--user-id USER_ID]
                                      [--base-url BASE_URL] [--token TOKEN]
                                      [--use-x-api-key] [--timeout TIMEOUT]
                                      [--output {json,ndjson,human}]
                                      [--compact]
                                      [--select SELECT | --json-pointer JSON_POINTER]
                                      [--verbose]`
- Options:
  - `--data-json` (kind=json; input=json): Explicit bulk lead action payload JSON
  - `--data-file` (kind=file; input=file): Path to bulk lead action payload JSON file
  - `--lead-id` (kind=string; repeatable; comma-separated): Lead id (repeatable; comma-separated also supported)
  - `--lead-ids-json` (kind=json; input=json): JSON array or object with lead_ids[]
  - `--lead-ids-file` (kind=file; input=file): Path to JSON/TXT/CSV file with lead_ids[]
  - `--lead-ids-column` (kind=string; default=lead_id): CSV column for lead ids (default: lead_id)
  - `--filter-json` (kind=json; input=json): Filter descriptor JSON object
  - `--filter-file` (kind=file; input=file): Path to filter descriptor JSON file
  - `--sort-json` (kind=json; input=json): Sort spec JSON object/array
  - `--sort-file` (kind=file; input=file): Path to sort spec JSON file
  - `--search` (kind=string): Free-text lead search
  - `--limit` (kind=integer): Optional descriptor selection limit
  - `--scope` (kind=string; choices=org,user): Lead scope
  - `--source-table-id` (kind=string): Optional research table id for descriptor selection
  - `--source-table-scope` (kind=string; choices=company,lead): Optional research scope resolution mode
  - `--user-id` (kind=string): Target owner user id
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch leads recipe`

Print lead payload recipes for create/update/query/research/bulk selection

- Auth: `none`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch leads recipe [-h]
                              [--type {all,create,update,contact_upsert,query,research,selection}]
                              [--out-file OUT_FILE] [--base-url BASE_URL]
                              [--token TOKEN] [--use-x-api-key]
                              [--timeout TIMEOUT]
                              [--output {json,ndjson,human}] [--compact]
                              [--select SELECT | --json-pointer JSON_POINTER]
                              [--verbose]`
- Options:
  - `--type` (kind=string; choices=all,create,update,contact_upsert,query,research,selection; default=all)
  - `--out-file` (kind=file; input=file): Optional path to save the selected payload JSON
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch leads research`

Fetch research row data for specific lead ids

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch leads research [-h] [--data-json DATA_JSON]
                                [--data-file DATA_FILE] [--lead-id LEAD_ID]
                                [--lead-ids-json LEAD_IDS_JSON]
                                [--lead-ids-file LEAD_IDS_FILE]
                                [--source-table-id SOURCE_TABLE_ID]
                                [--field-id FIELD_ID]
                                [--field-ids-json FIELD_IDS_JSON]
                                [--field-ids-file FIELD_IDS_FILE]
                                [--base-url BASE_URL] [--token TOKEN]
                                [--use-x-api-key] [--timeout TIMEOUT]
                                [--output {json,ndjson,human}] [--compact]
                                [--select SELECT | --json-pointer JSON_POINTER]
                                [--verbose]`
- Options:
  - `--data-json` (kind=json; input=json): Explicit leads research payload JSON
  - `--data-file` (kind=file; input=file): Path to leads research payload JSON file
  - `--lead-id` (kind=string; repeatable; comma-separated): Lead id (repeatable; comma-separated also supported)
  - `--lead-ids-json` (kind=json; input=json): JSON array or object with lead_ids[]
  - `--lead-ids-file` (kind=file; input=file): Path to JSON file with lead_ids[]
  - `--source-table-id` (kind=string): Research table id
  - `--field-id` (kind=string; repeatable; comma-separated): Research field/column id to include (repeatable; comma-separated also supported)
  - `--field-ids-json` (kind=json; input=json): JSON array or object with field_ids[]
  - `--field-ids-file` (kind=file; input=file): Path to JSON file with field_ids[]
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch leads research-tables`

List research tables available for lead lookups

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch leads research-tables [-h] [--base-url BASE_URL]
                                       [--token TOKEN] [--use-x-api-key]
                                       [--timeout TIMEOUT]
                                       [--output {json,ndjson,human}]
                                       [--compact]
                                       [--select SELECT | --json-pointer JSON_POINTER]
                                       [--verbose]`
- Options:
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch leads stats`

Aggregate stats for leads matching a query payload

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch leads stats [-h] [--data-json DATA_JSON]
                             [--data-file DATA_FILE]
                             [--filter-json FILTER_JSON]
                             [--filter-file FILTER_FILE]
                             [--sort-json SORT_JSON] [--sort-file SORT_FILE]
                             [--search SEARCH] [--limit LIMIT]
                             [--cursor CURSOR] [--scope {org,user}]
                             [--source-table-id SOURCE_TABLE_ID]
                             [--source-table-scope {company,lead}]
                             [--related-tables-mode {linked,direct,none}]
                             [--include-research-data]
                             [--include-placeholder-leads] [--ids-only]
                             [--base-url BASE_URL] [--token TOKEN]
                             [--use-x-api-key] [--timeout TIMEOUT]
                             [--output {json,ndjson,human}] [--compact]
                             [--select SELECT | --json-pointer JSON_POINTER]
                             [--verbose]`
- Options:
  - `--data-json` (kind=json; input=json): Explicit leads query payload JSON
  - `--data-file` (kind=file; input=file): Path to leads query payload JSON file
  - `--filter-json` (kind=json; input=json): Filter descriptor JSON object
  - `--filter-file` (kind=file; input=file): Path to filter descriptor JSON file
  - `--sort-json` (kind=json; input=json): Sort spec JSON object/array
  - `--sort-file` (kind=file; input=file): Path to sort spec JSON file
  - `--search` (kind=string): Free-text lead search
  - `--limit` (kind=integer): Pagination limit
  - `--cursor` (kind=string): Pagination cursor
  - `--scope` (kind=string; choices=org,user): Lead scope
  - `--source-table-id` (kind=string): Research table id used for scope/research context
  - `--source-table-scope` (kind=string; choices=company,lead): Research scope resolution mode
  - `--related-tables-mode` (kind=string; choices=linked,direct,none): How related_tables should be populated
  - `--include-research-data` (kind=boolean; when omitted=False; when present=True): Inline research_data when --source-table-id is provided
  - `--include-placeholder-leads` (kind=boolean; when omitted=False; when present=True): Include placeholder/incomplete lead records
  - `--ids-only` (kind=boolean; when omitted=False; when present=True): Return lead identifiers without workspace enrichment joins
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch leads update`

Update one lead with a partial JSON payload

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--lead-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch leads update [-h] --lead-id LEAD_ID [--data-json DATA_JSON]
                              [--data-file DATA_FILE] [--base-url BASE_URL]
                              [--token TOKEN] [--use-x-api-key]
                              [--timeout TIMEOUT]
                              [--output {json,ndjson,human}] [--compact]
                              [--select SELECT | --json-pointer JSON_POINTER]
                              [--verbose]`
- Options:
  - `--lead-id` (required; kind=string)
  - `--data-json` (kind=json; input=json): Lead update payload JSON
  - `--data-file` (kind=file; input=file): Path to lead update payload JSON file
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch leads update-status`

Bulk update lead status by ids or descriptor selection

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch leads update-status [-h] [--data-json DATA_JSON]
                                     [--data-file DATA_FILE]
                                     [--lead-id LEAD_ID]
                                     [--lead-ids-json LEAD_IDS_JSON]
                                     [--lead-ids-file LEAD_IDS_FILE]
                                     [--lead-ids-column LEAD_IDS_COLUMN]
                                     [--filter-json FILTER_JSON]
                                     [--filter-file FILTER_FILE]
                                     [--sort-json SORT_JSON]
                                     [--sort-file SORT_FILE] [--search SEARCH]
                                     [--limit LIMIT] [--scope {org,user}]
                                     [--source-table-id SOURCE_TABLE_ID]
                                     [--source-table-scope {company,lead}]
                                     [--status STATUS] [--base-url BASE_URL]
                                     [--token TOKEN] [--use-x-api-key]
                                     [--timeout TIMEOUT]
                                     [--output {json,ndjson,human}]
                                     [--compact]
                                     [--select SELECT | --json-pointer JSON_POINTER]
                                     [--verbose]`
- Options:
  - `--data-json` (kind=json; input=json): Explicit bulk lead action payload JSON
  - `--data-file` (kind=file; input=file): Path to bulk lead action payload JSON file
  - `--lead-id` (kind=string; repeatable; comma-separated): Lead id (repeatable; comma-separated also supported)
  - `--lead-ids-json` (kind=json; input=json): JSON array or object with lead_ids[]
  - `--lead-ids-file` (kind=file; input=file): Path to JSON/TXT/CSV file with lead_ids[]
  - `--lead-ids-column` (kind=string; default=lead_id): CSV column for lead ids (default: lead_id)
  - `--filter-json` (kind=json; input=json): Filter descriptor JSON object
  - `--filter-file` (kind=file; input=file): Path to filter descriptor JSON file
  - `--sort-json` (kind=json; input=json): Sort spec JSON object/array
  - `--sort-file` (kind=file; input=file): Path to sort spec JSON file
  - `--search` (kind=string): Free-text lead search
  - `--limit` (kind=integer): Optional descriptor selection limit
  - `--scope` (kind=string; choices=org,user): Lead scope
  - `--source-table-id` (kind=string): Optional research table id for descriptor selection
  - `--source-table-scope` (kind=string; choices=company,lead): Optional research scope resolution mode
  - `--status` (kind=string): Lead status to apply
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch leads upsert-contact-channels`

Merge emails/phones into a lead without replacing the full arrays

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Aliases: `upsert-contacts`
- Required flags: `--lead-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch leads upsert-contact-channels [-h] --lead-id LEAD_ID
                                               [--data-json DATA_JSON]
                                               [--data-file DATA_FILE]
                                               [--base-url BASE_URL]
                                               [--token TOKEN]
                                               [--use-x-api-key]
                                               [--timeout TIMEOUT]
                                               [--output {json,ndjson,human}]
                                               [--compact]
                                               [--select SELECT | --json-pointer JSON_POINTER]
                                               [--verbose]`
- Options:
  - `--lead-id` (required; kind=string)
  - `--data-json` (kind=json; input=json): Contact upsert payload JSON
  - `--data-file` (kind=file; input=file): Path to contact upsert payload JSON file
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch leads validate-emails`

Validate existing emails for selected leads

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch leads validate-emails [-h] [--data-json DATA_JSON]
                                       [--data-file DATA_FILE]
                                       [--lead-id LEAD_ID]
                                       [--lead-ids-json LEAD_IDS_JSON]
                                       [--lead-ids-file LEAD_IDS_FILE]
                                       [--lead-ids-column LEAD_IDS_COLUMN]
                                       [--filter-json FILTER_JSON]
                                       [--filter-file FILTER_FILE]
                                       [--sort-json SORT_JSON]
                                       [--sort-file SORT_FILE]
                                       [--search SEARCH] [--limit LIMIT]
                                       [--scope {org,user}]
                                       [--source-table-id SOURCE_TABLE_ID]
                                       [--source-table-scope {company,lead}]
                                       [--process-limit PROCESS_LIMIT]
                                       [--skip-previously-attempted | --retry-previously-attempted]
                                       [--base-url BASE_URL] [--token TOKEN]
                                       [--use-x-api-key] [--timeout TIMEOUT]
                                       [--output {json,ndjson,human}]
                                       [--compact]
                                       [--select SELECT | --json-pointer JSON_POINTER]
                                       [--verbose]`
- Options:
  - `--data-json` (kind=json; input=json): Explicit bulk lead action payload JSON
  - `--data-file` (kind=file; input=file): Path to bulk lead action payload JSON file
  - `--lead-id` (kind=string; repeatable; comma-separated): Lead id (repeatable; comma-separated also supported)
  - `--lead-ids-json` (kind=json; input=json): JSON array or object with lead_ids[]
  - `--lead-ids-file` (kind=file; input=file): Path to JSON/TXT/CSV file with lead_ids[]
  - `--lead-ids-column` (kind=string; default=lead_id): CSV column for lead ids (default: lead_id)
  - `--filter-json` (kind=json; input=json): Filter descriptor JSON object
  - `--filter-file` (kind=file; input=file): Path to filter descriptor JSON file
  - `--sort-json` (kind=json; input=json): Sort spec JSON object/array
  - `--sort-file` (kind=file; input=file): Path to sort spec JSON file
  - `--search` (kind=string): Free-text lead search
  - `--limit` (kind=integer): Optional descriptor selection limit
  - `--scope` (kind=string; choices=org,user): Lead scope
  - `--source-table-id` (kind=string): Optional research table id for descriptor selection
  - `--source-table-scope` (kind=string; choices=company,lead): Optional research scope resolution mode
  - `--process-limit` (kind=integer): Maximum selected leads to process
  - `--skip-previously-attempted` (kind=boolean; when omitted=None; when present=True)
  - `--retry-previously-attempted` (kind=boolean; when omitted=None; when present=False)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

### `linkedin`

#### `autotouch linkedin`

Connected LinkedIn account operations

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `status, limits`
- Example:
  - `autotouch linkedin [-h] {status,limits} ...`

#### `autotouch linkedin limits`

View LinkedIn send limits and usage

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch linkedin limits [-h] [--base-url BASE_URL] [--token TOKEN]
                                 [--use-x-api-key] [--timeout TIMEOUT]
                                 [--output {json,ndjson,human}] [--compact]
                                 [--select SELECT | --json-pointer JSON_POINTER]
                                 [--verbose]`
- Options:
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch linkedin status`

Check LinkedIn connection status

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch linkedin status [-h] [--base-url BASE_URL] [--token TOKEN]
                                 [--use-x-api-key] [--timeout TIMEOUT]
                                 [--output {json,ndjson,human}] [--compact]
                                 [--select SELECT | --json-pointer JSON_POINTER]
                                 [--verbose]`
- Options:
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

### `list-build`

#### `autotouch list-build`

Build durable sourced company, lead, job, and local-business lists

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `companies, leads, jobs, local-businesses, status, results, sync-to-table, inputs, pricing`
- Example:
  - `autotouch list-build [-h]
                            {companies,leads,jobs,local-businesses,status,results,sync-to-table,inputs,pricing}
                            ...`

#### `autotouch list-build companies`

Build a company list from native company search

Build a durable company list using structured native filters. Use --filters-json or --data-file for the complete contract.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch list-build companies [-h] [--data-json DATA_JSON]
                                      [--data-file DATA_FILE]
                                      [--list-name LIST_NAME]
                                      [--num-results NUM_RESULTS]
                                      [--page-size PAGE_SIZE] [--wait]
                                      [--poll-interval POLL_INTERVAL]
                                      [--wait-timeout WAIT_TIMEOUT]
                                      [--base-url BASE_URL] [--token TOKEN]
                                      [--use-x-api-key] [--timeout TIMEOUT]
                                      [--output {json,ndjson,human}]
                                      [--compact]
                                      [--select SELECT | --json-pointer JSON_POINTER]
                                      [--verbose]
                                      [--filters-json FILTERS_JSON]
                                      [--country-code COUNTRY_CODE]
                                      [--state STATE] [--city CITY]
                                      [--from-job-id FROM_JOB_ID]
                                      [--table-name TABLE_NAME | --table-id TABLE_ID]`
- Notes:

```text
Example:
  autotouch list-build companies --primary-industry software --country-code US --company-size 51-200 --num-results 500

Run `autotouch list-build inputs` to inspect canonical industry and size values.
```
- Options:
  - `--data-json` (kind=json; input=json): Explicit list-build payload JSON
  - `--data-file` (kind=file; input=file): Path to list-build payload JSON file
  - `--list-name` (kind=string): Optional display name
  - `--num-results` (kind=integer; default=100): Result count, 1–1500; additional results when resuming
  - `--page-size` (kind=integer; default=25): Search page size, 1–25
  - `--wait` (kind=boolean; when omitted=False; when present=True): Poll until terminal status
  - `--poll-interval` (kind=integer; default=5): Polling interval seconds for --wait
  - `--wait-timeout` (kind=integer; default=0): Max seconds to wait (0 = no timeout)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr
  - `--filters-json` (kind=json; input=json): Full source filter object; use operation detail for all supported fields
  - `--country-code` (kind=string; repeatable): ISO country code; company HQ for companies, person location for leads
  - `--state` (kind=string; repeatable): State name; company HQ for companies, person location for leads
  - `--city` (kind=string; repeatable): City; company HQ for companies, person location for leads
  - `--from-job-id` (kind=string): Resume a completed delivered list using its saved cursor and unchanged scope
  - `--table-name` (kind=string): Create and deliver to a new Research Table
  - `--table-id` (kind=string): Append a fresh search to an existing table; use --from-job-id for more of the same

#### `autotouch list-build inputs`

Show valid list-build filter IDs and values

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch list-build inputs [-h] [--type TYPE]
                                   [--operation-id OPERATION_ID]
                                   [--query QUERY] [--limit LIMIT]
                                   [--base-url BASE_URL] [--token TOKEN]
                                   [--use-x-api-key] [--timeout TIMEOUT]
                                   [--output {json,ndjson,human}] [--compact]
                                   [--select SELECT | --json-pointer JSON_POINTER]
                                   [--verbose]`
- Options:
  - `--type` (kind=string): Operation-specific lookup dimension from the input catalog
  - `--operation-id` (kind=string): Exact operation, e.g. lists.build_people, for native value lookup
  - `--query` (kind=string): Search text for input ID lookup
  - `--limit` (kind=integer; default=20): Max lookup results, 1-50
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch list-build jobs`

Build a job posting list

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch list-build jobs [-h] [--data-json DATA_JSON]
                                 [--data-file DATA_FILE]
                                 [--list-name LIST_NAME]
                                 [--num-results NUM_RESULTS]
                                 [--page-size PAGE_SIZE] [--wait]
                                 [--poll-interval POLL_INTERVAL]
                                 [--wait-timeout WAIT_TIMEOUT]
                                 [--base-url BASE_URL] [--token TOKEN]
                                 [--use-x-api-key] [--timeout TIMEOUT]
                                 [--output {json,ndjson,human}] [--compact]
                                 [--select SELECT | --json-pointer JSON_POINTER]
                                 [--verbose] [--query QUERY]
                                 [--job-title JOB_TITLE] [--keywords KEYWORDS]
                                 [--location LOCATION]
                                 [--company-location COMPANY_LOCATION]
                                 [--company COMPANY]
                                 [--exclude-company EXCLUDE_COMPANY]
                                 [--industry INDUSTRY]
                                 [--company-size COMPANY_SIZE]
                                 [--company-domain COMPANY_DOMAIN]
                                 [--lookback {1h,24h,7d,30d}]
                                 [--remote {any,remote,onsite,hybrid}]`
- Options:
  - `--data-json` (kind=json; input=json): Explicit list-build payload JSON
  - `--data-file` (kind=file; input=file): Path to list-build payload JSON file
  - `--list-name` (kind=string): Optional display name
  - `--num-results` (kind=integer; default=100): Target result count; maximum depends on source
  - `--page-size` (kind=integer; default=25): Source result page size, max 50
  - `--wait` (kind=boolean; when omitted=False; when present=True): Poll until terminal status
  - `--poll-interval` (kind=integer; default=5): Polling interval seconds for --wait
  - `--wait-timeout` (kind=integer; default=0): Max seconds to wait (0 = no timeout)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr
  - `--query` (kind=string): Job search query; used as the title target when --job-title is omitted
  - `--job-title` (kind=string; repeatable): Job title to find; repeat for multiple titles
  - `--keywords` (kind=string): Optional job description/company keyword filter
  - `--location` (kind=string; repeatable): Hiring location, e.g. United States or New York
  - `--company-location` (kind=string; repeatable): Company HQ/base location, e.g. New York or United States
  - `--company` (kind=string; repeatable): Company/employer name to include; repeat for multiple
  - `--exclude-company` (kind=string; repeatable): Company/employer name to exclude; repeat for multiple
  - `--industry` (kind=string; repeatable): Optional industry label for jobs provider filtering
  - `--company-size` (kind=string; repeatable): Company size bucket, e.g. 1-10 or 11-50
  - `--company-domain` (kind=string; repeatable): Restrict results to company domains; repeat for multiple
  - `--lookback` (kind=string; choices=1h,24h,7d,30d; default=24h): Posted-within lookback window
  - `--remote` (kind=string; choices=any,remote,onsite,hybrid; default=any): Remote preference

#### `autotouch list-build leads`

Build a lead/contact list

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch list-build leads [-h] [--data-json DATA_JSON]
                                  [--data-file DATA_FILE]
                                  [--list-name LIST_NAME]
                                  [--num-results NUM_RESULTS]
                                  [--page-size PAGE_SIZE] [--wait]
                                  [--poll-interval POLL_INTERVAL]
                                  [--wait-timeout WAIT_TIMEOUT]
                                  [--base-url BASE_URL] [--token TOKEN]
                                  [--use-x-api-key] [--timeout TIMEOUT]
                                  [--output {json,ndjson,human}] [--compact]
                                  [--select SELECT | --json-pointer JSON_POINTER]
                                  [--verbose] [--filters-json FILTERS_JSON]
                                  [--country-code COUNTRY_CODE]
                                  [--state STATE] [--city CITY]
                                  [--from-job-id FROM_JOB_ID]
                                  [--table-name TABLE_NAME | --table-id TABLE_ID]
                                  [--title TITLE]`
- Options:
  - `--data-json` (kind=json; input=json): Explicit list-build payload JSON
  - `--data-file` (kind=file; input=file): Path to list-build payload JSON file
  - `--list-name` (kind=string): Optional display name
  - `--num-results` (kind=integer; default=100): Result count, 1–1500; additional results when resuming
  - `--page-size` (kind=integer; default=25): Search page size, 1–25
  - `--wait` (kind=boolean; when omitted=False; when present=True): Poll until terminal status
  - `--poll-interval` (kind=integer; default=5): Polling interval seconds for --wait
  - `--wait-timeout` (kind=integer; default=0): Max seconds to wait (0 = no timeout)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr
  - `--filters-json` (kind=json; input=json): Full source filter object; use operation detail for all supported fields
  - `--country-code` (kind=string; repeatable): ISO country code; company HQ for companies, person location for leads
  - `--state` (kind=string; repeatable): State name; company HQ for companies, person location for leads
  - `--city` (kind=string; repeatable): City; company HQ for companies, person location for leads
  - `--from-job-id` (kind=string): Resume a completed delivered list using its saved cursor and unchanged scope
  - `--table-name` (kind=string): Create and deliver to a new Research Table
  - `--table-id` (kind=string): Append a fresh search to an existing table; use --from-job-id for more of the same
  - `--title` (kind=string; repeatable): Person title phrase; repeat for OR alternatives preserving the requested role

#### `autotouch list-build local-businesses`

Build a local-business list from Maps postal cells

Build a durable local-business list. The backend resolves real ZIP cells from city/state and rejects invented postal codes.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--query`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch list-build local-businesses [-h] [--data-json DATA_JSON]
                                             [--data-file DATA_FILE]
                                             [--list-name LIST_NAME]
                                             [--num-results NUM_RESULTS]
                                             [--page-size PAGE_SIZE] [--wait]
                                             [--poll-interval POLL_INTERVAL]
                                             [--wait-timeout WAIT_TIMEOUT]
                                             [--base-url BASE_URL]
                                             [--token TOKEN] [--use-x-api-key]
                                             [--timeout TIMEOUT]
                                             [--output {json,ndjson,human}]
                                             [--compact]
                                             [--select SELECT | --json-pointer JSON_POINTER]
                                             [--verbose] --query QUERY
                                             [--city CITY] [--state STATE]
                                             [--country COUNTRY]
                                             [--language LANGUAGE] [--zip ZIP]
                                             [--area AREA]
                                             [--completion-mode {bounded,all_available}]`
- Options:
  - `--data-json` (kind=json; input=json): Explicit list-build payload JSON
  - `--data-file` (kind=file; input=file): Path to list-build payload JSON file
  - `--list-name` (kind=string): Optional display name
  - `--num-results` (kind=integer; default=100): Businesses to return with --completion-mode bounded, 1-1500
  - `--page-size` (kind=integer; default=25): Unused for local-business cell sweeps
  - `--wait` (kind=boolean; when omitted=False; when present=True): Poll until terminal status
  - `--poll-interval` (kind=integer; default=5): Polling interval seconds for --wait
  - `--wait-timeout` (kind=integer; default=0): Max seconds to wait (0 = no timeout)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr
  - `--query` (required; kind=string): Business-activity query, e.g. 'ice cream shops'
  - `--city` (kind=string): US city whose ZIPs the host resolves, e.g. Athens
  - `--state` (kind=string): US state for the city, e.g. TN
  - `--country` (kind=string; default=us): ISO alpha-2 country code (default us)
  - `--language` (kind=string; default=en): Provider language code (default en)
  - `--zip` (kind=string; repeatable): Explicit US ZIP cell; repeat for multiple
  - `--area` (kind=string; repeatable): Explicit cell as TYPE:VALUE, e.g. postal_district:LS1; repeat for multiple
  - `--completion-mode` (kind=string; choices=bounded,all_available; default=all_available): bounded needs --num-results; all_available sweeps resolved cells

#### `autotouch list-build pricing`

Show list-build pricing rules

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch list-build pricing [-h] [--base-url BASE_URL] [--token TOKEN]
                                    [--use-x-api-key] [--timeout TIMEOUT]
                                    [--output {json,ndjson,human}] [--compact]
                                    [--select SELECT | --json-pointer JSON_POINTER]
                                    [--verbose]`
- Options:
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch list-build results`

Get list-build results

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--job-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch list-build results [-h] --job-id JOB_ID
                                    [--type {items,companies,leads,jobs,businesses,all}]
                                    [--page PAGE] [--page-size PAGE_SIZE]
                                    [--base-url BASE_URL] [--token TOKEN]
                                    [--use-x-api-key] [--timeout TIMEOUT]
                                    [--output {json,ndjson,human}] [--compact]
                                    [--select SELECT | --json-pointer JSON_POINTER]
                                    [--verbose]`
- Options:
  - `--job-id` (required; kind=string)
  - `--type` (kind=string; choices=items,companies,leads,jobs,businesses,all; default=items)
  - `--page` (kind=integer; default=1)
  - `--page-size` (kind=integer; default=50)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch list-build status`

Get list-build job status

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--job-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch list-build status [-h] --job-id JOB_ID [--base-url BASE_URL]
                                   [--token TOKEN] [--use-x-api-key]
                                   [--timeout TIMEOUT]
                                   [--output {json,ndjson,human}] [--compact]
                                   [--select SELECT | --json-pointer JSON_POINTER]
                                   [--verbose]`
- Options:
  - `--job-id` (required; kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch list-build sync-to-table`

Sync list-build results into a Smart Table

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--job-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch list-build sync-to-table [-h] --job-id JOB_ID
                                          [--type {items,companies,leads,jobs,businesses,all}]
                                          [--table-id TABLE_ID]
                                          [--table-name TABLE_NAME]
                                          [--table-mode {create,append}]
                                          [--identity-key IDENTITY_KEY]
                                          [--dedupe-mode {allow,skip,upsert}]
                                          [--merge-mode {fill_empty,overwrite_mapped}]
                                          [--allow-partial] [--wait]
                                          [--poll-interval POLL_INTERVAL]
                                          [--wait-timeout WAIT_TIMEOUT]
                                          [--base-url BASE_URL]
                                          [--token TOKEN] [--use-x-api-key]
                                          [--timeout TIMEOUT]
                                          [--output {json,ndjson,human}]
                                          [--compact]
                                          [--select SELECT | --json-pointer JSON_POINTER]
                                          [--verbose]`
- Options:
  - `--job-id` (required; kind=string)
  - `--type` (kind=string; choices=items,companies,leads,jobs,businesses,all): Result type to sync; defaults to the job kind
  - `--table-id` (kind=string): Existing Smart Table id for append/upsert
  - `--table-name` (kind=string): New Smart Table name when creating a table
  - `--table-mode` (kind=string; choices=create,append): Create a new table or append/upsert into --table-id
  - `--identity-key` (kind=string; default=auto): Dedupe identity key: auto, global_company_id, linkedin_url, linkedin_company_id, linkedin_company_url, or domain
  - `--dedupe-mode` (kind=string; choices=allow,skip,upsert; default=upsert): How to handle matching rows
  - `--merge-mode` (kind=string; choices=fill_empty,overwrite_mapped; default=fill_empty): How upserts merge values
  - `--allow-partial` (kind=boolean; when omitted=False; when present=True): Allow syncing before the list-build job is completed
  - `--wait` (kind=boolean; when omitted=False; when present=True): Poll until sync completes
  - `--poll-interval` (kind=integer; default=5): Polling interval seconds for --wait
  - `--wait-timeout` (kind=integer; default=0): Max seconds to wait (0 = no timeout)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

### `notes`

#### `autotouch notes`

Rich notes, dated research journals, and revision history

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `journals, create, list, get, update, delete, revisions`
- Example:
  - `autotouch notes [-h]
                       {journals,create,list,get,update,delete,revisions} ...`

#### `autotouch notes create`

create notes resource

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch notes create [-h] [--data-json DATA_JSON]
                              [--data-file DATA_FILE] [--title TITLE]
                              [--idempotency-key IDEMPOTENCY_KEY]
                              [--content-file CONTENT_FILE]
                              [--kind {general,meeting,research_update}]
                              [--journal-id JOURNAL_ID]
                              [--observed-at OBSERVED_AT]
                              [--pinned | --no-pinned]
                              [--entity-type {lead,company,deal}]
                              [--entity-id ENTITY_ID] [--base-url BASE_URL]
                              [--token TOKEN] [--use-x-api-key]
                              [--timeout TIMEOUT]
                              [--output {json,ndjson,human}] [--compact]
                              [--select SELECT | --json-pointer JSON_POINTER]
                              [--verbose]`
- Options:
  - `--data-json` (kind=json; input=json): Complete write payload JSON
  - `--data-file` (kind=file; input=file): Complete write payload JSON file
  - `--title` (kind=string)
  - `--idempotency-key` (kind=string): Stable key for retries; 8-200 characters
  - `--content-file` (kind=file; input=file): UTF-8 Markdown file; rich blocks may be supplied through JSON
  - `--kind` (kind=string; choices=general,meeting,research_update)
  - `--journal-id` (kind=string)
  - `--observed-at` (kind=string): ISO 8601 observation timestamp
  - `--pinned, --no-pinned` (kind=string)
  - `--entity-type` (kind=string; choices=lead,company,deal)
  - `--entity-id` (kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch notes delete`

delete notes resource

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `yes`
- Required flags: `--note-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch notes delete [-h] --note-id NOTE_ID [--data-json DATA_JSON]
                              [--data-file DATA_FILE]
                              [--idempotency-key IDEMPOTENCY_KEY]
                              [--expected-version EXPECTED_VERSION]
                              [--base-url BASE_URL] [--token TOKEN]
                              [--use-x-api-key] [--timeout TIMEOUT]
                              [--output {json,ndjson,human}] [--compact]
                              [--select SELECT | --json-pointer JSON_POINTER]
                              [--verbose]`
- Options:
  - `--note-id` (required; kind=string)
  - `--data-json` (kind=json; input=json): Complete write payload JSON
  - `--data-file` (kind=file; input=file): Complete write payload JSON file
  - `--idempotency-key` (kind=string): Stable key for retries; 8-200 characters
  - `--expected-version` (kind=integer)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch notes get`

get notes resource

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--note-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch notes get [-h] --note-id NOTE_ID [--base-url BASE_URL]
                           [--token TOKEN] [--use-x-api-key]
                           [--timeout TIMEOUT] [--output {json,ndjson,human}]
                           [--compact]
                           [--select SELECT | --json-pointer JSON_POINTER]
                           [--verbose]`
- Options:
  - `--note-id` (required; kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch notes journals`

Group dated research entries

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `create, list, get`
- Example:
  - `autotouch notes journals [-h] {create,list,get} ...`

#### `autotouch notes journals create`

journals create notes resource

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch notes journals create [-h] [--data-json DATA_JSON]
                                       [--data-file DATA_FILE] [--title TITLE]
                                       [--idempotency-key IDEMPOTENCY_KEY]
                                       [--entity-type {lead,company,deal}]
                                       [--entity-id ENTITY_ID]
                                       [--base-url BASE_URL] [--token TOKEN]
                                       [--use-x-api-key] [--timeout TIMEOUT]
                                       [--output {json,ndjson,human}]
                                       [--compact]
                                       [--select SELECT | --json-pointer JSON_POINTER]
                                       [--verbose]`
- Options:
  - `--data-json` (kind=json; input=json): Complete write payload JSON
  - `--data-file` (kind=file; input=file): Complete write payload JSON file
  - `--title` (kind=string)
  - `--idempotency-key` (kind=string): Stable key for retries; 8-200 characters
  - `--entity-type` (kind=string; choices=lead,company,deal)
  - `--entity-id` (kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch notes journals get`

journals get notes resource

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--journal-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch notes journals get [-h] --journal-id JOURNAL_ID
                                    [--base-url BASE_URL] [--token TOKEN]
                                    [--use-x-api-key] [--timeout TIMEOUT]
                                    [--output {json,ndjson,human}] [--compact]
                                    [--select SELECT | --json-pointer JSON_POINTER]
                                    [--verbose]`
- Options:
  - `--journal-id` (required; kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch notes journals list`

journals list notes resource

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch notes journals list [-h] [--entity-type {lead,company,deal}]
                                     [--entity-id ENTITY_ID] [--limit LIMIT]
                                     [--cursor CURSOR] [--base-url BASE_URL]
                                     [--token TOKEN] [--use-x-api-key]
                                     [--timeout TIMEOUT]
                                     [--output {json,ndjson,human}]
                                     [--compact]
                                     [--select SELECT | --json-pointer JSON_POINTER]
                                     [--verbose]`
- Options:
  - `--entity-type` (kind=string; choices=lead,company,deal)
  - `--entity-id` (kind=string)
  - `--limit` (kind=integer)
  - `--cursor` (kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch notes list`

list notes resource

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch notes list [-h] [--entity-type {lead,company,deal}]
                            [--entity-id ENTITY_ID] [--limit LIMIT]
                            [--cursor CURSOR] [--journal-id JOURNAL_ID]
                            [--kind {general,meeting,research_update}]
                            [--search SEARCH] [--author-id AUTHOR_ID]
                            [--archived | --no-archived] [--base-url BASE_URL]
                            [--token TOKEN] [--use-x-api-key]
                            [--timeout TIMEOUT] [--output {json,ndjson,human}]
                            [--compact]
                            [--select SELECT | --json-pointer JSON_POINTER]
                            [--verbose]`
- Options:
  - `--entity-type` (kind=string; choices=lead,company,deal)
  - `--entity-id` (kind=string)
  - `--limit` (kind=integer)
  - `--cursor` (kind=string)
  - `--journal-id` (kind=string)
  - `--kind` (kind=string; choices=general,meeting,research_update)
  - `--search` (kind=string)
  - `--author-id` (kind=string)
  - `--archived, --no-archived` (kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch notes revisions`

revisions notes resource

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--note-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch notes revisions [-h] --note-id NOTE_ID [--limit LIMIT]
                                 [--cursor CURSOR] [--base-url BASE_URL]
                                 [--token TOKEN] [--use-x-api-key]
                                 [--timeout TIMEOUT]
                                 [--output {json,ndjson,human}] [--compact]
                                 [--select SELECT | --json-pointer JSON_POINTER]
                                 [--verbose]`
- Options:
  - `--note-id` (required; kind=string)
  - `--limit` (kind=integer)
  - `--cursor` (kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch notes update`

update notes resource

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--note-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch notes update [-h] --note-id NOTE_ID [--data-json DATA_JSON]
                              [--data-file DATA_FILE] [--title TITLE]
                              [--idempotency-key IDEMPOTENCY_KEY]
                              [--content-file CONTENT_FILE]
                              [--kind {general,meeting,research_update}]
                              [--journal-id JOURNAL_ID]
                              [--observed-at OBSERVED_AT]
                              [--pinned | --no-pinned]
                              [--expected-version EXPECTED_VERSION]
                              [--archived | --no-archived]
                              [--entity-type {lead,company,deal}]
                              [--entity-id ENTITY_ID] [--base-url BASE_URL]
                              [--token TOKEN] [--use-x-api-key]
                              [--timeout TIMEOUT]
                              [--output {json,ndjson,human}] [--compact]
                              [--select SELECT | --json-pointer JSON_POINTER]
                              [--verbose]`
- Options:
  - `--note-id` (required; kind=string)
  - `--data-json` (kind=json; input=json): Complete write payload JSON
  - `--data-file` (kind=file; input=file): Complete write payload JSON file
  - `--title` (kind=string)
  - `--idempotency-key` (kind=string): Stable key for retries; 8-200 characters
  - `--content-file` (kind=file; input=file): UTF-8 Markdown file; rich blocks may be supplied through JSON
  - `--kind` (kind=string; choices=general,meeting,research_update)
  - `--journal-id` (kind=string)
  - `--observed-at` (kind=string): ISO 8601 observation timestamp
  - `--pinned, --no-pinned` (kind=string)
  - `--expected-version` (kind=integer)
  - `--archived, --no-archived` (kind=string)
  - `--entity-type` (kind=string; choices=lead,company,deal)
  - `--entity-id` (kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

### `onboarding`

#### `autotouch onboarding`

Onboarding helpers

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `submit-domain, schema`
- Example:
  - `autotouch onboarding [-h] {submit-domain,schema} ...`

#### `autotouch onboarding schema`

Print onboarding payload schemas

- Auth: `none`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch onboarding schema [-h] [--type {all,submit_domain}]
                                   [--out-file OUT_FILE]
                                   [--output {json,ndjson,human}] [--compact]
                                   [--select SELECT | --json-pointer JSON_POINTER]`
- Options:
  - `--type` (kind=string; choices=all,submit_domain; default=all)
  - `--out-file` (kind=file; input=file): Write schema JSON to file
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)

#### `autotouch onboarding submit-domain`

Analyze company website and seed org context

- Auth: `user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch onboarding submit-domain [-h] [--website WEBSITE]
                                          [--domain DOMAIN]
                                          [--data-json DATA_JSON]
                                          [--data-file DATA_FILE]
                                          [--base-url BASE_URL]
                                          [--token TOKEN] [--use-x-api-key]
                                          [--timeout TIMEOUT]
                                          [--output {json,ndjson,human}]
                                          [--compact]
                                          [--select SELECT | --json-pointer JSON_POINTER]
                                          [--verbose]`
- Options:
  - `--website` (kind=string): Company website/domain
  - `--domain` (kind=string): Alias for --website
  - `--data-json` (kind=json; input=json): Explicit submit-domain payload JSON
  - `--data-file` (kind=file; input=file): Path to submit-domain payload JSON file
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

### `org-context`

#### `autotouch org-context`

Organization value prop / ICP context

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `get, set, schema`
- Example:
  - `autotouch org-context [-h] {get,set,schema} ...`

#### `autotouch org-context get`

Fetch organization context

- Auth: `user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch org-context get [-h] [--base-url BASE_URL] [--token TOKEN]
                                 [--use-x-api-key] [--timeout TIMEOUT]
                                 [--output {json,ndjson,human}] [--compact]
                                 [--select SELECT | --json-pointer JSON_POINTER]
                                 [--verbose]`
- Options:
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch org-context schema`

Print org-context payload schemas

- Auth: `none`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch org-context schema [-h] [--type {all,set}]
                                    [--out-file OUT_FILE]
                                    [--output {json,ndjson,human}] [--compact]
                                    [--select SELECT | --json-pointer JSON_POINTER]`
- Options:
  - `--type` (kind=string; choices=all,set; default=all)
  - `--out-file` (kind=file; input=file): Write schema JSON to file
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)

#### `autotouch org-context set`

Save organization context

- Auth: `user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch org-context set [-h] [--source SOURCE]
                                 [--value-proposition VALUE_PROPOSITION]
                                 [--ideal-title IDEAL_TITLE]
                                 [--buyer-persona BUYER_PERSONA]
                                 [--user-persona USER_PERSONA]
                                 [--voice-profile VOICE_PROFILE]
                                 [--case-study-url CASE_STUDY_URL]
                                 [--data-json DATA_JSON]
                                 [--data-file DATA_FILE] [--base-url BASE_URL]
                                 [--token TOKEN] [--use-x-api-key]
                                 [--timeout TIMEOUT]
                                 [--output {json,ndjson,human}] [--compact]
                                 [--select SELECT | --json-pointer JSON_POINTER]
                                 [--verbose]`
- Options:
  - `--source` (kind=string; default=cli): Context source label (default: cli)
  - `--value-proposition` (kind=string): Organization value proposition
  - `--ideal-title` (kind=string; repeatable; comma-separated): Ideal title (repeatable; comma-separated also supported)
  - `--buyer-persona` (kind=string): Buyer persona / ICP buyer
  - `--user-persona` (kind=string): User persona / ICP users
  - `--voice-profile` (kind=string): Voice profile guidance
  - `--case-study-url` (kind=string; repeatable): Case-study URL (repeatable)
  - `--data-json` (kind=json; input=json): Explicit org context payload JSON
  - `--data-file` (kind=file; input=file): Path to org context payload JSON file
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

### `organization`

#### `autotouch organization`

Current organization discovery

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `users`
- Example:
  - `autotouch organization [-h] {users} ...`

#### `autotouch organization users`

List current organization users with optional search and pagination (users:read)

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch organization users [-h] [--query QUERY] [--limit LIMIT]
                                    [--offset OFFSET] [--base-url BASE_URL]
                                    [--token TOKEN] [--use-x-api-key]
                                    [--timeout TIMEOUT]
                                    [--output {json,ndjson,human}] [--compact]
                                    [--select SELECT | --json-pointer JSON_POINTER]
                                    [--verbose]`
- Options:
  - `--query` (kind=string)
  - `--limit` (kind=integer): Maximum users to return, 1-1000; omit for all remaining users
  - `--offset` (kind=integer)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

### `outreach`

#### `autotouch outreach`

Manage Instantly/Smartlead campaign handoff from Autotouch

Manage external outreach-provider campaigns used by research-table to_outreach. Autotouch can create/configure campaigns, map healthy sender accounts, upload rows, and explicitly activate/pause campaigns; the provider runs the campaign after activation.

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `accounts, campaigns`
- Example:
  - `autotouch outreach accounts list --provider instantly`
  - `autotouch outreach campaigns list --provider instantly`
  - `autotouch outreach campaigns create --provider instantly --name 'June Buyers' --min-health-score 100`
  - `autotouch columns recipe --type to_outreach --out-file push-to-outreach.json`

#### `autotouch outreach accounts`

Inspect eligible provider sending accounts

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `list`
- Example:
  - `autotouch outreach accounts [-h] {list} ...`

#### `autotouch outreach accounts list`

List Instantly/Smartlead sending accounts with Autotouch eligibility applied

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch outreach accounts list [-h]
                                        [--provider {instantly,smartlead}]
                                        [--base-url BASE_URL] [--token TOKEN]
                                        [--use-x-api-key] [--timeout TIMEOUT]
                                        [--output {json,ndjson,human}]
                                        [--compact]
                                        [--select SELECT | --json-pointer JSON_POINTER]
                                        [--verbose]`
- Options:
  - `--provider` (kind=string; choices=instantly,smartlead): Filter provider
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch outreach campaigns`

List, create, and manage provider campaigns

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `list, get, create, sync-accounts, sync-templates, activate, pause`
- Example:
  - `autotouch outreach campaigns [-h]
                                    {list,get,create,sync-accounts,sync-templates,activate,pause}
                                    ...`

#### `autotouch outreach campaigns activate`

Activate a provider campaign

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--provider, --campaign-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch outreach campaigns activate [-h] --provider
                                             {instantly,smartlead}
                                             --campaign-id CAMPAIGN_ID
                                             [--base-url BASE_URL]
                                             [--token TOKEN] [--use-x-api-key]
                                             [--timeout TIMEOUT]
                                             [--output {json,ndjson,human}]
                                             [--compact]
                                             [--select SELECT | --json-pointer JSON_POINTER]
                                             [--verbose]`
- Options:
  - `--provider` (required; kind=string; choices=instantly,smartlead)
  - `--campaign-id` (required; kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch outreach campaigns create`

Create a draft provider campaign

Create an Instantly/Smartlead campaign and attach eligible sending accounts. The campaign is draft/inactive by default; use activate explicitly when ready. Use --data-file for optional schedule or deterministic template steps.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--provider`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch outreach campaigns create [-h] --provider
                                           {instantly,smartlead} [--name NAME]
                                           [--account-selection {all_eligible,selected}]
                                           [--selected-account SELECTED_ACCOUNT]
                                           [--min-health-score MIN_HEALTH_SCORE]
                                           [--activate]
                                           [--data-json DATA_JSON]
                                           [--data-file DATA_FILE]
                                           [--base-url BASE_URL]
                                           [--token TOKEN] [--use-x-api-key]
                                           [--timeout TIMEOUT]
                                           [--output {json,ndjson,human}]
                                           [--compact]
                                           [--select SELECT | --json-pointer JSON_POINTER]
                                           [--verbose]`
- Options:
  - `--provider` (required; kind=string; choices=instantly,smartlead)
  - `--name` (kind=string): Campaign name; required unless provided in --data-json/--data-file
  - `--account-selection` (kind=string; choices=all_eligible,selected; default=all_eligible): Sending account pool selection (default: all_eligible)
  - `--selected-account` (kind=string; repeatable): Sending account email when --account-selection selected; repeatable
  - `--min-health-score` (kind=integer): One-off mailbox health threshold 0-100; does not update org settings
  - `--activate` (kind=boolean; when omitted=False; when present=True): Activate immediately after create
  - `--data-json` (kind=json; input=json): Explicit JSON payload
  - `--data-file` (kind=file; input=file): Path to JSON payload file
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch outreach campaigns get`

Get one provider campaign

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--provider, --campaign-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch outreach campaigns get [-h] --provider {instantly,smartlead}
                                        --campaign-id CAMPAIGN_ID
                                        [--base-url BASE_URL] [--token TOKEN]
                                        [--use-x-api-key] [--timeout TIMEOUT]
                                        [--output {json,ndjson,human}]
                                        [--compact]
                                        [--select SELECT | --json-pointer JSON_POINTER]
                                        [--verbose]`
- Options:
  - `--provider` (required; kind=string; choices=instantly,smartlead)
  - `--campaign-id` (required; kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch outreach campaigns list`

List provider campaigns

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--provider`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch outreach campaigns list [-h] --provider {instantly,smartlead}
                                         [--base-url BASE_URL] [--token TOKEN]
                                         [--use-x-api-key] [--timeout TIMEOUT]
                                         [--output {json,ndjson,human}]
                                         [--compact]
                                         [--select SELECT | --json-pointer JSON_POINTER]
                                         [--verbose]`
- Options:
  - `--provider` (required; kind=string; choices=instantly,smartlead)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch outreach campaigns pause`

Pause a provider campaign

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--provider, --campaign-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch outreach campaigns pause [-h] --provider
                                          {instantly,smartlead} --campaign-id
                                          CAMPAIGN_ID [--base-url BASE_URL]
                                          [--token TOKEN] [--use-x-api-key]
                                          [--timeout TIMEOUT]
                                          [--output {json,ndjson,human}]
                                          [--compact]
                                          [--select SELECT | --json-pointer JSON_POINTER]
                                          [--verbose]`
- Options:
  - `--provider` (required; kind=string; choices=instantly,smartlead)
  - `--campaign-id` (required; kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch outreach campaigns sync-accounts`

Sync campaign sender account pool

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--provider, --campaign-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch outreach campaigns sync-accounts [-h] --provider
                                                  {instantly,smartlead}
                                                  --campaign-id CAMPAIGN_ID
                                                  [--account-selection {all_eligible,selected}]
                                                  [--selected-account SELECTED_ACCOUNT]
                                                  [--min-health-score MIN_HEALTH_SCORE]
                                                  [--no-refresh]
                                                  [--data-json DATA_JSON]
                                                  [--data-file DATA_FILE]
                                                  [--base-url BASE_URL]
                                                  [--token TOKEN]
                                                  [--use-x-api-key]
                                                  [--timeout TIMEOUT]
                                                  [--output {json,ndjson,human}]
                                                  [--compact]
                                                  [--select SELECT | --json-pointer JSON_POINTER]
                                                  [--verbose]`
- Options:
  - `--provider` (required; kind=string; choices=instantly,smartlead)
  - `--campaign-id` (required; kind=string)
  - `--account-selection` (kind=string; choices=all_eligible,selected; default=all_eligible): Sending account pool selection (default: all_eligible)
  - `--selected-account` (kind=string; repeatable): Sending account email when --account-selection selected; repeatable
  - `--min-health-score` (kind=integer): One-off mailbox health threshold 0-100; does not update org settings
  - `--no-refresh` (kind=boolean; when omitted=False; when present=True): Use cached provider account snapshot
  - `--data-json` (kind=json; input=json): Explicit JSON payload
  - `--data-file` (kind=file; input=file): Path to JSON payload file
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch outreach campaigns sync-templates`

Sync deterministic provider template steps

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--provider, --campaign-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch outreach campaigns sync-templates [-h] --provider
                                                   {instantly,smartlead}
                                                   --campaign-id CAMPAIGN_ID
                                                   [--data-json DATA_JSON]
                                                   [--data-file DATA_FILE]
                                                   [--base-url BASE_URL]
                                                   [--token TOKEN]
                                                   [--use-x-api-key]
                                                   [--timeout TIMEOUT]
                                                   [--output {json,ndjson,human}]
                                                   [--compact]
                                                   [--select SELECT | --json-pointer JSON_POINTER]
                                                   [--verbose]`
- Options:
  - `--provider` (required; kind=string; choices=instantly,smartlead)
  - `--campaign-id` (required; kind=string)
  - `--data-json` (kind=json; input=json): Explicit JSON payload
  - `--data-file` (kind=file; input=file): Path to JSON payload file
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

### `personal-context`

#### `autotouch personal-context`

Personal sender / rep context

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `get, set, schema`
- Example:
  - `autotouch personal-context [-h] {get,set,schema} ...`

#### `autotouch personal-context get`

Fetch personal context

- Auth: `user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch personal-context get [-h] [--base-url BASE_URL]
                                      [--token TOKEN] [--use-x-api-key]
                                      [--timeout TIMEOUT]
                                      [--output {json,ndjson,human}]
                                      [--compact]
                                      [--select SELECT | --json-pointer JSON_POINTER]
                                      [--verbose]`
- Options:
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch personal-context schema`

Print personal-context payload schemas

- Auth: `none`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch personal-context schema [-h] [--type {all,set}]
                                         [--out-file OUT_FILE]
                                         [--output {json,ndjson,human}]
                                         [--compact]
                                         [--select SELECT | --json-pointer JSON_POINTER]`
- Options:
  - `--type` (kind=string; choices=all,set; default=all)
  - `--out-file` (kind=file; input=file): Write schema JSON to file
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)

#### `autotouch personal-context set`

Save personal context

- Auth: `user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch personal-context set [-h] [--title TITLE]
                                      [--linkedin-url LINKEDIN_URL]
                                      [--voice-profile VOICE_PROFILE]
                                      [--use-personal-voice-profile]
                                      [--data-json DATA_JSON]
                                      [--data-file DATA_FILE]
                                      [--base-url BASE_URL] [--token TOKEN]
                                      [--use-x-api-key] [--timeout TIMEOUT]
                                      [--output {json,ndjson,human}]
                                      [--compact]
                                      [--select SELECT | --json-pointer JSON_POINTER]
                                      [--verbose]`
- Options:
  - `--title` (kind=string): User title
  - `--linkedin-url` (kind=string): User LinkedIn URL
  - `--voice-profile` (kind=string): Personal voice profile guidance
  - `--use-personal-voice-profile` (kind=boolean; when omitted=False; when present=True): Prefer the personal voice profile over org default
  - `--data-json` (kind=json; input=json): Explicit personal context payload JSON
  - `--data-file` (kind=file; input=file): Path to personal context payload JSON file
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

### `prompts`

#### `autotouch prompts`

Manage saved prompt templates for Quick LLM, Agent, and Classify columns

List, create, update, and delete prompt templates used by Quick LLM, Agent, and Classify columns. Templates can be scoped to a single user (private) or shared with the team.

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `list, get, create, update, delete, schema`
- Example:
  - `autotouch prompts list`
  - `autotouch prompts list --mode agent`
  - `autotouch prompts get --id <TEMPLATE_ID>`
  - `autotouch prompts create --data-file prompt.json`
  - `autotouch prompts delete --id <TEMPLATE_ID> --yes`
- Notes:

```text
Developer API keys need prompts:read / prompts:write scopes (or *) for these endpoints.
```

#### `autotouch prompts create`

Create a new prompt template

Create a new prompt template. Requires a JSON payload with name, content, type, and mode.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch prompts create [-h] [--data-json DATA_JSON]
                                [--data-file DATA_FILE] [--base-url BASE_URL]
                                [--token TOKEN] [--use-x-api-key]
                                [--timeout TIMEOUT]
                                [--output {json,ndjson,human}] [--compact]
                                [--select SELECT | --json-pointer JSON_POINTER]
                                [--verbose]`
- Options:
  - `--data-json` (kind=json; input=json): Inline JSON payload
  - `--data-file` (kind=file; input=file): Path to JSON payload file
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch prompts delete`

Delete a prompt template

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `yes`
- Required flags: `--id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch prompts delete [-h] --id ID [--yes] [--base-url BASE_URL]
                                [--token TOKEN] [--use-x-api-key]
                                [--timeout TIMEOUT]
                                [--output {json,ndjson,human}] [--compact]
                                [--select SELECT | --json-pointer JSON_POINTER]
                                [--verbose]`
- Options:
  - `--id` (required; kind=string): Prompt template ID
  - `--yes` (kind=boolean; when omitted=False; when present=True): Confirm deletion
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch prompts get`

Get a single prompt template by ID

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch prompts get [-h] --id ID [--base-url BASE_URL]
                             [--token TOKEN] [--use-x-api-key]
                             [--timeout TIMEOUT]
                             [--output {json,ndjson,human}] [--compact]
                             [--select SELECT | --json-pointer JSON_POINTER]
                             [--verbose]`
- Options:
  - `--id` (required; kind=string): Prompt template ID
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch prompts list`

List prompt templates

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch prompts list [-h] [--mode {basic,agent,classify}]
                              [--base-url BASE_URL] [--token TOKEN]
                              [--use-x-api-key] [--timeout TIMEOUT]
                              [--output {json,ndjson,human}] [--compact]
                              [--select SELECT | --json-pointer JSON_POINTER]
                              [--verbose]`
- Options:
  - `--mode` (kind=string; choices=basic,agent,classify): Filter by mode
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch prompts schema`

Print prompt template payload schemas

- Auth: `none`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch prompts schema [-h] [--type {all,create,update}]
                                [--out-file OUT_FILE]
                                [--output {json,ndjson,human}] [--compact]
                                [--select SELECT | --json-pointer JSON_POINTER]`
- Options:
  - `--type` (kind=string; choices=all,create,update; default=all)
  - `--out-file` (kind=file; input=file): Write schema JSON to file
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)

#### `autotouch prompts update`

Update an existing prompt template

Partially update a prompt template. Only include the fields you want to change.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch prompts update [-h] --id ID [--data-json DATA_JSON]
                                [--data-file DATA_FILE] [--base-url BASE_URL]
                                [--token TOKEN] [--use-x-api-key]
                                [--timeout TIMEOUT]
                                [--output {json,ndjson,human}] [--compact]
                                [--select SELECT | --json-pointer JSON_POINTER]
                                [--verbose]`
- Options:
  - `--id` (required; kind=string): Prompt template ID
  - `--data-json` (kind=json; input=json): Inline JSON payload
  - `--data-file` (kind=file; input=file): Path to JSON payload file
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

### `rows`

#### `autotouch rows`

Row operations

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `list, get, add, import-csv, dedupe, blacklist-check, schema, import-status, import-verify, import-rollback, delete`
- Example:
  - `autotouch rows [-h]
                      {list,get,add,import-csv,dedupe,blacklist-check,schema,import-status,import-verify,import-rollback,delete}
                      ...`

#### `autotouch rows add`

Add blank/manual rows; record payloads patch manual/direct-writable columns only

Add blank rows or patch manual/direct-writable columns from a records payload. For semantic/protected/source-managed columns, use rows import-csv --transport optimized so import validation runs before writes.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--table-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch rows add [-h] --table-id TABLE_ID [--count COUNT]
                          [--records-json RECORDS_JSON]
                          [--records-file RECORDS_FILE] [--detect-types]
                          [--base-url BASE_URL] [--token TOKEN]
                          [--use-x-api-key] [--timeout TIMEOUT]
                          [--output {json,ndjson,human}] [--compact]
                          [--select SELECT | --json-pointer JSON_POINTER]
                          [--verbose]`
- Options:
  - `--table-id` (required; kind=string)
  - `--count` (kind=integer; default=1): Blank rows to create (ignored if records provided)
  - `--records-json` (kind=json; input=json): Object, list, or {records:[...]} payload for manual/direct-writable columns only
  - `--records-file` (kind=file; input=file): Path to JSON records payload for manual/direct-writable columns only; use import-csv for semantic/protected columns
  - `--detect-types` (kind=boolean; when omitted=False; when present=True): Enable detect_types when patching record values
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch rows blacklist-check`

Check a domain/website column against the organization company blacklist

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--table-id, --column-key`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch rows blacklist-check [-h] --table-id TABLE_ID --column-key
                                      COLUMN_KEY [--async-job] [--wait]
                                      [--poll-interval POLL_INTERVAL]
                                      [--wait-timeout WAIT_TIMEOUT]
                                      [--base-url BASE_URL] [--token TOKEN]
                                      [--use-x-api-key] [--timeout TIMEOUT]
                                      [--output {json,ndjson,human}]
                                      [--compact]
                                      [--select SELECT | --json-pointer JSON_POINTER]
                                      [--verbose]`
- Options:
  - `--table-id` (required; kind=string)
  - `--column-key` (required; kind=string): Company domain, website, or URL column
  - `--async-job` (kind=boolean; when omitted=False; when present=True): Use the durable bulk-job path instead of the direct read
  - `--wait` (kind=boolean; when omitted=False; when present=True): Wait for an async blacklist job to finish
  - `--poll-interval` (kind=number; default=2): Polling interval seconds
  - `--wait-timeout` (kind=integer; default=0): Maximum wait seconds (0 = no limit)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch rows dedupe`

Preview or remove duplicate rows by column value

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--table-id, --column-key`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch rows dedupe [-h] --table-id TABLE_ID --column-key COLUMN_KEY
                             [--stats-only] [--base-url BASE_URL]
                             [--token TOKEN] [--use-x-api-key]
                             [--timeout TIMEOUT]
                             [--output {json,ndjson,human}] [--compact]
                             [--select SELECT | --json-pointer JSON_POINTER]
                             [--verbose]`
- Options:
  - `--table-id` (required; kind=string)
  - `--column-key` (required; kind=string): Column to deduplicate on
  - `--stats-only, --dry-run` (kind=boolean; when omitted=False; when present=True): Print deduplication preview without deleting rows
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch rows delete`

Delete a single row

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `yes`
- Required flags: `--table-id, --row-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch rows delete [-h] --table-id TABLE_ID --row-id ROW_ID
                             [--base-url BASE_URL] [--token TOKEN]
                             [--use-x-api-key] [--timeout TIMEOUT]
                             [--output {json,ndjson,human}] [--compact]
                             [--select SELECT | --json-pointer JSON_POINTER]
                             [--verbose]`
- Options:
  - `--table-id` (required; kind=string)
  - `--row-id` (required; kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch rows get`

Get one flattened row by id

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--table-id, --row-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch rows get [-h] --table-id TABLE_ID --row-id ROW_ID
                          [--parse-json-cells] [--base-url BASE_URL]
                          [--token TOKEN] [--use-x-api-key]
                          [--timeout TIMEOUT] [--output {json,ndjson,human}]
                          [--compact]
                          [--select SELECT | --json-pointer JSON_POINTER]
                          [--verbose]`
- Options:
  - `--table-id` (required; kind=string)
  - `--row-id` (required; kind=string)
  - `--parse-json-cells` (kind=boolean; when omitted=False; when present=True): Parse stringified JSON object/array cell values before printing output
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch rows import-csv`

Import CSV rows through the optimized import pipeline by default

Import CSV rows. Optimized transport is recommended for semantic/protected columns, field mapping, domain upsert, durable task status, verification, and rollback.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--table-id, --file`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch rows import-csv [-h] --table-id TABLE_ID
                                 [--confirm-table-id CONFIRM_TABLE_ID] --file
                                 FILE [--transport {optimized,direct}]
                                 [--dry-run] [--validate-only]
                                 [--sample-size SAMPLE_SIZE]
                                 [--checkpoint-file CHECKPOINT_FILE]
                                 [--allow-reimport]
                                 [--expected-rows EXPECTED_ROWS]
                                 [--require-columns REQUIRE_COLUMNS]
                                 [--duplicate-key DUPLICATE_KEY]
                                 [--require-non-empty REQUIRE_NON_EMPTY]
                                 [--delimiter DELIMITER] [--encoding ENCODING]
                                 [--limit LIMIT] [--no-trim-headers]
                                 [--trim-values] [--no-empty-as-null]
                                 [--no-skip-empty-rows] [--detect-types]
                                 [--origin ORIGIN]
                                 [--field-mappings-json FIELD_MAPPINGS_JSON]
                                 [--field-mappings-file FIELD_MAPPINGS_FILE]
                                 [--no-check-company-blacklist]
                                 [--check-email-blacklist] [--sync] [--wait]
                                 [--poll-interval POLL_INTERVAL]
                                 [--wait-timeout WAIT_TIMEOUT]
                                 [--ingest-mode {allow,skip,upsert}]
                                 [--match-rule-id MATCH_RULE_ID]
                                 [--match-column MATCH_COLUMN]
                                 [--match-strategy {email,domain,linkedin_url,external_id,exact_text}]
                                 [--merge-mode {fill_empty,overwrite_mapped}]
                                 [--base-url BASE_URL] [--token TOKEN]
                                 [--use-x-api-key] [--timeout TIMEOUT]
                                 [--output {json,ndjson,human}] [--compact]
                                 [--select SELECT | --json-pointer JSON_POINTER]
                                 [--verbose]`
- Options:
  - `--table-id` (required; kind=string)
  - `--confirm-table-id` (kind=string): Safety check: must match --table-id or command exits
  - `--file` (required; kind=file; input=file): CSV file path
  - `--transport` (kind=string; choices=optimized,direct; default=optimized): Import transport: optimized uses /import-optimized (recommended for semantic/protected columns); direct uses row/cell API loop for manual columns only
  - `--dry-run` (kind=boolean; when omitted=False; when present=True): Parse CSV and print summary without creating rows
  - `--validate-only` (kind=boolean; when omitted=False; when present=True): Server-side CSV parse/shape validation only (no writes)
  - `--sample-size` (kind=integer; default=5): Sample rows returned by --validate-only (0-20, default: 5)
  - `--checkpoint-file` (kind=file; input=file): Optional JSON checkpoint file (guards duplicate imports unless --allow-reimport)
  - `--allow-reimport` (kind=boolean; when omitted=False; when present=True): Ignore checkpoint guard and import again
  - `--expected-rows` (kind=integer): Assert row count equals this value
  - `--require-columns` (kind=string; repeatable; comma-separated): Assert required column keys exist (comma-separated; repeatable)
  - `--duplicate-key` (kind=string; repeatable; comma-separated): Assert no duplicates on this identity key (comma-separated; repeatable)
  - `--require-non-empty` (kind=string; repeatable; comma-separated): Assert non-empty ratio by key (key:ratio, comma-separated; repeatable)
  - `--delimiter` (kind=string; default=,): CSV delimiter (default: ,)
  - `--encoding` (kind=string; default=utf-8): File encoding (default: utf-8)
  - `--limit` (kind=integer): Optional max records to import
  - `--no-trim-headers` (kind=boolean; when omitted=True; when present=False): Do not trim header whitespace
  - `--trim-values` (kind=boolean; when omitted=False; when present=True): Trim cell string values
  - `--no-empty-as-null` (kind=boolean; when omitted=True; when present=False): Preserve empty strings instead of null
  - `--no-skip-empty-rows` (kind=boolean; when omitted=True; when present=False): Keep fully empty rows
  - `--detect-types` (kind=boolean; when omitted=False; when present=True): Enable detect_types while patching
  - `--origin` (kind=string; default=csv): Column origin tag for optimized import
  - `--field-mappings-json` (kind=json; input=json): Field mappings JSON object for optimized import
  - `--field-mappings-file` (kind=file; input=file): Field mappings JSON file for optimized import
  - `--no-check-company-blacklist` (kind=boolean; when omitted=True; when present=False): Disable company blacklist filtering for optimized import
  - `--check-email-blacklist` (kind=boolean; when omitted=False; when present=True): Enable email blacklist filtering for optimized import
  - `--sync` (kind=boolean; when omitted=False; when present=True): Wait for the queued Runtime v2 import to reach terminal status (client-side alias for --wait)
  - `--wait` (kind=boolean; when omitted=False; when present=True): Wait for the queued Runtime v2 import to reach terminal status
  - `--poll-interval` (kind=integer; default=2): Polling interval seconds when waiting
  - `--wait-timeout` (kind=integer; default=0): Max seconds to wait with --wait/--sync (0 = no timeout)
  - `--ingest-mode` (kind=string; choices=allow,skip,upsert): Duplicate handling: allow / skip / upsert (enables server-side identity resolution)
  - `--match-rule-id` (kind=string): Use a pre-configured table identity rule by ID
  - `--match-column` (kind=string): Column key to match on (when no rule-id)
  - `--match-strategy` (kind=string; choices=email,domain,linkedin_url,external_id,exact_text): Normalisation strategy for the match column
  - `--merge-mode` (kind=string; choices=fill_empty,overwrite_mapped): Cell merge strategy when upserting (default: fill_empty)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch rows import-rollback`

Rollback rows created by import task_id

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--table-id, --task-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch rows import-rollback [-h] --table-id TABLE_ID --task-id
                                      TASK_ID [--dry-run]
                                      [--base-url BASE_URL] [--token TOKEN]
                                      [--use-x-api-key] [--timeout TIMEOUT]
                                      [--output {json,ndjson,human}]
                                      [--compact]
                                      [--select SELECT | --json-pointer JSON_POINTER]
                                      [--verbose]`
- Options:
  - `--table-id` (required; kind=string)
  - `--task-id` (required; kind=string)
  - `--dry-run` (kind=boolean; when omitted=False; when present=True): Preview rollback scope without deleting rows
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch rows import-status`

Get or watch CSV import task status

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--table-id, --task-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch rows import-status [-h] --table-id TABLE_ID --task-id TASK_ID
                                    [--wait] [--poll-interval POLL_INTERVAL]
                                    [--wait-timeout WAIT_TIMEOUT]
                                    [--base-url BASE_URL] [--token TOKEN]
                                    [--use-x-api-key] [--timeout TIMEOUT]
                                    [--output {json,ndjson,human}] [--compact]
                                    [--select SELECT | --json-pointer JSON_POINTER]
                                    [--verbose]`
- Options:
  - `--table-id` (required; kind=string)
  - `--task-id` (required; kind=string)
  - `--wait` (kind=boolean; when omitted=False; when present=True): Poll until the import reaches terminal status
  - `--poll-interval` (kind=integer; default=2): Polling interval seconds for --wait
  - `--wait-timeout` (kind=integer; default=0): Max seconds to wait (0 = no timeout)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch rows import-verify`

Verify imported rows for task_id assertions

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--table-id, --task-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch rows import-verify [-h] --table-id TABLE_ID --task-id TASK_ID
                                    [--expected-rows EXPECTED_ROWS]
                                    [--require-columns REQUIRE_COLUMNS]
                                    [--duplicate-key DUPLICATE_KEY]
                                    [--require-non-empty REQUIRE_NON_EMPTY]
                                    [--base-url BASE_URL] [--token TOKEN]
                                    [--use-x-api-key] [--timeout TIMEOUT]
                                    [--output {json,ndjson,human}] [--compact]
                                    [--select SELECT | --json-pointer JSON_POINTER]
                                    [--verbose]`
- Options:
  - `--table-id` (required; kind=string)
  - `--task-id` (required; kind=string)
  - `--expected-rows` (kind=integer): Assert imported row count equals this value
  - `--require-columns` (kind=string; repeatable; comma-separated): Assert required column keys exist (comma-separated; repeatable)
  - `--duplicate-key` (kind=string; repeatable; comma-separated): Assert no duplicates on this identity key (comma-separated; repeatable)
  - `--require-non-empty` (kind=string; repeatable; comma-separated): Assert non-empty ratio by key (key:ratio, comma-separated; repeatable)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch rows list`

List table rows with optional filters/sort

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--table-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch rows list [-h] --table-id TABLE_ID
                           [--filters-json FILTERS_JSON]
                           [--filters-file FILTERS_FILE]
                           [--sort-json SORT_JSON] [--sort-file SORT_FILE]
                           [--page-size PAGE_SIZE] [--cursor CURSOR]
                           [--parse-json-cells] [--base-url BASE_URL]
                           [--token TOKEN] [--use-x-api-key]
                           [--timeout TIMEOUT] [--output {json,ndjson,human}]
                           [--compact]
                           [--select SELECT | --json-pointer JSON_POINTER]
                           [--verbose]`
- Options:
  - `--table-id` (required; kind=string)
  - `--filters-json` (kind=json; input=json): Optional JSON object for server-side filters
  - `--filters-file` (kind=file; input=file): Optional JSON file for server-side filters
  - `--sort-json` (kind=json; input=json): Optional JSON object for server-side sort
  - `--sort-file` (kind=file; input=file): Optional JSON file for server-side sort
  - `--page-size` (kind=integer; default=50): Rows per page (1-1000, default 50)
  - `--cursor` (kind=string): Pagination cursor from a previous rows list response
  - `--parse-json-cells` (kind=boolean; when omitted=False; when present=True): Parse stringified JSON object/array cell values before printing output
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch rows schema`

Print row payload schemas for add/import helpers

- Auth: `none`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch rows schema [-h]
                             [--type {all,add_records,import_field_mappings}]
                             [--out-file OUT_FILE]
                             [--output {json,ndjson,human}] [--compact]
                             [--select SELECT | --json-pointer JSON_POINTER]`
- Options:
  - `--type` (kind=string; choices=all,add_records,import_field_mappings; default=all)
  - `--out-file` (kind=file; input=file): Write schema JSON to file
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)

### `run`

#### `autotouch run`

Alias for: columns run

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--table-id, --column-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch run [-h] --table-id TABLE_ID --column-id COLUMN_ID
                     [--scope {all,subset,row,firstN,filtered}]
                     [--row-id ROW_ID] [--row-ids [ROW_IDS ...]]
                     [--first-n FIRST_N]
                     [--unprocessed-only | --include-processed]
                     [--filters-json FILTERS_JSON]
                     [--filters-file FILTERS_FILE] [--data-json DATA_JSON]
                     [--data-file DATA_FILE] [--show-estimate] [--dry-run]
                     [--max-credits MAX_CREDITS] [--allow-unknown-max]
                     [--wait] [--quiet-wait] [--poll-interval POLL_INTERVAL]
                     [--wait-timeout WAIT_TIMEOUT] [--fail-on-error]
                     [--fail-on-partial] [--base-url BASE_URL] [--token TOKEN]
                     [--use-x-api-key] [--timeout TIMEOUT]
                     [--output {json,ndjson,human}] [--compact]
                     [--select SELECT | --json-pointer JSON_POINTER]
                     [--verbose]`
- Options:
  - `--table-id` (required; kind=string)
  - `--column-id` (required; kind=string)
  - `--scope` (kind=string; choices=all,subset,row,firstN,filtered; default=all): Run scope: row=one explicit ID, subset=explicit many IDs, filtered=current filters, firstN=first N rows, all=entire table
  - `--row-id` (kind=string): Single row ID for scope=row
  - `--row-ids` (kind=list): Row IDs for subset scope (or a single row when scope=row)
  - `--first-n` (kind=integer): First N rows (for scope=firstN). Use with --unprocessed-only to process the next rows without reruns
  - `--unprocessed-only` (kind=boolean; when omitted=True; when present=True): Only process rows without values (default)
  - `--include-processed` (kind=boolean; when omitted=True; when present=False): Include rows that already have output
  - `--filters-json` (kind=json; input=json): JSON object for scope=filtered
  - `--filters-file` (kind=file; input=file): Path to JSON file for scope=filtered
  - `--data-json` (kind=json; input=json): Explicit RunRequest payload JSON (overrides scope flags)
  - `--data-file` (kind=file; input=file): Path to RunRequest payload JSON file (overrides scope flags)
  - `--show-estimate` (kind=boolean; when omitted=False; when present=True): Include estimate response in output
  - `--dry-run` (kind=boolean; when omitted=False; when present=True): Only estimate; do not execute run
  - `--max-credits` (kind=number): Block run when estimate exceeds this value
  - `--allow-unknown-max` (kind=boolean; when omitted=False; when present=True): Allow run when estimated_credits_max is null (max-credits guard uses min estimate)
  - `--wait` (kind=boolean; when omitted=False; when present=True): Wait for the canonical operation-run terminal status by polling /api/operation-runs/{operation_run_id}
  - `--quiet-wait` (kind=boolean; when omitted=False; when present=True): Suppress per-poll output in --wait mode
  - `--poll-interval` (kind=integer; default=2): Polling interval seconds for --wait
  - `--wait-timeout` (kind=integer; default=0): Max seconds to wait (0 = no timeout)
  - `--fail-on-error` (kind=boolean; when omitted=False; when present=True): Exit non-zero when final status is error/cancelled
  - `--fail-on-partial` (kind=boolean; when omitted=False; when present=True): Exit non-zero when final status is partial
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

### `run-next`

#### `autotouch run-next`

Alias for: columns run-next

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--table-id, --column-id, --count`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch run-next [-h] --table-id TABLE_ID --column-id COLUMN_ID
                          --count COUNT [--filters-json FILTERS_JSON]
                          [--filters-file FILTERS_FILE]
                          [--page-size PAGE_SIZE] [--include-processed]
                          [--fail-if-empty] [--show-estimate] [--dry-run]
                          [--max-credits MAX_CREDITS] [--allow-unknown-max]
                          [--wait] [--quiet-wait]
                          [--poll-interval POLL_INTERVAL]
                          [--wait-timeout WAIT_TIMEOUT] [--fail-on-error]
                          [--fail-on-partial] [--base-url BASE_URL]
                          [--token TOKEN] [--use-x-api-key]
                          [--timeout TIMEOUT] [--output {json,ndjson,human}]
                          [--compact]
                          [--select SELECT | --json-pointer JSON_POINTER]
                          [--verbose]`
- Options:
  - `--table-id` (required; kind=string)
  - `--column-id` (required; kind=string)
  - `--count` (required; kind=integer): Maximum number of rows to queue
  - `--filters-json` (kind=json; input=json): Optional JSON object to select from filtered rows
  - `--filters-file` (kind=file; input=file): Optional JSON file to select from filtered rows
  - `--page-size` (kind=integer; default=200): Rows page size while selecting candidates (max 1000)
  - `--include-processed` (kind=boolean; when omitted=True; when present=False): Include rows that already have output in candidate selection
  - `--fail-if-empty` (kind=boolean; when omitted=False; when present=True): Exit non-zero when no eligible rows are selected
  - `--show-estimate` (kind=boolean; when omitted=False; when present=True): Include estimate response in output
  - `--dry-run` (kind=boolean; when omitted=False; when present=True): Only estimate; do not execute run
  - `--max-credits` (kind=number): Block run when estimate exceeds this value
  - `--allow-unknown-max` (kind=boolean; when omitted=False; when present=True): Allow run when estimated_credits_max is null (max-credits guard uses min estimate)
  - `--wait` (kind=boolean; when omitted=False; when present=True): Wait for the canonical operation-run terminal status by polling /api/operation-runs/{operation_run_id}
  - `--quiet-wait` (kind=boolean; when omitted=False; when present=True): Suppress per-poll output in --wait mode
  - `--poll-interval` (kind=integer; default=2): Polling interval seconds for --wait
  - `--wait-timeout` (kind=integer; default=0): Max seconds to wait (0 = no timeout)
  - `--fail-on-error` (kind=boolean; when omitted=False; when present=True): Exit non-zero when final status is error/cancelled
  - `--fail-on-partial` (kind=boolean; when omitted=False; when present=True): Exit non-zero when final status is partial
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

### `scheduled`

#### `autotouch scheduled`

Scheduled Chat operations (owner user session required)

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `list, get, create, update, activate, pause, archive, run-now, runs, get-run, cancel-run, attention, mark-attention-read`
- Example:
  - `autotouch scheduled [-h]
                           {list,get,create,update,activate,pause,archive,run-now,runs,get-run,cancel-run,attention,mark-attention-read}
                           ...`

#### `autotouch scheduled activate`

Activate a reviewed Scheduled Chat definition

Activate a reviewed Scheduled Chat definition. Requires a user session (`autotouch auth login`); developer keys are not supported.

- Auth: `user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch scheduled activate [-h]
                                    [--data-json DATA_JSON | --data-file DATA_FILE]
                                    [--expected-version EXPECTED_VERSION]
                                    [--base-url BASE_URL] [--token TOKEN]
                                    [--timeout TIMEOUT]
                                    [--output {json,ndjson,human}] [--compact]
                                    [--select SELECT | --json-pointer JSON_POINTER]
                                    [--verbose]
                                    schedule_id`
- Options:
  - `--data-json` (kind=json; input=json): HTTP request body as JSON
  - `--data-file` (kind=file; input=file): Path to HTTP request body JSON (use - for stdin)
  - `--expected-version` (kind=integer): Current version from scheduled get; alternatively expectedVersion in JSON
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): User session token (defaults to the saved user session)
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch scheduled archive`

Archive an owned Scheduled Chat definition

Archive an owned Scheduled Chat definition. Requires a user session (`autotouch auth login`); developer keys are not supported.

- Auth: `user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch scheduled archive [-h]
                                   [--data-json DATA_JSON | --data-file DATA_FILE]
                                   [--expected-version EXPECTED_VERSION]
                                   [--base-url BASE_URL] [--token TOKEN]
                                   [--timeout TIMEOUT]
                                   [--output {json,ndjson,human}] [--compact]
                                   [--select SELECT | --json-pointer JSON_POINTER]
                                   [--verbose]
                                   schedule_id`
- Options:
  - `--data-json` (kind=json; input=json): HTTP request body as JSON
  - `--data-file` (kind=file; input=file): Path to HTTP request body JSON (use - for stdin)
  - `--expected-version` (kind=integer): Current version from scheduled get; alternatively expectedVersion in JSON
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): User session token (defaults to the saved user session)
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch scheduled attention`

List your Scheduled Chat attention items

List your Scheduled Chat attention items. Requires a user session (`autotouch auth login`); developer keys are not supported.

- Auth: `user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch scheduled attention [-h] [--unread-only] [--limit LIMIT]
                                     [--base-url BASE_URL] [--token TOKEN]
                                     [--timeout TIMEOUT]
                                     [--output {json,ndjson,human}]
                                     [--compact]
                                     [--select SELECT | --json-pointer JSON_POINTER]
                                     [--verbose]`
- Options:
  - `--unread-only` (kind=boolean; when omitted=None; when present=True)
  - `--limit` (kind=integer)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): User session token (defaults to the saved user session)
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch scheduled cancel-run`

Request cancellation of a Scheduled Chat occurrence

Request cancellation of a Scheduled Chat occurrence. Requires a user session (`autotouch auth login`); developer keys are not supported.

- Auth: `user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch scheduled cancel-run [-h]
                                      [--data-json DATA_JSON | --data-file DATA_FILE]
                                      [--reason REASON] [--base-url BASE_URL]
                                      [--token TOKEN] [--timeout TIMEOUT]
                                      [--output {json,ndjson,human}]
                                      [--compact]
                                      [--select SELECT | --json-pointer JSON_POINTER]
                                      [--verbose]
                                      schedule_id occurrence_id`
- Options:
  - `--data-json` (kind=json; input=json): HTTP request body as JSON
  - `--data-file` (kind=file; input=file): Path to HTTP request body JSON (use - for stdin)
  - `--reason` (kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): User session token (defaults to the saved user session)
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch scheduled create`

Create a draft Scheduled Chat definition

Create a draft Scheduled Chat definition. Requires a user session (`autotouch auth login`); developer keys are not supported.

- Auth: `user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch scheduled create [-h]
                                  (--data-json DATA_JSON | --data-file DATA_FILE)
                                  [--base-url BASE_URL] [--token TOKEN]
                                  [--timeout TIMEOUT]
                                  [--output {json,ndjson,human}] [--compact]
                                  [--select SELECT | --json-pointer JSON_POINTER]
                                  [--verbose]`
- Options:
  - `--data-json` (kind=json; input=json): ScheduleCreateRequest: name, prompt, recurrence {rrule, timezone}; optional resourceRefs and standingApprovalGrantId as JSON
  - `--data-file` (kind=file; input=file): Path to ScheduleCreateRequest: name, prompt, recurrence {rrule, timezone}; optional resourceRefs and standingApprovalGrantId JSON (use - for stdin)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): User session token (defaults to the saved user session)
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch scheduled get`

Read one owned Scheduled Chat definition

Read one owned Scheduled Chat definition. Requires a user session (`autotouch auth login`); developer keys are not supported.

- Auth: `user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch scheduled get [-h] [--base-url BASE_URL] [--token TOKEN]
                               [--timeout TIMEOUT]
                               [--output {json,ndjson,human}] [--compact]
                               [--select SELECT | --json-pointer JSON_POINTER]
                               [--verbose]
                               schedule_id`
- Options:
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): User session token (defaults to the saved user session)
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch scheduled get-run`

Read one exact Scheduled Chat occurrence

Read one exact Scheduled Chat occurrence. Requires a user session (`autotouch auth login`); developer keys are not supported.

- Auth: `user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch scheduled get-run [-h] [--base-url BASE_URL] [--token TOKEN]
                                   [--timeout TIMEOUT]
                                   [--output {json,ndjson,human}] [--compact]
                                   [--select SELECT | --json-pointer JSON_POINTER]
                                   [--verbose]
                                   schedule_id occurrence_id`
- Options:
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): User session token (defaults to the saved user session)
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch scheduled list`

List your Scheduled Chat definitions

List your Scheduled Chat definitions. Requires a user session (`autotouch auth login`); developer keys are not supported.

- Auth: `user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch scheduled list [-h]
                                [--status {draft,active,paused,completed,archived}]
                                [--limit LIMIT] [--base-url BASE_URL]
                                [--token TOKEN] [--timeout TIMEOUT]
                                [--output {json,ndjson,human}] [--compact]
                                [--select SELECT | --json-pointer JSON_POINTER]
                                [--verbose]`
- Options:
  - `--status` (kind=string; repeatable; choices=draft,active,paused,completed,archived)
  - `--limit` (kind=integer)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): User session token (defaults to the saved user session)
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch scheduled mark-attention-read`

Mark one owned Scheduled Chat attention item read

Mark one owned Scheduled Chat attention item read. Requires a user session (`autotouch auth login`); developer keys are not supported.

- Auth: `user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch scheduled mark-attention-read [-h] [--base-url BASE_URL]
                                               [--token TOKEN]
                                               [--timeout TIMEOUT]
                                               [--output {json,ndjson,human}]
                                               [--compact]
                                               [--select SELECT | --json-pointer JSON_POINTER]
                                               [--verbose]
                                               attention_id`
- Options:
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): User session token (defaults to the saved user session)
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch scheduled pause`

Pause an owned Scheduled Chat definition

Pause an owned Scheduled Chat definition. Requires a user session (`autotouch auth login`); developer keys are not supported.

- Auth: `user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch scheduled pause [-h]
                                 [--data-json DATA_JSON | --data-file DATA_FILE]
                                 [--expected-version EXPECTED_VERSION]
                                 [--base-url BASE_URL] [--token TOKEN]
                                 [--timeout TIMEOUT]
                                 [--output {json,ndjson,human}] [--compact]
                                 [--select SELECT | --json-pointer JSON_POINTER]
                                 [--verbose]
                                 schedule_id`
- Options:
  - `--data-json` (kind=json; input=json): HTTP request body as JSON
  - `--data-file` (kind=file; input=file): Path to HTTP request body JSON (use - for stdin)
  - `--expected-version` (kind=integer): Current version from scheduled get; alternatively expectedVersion in JSON
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): User session token (defaults to the saved user session)
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch scheduled run-now`

Queue one idempotent Scheduled Chat occurrence

Queue one idempotent Scheduled Chat occurrence. Requires a user session (`autotouch auth login`); developer keys are not supported.

- Auth: `user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch scheduled run-now [-h]
                                   [--data-json DATA_JSON | --data-file DATA_FILE]
                                   [--expected-version EXPECTED_VERSION]
                                   [--idempotency-key IDEMPOTENCY_KEY]
                                   [--base-url BASE_URL] [--token TOKEN]
                                   [--timeout TIMEOUT]
                                   [--output {json,ndjson,human}] [--compact]
                                   [--select SELECT | --json-pointer JSON_POINTER]
                                   [--verbose]
                                   schedule_id`
- Options:
  - `--data-json` (kind=json; input=json): HTTP request body as JSON
  - `--data-file` (kind=file; input=file): Path to HTTP request body JSON (use - for stdin)
  - `--expected-version` (kind=integer): Current version from scheduled get; alternatively expectedVersion in JSON
  - `--idempotency-key` (kind=string): Stable retry key, 8-200 characters
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): User session token (defaults to the saved user session)
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch scheduled runs`

List occurrences for an owned schedule

List occurrences for an owned schedule. Requires a user session (`autotouch auth login`); developer keys are not supported.

- Auth: `user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch scheduled runs [-h] [--limit LIMIT] [--base-url BASE_URL]
                                [--token TOKEN] [--timeout TIMEOUT]
                                [--output {json,ndjson,human}] [--compact]
                                [--select SELECT | --json-pointer JSON_POINTER]
                                [--verbose]
                                schedule_id`
- Options:
  - `--limit` (kind=integer)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): User session token (defaults to the saved user session)
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch scheduled update`

Update an owned Scheduled Chat definition with version protection

Update an owned Scheduled Chat definition with version protection. Requires a user session (`autotouch auth login`); developer keys are not supported.

- Auth: `user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch scheduled update [-h]
                                  (--data-json DATA_JSON | --data-file DATA_FILE)
                                  [--expected-version EXPECTED_VERSION]
                                  [--base-url BASE_URL] [--token TOKEN]
                                  [--timeout TIMEOUT]
                                  [--output {json,ndjson,human}] [--compact]
                                  [--select SELECT | --json-pointer JSON_POINTER]
                                  [--verbose]
                                  schedule_id`
- Options:
  - `--data-json` (kind=json; input=json): ScheduleUpdateRequest: expectedVersion plus name, prompt, recurrence, or resourceRefs as JSON
  - `--data-file` (kind=file; input=file): Path to ScheduleUpdateRequest: expectedVersion plus name, prompt, recurrence, or resourceRefs JSON (use - for stdin)
  - `--expected-version` (kind=integer): Current version from scheduled get; alternatively expectedVersion in JSON
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): User session token (defaults to the saved user session)
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

### `schema`

#### `autotouch schema`

Print shared descriptor schemas used across commands

- Auth: `none`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch schema [-h]
                        [--type {all,filter_descriptor,sort_spec,run_request,selection_descriptor}]
                        [--out-file OUT_FILE] [--output {json,ndjson,human}]
                        [--compact]
                        [--select SELECT | --json-pointer JSON_POINTER]`
- Options:
  - `--type` (kind=string; choices=all,filter_descriptor,sort_spec,run_request,selection_descriptor; default=all)
  - `--out-file` (kind=file; input=file): Write schema JSON to file
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)

### `search`

#### `autotouch search`

Provider-hidden search operations

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `board-jobs, catalog-companies, people-basic, linkedin-posts, linkedin-post-engagers, role-changes, recipe, companies, people, similar-companies, web, web-results, read-url, company-profile, person-profile, news, local-businesses, reviews, filings`
- Example:
  - `autotouch search [-h]
                        {board-jobs,catalog-companies,people-basic,linkedin-posts,linkedin-post-engagers,role-changes,recipe,companies,people,similar-companies,web,web-results,read-url,company-profile,person-profile,news,local-businesses,reviews,filings}
                        ...`

#### `autotouch search board-jobs`

Search a selected jobs board without creating a durable list job (limit 1-25)

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch search board-jobs [-h]
                                   [--data-json DATA_JSON | --data-file DATA_FILE]
                                   [--query QUERY]
                                   [--board {indeed,google,linkedin}]
                                   [--location LOCATION] [--country COUNTRY]
                                   [--limit LIMIT] [--base-url BASE_URL]
                                   [--token TOKEN] [--use-x-api-key]
                                   [--timeout TIMEOUT]
                                   [--output {json,ndjson,human}] [--compact]
                                   [--select SELECT | --json-pointer JSON_POINTER]
                                   [--verbose]`
- Options:
  - `--data-json` (kind=json; input=json): BoardJobsSearchRequest: query; optional board (indeed/google/linkedin), location, country, language, limit, date_posted, job_type, sort, page_token as JSON
  - `--data-file` (kind=file; input=file): Path to BoardJobsSearchRequest: query; optional board (indeed/google/linkedin), location, country, language, limit, date_posted, job_type, sort, page_token JSON (use - for stdin)
  - `--query` (kind=string)
  - `--board` (kind=string; choices=indeed,google,linkedin)
  - `--location` (kind=string)
  - `--country` (kind=string)
  - `--limit` (kind=integer)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch search catalog-companies`

Search a bounded company catalog snapshot using deterministic filters (limit 1-25)

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch search catalog-companies [-h]
                                          (--data-json DATA_JSON | --data-file DATA_FILE)
                                          [--base-url BASE_URL]
                                          [--token TOKEN] [--use-x-api-key]
                                          [--timeout TIMEOUT]
                                          [--output {json,ndjson,human}]
                                          [--compact]
                                          [--select SELECT | --json-pointer JSON_POINTER]
                                          [--verbose]`
- Options:
  - `--data-json` (kind=json; input=json): CatalogCompaniesSearchRequest: at least one industry/geography/size/founded-year filter; require_domain=true; limit 1-25 as JSON
  - `--data-file` (kind=file; input=file): Path to CatalogCompaniesSearchRequest: at least one industry/geography/size/founded-year filter; require_domain=true; limit 1-25 JSON (use - for stdin)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch search companies`

Find companies with Exa Company Search

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch search companies [-h] [--query QUERY] [--limit LIMIT]
                                  [--data-json DATA_JSON]
                                  [--data-file DATA_FILE]
                                  [--base-url BASE_URL] [--token TOKEN]
                                  [--use-x-api-key] [--timeout TIMEOUT]
                                  [--output {json,ndjson,human}] [--compact]
                                  [--select SELECT | --json-pointer JSON_POINTER]
                                  [--verbose]`
- Options:
  - `--query` (kind=string): Natural-language company query
  - `--limit` (kind=integer; default=10): Max results, 1-100 (default: 10)
  - `--data-json` (kind=json; input=json): Explicit request payload JSON
  - `--data-file` (kind=file; input=file): Path to request payload JSON file
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch search company-profile`

Look up one exact company profile through LeadMagic

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch search company-profile [-h] [--company-name COMPANY_NAME]
                                        [--company-domain COMPANY_DOMAIN]
                                        [--linkedin-url LINKEDIN_URL]
                                        [--data-json DATA_JSON]
                                        [--data-file DATA_FILE]
                                        [--base-url BASE_URL] [--token TOKEN]
                                        [--use-x-api-key] [--timeout TIMEOUT]
                                        [--output {json,ndjson,human}]
                                        [--compact]
                                        [--select SELECT | --json-pointer JSON_POINTER]
                                        [--verbose]`
- Options:
  - `--company-name` (kind=string)
  - `--company-domain` (kind=string)
  - `--linkedin-url` (kind=string)
  - `--data-json` (kind=json; input=json): Explicit request payload JSON
  - `--data-file` (kind=file; input=file): Path to request payload JSON file
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch search filings`

Research public company filings

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch search filings [-h] [--company-name COMPANY_NAME]
                                [--filing-type FILING_TYPE]
                                [--data-json DATA_JSON]
                                [--data-file DATA_FILE] [--base-url BASE_URL]
                                [--token TOKEN] [--use-x-api-key]
                                [--timeout TIMEOUT]
                                [--output {json,ndjson,human}] [--compact]
                                [--select SELECT | --json-pointer JSON_POINTER]
                                [--verbose]`
- Options:
  - `--company-name` (kind=string): Public company name
  - `--filing-type` (kind=string; repeatable; comma-separated): Filing type (repeatable; comma-separated also supported)
  - `--data-json` (kind=json; input=json): Explicit request payload JSON
  - `--data-file` (kind=file; input=file): Path to request payload JSON file
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch search linkedin-post-engagers`

Read comments/reactions for up to 12 exact LinkedIn posts

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch search linkedin-post-engagers [-h]
                                               (--data-json DATA_JSON | --data-file DATA_FILE)
                                               [--base-url BASE_URL]
                                               [--token TOKEN]
                                               [--use-x-api-key]
                                               [--timeout TIMEOUT]
                                               [--output {json,ndjson,human}]
                                               [--compact]
                                               [--select SELECT | --json-pointer JSON_POINTER]
                                               [--verbose]`
- Options:
  - `--data-json` (kind=json; input=json): LinkedInPostEngagersSearchRequest: posts [{post_id or post_url}], engagement_types [comments, reactions], limit_per_type 1-25 as JSON
  - `--data-file` (kind=file; input=file): Path to LinkedInPostEngagersSearchRequest: posts [{post_id or post_url}], engagement_types [comments, reactions], limit_per_type 1-25 JSON (use - for stdin)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch search linkedin-posts`

Discover LinkedIn posts from a query or up to five company pages (limit 1-12)

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch search linkedin-posts [-h]
                                       [--data-json DATA_JSON | --data-file DATA_FILE]
                                       [--query QUERY]
                                       [--company-page COMPANY_PAGE]
                                       [--limit LIMIT] [--base-url BASE_URL]
                                       [--token TOKEN] [--use-x-api-key]
                                       [--timeout TIMEOUT]
                                       [--output {json,ndjson,human}]
                                       [--compact]
                                       [--select SELECT | --json-pointer JSON_POINTER]
                                       [--verbose]`
- Options:
  - `--data-json` (kind=json; input=json): HTTP request body as JSON
  - `--data-file` (kind=file; input=file): Path to HTTP request body JSON (use - for stdin)
  - `--query` (kind=string)
  - `--company-page` (kind=string; repeatable)
  - `--limit` (kind=integer)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch search local-businesses`

Search local businesses

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch search local-businesses [-h] [--query QUERY] [--limit LIMIT]
                                         [--country COUNTRY]
                                         [--language LANGUAGE] [--page PAGE]
                                         [--area AREA]
                                         [--area-type {postal_code,postal_district,locality,custom}]
                                         [--max-queries MAX_QUERIES]
                                         [--csv-file CSV_FILE]
                                         [--data-json DATA_JSON]
                                         [--data-file DATA_FILE]
                                         [--base-url BASE_URL] [--token TOKEN]
                                         [--use-x-api-key] [--timeout TIMEOUT]
                                         [--output {json,ndjson,human}]
                                         [--compact]
                                         [--select SELECT | --json-pointer JSON_POINTER]
                                         [--verbose]`
- Options:
  - `--query` (kind=string): Local business query
  - `--limit` (kind=integer; default=25): Max results, 1-100 (default: 25)
  - `--country` (kind=string; default=us): Country code (default: us)
  - `--language` (kind=string; default=en): Language code (default: en)
  - `--page` (kind=integer; default=1): Page number (default: 1)
  - `--area` (kind=string; repeatable): Explicit geographic cell; repeat up to 10 times
  - `--area-type` (kind=string; choices=postal_code,postal_district,locality,custom; default=postal_code): Type applied to every --area value (default: postal_code)
  - `--max-queries` (kind=integer; default=10): Maximum provider calls for this request, 1-10 (default: 10)
  - `--csv-file` (kind=file; input=file): Write normalized unique result items to an import-ready CSV file
  - `--data-json` (kind=json; input=json): Explicit request payload JSON
  - `--data-file` (kind=file; input=file): Path to request payload JSON file
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch search news`

Search recent news

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch search news [-h] [--query QUERY] [--days-back DAYS_BACK]
                             [--limit LIMIT] [--data-json DATA_JSON]
                             [--data-file DATA_FILE] [--base-url BASE_URL]
                             [--token TOKEN] [--use-x-api-key]
                             [--timeout TIMEOUT]
                             [--output {json,ndjson,human}] [--compact]
                             [--select SELECT | --json-pointer JSON_POINTER]
                             [--verbose]`
- Options:
  - `--query` (kind=string): News query
  - `--days-back` (kind=integer; default=7): Lookback window in days (default: 7)
  - `--limit` (kind=integer; default=25): Max results, 1-100 (default: 25)
  - `--data-json` (kind=json; input=json): Explicit request payload JSON
  - `--data-file` (kind=file; input=file): Path to request payload JSON file
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch search people`

Find people with provider-hidden neural search

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch search people [-h] [--person-description PERSON_DESCRIPTION]
                               [--query QUERY] [--company COMPANY]
                               [--domain DOMAIN] [--location LOCATION]
                               [--limit LIMIT] [--data-json DATA_JSON]
                               [--data-file DATA_FILE] [--base-url BASE_URL]
                               [--token TOKEN] [--use-x-api-key]
                               [--timeout TIMEOUT]
                               [--output {json,ndjson,human}] [--compact]
                               [--select SELECT | --json-pointer JSON_POINTER]
                               [--verbose]`
- Options:
  - `--person-description` (kind=string): Required semantic person/responsibility description, e.g. 'person responsible for endpoint management'
  - `--query` (kind=string): Deprecated alias for --person-description
  - `--company` (kind=string): Optional company name
  - `--domain` (kind=string): Optional company domain anchor
  - `--location` (kind=string): Optional location
  - `--limit` (kind=integer; default=10): Max results, 1-10 (default: 10)
  - `--data-json` (kind=json; input=json): Explicit request payload JSON
  - `--data-file` (kind=file; input=file): Path to request payload JSON file
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch search people-basic`

Find public LinkedIn profiles with explicit keywords (limit 1-10)

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch search people-basic [-h]
                                     [--data-json DATA_JSON | --data-file DATA_FILE]
                                     [--query QUERY] [--limit LIMIT]
                                     [--base-url BASE_URL] [--token TOKEN]
                                     [--use-x-api-key] [--timeout TIMEOUT]
                                     [--output {json,ndjson,human}]
                                     [--compact]
                                     [--select SELECT | --json-pointer JSON_POINTER]
                                     [--verbose]`
- Options:
  - `--data-json` (kind=json; input=json): HTTP request body as JSON
  - `--data-file` (kind=file; input=file): Path to HTTP request body JSON (use - for stdin)
  - `--query` (kind=string)
  - `--limit` (kind=integer)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch search person-profile`

Look up one exact LinkedIn person profile through LinkdAPI

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch search person-profile [-h] [--linkedin-url LINKEDIN_URL]
                                       [--username USERNAME] [--urn URN]
                                       [--data-json DATA_JSON]
                                       [--data-file DATA_FILE]
                                       [--base-url BASE_URL] [--token TOKEN]
                                       [--use-x-api-key] [--timeout TIMEOUT]
                                       [--output {json,ndjson,human}]
                                       [--compact]
                                       [--select SELECT | --json-pointer JSON_POINTER]
                                       [--verbose]`
- Options:
  - `--linkedin-url` (kind=string)
  - `--username` (kind=string)
  - `--urn` (kind=string)
  - `--data-json` (kind=json; input=json): Explicit request payload JSON
  - `--data-file` (kind=file; input=file): Path to request payload JSON file
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch search read-url`

Read bounded evidence from one public URL or uploaded PDF

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch search read-url [-h]
                                 [--url URL | --attachment-id ATTACHMENT_ID]
                                 [--purpose {default,business_contact_info,people,dom}]
                                 [--no-links] [--include-images]
                                 [--max-content-chars MAX_CONTENT_CHARS]
                                 [--max-raw-html-chars MAX_RAW_HTML_CHARS]
                                 [--max-pdf-bytes MAX_PDF_BYTES]
                                 [--max-pdf-pages MAX_PDF_PAGES]
                                 [--pdf-page-start PDF_PAGE_START]
                                 [--data-json DATA_JSON]
                                 [--data-file DATA_FILE] [--base-url BASE_URL]
                                 [--token TOKEN] [--use-x-api-key]
                                 [--timeout TIMEOUT]
                                 [--output {json,ndjson,human}] [--compact]
                                 [--select SELECT | --json-pointer JSON_POINTER]
                                 [--verbose]`
- Options:
  - `--url` (kind=string): Public HTML or PDF URL
  - `--attachment-id` (kind=string): Organization-scoped Command Center uploaded-PDF id
  - `--purpose` (kind=string; choices=default,business_contact_info,people,dom; default=default)
  - `--no-links` (kind=boolean; when omitted=False; when present=True)
  - `--include-images` (kind=boolean; when omitted=False; when present=True)
  - `--max-content-chars` (kind=integer; default=80000)
  - `--max-raw-html-chars` (kind=integer; default=300000)
  - `--max-pdf-bytes` (kind=integer)
  - `--max-pdf-pages` (kind=integer)
  - `--pdf-page-start` (kind=integer)
  - `--data-json` (kind=json; input=json): Explicit request payload JSON
  - `--data-file` (kind=file; input=file): Path to request payload JSON file
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch search recipe`

Print search payload recipes

- Auth: `none`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch search recipe [-h]
                               [--type {all,companies,people,similar_companies,news,local_businesses,reviews,filings}]
                               [--out-file OUT_FILE] [--base-url BASE_URL]
                               [--token TOKEN] [--use-x-api-key]
                               [--timeout TIMEOUT]
                               [--output {json,ndjson,human}] [--compact]
                               [--select SELECT | --json-pointer JSON_POINTER]
                               [--verbose]`
- Options:
  - `--type` (kind=string; choices=all,companies,people,similar_companies,news,local_businesses,reviews,filings; default=all)
  - `--out-file` (kind=file; input=file): Optional path to save the selected payload JSON
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch search reviews`

Fetch reviews for a known listing

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch search reviews [-h] [--cid CID] [--place-id PLACE_ID]
                                [--fid FID] [--sort-by SORT_BY]
                                [--limit LIMIT] [--country COUNTRY]
                                [--language LANGUAGE]
                                [--next-page-token NEXT_PAGE_TOKEN]
                                [--page PAGE] [--data-json DATA_JSON]
                                [--data-file DATA_FILE] [--base-url BASE_URL]
                                [--token TOKEN] [--use-x-api-key]
                                [--timeout TIMEOUT]
                                [--output {json,ndjson,human}] [--compact]
                                [--select SELECT | --json-pointer JSON_POINTER]
                                [--verbose]`
- Options:
  - `--cid` (kind=string): Listing CID
  - `--place-id` (kind=string): Listing place_id
  - `--fid` (kind=string): Listing fid
  - `--sort-by` (kind=string; default=newest): Sort order (default: newest)
  - `--limit` (kind=integer; default=25): Max results, 1-100 (default: 25)
  - `--country` (kind=string; default=us): Country code (default: us)
  - `--language` (kind=string; default=en): Language code (default: en)
  - `--next-page-token` (kind=string; sensitive): Pagination token
  - `--page` (kind=integer; default=1): Page number (default: 1)
  - `--data-json` (kind=json; input=json): Explicit request payload JSON
  - `--data-file` (kind=file; input=file): Path to request payload JSON file
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch search role-changes`

Unlock bounded role changes using supported position filters (limit 1-5)

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch search role-changes [-h]
                                     [--data-json DATA_JSON | --data-file DATA_FILE]
                                     [--position POSITION] [--country COUNTRY]
                                     [--date-preset DATE_PRESET]
                                     [--limit LIMIT] [--base-url BASE_URL]
                                     [--token TOKEN] [--use-x-api-key]
                                     [--timeout TIMEOUT]
                                     [--output {json,ndjson,human}]
                                     [--compact]
                                     [--select SELECT | --json-pointer JSON_POINTER]
                                     [--verbose]`
- Options:
  - `--data-json` (kind=json; input=json): HTTP request body as JSON
  - `--data-file` (kind=file; input=file): Path to HTTP request body JSON (use - for stdin)
  - `--position` (kind=string; repeatable)
  - `--country` (kind=string; repeatable)
  - `--date-preset` (kind=string)
  - `--limit` (kind=integer)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch search similar-companies`

Find companies similar to a seed company

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch search similar-companies [-h] [--query QUERY]
                                          [--company-name COMPANY_NAME]
                                          [--company-domain COMPANY_DOMAIN]
                                          [--limit LIMIT]
                                          [--data-json DATA_JSON]
                                          [--data-file DATA_FILE]
                                          [--base-url BASE_URL]
                                          [--token TOKEN] [--use-x-api-key]
                                          [--timeout TIMEOUT]
                                          [--output {json,ndjson,human}]
                                          [--compact]
                                          [--select SELECT | --json-pointer JSON_POINTER]
                                          [--verbose]`
- Options:
  - `--query` (kind=string): Required exact semantic company query; distinguish the vendor from its customers, name the buyer and workflow, and add useful near-neighbor exclusions
  - `--company-name` (kind=string): Optional seed company name to exclude from results
  - `--company-domain` (kind=string): Optional official seed domain to exclude from results
  - `--limit` (kind=integer; default=10): Max results, 1-100 (default: 10)
  - `--data-json` (kind=json; input=json): Explicit request payload JSON
  - `--data-file` (kind=file; input=file): Path to request payload JSON file
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch search web`

Run bounded live web research through Parallel

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--objective`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch search web [-h] --objective OBJECTIVE [--query QUERY]
                            [--mode {turbo,basic,advanced}]
                            [--max-chars-total MAX_CHARS_TOTAL]
                            [--include-domain INCLUDE_DOMAIN]
                            [--exclude-domain EXCLUDE_DOMAIN]
                            [--after-date AFTER_DATE] [--country COUNTRY]
                            [--data-json DATA_JSON] [--data-file DATA_FILE]
                            [--base-url BASE_URL] [--token TOKEN]
                            [--use-x-api-key] [--timeout TIMEOUT]
                            [--output {json,ndjson,human}] [--compact]
                            [--select SELECT | --json-pointer JSON_POINTER]
                            [--verbose]`
- Options:
  - `--objective` (required; kind=string): Research objective
  - `--query` (kind=string; repeatable): Search query; repeat up to three times (defaults to the objective)
  - `--mode` (kind=string; choices=turbo,basic,advanced; default=basic)
  - `--max-chars-total` (kind=integer)
  - `--include-domain` (kind=string; repeatable)
  - `--exclude-domain` (kind=string; repeatable)
  - `--after-date` (kind=string): Provider-supported date lower bound
  - `--country` (kind=string): Two-letter country code
  - `--data-json` (kind=json; input=json): Explicit request payload JSON
  - `--data-file` (kind=file; input=file): Path to request payload JSON file
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch search web-results`

Discover live Google result links and snippets through Serper

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--query`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch search web-results [-h] --query QUERY [--limit LIMIT]
                                    [--data-json DATA_JSON]
                                    [--data-file DATA_FILE]
                                    [--base-url BASE_URL] [--token TOKEN]
                                    [--use-x-api-key] [--timeout TIMEOUT]
                                    [--output {json,ndjson,human}] [--compact]
                                    [--select SELECT | --json-pointer JSON_POINTER]
                                    [--verbose]`
- Options:
  - `--query` (required; kind=string): Search query
  - `--limit` (kind=integer; default=10): Max results, 1-10 (default: 10)
  - `--data-json` (kind=json; input=json): Explicit request payload JSON
  - `--data-file` (kind=file; input=file): Path to request payload JSON file
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

### `sender-accounts`

#### `autotouch sender-accounts`

List connected email and LinkedIn sender accounts

Read sender accounts available to the current actor. Most sequence enrollments only need an assignee and will use that user's default connected senders. Use these IDs when the task owner/reviewer differs from the email or LinkedIn sender, for round-robin routing, or for sender-account delegation management.

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `list, get, set-default, grant-delegation, revoke-delegation`
- Example:
  - `autotouch sender-accounts [-h]
                                 {list,get,set-default,grant-delegation,revoke-delegation}
                                 ...`

#### `autotouch sender-accounts get`

Get one sender account and its delegations

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--sender-account-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch sender-accounts get [-h] --sender-account-id
                                     SENDER_ACCOUNT_ID [--base-url BASE_URL]
                                     [--token TOKEN] [--use-x-api-key]
                                     [--timeout TIMEOUT]
                                     [--output {json,ndjson,human}]
                                     [--compact]
                                     [--select SELECT | --json-pointer JSON_POINTER]
                                     [--verbose]`
- Options:
  - `--sender-account-id` (required; kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch sender-accounts grant-delegation`

Allow another user to send from a sender account

Owner/admin user-session management command. Use when one user's connected account should be available for another workspace user to manage or execute assigned sequence work.

- Auth: `user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--sender-account-id, --delegate-user-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch sender-accounts grant-delegation [-h] --sender-account-id
                                                  SENDER_ACCOUNT_ID
                                                  --delegate-user-id
                                                  DELEGATE_USER_ID
                                                  [--scope SCOPE]
                                                  [--base-url BASE_URL]
                                                  [--token TOKEN]
                                                  [--use-x-api-key]
                                                  [--timeout TIMEOUT]
                                                  [--output {json,ndjson,human}]
                                                  [--compact]
                                                  [--select SELECT | --json-pointer JSON_POINTER]
                                                  [--verbose]`
- Options:
  - `--sender-account-id` (required; kind=string)
  - `--delegate-user-id` (required; kind=string)
  - `--scope` (kind=string; repeatable): Delegation scope (default: send); repeatable
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch sender-accounts list`

List accessible sender accounts

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch sender-accounts list [-h] [--channel {email,linkedin}]
                                      [--include-all] [--base-url BASE_URL]
                                      [--token TOKEN] [--use-x-api-key]
                                      [--timeout TIMEOUT]
                                      [--output {json,ndjson,human}]
                                      [--compact]
                                      [--select SELECT | --json-pointer JSON_POINTER]
                                      [--verbose]`
- Options:
  - `--channel` (kind=string; choices=email,linkedin): Filter by sender channel
  - `--include-all` (kind=boolean; when omitted=False; when present=True): Admin only: include all sender accounts in the organization, useful when resolving explicit team-managed senders
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch sender-accounts revoke-delegation`

Revoke another user's access to a sender account

Owner/admin user-session management command for sender account delegation cleanup.

- Auth: `user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--sender-account-id, --delegate-user-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch sender-accounts revoke-delegation [-h] --sender-account-id
                                                   SENDER_ACCOUNT_ID
                                                   --delegate-user-id
                                                   DELEGATE_USER_ID
                                                   [--base-url BASE_URL]
                                                   [--token TOKEN]
                                                   [--use-x-api-key]
                                                   [--timeout TIMEOUT]
                                                   [--output {json,ndjson,human}]
                                                   [--compact]
                                                   [--select SELECT | --json-pointer JSON_POINTER]
                                                   [--verbose]`
- Options:
  - `--sender-account-id` (required; kind=string)
  - `--delegate-user-id` (required; kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch sender-accounts set-default`

Set the owner/default sender account for its channel

Owner/admin user-session management command. Connecting accounts still happens in Settings > Accounts; this command selects the default sender when multiple accounts exist.

- Auth: `user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--sender-account-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch sender-accounts set-default [-h] --sender-account-id
                                             SENDER_ACCOUNT_ID
                                             [--base-url BASE_URL]
                                             [--token TOKEN] [--use-x-api-key]
                                             [--timeout TIMEOUT]
                                             [--output {json,ndjson,human}]
                                             [--compact]
                                             [--select SELECT | --json-pointer JSON_POINTER]
                                             [--verbose]`
- Options:
  - `--sender-account-id` (required; kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

### `sequences`

#### `autotouch sequences`

Sequence management and enrollment

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `table-readiness, list, get, stats, delivery-status, variable-catalog, recipe, create, update, sync-accounts, delete, clone, status, activate, pause, archive, enroll, preview-audience, preview-draft, resolve-draft, update-draft, learn-draft, transfer-ownership, pause-enrollment`
- Example:
  - `autotouch sequences [-h]
                           {table-readiness,list,get,stats,delivery-status,variable-catalog,recipe,create,update,sync-accounts,delete,clone,status,activate,pause,archive,enroll,preview-audience,preview-draft,resolve-draft,update-draft,learn-draft,transfer-ownership,pause-enrollment}
                           ...`

#### `autotouch sequences activate`

Activate a sequence

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--sequence-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch sequences activate [-h] --sequence-id SEQUENCE_ID
                                    [--actor-user-id ACTOR_USER_ID]
                                    [--base-url BASE_URL] [--token TOKEN]
                                    [--use-x-api-key] [--timeout TIMEOUT]
                                    [--output {json,ndjson,human}] [--compact]
                                    [--select SELECT | --json-pointer JSON_POINTER]
                                    [--verbose]`
- Options:
  - `--sequence-id` (required; kind=string)
  - `--actor-user-id` (kind=string): Optional actor override; must resolve to an active user in the same organization
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch sequences archive`

Archive a sequence

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--sequence-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch sequences archive [-h] --sequence-id SEQUENCE_ID
                                   [--actor-user-id ACTOR_USER_ID]
                                   [--base-url BASE_URL] [--token TOKEN]
                                   [--use-x-api-key] [--timeout TIMEOUT]
                                   [--output {json,ndjson,human}] [--compact]
                                   [--select SELECT | --json-pointer JSON_POINTER]
                                   [--verbose]`
- Options:
  - `--sequence-id` (required; kind=string)
  - `--actor-user-id` (kind=string): Optional actor override; must resolve to an active user in the same organization
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch sequences clone`

Clone a sequence into a new DRAFT

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--sequence-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch sequences clone [-h] --sequence-id SEQUENCE_ID [--name NAME]
                                 [--target-source-table-id TARGET_SOURCE_TABLE_ID]
                                 [--target-source-table-name TARGET_SOURCE_TABLE_NAME]
                                 [--actor-user-id ACTOR_USER_ID]
                                 [--base-url BASE_URL] [--token TOKEN]
                                 [--use-x-api-key] [--timeout TIMEOUT]
                                 [--output {json,ndjson,human}] [--compact]
                                 [--select SELECT | --json-pointer JSON_POINTER]
                                 [--verbose]`
- Options:
  - `--sequence-id` (required; kind=string)
  - `--name` (kind=string): Optional name for the cloned DRAFT
  - `--target-source-table-id` (kind=string): Optional Research Table id to associate with the clone
  - `--target-source-table-name` (kind=string): Optional display name for --target-source-table-id
  - `--actor-user-id` (kind=string): Optional actor override; must resolve to an active user in the same organization
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch sequences create`

Create a sequence from a JSON payload

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch sequences create [-h] [--data-json DATA_JSON]
                                  [--data-file DATA_FILE]
                                  [--bulk-provider {instantly,smartlead}]
                                  [--account-selection {all_eligible,selected}]
                                  [--selected-account SELECTED_ACCOUNT]
                                  [--actor-user-id ACTOR_USER_ID]
                                  [--base-url BASE_URL] [--token TOKEN]
                                  [--use-x-api-key] [--timeout TIMEOUT]
                                  [--output {json,ndjson,human}] [--compact]
                                  [--select SELECT | --json-pointer JSON_POINTER]
                                  [--verbose]`
- Options:
  - `--data-json` (kind=json; input=json): Sequence create payload JSON
  - `--data-file` (kind=file; input=file): Sequence create payload file path
  - `--bulk-provider` (kind=string; choices=instantly,smartlead): Set sequence emailDelivery to bulk mode with this provider
  - `--account-selection` (kind=string; choices=all_eligible,selected): Bulk provider sender pool: all eligible org accounts or selected account emails
  - `--selected-account` (kind=string; repeatable; comma-separated): Bulk provider sender email for --account-selection selected; repeatable or comma-separated
  - `--actor-user-id` (kind=string): Optional actor override; must resolve to an active user in the same organization
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch sequences delete`

Delete a DRAFT or ARCHIVED sequence

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `yes`
- Required flags: `--sequence-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch sequences delete [-h] --sequence-id SEQUENCE_ID [--yes]
                                  [--actor-user-id ACTOR_USER_ID]
                                  [--base-url BASE_URL] [--token TOKEN]
                                  [--use-x-api-key] [--timeout TIMEOUT]
                                  [--output {json,ndjson,human}] [--compact]
                                  [--select SELECT | --json-pointer JSON_POINTER]
                                  [--verbose]`
- Options:
  - `--sequence-id` (required; kind=string)
  - `--yes` (kind=boolean; when omitted=False; when present=True): Required confirmation flag for destructive delete
  - `--actor-user-id` (kind=string): Optional actor override; must resolve to an active user in the same organization
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch sequences delivery-status`

Check sequence email delivery readiness

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch sequences delivery-status [-h] [--base-url BASE_URL]
                                           [--token TOKEN] [--use-x-api-key]
                                           [--timeout TIMEOUT]
                                           [--output {json,ndjson,human}]
                                           [--compact]
                                           [--select SELECT | --json-pointer JSON_POINTER]
                                           [--verbose]`
- Options:
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch sequences enroll`

Enroll leads into a sequence (best for one-off/manual adds)

Direct enroll is best for one-off/manual adds. The simple path is lead IDs plus --assigned-to-user-id, which is the task owner/reviewer. When sender account flags are omitted, execution uses that user's default connected email/LinkedIn senders. For team-managed work, keep --assigned-to-user-id as the manager/reviewer and pass --email-sender-account-id / --linkedin-sender-account-id for the account that should actually send. Use add_to_sequence when rows should auto-enroll from a research table over time.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--sequence-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch sequences enroll [-h] --sequence-id SEQUENCE_ID
                                  [--idempotency-key IDEMPOTENCY_KEY]
                                  [--data-json DATA_JSON]
                                  [--data-file DATA_FILE] [--lead-id LEAD_ID]
                                  [--lead-ids-json LEAD_IDS_JSON]
                                  [--lead-ids-file LEAD_IDS_FILE]
                                  [--lead-ids-column LEAD_IDS_COLUMN]
                                  [--start-date START_DATE]
                                  [--research-context-json RESEARCH_CONTEXT_JSON]
                                  [--research-context-file RESEARCH_CONTEXT_FILE]
                                  [--attach-research-table-id ATTACH_RESEARCH_TABLE_ID]
                                  [--attach-research-table-name ATTACH_RESEARCH_TABLE_NAME]
                                  [--attach-research-field-id ATTACH_RESEARCH_FIELD_ID]
                                  [--variable-map-json VARIABLE_MAP_JSON]
                                  [--variable-map-file VARIABLE_MAP_FILE]
                                  [--variable-overrides-json VARIABLE_OVERRIDES_JSON]
                                  [--variable-overrides-file VARIABLE_OVERRIDES_FILE]
                                  [--assigned-to-user-id ASSIGNED_TO_USER_ID]
                                  [--email-sender-account-id EMAIL_SENDER_ACCOUNT_ID]
                                  [--linkedin-sender-account-id LINKEDIN_SENDER_ACCOUNT_ID]
                                  [--sender-account SENDER_ACCOUNT]
                                  [--assignment-plan-json ASSIGNMENT_PLAN_JSON]
                                  [--assignment-plan-file ASSIGNMENT_PLAN_FILE]
                                  [--routing-mode {single,round_robin,weighted_round_robin}]
                                  [--update-lead-owner] [--review-only]
                                  [--skip-active-sequence-conflicts] [--wait]
                                  [--quiet-wait]
                                  [--poll-interval POLL_INTERVAL]
                                  [--wait-timeout WAIT_TIMEOUT]
                                  [--fail-on-error] [--fail-on-partial]
                                  [--actor-user-id ACTOR_USER_ID]
                                  [--base-url BASE_URL] [--token TOKEN]
                                  [--use-x-api-key] [--timeout TIMEOUT]
                                  [--output {json,ndjson,human}] [--compact]
                                  [--select SELECT | --json-pointer JSON_POINTER]
                                  [--verbose]`
- Options:
  - `--sequence-id` (required; kind=string)
  - `--idempotency-key` (kind=string): Override the automatically derived request key; reuse it only with identical input. Same-key replay is guaranteed only when the server response acknowledges idempotency_key_honored=true
  - `--data-json` (kind=json; input=json): Full enroll payload JSON (advanced; overrides simpler flags)
  - `--data-file` (kind=file; input=file): Full enroll payload JSON file (advanced; overrides simpler flags)
  - `--lead-id` (kind=string; repeatable; comma-separated): Lead id to enroll (repeatable; comma-separated also supported)
  - `--lead-ids-json` (kind=json; input=json): JSON array or object with leadIds[]
  - `--lead-ids-file` (kind=file; input=file): Path to JSON/TXT/CSV file with lead ids
  - `--lead-ids-column` (kind=string; default=lead_id): CSV column for lead ids (default: lead_id)
  - `--start-date` (kind=string): Optional startDate ISO timestamp
  - `--research-context-json, --attach-research-context-json` (kind=json; input=json): Advanced raw researchContext JSON for workflow-scoped table context
  - `--research-context-file, --attach-research-context-file` (kind=file; input=file): Advanced raw researchContext JSON file for workflow-scoped table context
  - `--attach-research-table-id` (kind=string): Attach research context from this table for later tasks, sidecar views, and AI drafts
  - `--attach-research-table-name` (kind=string): Optional source table name to store alongside attached research context
  - `--attach-research-field-id` (kind=string; repeatable; comma-separated): Optional research field id to keep in attached context (repeatable; comma-separated also supported)
  - `--variable-map-json` (kind=json; input=json): variableMap JSON
  - `--variable-map-file` (kind=file; input=file): variableMap JSON file
  - `--variable-overrides-json` (kind=json; input=json): variableOverrides JSON
  - `--variable-overrides-file` (kind=file; input=file): variableOverrides JSON file
  - `--assigned-to-user-id` (kind=string): Task owner/reviewer. Default senders for that user are used unless sender routing flags are supplied
  - `--email-sender-account-id` (kind=string): Advanced: pin personal email steps to this sender account instead of using the assignee's default
  - `--linkedin-sender-account-id` (kind=string): Advanced: pin LinkedIn steps to this sender account instead of using the assignee's default
  - `--sender-account` (kind=string; repeatable; comma-separated): Advanced sender mapping channel=id (email=... or linkedin=...); repeatable, comma-separated
  - `--assignment-plan-json` (kind=json; input=json): Advanced: assignmentPlan JSON array for team/round-robin routing
  - `--assignment-plan-file` (kind=file; input=file): Advanced: assignmentPlan JSON file for team/round-robin routing
  - `--routing-mode` (kind=string; choices=single,round_robin,weighted_round_robin): Advanced: routing mode for assignmentPlan
  - `--update-lead-owner` (kind=boolean; when omitted=False; when present=True): Also update Lead.user_id to the assignee
  - `--review-only` (kind=boolean; when omitted=False; when present=True): Create paused review-only enrollments
  - `--skip-active-sequence-conflicts` (kind=boolean; when omitted=False; when present=True): Skip leads already active in another sequence
  - `--wait` (kind=boolean; when omitted=False; when present=True): Wait for enrollment bulk job terminal status
  - `--quiet-wait` (kind=boolean; when omitted=False; when present=True): Suppress per-poll output in --wait mode
  - `--poll-interval` (kind=integer; default=2): Polling interval seconds for --wait
  - `--wait-timeout` (kind=integer; default=0): Max seconds to wait (0 = no timeout)
  - `--fail-on-error` (kind=boolean; when omitted=False; when present=True): Exit non-zero when final status is error/cancelled
  - `--fail-on-partial` (kind=boolean; when omitted=False; when present=True): Exit non-zero when final status is partial
  - `--actor-user-id` (kind=string): Optional actor override; must resolve to an active user in the same organization
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch sequences get`

Get one sequence

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--sequence-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch sequences get [-h] --sequence-id SEQUENCE_ID
                               [--base-url BASE_URL] [--token TOKEN]
                               [--use-x-api-key] [--timeout TIMEOUT]
                               [--output {json,ndjson,human}] [--compact]
                               [--select SELECT | --json-pointer JSON_POINTER]
                               [--verbose]`
- Options:
  - `--sequence-id` (required; kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch sequences learn-draft`

Capture edits from a reviewed draft preview

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--sequence-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch sequences learn-draft [-h] --sequence-id SEQUENCE_ID
                                       [--lead-id LEAD_ID] [--step-id STEP_ID]
                                       [--original-content-json ORIGINAL_CONTENT_JSON]
                                       [--original-content-file ORIGINAL_CONTENT_FILE]
                                       [--edited-content-json EDITED_CONTENT_JSON]
                                       [--edited-content-file EDITED_CONTENT_FILE]
                                       [--draft-meta-json DRAFT_META_JSON]
                                       [--draft-meta-file DRAFT_META_FILE]
                                       [--draft-type DRAFT_TYPE]
                                       [--data-json DATA_JSON]
                                       [--data-file DATA_FILE]
                                       [--base-url BASE_URL] [--token TOKEN]
                                       [--use-x-api-key] [--timeout TIMEOUT]
                                       [--output {json,ndjson,human}]
                                       [--compact]
                                       [--select SELECT | --json-pointer JSON_POINTER]
                                       [--verbose]`
- Options:
  - `--sequence-id` (required; kind=string)
  - `--lead-id` (kind=string): Lead id used by the reviewed draft
  - `--step-id` (kind=string): Sequence step id used by the reviewed draft
  - `--original-content-json` (kind=json; input=json): Original generated content JSON
  - `--original-content-file` (kind=file; input=file): Path to original content JSON
  - `--edited-content-json` (kind=json; input=json): Final edited content JSON
  - `--edited-content-file` (kind=file; input=file): Path to final edited content JSON
  - `--draft-meta-json` (kind=json; input=json): Optional draft metadata JSON
  - `--draft-meta-file` (kind=file; input=file): Path to optional draft metadata JSON
  - `--draft-type` (kind=string): Optional draft type
  - `--data-json` (kind=json; input=json): Full learning payload JSON; overrides individual flags
  - `--data-file` (kind=file; input=file): Path to full learning payload JSON
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch sequences list`

List sequences

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch sequences list [-h] [--status STATUS]
                                [--source-table-id SOURCE_TABLE_ID]
                                [--include-stats] [--limit LIMIT]
                                [--offset OFFSET] [--base-url BASE_URL]
                                [--token TOKEN] [--use-x-api-key]
                                [--timeout TIMEOUT]
                                [--output {json,ndjson,human}] [--compact]
                                [--select SELECT | --json-pointer JSON_POINTER]
                                [--verbose]`
- Options:
  - `--status` (kind=string): Filter by status (DRAFT/ACTIVE/PAUSED/ARCHIVED)
  - `--source-table-id` (kind=string): Filter by source table id
  - `--include-stats` (kind=boolean; when omitted=False; when present=True): Include live enrollment stats per sequence
  - `--limit` (kind=integer; default=50): Max sequences to return (1-100)
  - `--offset` (kind=integer; default=0): Pagination offset
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch sequences pause`

Pause a sequence

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--sequence-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch sequences pause [-h] --sequence-id SEQUENCE_ID
                                 [--actor-user-id ACTOR_USER_ID]
                                 [--base-url BASE_URL] [--token TOKEN]
                                 [--use-x-api-key] [--timeout TIMEOUT]
                                 [--output {json,ndjson,human}] [--compact]
                                 [--select SELECT | --json-pointer JSON_POINTER]
                                 [--verbose]`
- Options:
  - `--sequence-id` (required; kind=string)
  - `--actor-user-id` (kind=string): Optional actor override; must resolve to an active user in the same organization
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch sequences pause-enrollment`

Pause one lead's enrollment in a sequence

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--sequence-id, --lead-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch sequences pause-enrollment [-h] --sequence-id SEQUENCE_ID
                                            --lead-id LEAD_ID
                                            [--actor-user-id ACTOR_USER_ID]
                                            [--base-url BASE_URL]
                                            [--token TOKEN] [--use-x-api-key]
                                            [--timeout TIMEOUT]
                                            [--output {json,ndjson,human}]
                                            [--compact]
                                            [--select SELECT | --json-pointer JSON_POINTER]
                                            [--verbose]`
- Options:
  - `--sequence-id` (required; kind=string)
  - `--lead-id` (required; kind=string)
  - `--actor-user-id` (kind=string): Optional actor override; must resolve to an active user in the same organization
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch sequences preview-audience`

Preview sequence audience hydration without creating enrollments

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--sequence-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch sequences preview-audience [-h] --sequence-id SEQUENCE_ID
                                            [--data-json DATA_JSON]
                                            [--data-file DATA_FILE]
                                            [--lead-id LEAD_ID]
                                            [--lead-ids-json LEAD_IDS_JSON]
                                            [--lead-ids-file LEAD_IDS_FILE]
                                            [--lead-ids-column LEAD_IDS_COLUMN]
                                            [--research-context-json RESEARCH_CONTEXT_JSON]
                                            [--research-context-file RESEARCH_CONTEXT_FILE]
                                            [--variable-map-json VARIABLE_MAP_JSON]
                                            [--variable-map-file VARIABLE_MAP_FILE]
                                            [--limit LIMIT] [--offset OFFSET]
                                            [--base-url BASE_URL]
                                            [--token TOKEN] [--use-x-api-key]
                                            [--timeout TIMEOUT]
                                            [--output {json,ndjson,human}]
                                            [--compact]
                                            [--select SELECT | --json-pointer JSON_POINTER]
                                            [--verbose]`
- Options:
  - `--sequence-id` (required; kind=string)
  - `--data-json` (kind=json; input=json): Full SequenceAudiencePreviewIn payload JSON
  - `--data-file` (kind=file; input=file): Full SequenceAudiencePreviewIn payload file
  - `--lead-id` (kind=string; repeatable): Lead id to preview; repeatable
  - `--lead-ids-json` (kind=json; input=json): JSON array or object with leadIds[]
  - `--lead-ids-file` (kind=file; input=file): Path to JSON/TXT/CSV file with lead ids
  - `--lead-ids-column` (kind=string; default=lead_id): CSV column for lead ids
  - `--research-context-json` (kind=json; input=json): Optional researchContext JSON
  - `--research-context-file` (kind=file; input=file): Optional researchContext JSON file
  - `--variable-map-json` (kind=json; input=json): Optional variableMap JSON
  - `--variable-map-file` (kind=file; input=file): Optional variableMap JSON file
  - `--limit` (kind=integer; default=200): Maximum preview rows (1-500)
  - `--offset` (kind=integer; default=0): Preview pagination offset
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch sequences preview-draft`

Generate a one-off AI draft preview

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--sequence-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch sequences preview-draft [-h] --sequence-id SEQUENCE_ID
                                         [--lead-id LEAD_ID]
                                         [--step-id STEP_ID]
                                         [--variables-json VARIABLES_JSON]
                                         [--variables-file VARIABLES_FILE]
                                         [--variable-map-json VARIABLE_MAP_JSON]
                                         [--variable-map-file VARIABLE_MAP_FILE]
                                         [--research-context-json RESEARCH_CONTEXT_JSON]
                                         [--research-context-file RESEARCH_CONTEXT_FILE]
                                         [--research-row-id RESEARCH_ROW_ID]
                                         [--data-json DATA_JSON]
                                         [--data-file DATA_FILE]
                                         [--base-url BASE_URL] [--token TOKEN]
                                         [--use-x-api-key] [--timeout TIMEOUT]
                                         [--output {json,ndjson,human}]
                                         [--compact]
                                         [--select SELECT | --json-pointer JSON_POINTER]
                                         [--verbose]`
- Options:
  - `--sequence-id` (required; kind=string)
  - `--lead-id` (kind=string): Lead id to draft for
  - `--step-id` (kind=string): AI-draft-enabled sequence step id
  - `--variables-json` (kind=json; input=json): Variable snapshot JSON object
  - `--variables-file` (kind=file; input=file): Path to variable snapshot JSON
  - `--variable-map-json` (kind=json; input=json): Variable-map JSON object
  - `--variable-map-file` (kind=file; input=file): Path to variable-map JSON
  - `--research-context-json` (kind=json; input=json): Research context JSON object
  - `--research-context-file` (kind=file; input=file): Path to research context JSON
  - `--research-row-id` (kind=string): Optional source Research Table row id
  - `--data-json` (kind=json; input=json): Full endpoint payload JSON; overrides individual flags
  - `--data-file` (kind=file; input=file): Path to full endpoint payload JSON
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch sequences recipe`

Print copy-ready sequence payload templates

- Auth: `none`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch sequences recipe [-h]
                                  [--type {all,create,manual_review,automated_template,bulk_automated,linkedin_outreach,research_field_routing,enroll}]
                                  [--out-file OUT_FILE]
                                  [--output {json,ndjson,human}] [--compact]
                                  [--select SELECT | --json-pointer JSON_POINTER]`
- Options:
  - `--type` (kind=string; choices=all,create,manual_review,automated_template,bulk_automated,linkedin_outreach,research_field_routing,enroll; default=all)
  - `--out-file` (kind=file; input=file): Write template JSON to file (single type writes payload only)
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)

#### `autotouch sequences resolve-draft`

Create or reuse a persisted draft preview instance

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--sequence-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch sequences resolve-draft [-h] --sequence-id SEQUENCE_ID
                                         [--lead-id LEAD_ID]
                                         [--step-id STEP_ID]
                                         [--variables-json VARIABLES_JSON]
                                         [--variables-file VARIABLES_FILE]
                                         [--variable-map-json VARIABLE_MAP_JSON]
                                         [--variable-map-file VARIABLE_MAP_FILE]
                                         [--research-context-json RESEARCH_CONTEXT_JSON]
                                         [--research-context-file RESEARCH_CONTEXT_FILE]
                                         [--research-row-id RESEARCH_ROW_ID]
                                         [--data-json DATA_JSON]
                                         [--data-file DATA_FILE] [--force]
                                         [--base-url BASE_URL] [--token TOKEN]
                                         [--use-x-api-key] [--timeout TIMEOUT]
                                         [--output {json,ndjson,human}]
                                         [--compact]
                                         [--select SELECT | --json-pointer JSON_POINTER]
                                         [--verbose]`
- Options:
  - `--sequence-id` (required; kind=string)
  - `--lead-id` (kind=string): Lead id to draft for
  - `--step-id` (kind=string): AI-draft-enabled sequence step id
  - `--variables-json` (kind=json; input=json): Variable snapshot JSON object
  - `--variables-file` (kind=file; input=file): Path to variable snapshot JSON
  - `--variable-map-json` (kind=json; input=json): Variable-map JSON object
  - `--variable-map-file` (kind=file; input=file): Path to variable-map JSON
  - `--research-context-json` (kind=json; input=json): Research context JSON object
  - `--research-context-file` (kind=file; input=file): Path to research context JSON
  - `--research-row-id` (kind=string): Optional source Research Table row id
  - `--data-json` (kind=json; input=json): Full endpoint payload JSON; overrides individual flags
  - `--data-file` (kind=file; input=file): Path to full endpoint payload JSON
  - `--force` (kind=boolean; when omitted=False; when present=True): Regenerate even when an instance exists
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch sequences stats`

Get live stats for one sequence

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--sequence-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch sequences stats [-h] --sequence-id SEQUENCE_ID
                                 [--base-url BASE_URL] [--token TOKEN]
                                 [--use-x-api-key] [--timeout TIMEOUT]
                                 [--output {json,ndjson,human}] [--compact]
                                 [--select SELECT | --json-pointer JSON_POINTER]
                                 [--verbose]`
- Options:
  - `--sequence-id` (required; kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch sequences status`

Set sequence status

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--sequence-id, --status`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch sequences status [-h] --sequence-id SEQUENCE_ID --status
                                  {ACTIVE,PAUSED,ARCHIVED}
                                  [--actor-user-id ACTOR_USER_ID]
                                  [--base-url BASE_URL] [--token TOKEN]
                                  [--use-x-api-key] [--timeout TIMEOUT]
                                  [--output {json,ndjson,human}] [--compact]
                                  [--select SELECT | --json-pointer JSON_POINTER]
                                  [--verbose]`
- Options:
  - `--sequence-id` (required; kind=string)
  - `--status` (required; kind=string; choices=ACTIVE,PAUSED,ARCHIVED)
  - `--actor-user-id` (kind=string): Optional actor override; must resolve to an active user in the same organization
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch sequences sync-accounts`

Choose and sync Instantly/Smartlead sender accounts for a managed bulk sequence

For bulk sequences, sender accounts live on the provider campaign rather than per enrollment. Use --account-selection all_eligible for the org's eligible provider account group, or --account-selection selected with --selected-account for specific mailbox emails. This is separate from personal email/LinkedIn senderAccountIds used by sequence enrollments.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--sequence-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch sequences sync-accounts [-h] --sequence-id SEQUENCE_ID
                                         [--account-selection {all_eligible,selected}]
                                         [--selected-account SELECTED_ACCOUNT]
                                         [--no-refresh]
                                         [--actor-user-id ACTOR_USER_ID]
                                         [--base-url BASE_URL] [--token TOKEN]
                                         [--use-x-api-key] [--timeout TIMEOUT]
                                         [--output {json,ndjson,human}]
                                         [--compact]
                                         [--select SELECT | --json-pointer JSON_POINTER]
                                         [--verbose]`
- Options:
  - `--sequence-id` (required; kind=string)
  - `--account-selection` (kind=string; choices=all_eligible,selected; default=all_eligible)
  - `--selected-account` (kind=string; repeatable; comma-separated): Provider sender email when --account-selection selected; repeatable or comma-separated
  - `--no-refresh` (kind=boolean; when omitted=False; when present=True): Use cached provider account snapshot
  - `--actor-user-id` (kind=string): Optional actor override; must resolve to an active user in the same organization
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch sequences table-readiness`

Read linked-table audience readiness without enrollment (sequences:read, tables:read, leads:read)

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--sequence-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch sequences table-readiness [-h] --sequence-id SEQUENCE_ID
                                           [--source-lead-column SOURCE_LEAD_COLUMN]
                                           [--base-url BASE_URL]
                                           [--token TOKEN] [--use-x-api-key]
                                           [--timeout TIMEOUT]
                                           [--output {json,ndjson,human}]
                                           [--compact]
                                           [--select SELECT | --json-pointer JSON_POINTER]
                                           [--verbose]`
- Options:
  - `--sequence-id` (required; kind=string)
  - `--source-lead-column` (kind=string): Exact Sync to Leads result-column key from the linked table
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch sequences transfer-ownership`

Preview or execute task/enrollment ownership transfer

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--sequence-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch sequences transfer-ownership [-h] --sequence-id SEQUENCE_ID
                                              [--new-user-id NEW_USER_ID]
                                              [--lead-id LEAD_ID]
                                              [--enrollment-id ENROLLMENT_ID]
                                              [--mode {tasks_only,tasks_plus_enrollment,exit_and_reenroll}]
                                              [--update-lead-owner]
                                              [--execute]
                                              [--data-json DATA_JSON]
                                              [--data-file DATA_FILE]
                                              [--base-url BASE_URL]
                                              [--token TOKEN]
                                              [--use-x-api-key]
                                              [--timeout TIMEOUT]
                                              [--output {json,ndjson,human}]
                                              [--compact]
                                              [--select SELECT | --json-pointer JSON_POINTER]
                                              [--verbose]`
- Options:
  - `--sequence-id` (required; kind=string)
  - `--new-user-id` (kind=string): Target owner user id
  - `--lead-id` (kind=string; repeatable): Lead id to transfer; repeatable
  - `--enrollment-id` (kind=string; repeatable): Enrollment id to transfer; repeatable
  - `--mode` (kind=string; choices=tasks_only,tasks_plus_enrollment,exit_and_reenroll; default=tasks_only)
  - `--update-lead-owner` (kind=boolean; when omitted=False; when present=True): Also change Lead ownership
  - `--execute` (kind=boolean; when omitted=False; when present=True): Apply the transfer; default is dry-run preview
  - `--data-json` (kind=json; input=json): Full transfer payload JSON; selection flags are ignored
  - `--data-file` (kind=file; input=file): Path to full transfer payload JSON
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch sequences update`

Update a sequence from a JSON payload (schedule changes may rewindow unsent scheduled work)

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--sequence-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch sequences update [-h] --sequence-id SEQUENCE_ID
                                  [--data-json DATA_JSON]
                                  [--data-file DATA_FILE]
                                  [--bulk-provider {instantly,smartlead}]
                                  [--account-selection {all_eligible,selected}]
                                  [--selected-account SELECTED_ACCOUNT]
                                  [--actor-user-id ACTOR_USER_ID]
                                  [--base-url BASE_URL] [--token TOKEN]
                                  [--use-x-api-key] [--timeout TIMEOUT]
                                  [--output {json,ndjson,human}] [--compact]
                                  [--select SELECT | --json-pointer JSON_POINTER]
                                  [--verbose]`
- Options:
  - `--sequence-id` (required; kind=string)
  - `--data-json` (kind=json; input=json): Sequence update payload JSON
  - `--data-file` (kind=file; input=file): Sequence update payload file path
  - `--bulk-provider` (kind=string; choices=instantly,smartlead): Set sequence emailDelivery to bulk mode with this provider
  - `--account-selection` (kind=string; choices=all_eligible,selected): Bulk provider sender pool: all eligible org accounts or selected account emails
  - `--selected-account` (kind=string; repeatable; comma-separated): Bulk provider sender email for --account-selection selected; repeatable or comma-separated
  - `--actor-user-id` (kind=string): Optional actor override; must resolve to an active user in the same organization
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch sequences update-draft`

Save edited content on a draft preview instance

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--sequence-id, --draft-instance-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch sequences update-draft [-h] --sequence-id SEQUENCE_ID
                                        --draft-instance-id DRAFT_INSTANCE_ID
                                        [--edited-content-json EDITED_CONTENT_JSON]
                                        [--edited-content-file EDITED_CONTENT_FILE]
                                        [--data-json DATA_JSON]
                                        [--data-file DATA_FILE]
                                        [--base-url BASE_URL] [--token TOKEN]
                                        [--use-x-api-key] [--timeout TIMEOUT]
                                        [--output {json,ndjson,human}]
                                        [--compact]
                                        [--select SELECT | --json-pointer JSON_POINTER]
                                        [--verbose]`
- Options:
  - `--sequence-id` (required; kind=string)
  - `--draft-instance-id` (required; kind=string)
  - `--edited-content-json` (kind=json; input=json): Edited content JSON object
  - `--edited-content-file` (kind=file; input=file): Path to edited content JSON
  - `--data-json` (kind=json; input=json): Full {editedContent:{...}} payload JSON
  - `--data-file` (kind=file; input=file): Path to full draft update payload JSON
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch sequences variable-catalog`

Inspect legal sequence variables and source-table route candidates

Returns executable lead/company/user/custom/research variables for sequence templates, plus candidate source_field_route fields when a source table is provided. Use this before writing SequenceIn templates or variableMap payloads.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch sequences variable-catalog [-h] [--sequence-id SEQUENCE_ID]
                                            [--source-table-id SOURCE_TABLE_ID]
                                            [--no-custom-fields]
                                            [--no-research-fields]
                                            [--no-route-suggestions]
                                            [--route-sample-limit ROUTE_SAMPLE_LIMIT]
                                            [--base-url BASE_URL]
                                            [--token TOKEN] [--use-x-api-key]
                                            [--timeout TIMEOUT]
                                            [--output {json,ndjson,human}]
                                            [--compact]
                                            [--select SELECT | --json-pointer JSON_POINTER]
                                            [--verbose]`
- Options:
  - `--sequence-id` (kind=string): Optional existing sequence id to inspect
  - `--source-table-id` (kind=string): Optional source table id for research variables and route suggestions
  - `--no-custom-fields` (kind=boolean; when omitted=False; when present=True): Exclude CRM custom fields
  - `--no-research-fields` (kind=boolean; when omitted=False; when present=True): Exclude source-table research fields
  - `--no-route-suggestions` (kind=boolean; when omitted=False; when present=True): Exclude route candidate sampling
  - `--route-sample-limit` (kind=integer; default=100): Rows to sample for route suggestions (1-250)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

### `setup`

#### `autotouch setup`

First-run setup with key validation

- Auth: `none`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch setup [-h] [--api-key API_KEY] [--base-url BASE_URL]
                       [--overwrite] [--use-x-api-key] [--timeout TIMEOUT]
                       [--output {json,ndjson,human}] [--compact]
                       [--select SELECT | --json-pointer JSON_POINTER]
                       [--verbose] [--no-banner]`
- Options:
  - `--api-key` (kind=string; sensitive): Developer API key (stk_...)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--overwrite` (kind=boolean; when omitted=False; when present=True): Replace existing stored API key
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Validate using X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=human): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr
  - `--no-banner` (kind=boolean; when omitted=False; when present=True): Skip banner in human mode

### `signals`

#### `autotouch signals`

Read Signals evidence and manage discovery monitors

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `query, catalog, discovery-industries, list-discovery-monitors, create-discovery-monitor, update-discovery-monitor, pause-discovery-monitor, resume-discovery-monitor`
- Example:
  - `autotouch signals [-h]
                         {query,catalog,discovery-industries,list-discovery-monitors,create-discovery-monitor,update-discovery-monitor,pause-discovery-monitor,resume-discovery-monitor}
                         ...`

#### `autotouch signals catalog`

Read source criteria, cadences, taxonomy and billing policy

Read the current Signals catalog. This configuration read starts no provider work. Developer keys require signals:read or legacy companies:read.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch signals catalog [-h] [--base-url BASE_URL] [--token TOKEN]
                                 [--use-x-api-key] [--timeout TIMEOUT]
                                 [--output {json,ndjson,human}] [--compact]
                                 [--select SELECT | --json-pointer JSON_POINTER]
                                 [--verbose]`
- Options:
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch signals create-discovery-monitor`

Create a discovery monitor

Use the selected server's Signals catalog for criteria and billing. Create and enabled edits/resume can schedule paid collection; pause cancels owned queued/running work and preserves saved Signals plus checkpoints when criteria are unchanged. In-flight provider requests cannot be recalled. Updates require the exact monitor ID and current revision; conflicts are never automatically retried. Developer keys require signals:read, signals:write and signals:run, or all legacy companies:read, leads:read, companies:write and search:run.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch signals create-discovery-monitor --data-file monitor.json`
- Options:
  - `--data-json` (kind=json; input=json): Complete request JSON; flags can add fields absent from JSON
  - `--data-file` (kind=file; input=file): Complete request JSON file; use - for stdin
  - `--name` (kind=string): Monitor name, 1–120 characters
  - `--source` (kind=string; choices=jobs,linkedin_posts,job_changes,fda,sec_filings): Immutable source
  - `--run-now, --no-run-now` (kind=string): Request an initial check when enabled (server default true); --no-run-now waits for cadence
  - `--request-id` (kind=string): Stable create retry identity; reuse only with unchanged payload
  - `--criteria-json` (kind=json; input=json): Complete source criteria JSON; update replaces every criterion
  - `--frequency` (kind=string; choices=hourly,daily,weekly): Jobs: daily also searches the past day; weekly searches the past week. Other source cadences follow the selected server's Signals catalog.
  - `--enabled, --no-enabled` (kind=string): Enable paid scheduling or --no-enabled to pause/save paused
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch signals discovery-industries`

Search canonical discovery industry choices

Read up to twenty canonical industry choices without provider work. Use labels for Job changes and IDs for LinkedIn post author filters. Developer keys require signals:read or legacy companies:read.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch signals discovery-industries [-h] [--q QUERY] [--limit LIMIT]
                                              [--base-url BASE_URL]
                                              [--token TOKEN]
                                              [--use-x-api-key]
                                              [--timeout TIMEOUT]
                                              [--output {json,ndjson,human}]
                                              [--compact]
                                              [--select SELECT | --json-pointer JSON_POINTER]
                                              [--verbose]`
- Options:
  - `--q, --query` (kind=string; default=): Industry label or exact ID, up to 100 characters
  - `--limit` (kind=integer; default=20): Maximum choices, 1-20 (default: 20)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch signals list-discovery-monitors`

Read saved discovery monitors and collection status

List organization-owned discovery monitors, current revisions and collection status. This read starts no checks or provider work. Developer keys require signals:read, or both legacy companies:read and leads:read.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch signals list-discovery-monitors [-h] [--base-url BASE_URL]
                                                 [--token TOKEN]
                                                 [--use-x-api-key]
                                                 [--timeout TIMEOUT]
                                                 [--output {json,ndjson,human}]
                                                 [--compact]
                                                 [--select SELECT | --json-pointer JSON_POINTER]
                                                 [--verbose]`
- Options:
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch signals pause-discovery-monitor`

Pause a discovery monitor

Use the selected server's Signals catalog for criteria and billing. Create and enabled edits/resume can schedule paid collection; pause cancels owned queued/running work and preserves saved Signals plus checkpoints when criteria are unchanged. In-flight provider requests cannot be recalled. Updates require the exact monitor ID and current revision; conflicts are never automatically retried. Developer keys require signals:read, signals:write and signals:run, or all legacy companies:read, leads:read, companies:write and search:run.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch signals pause-discovery-monitor --monitor-id <MONITOR_ID> --expected-revision 3`
- Options:
  - `--data-json` (kind=json; input=json): Complete request JSON; flags can add fields absent from JSON
  - `--data-file` (kind=file; input=file): Complete request JSON file; use - for stdin
  - `--monitor-id` (kind=string): Exact saved monitor ID from list-discovery-monitors; required in flags or JSON
  - `--expected-revision` (kind=integer): Current saved revision; required in flags or JSON; no automatic reread
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch signals query`

Search one page of saved Signals

Search retained organization-visible signal events. This read makes no provider calls and does not enroll companies or run checks. Developer keys require signals:read, or both legacy companies:read and leads:read. The JSON response preserves items, has_more, next_cursor, limit, and as_of; pass next_cursor with the same filters to read another page.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch signals query --search hiring --window-days 30 --limit 20`
  - `autotouch signals query --entity people --signal-type linkedin_posts --content-category industry_commentary --topic outbound_sales`
- Options:
  - `--entity` (kind=string; choices=all,companies,people; default=all)
  - `--feed-scope` (kind=string; choices=all,monitors,discover): Combined authorized feed (all), saved monitor matches, or remaining discovery observations; defaults to all
  - `--signal-type` (kind=string; repeatable; comma-separated): Signal family; repeatable or comma-separated
  - `--window-days` (kind=integer; choices=0,1,7,14,30,90; default=7): Event time window; 0 means all time (default: 7)
  - `--company-id` (kind=string): Exact organization Company id
  - `--monitor-id` (kind=string): Exact authorized monitor ID from list-discovery-monitors; reads its saved evidence, up to 200 characters
  - `--search, --q` (kind=string): Literal case-insensitive text search, up to 200 characters
  - `--content-category` (kind=string; choices=career_update,industry_commentary,company_announcement,funding,product_update,event,personal,other,unclassified): Social post category; unclassified includes posts without ready annotations
  - `--promotion` (kind=string; choices=yes,no,uncertain): Saved post promotion assessment, independent of category
  - `--job-ad` (kind=string; choices=all,yes,no,uncertain): Default hides job ads; all explicitly includes every post for review
  - `--topic` (kind=string): Exact lowercase snake_case social topic, up to 60 characters
  - `--reaction-count-min` (kind=integer): Inclusive min reaction count; missing counts do not match
  - `--reaction-count-max` (kind=integer): Inclusive max reaction count; missing counts do not match
  - `--comment-count-min` (kind=integer): Inclusive min comment count; missing counts do not match
  - `--comment-count-max` (kind=integer): Inclusive max comment count; missing counts do not match
  - `--share-count-min` (kind=integer): Inclusive min share count; missing counts do not match
  - `--share-count-max` (kind=integer): Inclusive max share count; missing counts do not match
  - `--sort-by` (kind=string; choices=newest,person_fit,signal_score,signal_type,reaction_count,comment_count,share_count): Server-side ordering across all matching signals
  - `--sort-direction` (kind=string; choices=asc,desc): Sort direction; unknown engagement stays last
  - `--limit` (kind=integer; default=50): Maximum events in this page, 1-100 (default: 50)
  - `--cursor` (kind=string): Opaque next_cursor from the preceding page; preserve all filters
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch signals resume-discovery-monitor`

Resume a discovery monitor

Use the selected server's Signals catalog for criteria and billing. Create and enabled edits/resume can schedule paid collection; pause cancels owned queued/running work and preserves saved Signals plus checkpoints when criteria are unchanged. In-flight provider requests cannot be recalled. Updates require the exact monitor ID and current revision; conflicts are never automatically retried. Developer keys require signals:read, signals:write and signals:run, or all legacy companies:read, leads:read, companies:write and search:run.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch signals resume-discovery-monitor --monitor-id <MONITOR_ID> --expected-revision 3`
- Options:
  - `--data-json` (kind=json; input=json): Complete request JSON; flags can add fields absent from JSON
  - `--data-file` (kind=file; input=file): Complete request JSON file; use - for stdin
  - `--monitor-id` (kind=string): Exact saved monitor ID from list-discovery-monitors; required in flags or JSON
  - `--expected-revision` (kind=integer): Current saved revision; required in flags or JSON; no automatic reread
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch signals update-discovery-monitor`

Update a discovery monitor

Use the selected server's Signals catalog for criteria and billing. Create and enabled edits/resume can schedule paid collection; pause cancels owned queued/running work and preserves saved Signals plus checkpoints when criteria are unchanged. In-flight provider requests cannot be recalled. Updates require the exact monitor ID and current revision; conflicts are never automatically retried. Developer keys require signals:read, signals:write and signals:run, or all legacy companies:read, leads:read, companies:write and search:run.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch signals update-discovery-monitor --monitor-id <MONITOR_ID> --expected-revision 3 --name 'New name'`
- Options:
  - `--data-json` (kind=json; input=json): Complete request JSON; flags can add fields absent from JSON
  - `--data-file` (kind=file; input=file): Complete request JSON file; use - for stdin
  - `--monitor-id` (kind=string): Exact saved monitor ID from list-discovery-monitors; required in flags or JSON
  - `--expected-revision` (kind=integer): Current saved revision; required in flags or JSON; no automatic reread
  - `--name` (kind=string): Monitor name, 1–120 characters
  - `--criteria-json` (kind=json; input=json): Complete source criteria JSON; update replaces every criterion
  - `--frequency` (kind=string; choices=hourly,daily,weekly): Jobs: daily also searches the past day; weekly searches the past week. Other source cadences follow the selected server's Signals catalog.
  - `--enabled, --no-enabled` (kind=string): Enable paid scheduling or --no-enabled to pause/save paused
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

### `sop`

#### `autotouch sop`

Print credit-safe execution SOP + default filtered run payload

- Auth: `none`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch sop [-h] [--out-file OUT_FILE] [--output {json,ndjson,human}]
                     [--compact]
                     [--select SELECT | --json-pointer JSON_POINTER]`
- Options:
  - `--out-file` (kind=file; input=file): Write SOP JSON to file
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)

### `status`

#### `autotouch status`

Show pending/done/error counts for a table/column (requires pymongo + MONGODB_URI)

- Auth: `none`
- Stability: `stable`
- Destructive: `no`
- Availability: `optional_dependency`
- Optional Python modules: `pymongo`
- Required env/config: `MONGODB_URI`
- Required flags: `--table-id, --column-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch status [-h] --table-id TABLE_ID --column-id COLUMN_ID
                        [--mongo-uri MONGO_URI] [--db-name DB_NAME]
                        [--output {json,ndjson,human}] [--compact]
                        [--select SELECT | --json-pointer JSON_POINTER]`
- Options:
  - `--table-id` (required; kind=string)
  - `--column-id` (required; kind=string)
  - `--mongo-uri` (kind=string): Override MONGODB_URI
  - `--db-name` (kind=string): Override MONGODB_DB_NAME
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)

### `tables`

#### `autotouch tables`

Table operations

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `enrich-and-score-preflight, enrich-and-score, enrich-and-score-retry, list, create, create-from-rows, update, field-meanings, set-field-meanings, identity, schema`
- Example:
  - `autotouch tables [-h]
                        {enrich-and-score-preflight,enrich-and-score,enrich-and-score-retry,list,create,create-from-rows,update,field-meanings,set-field-meanings,identity,schema}
                        ...`

#### `autotouch tables create`

Create a table

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch tables create [-h] [--name NAME]
                               [--metadata-json METADATA_JSON]
                               [--metadata-file METADATA_FILE]
                               [--data-json DATA_JSON] [--data-file DATA_FILE]
                               [--base-url BASE_URL] [--token TOKEN]
                               [--use-x-api-key] [--timeout TIMEOUT]
                               [--output {json,ndjson,human}] [--compact]
                               [--select SELECT | --json-pointer JSON_POINTER]
                               [--verbose]`
- Options:
  - `--name` (kind=string): Table name (when not using --data-json/--data-file)
  - `--metadata-json` (kind=json; input=json): Optional table metadata JSON object
  - `--metadata-file` (kind=file; input=file): Optional file with table metadata JSON
  - `--data-json` (kind=json; input=json): Explicit table create payload JSON
  - `--data-file` (kind=file; input=file): Path to table create payload JSON file
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch tables create-from-rows`

Create a snapshot table from all, filtered, selected, or first-N source rows

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch tables create-from-rows [-h]
                                         [--source-table-id SOURCE_TABLE_ID]
                                         [--source-table-name SOURCE_TABLE_NAME]
                                         [--table-name TABLE_NAME]
                                         [--scope {filtered,all,subset,firstN}]
                                         [--filters-json FILTERS_JSON]
                                         [--filters-file FILTERS_FILE]
                                         [--row-id ROW_ID] [--first-n FIRST_N]
                                         [--include-column INCLUDE_COLUMN]
                                         [--exclude-column EXCLUDE_COLUMN]
                                         [--matched-count MATCHED_COUNT]
                                         [--ingest-generation INGEST_GENERATION]
                                         [--large-job-approval-json LARGE_JOB_APPROVAL_JSON]
                                         [--large-job-approval-file LARGE_JOB_APPROVAL_FILE]
                                         [--data-json DATA_JSON]
                                         [--data-file DATA_FILE]
                                         [--base-url BASE_URL] [--token TOKEN]
                                         [--use-x-api-key] [--timeout TIMEOUT]
                                         [--output {json,ndjson,human}]
                                         [--compact]
                                         [--select SELECT | --json-pointer JSON_POINTER]
                                         [--verbose]`
- Options:
  - `--source-table-id` (kind=string): Source Research Table id
  - `--source-table-name` (kind=string): Optional source table name for the receipt
  - `--table-name` (kind=string): Destination table name; inferred when omitted
  - `--scope` (kind=string; choices=filtered,all,subset,firstN; default=filtered)
  - `--filters-json` (kind=json; input=json): TableFilters JSON object for filtered scope
  - `--filters-file` (kind=file; input=file): Path to TableFilters JSON for filtered scope
  - `--row-id` (kind=string; repeatable): Source row id for subset scope; repeatable
  - `--first-n` (kind=integer): Number of rows for firstN scope
  - `--include-column` (kind=string; repeatable): Column key to include; repeatable
  - `--exclude-column` (kind=string; repeatable): Column key to exclude; repeatable
  - `--matched-count` (kind=integer): Expected exact source-row count
  - `--ingest-generation` (kind=string): Stable idempotency/checkpoint key
  - `--large-job-approval-json` (kind=json; input=json): Exact largeJobApproval JSON returned by a 409 preflight
  - `--large-job-approval-file` (kind=file; input=file): Path to exact largeJobApproval JSON
  - `--data-json` (kind=json; input=json): Full materialization plan JSON; overrides individual flags
  - `--data-file` (kind=file; input=file): Path to full materialization plan JSON
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch tables enrich-and-score`

Admit the exact reviewed Enrich & Score plan

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--table-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch tables enrich-and-score [-h] --table-id TABLE_ID
                                         (--data-json DATA_JSON | --data-file DATA_FILE)
                                         [--base-url BASE_URL] [--token TOKEN]
                                         [--use-x-api-key] [--timeout TIMEOUT]
                                         [--output {json,ndjson,human}]
                                         [--compact]
                                         [--select SELECT | --json-pointer JSON_POINTER]
                                         [--verbose]`
- Options:
  - `--table-id` (required; kind=string)
  - `--data-json` (kind=json; input=json): EnrichScoreExecuteRequest: preflight inputs plus returned planId, planVersion and a stable idempotencyKey as JSON
  - `--data-file` (kind=file; input=file): Path to EnrichScoreExecuteRequest: preflight inputs plus returned planId, planVersion and a stable idempotencyKey JSON (use - for stdin)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch tables enrich-and-score-preflight`

Review the server-owned Enrich & Score plan without admitting a run

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--table-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch tables enrich-and-score-preflight [-h] --table-id TABLE_ID
                                                   (--data-json DATA_JSON | --data-file DATA_FILE)
                                                   [--base-url BASE_URL]
                                                   [--token TOKEN]
                                                   [--use-x-api-key]
                                                   [--timeout TIMEOUT]
                                                   [--output {json,ndjson,human}]
                                                   [--compact]
                                                   [--select SELECT | --json-pointer JSON_POINTER]
                                                   [--verbose]`
- Options:
  - `--table-id` (required; kind=string)
  - `--data-json` (kind=json; input=json): EnrichScorePreflightRequest: targetMode (accounts, people, accounts_people), scope {mode, rowIds}, mappings, options; optional fitColumnId as JSON
  - `--data-file` (kind=file; input=file): Path to EnrichScorePreflightRequest: targetMode (accounts, people, accounts_people), scope {mode, rowIds}, mappings, options; optional fitColumnId JSON (use - for stdin)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch tables enrich-and-score-retry`

Retry unfinished rows from a terminal Enrich & Score parent

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--table-id, --operation-run-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch tables enrich-and-score-retry [-h] --table-id TABLE_ID
                                               --operation-run-id
                                               OPERATION_RUN_ID
                                               [--data-json DATA_JSON | --data-file DATA_FILE]
                                               [--base-url BASE_URL]
                                               [--token TOKEN]
                                               [--use-x-api-key]
                                               [--timeout TIMEOUT]
                                               [--output {json,ndjson,human}]
                                               [--compact]
                                               [--select SELECT | --json-pointer JSON_POINTER]
                                               [--verbose]`
- Options:
  - `--table-id` (required; kind=string)
  - `--operation-run-id` (required; kind=string)
  - `--data-json` (kind=json; input=json): EnrichScoreRetryRequest: optional idempotencyKey as JSON
  - `--data-file` (kind=file; input=file): Path to EnrichScoreRetryRequest: optional idempotencyKey JSON (use - for stdin)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch tables field-meanings`

Review detected fields and manual corrections

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--table-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch tables field-meanings [-h] --table-id TABLE_ID
                                       [--base-url BASE_URL] [--token TOKEN]
                                       [--use-x-api-key] [--timeout TIMEOUT]
                                       [--output {json,ndjson,human}]
                                       [--compact]
                                       [--select SELECT | --json-pointer JSON_POINTER]
                                       [--verbose]`
- Options:
  - `--table-id` (required; kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch tables identity`

Manage table ingest identity rules

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `get, set, clear`
- Example:
  - `autotouch tables identity [-h] {get,set,clear} ...`

#### `autotouch tables identity clear`

Remove all ingest_identity config from a table

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `yes`
- Required flags: `--table-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch tables identity clear [-h] --table-id TABLE_ID
                                       [--base-url BASE_URL] [--token TOKEN]
                                       [--use-x-api-key] [--timeout TIMEOUT]
                                       [--output {json,ndjson,human}]
                                       [--compact]
                                       [--select SELECT | --json-pointer JSON_POINTER]
                                       [--verbose]`
- Options:
  - `--table-id` (required; kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch tables identity get`

Print the current ingest_identity config for a table

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--table-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch tables identity get [-h] --table-id TABLE_ID
                                     [--base-url BASE_URL] [--token TOKEN]
                                     [--use-x-api-key] [--timeout TIMEOUT]
                                     [--output {json,ndjson,human}]
                                     [--compact]
                                     [--select SELECT | --json-pointer JSON_POINTER]
                                     [--verbose]`
- Options:
  - `--table-id` (required; kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch tables identity set`

Add or update an identity rule on a table

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--table-id, --column-key, --match-strategy`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch tables identity set [-h] --table-id TABLE_ID --column-key
                                     COLUMN_KEY [--rule-id RULE_ID]
                                     --match-strategy
                                     {email,domain,linkedin_url,external_id,exact_text}
                                     [--source {csv,webhook,list_builder,default}]
                                     [--mode {allow,skip,upsert}]
                                     [--merge-mode {fill_empty,overwrite_mapped}]
                                     [--disabled] [--base-url BASE_URL]
                                     [--token TOKEN] [--use-x-api-key]
                                     [--timeout TIMEOUT]
                                     [--output {json,ndjson,human}]
                                     [--compact]
                                     [--select SELECT | --json-pointer JSON_POINTER]
                                     [--verbose]`
- Options:
  - `--table-id` (required; kind=string)
  - `--column-key` (required; kind=string): Column key to use as identity field
  - `--rule-id` (kind=string): Rule ID (defaults to --column-key)
  - `--match-strategy` (required; kind=string; choices=email,domain,linkedin_url,external_id,exact_text): Match normalisation strategy
  - `--source` (kind=string; choices=csv,webhook,list_builder,default; default=default): Ingest source this rule applies to (default: applies to all)
  - `--mode` (kind=string; choices=allow,skip,upsert; default=upsert): Duplicate handling mode: allow / skip / upsert (default: upsert)
  - `--merge-mode` (kind=string; choices=fill_empty,overwrite_mapped; default=fill_empty): Cell merge strategy when upserting (default: fill_empty)
  - `--disabled` (kind=boolean; when omitted=False; when present=True): Create rule as disabled
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch tables list`

List tables

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch tables list [-h] [--view-mode VIEW_MODE]
                             [--base-url BASE_URL] [--token TOKEN]
                             [--use-x-api-key] [--timeout TIMEOUT]
                             [--output {json,ndjson,human}] [--compact]
                             [--select SELECT | --json-pointer JSON_POINTER]
                             [--verbose]`
- Options:
  - `--view-mode` (kind=string): Optional view mode filter
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch tables schema`

Print table payload schemas

- Auth: `none`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch tables schema [-h] [--type {all,create}]
                               [--out-file OUT_FILE]
                               [--output {json,ndjson,human}] [--compact]
                               [--select SELECT | --json-pointer JSON_POINTER]`
- Options:
  - `--type` (kind=string; choices=all,create; default=all)
  - `--out-file` (kind=file; input=file): Write schema JSON to file
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)

#### `autotouch tables set-field-meanings`

Correct detected fields without running rows

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--table-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch tables set-field-meanings [-h] --table-id TABLE_ID
                                           [--data-json DATA_JSON]
                                           [--data-file DATA_FILE]
                                           [--base-url BASE_URL]
                                           [--token TOKEN] [--use-x-api-key]
                                           [--timeout TIMEOUT]
                                           [--output {json,ndjson,human}]
                                           [--compact]
                                           [--select SELECT | --json-pointer JSON_POINTER]
                                           [--verbose]`
- Options:
  - `--table-id` (required; kind=string)
  - `--data-json` (kind=json; input=json): Mapping version and exact field changes as JSON
  - `--data-file` (kind=file; input=file): Path to the field mappings JSON
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch tables update`

Update a table's name or metadata

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--table-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch tables update [-h] --table-id TABLE_ID
                               [--metadata-json METADATA_JSON]
                               [--metadata-file METADATA_FILE]
                               [--data-json DATA_JSON] [--data-file DATA_FILE]
                               [--base-url BASE_URL] [--token TOKEN]
                               [--use-x-api-key] [--timeout TIMEOUT]
                               [--output {json,ndjson,human}] [--compact]
                               [--select SELECT | --json-pointer JSON_POINTER]
                               [--verbose]`
- Options:
  - `--table-id` (required; kind=string)
  - `--metadata-json` (kind=json; input=json): Metadata JSON object to patch onto the table
  - `--metadata-file` (kind=file; input=file): Path to metadata JSON file
  - `--data-json` (kind=json; input=json): Full PATCH payload JSON (overrides --metadata-*)
  - `--data-file` (kind=file; input=file): Path to full PATCH payload JSON file
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

### `tasks`

#### `autotouch tasks`

Task queue operations

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `recipe, query, count, assignee-counts, get, stats, create, create-from-leads, update, delete, bulk-update, bulk-delete, draft, queue-with-content, schedule-email, prioritize-email, reschedule-email, schedule-linkedin, prioritize-linkedin, reschedule-linkedin`
- Example:
  - `autotouch tasks [-h]
                       {recipe,query,count,assignee-counts,get,stats,create,create-from-leads,update,delete,bulk-update,bulk-delete,draft,queue-with-content,schedule-email,email-schedule,prioritize-email,email-prioritize,reschedule-email,email-reschedule,schedule-linkedin,linkedin-schedule,prioritize-linkedin,linkedin-prioritize,reschedule-linkedin,linkedin-reschedule}
                       ...`

#### `autotouch tasks assignee-counts`

Aggregate assignee counts for a TaskQueryRequest payload

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch tasks assignee-counts [-h] [--data-json DATA_JSON]
                                       [--data-file DATA_FILE]
                                       [--base-url BASE_URL] [--token TOKEN]
                                       [--use-x-api-key] [--timeout TIMEOUT]
                                       [--output {json,ndjson,human}]
                                       [--compact]
                                       [--select SELECT | --json-pointer JSON_POINTER]
                                       [--verbose]`
- Options:
  - `--data-json` (kind=json; input=json): TaskQueryRequest payload JSON
  - `--data-file` (kind=file; input=file): Path to TaskQueryRequest payload JSON file
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch tasks bulk-delete`

Bulk delete tasks from a JSON payload

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch tasks bulk-delete [-h] [--data-json DATA_JSON]
                                   [--data-file DATA_FILE]
                                   [--actor-user-id ACTOR_USER_ID]
                                   [--base-url BASE_URL] [--token TOKEN]
                                   [--use-x-api-key] [--timeout TIMEOUT]
                                   [--output {json,ndjson,human}] [--compact]
                                   [--select SELECT | --json-pointer JSON_POINTER]
                                   [--verbose]`
- Options:
  - `--data-json` (kind=json; input=json): BulkTaskDeleteRequest payload JSON
  - `--data-file` (kind=file; input=file): Path to BulkTaskDeleteRequest payload JSON file
  - `--actor-user-id` (kind=string): Optional actor override; must resolve to an active user in the same organization
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch tasks bulk-update`

Bulk update tasks from a JSON payload

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch tasks bulk-update [-h] [--data-json DATA_JSON]
                                   [--data-file DATA_FILE]
                                   [--actor-user-id ACTOR_USER_ID]
                                   [--base-url BASE_URL] [--token TOKEN]
                                   [--use-x-api-key] [--timeout TIMEOUT]
                                   [--output {json,ndjson,human}] [--compact]
                                   [--select SELECT | --json-pointer JSON_POINTER]
                                   [--verbose]`
- Options:
  - `--data-json` (kind=json; input=json): BulkTaskUpdateRequest payload JSON
  - `--data-file` (kind=file; input=file): Path to BulkTaskUpdateRequest payload JSON file
  - `--actor-user-id` (kind=string): Optional actor override; must resolve to an active user in the same organization
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch tasks count`

Count tasks matching a TaskQueryRequest payload

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch tasks count [-h] [--data-json DATA_JSON]
                             [--data-file DATA_FILE] [--base-url BASE_URL]
                             [--token TOKEN] [--use-x-api-key]
                             [--timeout TIMEOUT]
                             [--output {json,ndjson,human}] [--compact]
                             [--select SELECT | --json-pointer JSON_POINTER]
                             [--verbose]`
- Options:
  - `--data-json` (kind=json; input=json): TaskQueryRequest payload JSON
  - `--data-file` (kind=file; input=file): Path to TaskQueryRequest payload JSON file
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch tasks create`

Create tasks from a JSON payload

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch tasks create [-h] [--data-json DATA_JSON]
                              [--data-file DATA_FILE]
                              [--actor-user-id ACTOR_USER_ID]
                              [--base-url BASE_URL] [--token TOKEN]
                              [--use-x-api-key] [--timeout TIMEOUT]
                              [--output {json,ndjson,human}] [--compact]
                              [--select SELECT | --json-pointer JSON_POINTER]
                              [--verbose]`
- Options:
  - `--data-json` (kind=json; input=json): TaskQueueCreate payload JSON
  - `--data-file` (kind=file; input=file): Path to TaskQueueCreate payload JSON file
  - `--actor-user-id` (kind=string): Optional actor override; must resolve to an active user in the same organization
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch tasks create-from-leads`

Create ad-hoc tasks from lead IDs or a CRM lead selection

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch tasks create-from-leads [-h] [--data-json DATA_JSON]
                                         [--data-file DATA_FILE]
                                         [--actor-user-id ACTOR_USER_ID]
                                         [--base-url BASE_URL] [--token TOKEN]
                                         [--use-x-api-key] [--timeout TIMEOUT]
                                         [--output {json,ndjson,human}]
                                         [--compact]
                                         [--select SELECT | --json-pointer JSON_POINTER]
                                         [--verbose]`
- Options:
  - `--data-json` (kind=json; input=json): TaskCreateFromLeadsRequest payload JSON
  - `--data-file` (kind=file; input=file): Path to TaskCreateFromLeadsRequest payload JSON file
  - `--actor-user-id` (kind=string): Optional actor override; must resolve to an active user in the same organization
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch tasks delete`

Delete one task (soft delete to skipped)

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `yes`
- Required flags: `--task-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch tasks delete [-h] --task-id TASK_ID
                              [--actor-user-id ACTOR_USER_ID]
                              [--base-url BASE_URL] [--token TOKEN]
                              [--use-x-api-key] [--timeout TIMEOUT]
                              [--output {json,ndjson,human}] [--compact]
                              [--select SELECT | --json-pointer JSON_POINTER]
                              [--verbose]`
- Options:
  - `--task-id` (required; kind=string)
  - `--actor-user-id` (kind=string): Optional actor override; must resolve to an active user in the same organization
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch tasks draft`

Generate an AI draft for one task

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--task-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch tasks draft [-h] --task-id TASK_ID [--force]
                             [--data-json DATA_JSON] [--data-file DATA_FILE]
                             [--actor-user-id ACTOR_USER_ID]
                             [--base-url BASE_URL] [--token TOKEN]
                             [--use-x-api-key] [--timeout TIMEOUT]
                             [--output {json,ndjson,human}] [--compact]
                             [--select SELECT | --json-pointer JSON_POINTER]
                             [--verbose]`
- Options:
  - `--task-id` (required; kind=string)
  - `--force` (kind=boolean; when omitted=False; when present=True): Force re-draft even if content already exists
  - `--data-json` (kind=json; input=json): Optional TaskDraftRequest payload JSON
  - `--data-file` (kind=file; input=file): Optional TaskDraftRequest payload JSON file
  - `--actor-user-id` (kind=string): Optional actor override; must resolve to an active user in the same organization
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch tasks get`

Get one task by id

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--task-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch tasks get [-h] --task-id TASK_ID [--base-url BASE_URL]
                           [--token TOKEN] [--use-x-api-key]
                           [--timeout TIMEOUT] [--output {json,ndjson,human}]
                           [--compact]
                           [--select SELECT | --json-pointer JSON_POINTER]
                           [--verbose]`
- Options:
  - `--task-id` (required; kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch tasks prioritize-email`

Move an email task to the earliest legal send slot

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Aliases: `email-prioritize`
- Required flags: `--task-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch tasks prioritize-email [-h] --task-id TASK_ID
                                        [--actor-user-id ACTOR_USER_ID]
                                        [--base-url BASE_URL] [--token TOKEN]
                                        [--use-x-api-key] [--timeout TIMEOUT]
                                        [--output {json,ndjson,human}]
                                        [--compact]
                                        [--select SELECT | --json-pointer JSON_POINTER]
                                        [--verbose]`
- Options:
  - `--task-id` (required; kind=string)
  - `--actor-user-id` (kind=string): Optional actor override; must resolve to an active user in the same organization
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch tasks prioritize-linkedin`

Move a connected LinkedIn task to the earliest legal execution slot

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Aliases: `linkedin-prioritize`
- Required flags: `--task-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch tasks prioritize-linkedin [-h] --task-id TASK_ID
                                           [--actor-user-id ACTOR_USER_ID]
                                           [--base-url BASE_URL]
                                           [--token TOKEN] [--use-x-api-key]
                                           [--timeout TIMEOUT]
                                           [--output {json,ndjson,human}]
                                           [--compact]
                                           [--select SELECT | --json-pointer JSON_POINTER]
                                           [--verbose]`
- Options:
  - `--task-id` (required; kind=string)
  - `--actor-user-id` (kind=string): Optional actor override; must resolve to an active user in the same organization
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch tasks query`

Query tasks with a TaskQueryRequest payload

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch tasks query [-h] [--data-json DATA_JSON]
                             [--data-file DATA_FILE] [--base-url BASE_URL]
                             [--token TOKEN] [--use-x-api-key]
                             [--timeout TIMEOUT]
                             [--output {json,ndjson,human}] [--compact]
                             [--select SELECT | --json-pointer JSON_POINTER]
                             [--verbose]`
- Options:
  - `--data-json` (kind=json; input=json): TaskQueryRequest payload JSON
  - `--data-file` (kind=file; input=file): Path to TaskQueryRequest payload JSON file
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch tasks queue-with-content`

Queue reviewed task content from a JSON payload

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--task-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch tasks queue-with-content [-h] --task-id TASK_ID
                                          [--data-json DATA_JSON]
                                          [--data-file DATA_FILE]
                                          [--actor-user-id ACTOR_USER_ID]
                                          [--base-url BASE_URL]
                                          [--token TOKEN] [--use-x-api-key]
                                          [--timeout TIMEOUT]
                                          [--output {json,ndjson,human}]
                                          [--compact]
                                          [--select SELECT | --json-pointer JSON_POINTER]
                                          [--verbose]`
- Options:
  - `--task-id` (required; kind=string)
  - `--data-json` (kind=json; input=json): TaskQueueWithContentRequest payload JSON
  - `--data-file` (kind=file; input=file): Path to TaskQueueWithContentRequest payload JSON file
  - `--actor-user-id` (kind=string): Optional actor override; must resolve to an active user in the same organization
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch tasks recipe`

Print task payload recipes

- Auth: `none`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch tasks recipe [-h]
                              [--type {all,query,query_linkedin,create,create_from_leads,create_linkedin,update,bulk_update,bulk_delete,draft,schedule_email,prioritize_email,reschedule_email,schedule_linkedin,prioritize_linkedin,reschedule_linkedin}]
                              [--out-file OUT_FILE] [--base-url BASE_URL]
                              [--token TOKEN] [--use-x-api-key]
                              [--timeout TIMEOUT]
                              [--output {json,ndjson,human}] [--compact]
                              [--select SELECT | --json-pointer JSON_POINTER]
                              [--verbose]`
- Options:
  - `--type` (kind=string; choices=all,query,query_linkedin,create,create_from_leads,create_linkedin,update,bulk_update,bulk_delete,draft,schedule_email,prioritize_email,reschedule_email,schedule_linkedin,prioritize_linkedin,reschedule_linkedin; default=all)
  - `--out-file` (kind=file; input=file): Optional path to save the selected payload JSON
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch tasks reschedule-email`

Move a scheduled email task to a requested send time

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Aliases: `email-reschedule`
- Required flags: `--task-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch tasks reschedule-email [-h] --task-id TASK_ID
                                        [--data-json DATA_JSON]
                                        [--data-file DATA_FILE]
                                        [--actor-user-id ACTOR_USER_ID]
                                        [--base-url BASE_URL] [--token TOKEN]
                                        [--use-x-api-key] [--timeout TIMEOUT]
                                        [--output {json,ndjson,human}]
                                        [--compact]
                                        [--select SELECT | --json-pointer JSON_POINTER]
                                        [--verbose]`
- Options:
  - `--task-id` (required; kind=string)
  - `--data-json` (kind=json; input=json): TaskEmailRescheduleRequest payload JSON
  - `--data-file` (kind=file; input=file): Path to TaskEmailRescheduleRequest payload JSON file
  - `--actor-user-id` (kind=string): Optional actor override; must resolve to an active user in the same organization
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch tasks reschedule-linkedin`

Move a scheduled LinkedIn task to a requested execution time

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Aliases: `linkedin-reschedule`
- Required flags: `--task-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch tasks reschedule-linkedin [-h] --task-id TASK_ID
                                           [--data-json DATA_JSON]
                                           [--data-file DATA_FILE]
                                           [--actor-user-id ACTOR_USER_ID]
                                           [--base-url BASE_URL]
                                           [--token TOKEN] [--use-x-api-key]
                                           [--timeout TIMEOUT]
                                           [--output {json,ndjson,human}]
                                           [--compact]
                                           [--select SELECT | --json-pointer JSON_POINTER]
                                           [--verbose]`
- Options:
  - `--task-id` (required; kind=string)
  - `--data-json` (kind=json; input=json): LinkedInTaskRescheduleRequest payload JSON
  - `--data-file` (kind=file; input=file): Path to LinkedInTaskRescheduleRequest payload JSON file
  - `--actor-user-id` (kind=string): Optional actor override; must resolve to an active user in the same organization
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch tasks schedule-email`

Schedule or send an email task from a JSON payload

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Aliases: `email-schedule`
- Required flags: `--task-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch tasks schedule-email [-h] --task-id TASK_ID
                                      [--data-json DATA_JSON]
                                      [--data-file DATA_FILE]
                                      [--actor-user-id ACTOR_USER_ID]
                                      [--base-url BASE_URL] [--token TOKEN]
                                      [--use-x-api-key] [--timeout TIMEOUT]
                                      [--output {json,ndjson,human}]
                                      [--compact]
                                      [--select SELECT | --json-pointer JSON_POINTER]
                                      [--verbose]`
- Options:
  - `--task-id` (required; kind=string)
  - `--data-json` (kind=json; input=json): TaskEmailScheduleRequest payload JSON
  - `--data-file` (kind=file; input=file): Path to TaskEmailScheduleRequest payload JSON file
  - `--actor-user-id` (kind=string): Optional actor override; must resolve to an active user in the same organization
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch tasks schedule-linkedin`

Queue a connected LinkedIn task at a requested execution time

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Aliases: `linkedin-schedule`
- Required flags: `--task-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch tasks schedule-linkedin [-h] --task-id TASK_ID
                                         [--data-json DATA_JSON]
                                         [--data-file DATA_FILE]
                                         [--actor-user-id ACTOR_USER_ID]
                                         [--base-url BASE_URL] [--token TOKEN]
                                         [--use-x-api-key] [--timeout TIMEOUT]
                                         [--output {json,ndjson,human}]
                                         [--compact]
                                         [--select SELECT | --json-pointer JSON_POINTER]
                                         [--verbose]`
- Options:
  - `--task-id` (required; kind=string)
  - `--data-json` (kind=json; input=json): Optional LinkedInTaskScheduleRequest payload JSON
  - `--data-file` (kind=file; input=file): Optional LinkedInTaskScheduleRequest payload JSON file
  - `--actor-user-id` (kind=string): Optional actor override; must resolve to an active user in the same organization
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch tasks stats`

Get task summary stats

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch tasks stats [-h] [--base-url BASE_URL] [--token TOKEN]
                             [--use-x-api-key] [--timeout TIMEOUT]
                             [--output {json,ndjson,human}] [--compact]
                             [--select SELECT | --json-pointer JSON_POINTER]
                             [--verbose]`
- Options:
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch tasks update`

Update one task from a JSON payload

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--task-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch tasks update [-h] --task-id TASK_ID [--data-json DATA_JSON]
                              [--data-file DATA_FILE]
                              [--actor-user-id ACTOR_USER_ID]
                              [--base-url BASE_URL] [--token TOKEN]
                              [--use-x-api-key] [--timeout TIMEOUT]
                              [--output {json,ndjson,human}] [--compact]
                              [--select SELECT | --json-pointer JSON_POINTER]
                              [--verbose]`
- Options:
  - `--task-id` (required; kind=string)
  - `--data-json` (kind=json; input=json): TaskQueueUpdate payload JSON
  - `--data-file` (kind=file; input=file): Path to TaskQueueUpdate payload JSON file
  - `--actor-user-id` (kind=string): Optional actor override; must resolve to an active user in the same organization
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

### `watch`

#### `autotouch watch`

Watch status periodically (requires pymongo + MONGODB_URI)

- Auth: `none`
- Stability: `stable`
- Destructive: `no`
- Availability: `optional_dependency`
- Optional Python modules: `pymongo`
- Required env/config: `MONGODB_URI`
- Required flags: `--table-id, --column-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch watch [-h] --table-id TABLE_ID --column-id COLUMN_ID
                       [--interval INTERVAL] [--once] [--mongo-uri MONGO_URI]
                       [--db-name DB_NAME] [--output {json,ndjson,human}]
                       [--compact]
                       [--select SELECT | --json-pointer JSON_POINTER]`
- Options:
  - `--table-id` (required; kind=string)
  - `--column-id` (required; kind=string)
  - `--interval` (kind=integer; default=5)
  - `--once` (kind=boolean; when omitted=False; when present=True): Fetch one snapshot and exit
  - `--mongo-uri` (kind=string): Override MONGODB_URI
  - `--db-name` (kind=string): Override MONGODB_DB_NAME
  - `--output` (kind=string; choices=json,ndjson,human; default=human): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)

### `webhooks`

#### `autotouch webhooks`

Table webhook operations

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `recipe, get, rotate, ingest, configure-ingest, subscriptions, deliveries`
- Example:
  - `autotouch webhooks [-h]
                          {recipe,get,rotate,ingest,configure-ingest,subscriptions,deliveries}
                          ...`

#### `autotouch webhooks configure-ingest`

Persist ingest identity settings on a table's webhook config

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--table-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch webhooks configure-ingest [-h] --table-id TABLE_ID
                                           [--match-rule-id MATCH_RULE_ID]
                                           [--match-column MATCH_COLUMN]
                                           [--match-strategy {email,domain,linkedin_url,external_id,exact_text}]
                                           [--duplicate-mode {allow,skip,upsert}]
                                           [--merge-mode {fill_empty,overwrite_mapped}]
                                           [--base-url BASE_URL]
                                           [--token TOKEN] [--use-x-api-key]
                                           [--timeout TIMEOUT]
                                           [--output {json,ndjson,human}]
                                           [--compact]
                                           [--select SELECT | --json-pointer JSON_POINTER]
                                           [--verbose]`
- Options:
  - `--table-id` (required; kind=string)
  - `--match-rule-id` (kind=string): Identity rule id or column key to match on
  - `--match-column` (kind=string): Column key to match on; alias for --match-rule-id when no rule id is set
  - `--match-strategy` (kind=string; choices=email,domain,linkedin_url,external_id,exact_text): Normalisation strategy for the match column
  - `--duplicate-mode` (kind=string; choices=allow,skip,upsert; default=upsert): Duplicate handling: allow / skip / upsert (default: upsert)
  - `--merge-mode` (kind=string; choices=fill_empty,overwrite_mapped; default=fill_empty): Cell merge strategy when upserting (default: fill_empty)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch webhooks deliveries`

Inspect webhook delivery outcomes

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `list, attempts`
- Example:
  - `autotouch webhooks deliveries [-h] {list,attempts} ...`

#### `autotouch webhooks deliveries attempts`

List delivery attempts for one delivery id

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--delivery-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch webhooks deliveries attempts [-h] --delivery-id DELIVERY_ID
                                              [--limit LIMIT]
                                              [--base-url BASE_URL]
                                              [--token TOKEN]
                                              [--use-x-api-key]
                                              [--timeout TIMEOUT]
                                              [--output {json,ndjson,human}]
                                              [--compact]
                                              [--select SELECT | --json-pointer JSON_POINTER]
                                              [--verbose]`
- Options:
  - `--delivery-id` (required; kind=string)
  - `--limit` (kind=integer; default=100): Max attempts to return (1-500)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch webhooks deliveries list`

List webhook deliveries

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch webhooks deliveries list [-h]
                                          [--subscription-id SUBSCRIPTION_ID]
                                          [--status STATUS]
                                          [--event-type EVENT_TYPE]
                                          [--limit LIMIT]
                                          [--base-url BASE_URL]
                                          [--token TOKEN] [--use-x-api-key]
                                          [--timeout TIMEOUT]
                                          [--output {json,ndjson,human}]
                                          [--compact]
                                          [--select SELECT | --json-pointer JSON_POINTER]
                                          [--verbose]`
- Options:
  - `--subscription-id` (kind=string): Filter by subscription id
  - `--status` (kind=string): Filter by status (queued/retry_scheduled/succeeded/failed)
  - `--event-type` (kind=string): Filter by event type
  - `--limit` (kind=integer; default=100): Max deliveries to return (1-500)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch webhooks get`

Get webhook config for a table

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--table-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch webhooks get [-h] --table-id TABLE_ID [--base-url BASE_URL]
                              [--token TOKEN] [--use-x-api-key]
                              [--timeout TIMEOUT]
                              [--output {json,ndjson,human}] [--compact]
                              [--select SELECT | --json-pointer JSON_POINTER]
                              [--verbose]`
- Options:
  - `--table-id` (required; kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch webhooks ingest`

Ingest records using table webhook token

- Auth: `webhook_token`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--table-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch webhooks ingest [-h] --table-id TABLE_ID
                                 [--webhook-token WEBHOOK_TOKEN]
                                 [--records-json RECORDS_JSON]
                                 [--records-file RECORDS_FILE]
                                 [--base-url BASE_URL] [--token TOKEN]
                                 [--use-x-api-key] [--timeout TIMEOUT]
                                 [--output {json,ndjson,human}] [--compact]
                                 [--select SELECT | --json-pointer JSON_POINTER]
                                 [--verbose]`
- Options:
  - `--table-id` (required; kind=string)
  - `--webhook-token` (kind=string; sensitive): Table webhook token for CLI/header auth; no-header providers may use the ingest URL with ?token=<WEBHOOK_TOKEN>
  - `--records-json` (kind=json; input=json): Object, list, or {records:[...]} payload JSON
  - `--records-file` (kind=file; input=file): Path to JSON file containing records payload
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch webhooks recipe`

Print webhook payload recipes

- Auth: `none`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch webhooks recipe [-h]
                                 [--type {all,ingest,subscription_create,subscription_update,subscription_test}]
                                 [--out-file OUT_FILE] [--base-url BASE_URL]
                                 [--token TOKEN] [--use-x-api-key]
                                 [--timeout TIMEOUT]
                                 [--output {json,ndjson,human}] [--compact]
                                 [--select SELECT | --json-pointer JSON_POINTER]
                                 [--verbose]`
- Options:
  - `--type` (kind=string; choices=all,ingest,subscription_create,subscription_update,subscription_test; default=all)
  - `--out-file` (kind=file; input=file): Optional path to save the selected payload JSON
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch webhooks rotate`

Create/rotate webhook token for a table

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--table-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch webhooks rotate [-h] --table-id TABLE_ID
                                 [--base-url BASE_URL] [--token TOKEN]
                                 [--use-x-api-key] [--timeout TIMEOUT]
                                 [--output {json,ndjson,human}] [--compact]
                                 [--select SELECT | --json-pointer JSON_POINTER]
                                 [--verbose]`
- Options:
  - `--table-id` (required; kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch webhooks subscriptions`

Manage outbound webhook subscriptions

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `list, create, get, update, delete, pause, resume, rotate-secret, test`
- Example:
  - `autotouch webhooks subscriptions [-h]
                                        {list,create,get,update,delete,pause,resume,rotate-secret,test}
                                        ...`

#### `autotouch webhooks subscriptions create`

Create a webhook subscription

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch webhooks subscriptions create [-h] [--url URL]
                                               [--events [EVENTS ...]]
                                               [--paused]
                                               [--filters-json FILTERS_JSON]
                                               [--filters-file FILTERS_FILE]
                                               [--metadata-json METADATA_JSON]
                                               [--metadata-file METADATA_FILE]
                                               [--retry-policy-json RETRY_POLICY_JSON]
                                               [--retry-policy-file RETRY_POLICY_FILE]
                                               [--data-json DATA_JSON]
                                               [--data-file DATA_FILE]
                                               [--base-url BASE_URL]
                                               [--token TOKEN]
                                               [--use-x-api-key]
                                               [--timeout TIMEOUT]
                                               [--output {json,ndjson,human}]
                                               [--compact]
                                               [--select SELECT | --json-pointer JSON_POINTER]
                                               [--verbose]`
- Options:
  - `--url` (kind=string): Webhook endpoint URL
  - `--events` (kind=list): Event names or families (for example bulk_job.*)
  - `--paused` (kind=boolean; when omitted=False; when present=True): Create subscription as paused/disabled
  - `--filters-json` (kind=json; input=json): Optional filters JSON
  - `--filters-file` (kind=file; input=file): Optional filters JSON file
  - `--metadata-json` (kind=json; input=json): Optional metadata JSON
  - `--metadata-file` (kind=file; input=file): Optional metadata JSON file
  - `--retry-policy-json` (kind=json; input=json): Optional retryPolicy JSON
  - `--retry-policy-file` (kind=file; input=file): Optional retryPolicy JSON file
  - `--data-json` (kind=json; input=json): Full request payload JSON
  - `--data-file` (kind=file; input=file): Full request payload JSON file
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch webhooks subscriptions delete`

Delete a webhook subscription

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `yes`
- Required flags: `--subscription-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch webhooks subscriptions delete [-h] --subscription-id
                                               SUBSCRIPTION_ID
                                               [--base-url BASE_URL]
                                               [--token TOKEN]
                                               [--use-x-api-key]
                                               [--timeout TIMEOUT]
                                               [--output {json,ndjson,human}]
                                               [--compact]
                                               [--select SELECT | --json-pointer JSON_POINTER]
                                               [--verbose]`
- Options:
  - `--subscription-id` (required; kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch webhooks subscriptions get`

Get a webhook subscription

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--subscription-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch webhooks subscriptions get [-h] --subscription-id
                                            SUBSCRIPTION_ID
                                            [--base-url BASE_URL]
                                            [--token TOKEN] [--use-x-api-key]
                                            [--timeout TIMEOUT]
                                            [--output {json,ndjson,human}]
                                            [--compact]
                                            [--select SELECT | --json-pointer JSON_POINTER]
                                            [--verbose]`
- Options:
  - `--subscription-id` (required; kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch webhooks subscriptions list`

List webhook subscriptions

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch webhooks subscriptions list [-h] [--include-disabled]
                                             [--limit LIMIT]
                                             [--base-url BASE_URL]
                                             [--token TOKEN] [--use-x-api-key]
                                             [--timeout TIMEOUT]
                                             [--output {json,ndjson,human}]
                                             [--compact]
                                             [--select SELECT | --json-pointer JSON_POINTER]
                                             [--verbose]`
- Options:
  - `--include-disabled` (kind=boolean; when omitted=False; when present=True): Include paused/disabled subscriptions
  - `--limit` (kind=integer; default=100): Max subscriptions to return (1-500)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch webhooks subscriptions pause`

Pause a webhook subscription

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--subscription-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch webhooks subscriptions pause [-h] --subscription-id
                                              SUBSCRIPTION_ID
                                              [--base-url BASE_URL]
                                              [--token TOKEN]
                                              [--use-x-api-key]
                                              [--timeout TIMEOUT]
                                              [--output {json,ndjson,human}]
                                              [--compact]
                                              [--select SELECT | --json-pointer JSON_POINTER]
                                              [--verbose]`
- Options:
  - `--subscription-id` (required; kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch webhooks subscriptions resume`

Resume a paused webhook subscription

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--subscription-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch webhooks subscriptions resume [-h] --subscription-id
                                               SUBSCRIPTION_ID
                                               [--base-url BASE_URL]
                                               [--token TOKEN]
                                               [--use-x-api-key]
                                               [--timeout TIMEOUT]
                                               [--output {json,ndjson,human}]
                                               [--compact]
                                               [--select SELECT | --json-pointer JSON_POINTER]
                                               [--verbose]`
- Options:
  - `--subscription-id` (required; kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch webhooks subscriptions rotate-secret`

Rotate webhook subscription signing secret

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--subscription-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch webhooks subscriptions rotate-secret [-h] --subscription-id
                                                      SUBSCRIPTION_ID
                                                      [--base-url BASE_URL]
                                                      [--token TOKEN]
                                                      [--use-x-api-key]
                                                      [--timeout TIMEOUT]
                                                      [--output {json,ndjson,human}]
                                                      [--compact]
                                                      [--select SELECT | --json-pointer JSON_POINTER]
                                                      [--verbose]`
- Options:
  - `--subscription-id` (required; kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch webhooks subscriptions test`

Fire a test event for a subscription

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--subscription-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch webhooks subscriptions test [-h] --subscription-id
                                             SUBSCRIPTION_ID
                                             [--event-type EVENT_TYPE]
                                             [--data-json DATA_JSON]
                                             [--data-file DATA_FILE]
                                             [--base-url BASE_URL]
                                             [--token TOKEN] [--use-x-api-key]
                                             [--timeout TIMEOUT]
                                             [--output {json,ndjson,human}]
                                             [--compact]
                                             [--select SELECT | --json-pointer JSON_POINTER]
                                             [--verbose]`
- Options:
  - `--subscription-id` (required; kind=string)
  - `--event-type` (kind=string): Optional event type (for example lead.created)
  - `--data-json` (kind=json; input=json): Optional test payload JSON
  - `--data-file` (kind=file; input=file): Optional test payload JSON file
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch webhooks subscriptions update`

Update a webhook subscription

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--subscription-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch webhooks subscriptions update [-h] --subscription-id
                                               SUBSCRIPTION_ID
                                               [--data-json DATA_JSON]
                                               [--data-file DATA_FILE]
                                               [--base-url BASE_URL]
                                               [--token TOKEN]
                                               [--use-x-api-key]
                                               [--timeout TIMEOUT]
                                               [--output {json,ndjson,human}]
                                               [--compact]
                                               [--select SELECT | --json-pointer JSON_POINTER]
                                               [--verbose]`
- Options:
  - `--subscription-id` (required; kind=string)
  - `--data-json` (kind=json; input=json): Patch payload JSON
  - `--data-file` (kind=file; input=file): Patch payload JSON file
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

### `workflows`

#### `autotouch workflows`

Goal-level workflow plans and scaffolds

Use workflows for full user goals. Autotouch workflows follow Source Records -> Land In Smart Table -> Research And Operate -> Engage. Recipes are leaf templates; workflow plans describe the ordered path across list building, imports/webhooks, Smart Table research, Leads, Sequences, CRM, and outreach destinations.

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `list, plan, recipe, scaffold`
- Example:
  - `autotouch workflows list`
  - `autotouch workflows plan --type bulk_outreach`
  - `autotouch workflows scaffold --type research_to_sequence --out-dir workflow`

#### `autotouch workflows list`

List canonical workflow plans grouped by lifecycle stage

- Auth: `none`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch workflows list [-h] [--out-file OUT_FILE]
                                [--output {json,ndjson,human}] [--compact]
                                [--select SELECT | --json-pointer JSON_POINTER]`
- Options:
  - `--out-file` (kind=file; input=file): Save JSON payload to file
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)

#### `autotouch workflows plan`

Emit one goal-level workflow plan

Plan the workflow before creating files or running side effects. Use this to choose how records are sourced, landed in Smart Table, researched/operated on, and sent to the right engagement destination.

- Auth: `none`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--type`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch workflows plan [-h] --type
                                {bulk_outreach,company_rows_to_people_table,table_to_outreach,research_to_sequence,sequence_launch,table_to_routed_sequence,account_research,signal_outreach,website_visitors,list_build_to_table,company_discovery_to_contacts,external_api_to_table,system_to_table}
                                [--out-file OUT_FILE]
                                [--output {json,ndjson,human}] [--compact]
                                [--select SELECT | --json-pointer JSON_POINTER]`
- Options:
  - `--type` (required; kind=string; choices=bulk_outreach,company_rows_to_people_table,table_to_outreach,research_to_sequence,sequence_launch,table_to_routed_sequence,account_research,signal_outreach,website_visitors,list_build_to_table,company_discovery_to_contacts,external_api_to_table,system_to_table): Workflow plan id
  - `--out-file` (kind=file; input=file): Save raw workflow payload to file
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)

#### `autotouch workflows recipe`

Alias for `workflows plan`

- Auth: `none`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--type`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch workflows recipe [-h] --type
                                  {bulk_outreach,company_rows_to_people_table,table_to_outreach,research_to_sequence,sequence_launch,table_to_routed_sequence,account_research,signal_outreach,website_visitors,list_build_to_table,company_discovery_to_contacts,external_api_to_table,system_to_table}
                                  [--out-file OUT_FILE]
                                  [--output {json,ndjson,human}] [--compact]
                                  [--select SELECT | --json-pointer JSON_POINTER]`
- Options:
  - `--type` (required; kind=string; choices=bulk_outreach,company_rows_to_people_table,table_to_outreach,research_to_sequence,sequence_launch,table_to_routed_sequence,account_research,signal_outreach,website_visitors,list_build_to_table,company_discovery_to_contacts,external_api_to_table,system_to_table): Workflow plan id
  - `--out-file` (kind=file; input=file): Save raw workflow payload to file
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)

#### `autotouch workflows scaffold`

Emit ordered workflow files and commands for a workflow plan

- Auth: `none`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--type`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch workflows scaffold [-h] --type
                                    {bulk_outreach,company_rows_to_people_table,table_to_outreach,research_to_sequence,sequence_launch,table_to_routed_sequence,account_research,signal_outreach,website_visitors,list_build_to_table,company_discovery_to_contacts,external_api_to_table,system_to_table}
                                    [--out-dir OUT_DIR]
                                    [--output {json,ndjson,human}] [--compact]
                                    [--select SELECT | --json-pointer JSON_POINTER]`
- Options:
  - `--type` (required; kind=string; choices=bulk_outreach,company_rows_to_people_table,table_to_outreach,research_to_sequence,sequence_launch,table_to_routed_sequence,account_research,signal_outreach,website_visitors,list_build_to_table,company_discovery_to_contacts,external_api_to_table,system_to_table): Workflow plan id
  - `--out-dir` (kind=string): Directory to save scaffold payload files
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)

### `workspace-secrets`

#### `autotouch workspace-secrets`

Manage reusable org-scoped secrets for HTTP request columns

Manage reusable org-scoped secrets used by {{secrets.name}} templates in HTTP request columns and other templated features.

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `list, set, delete, schema`
- Example:
  - `autotouch workspace-secrets set --name clearbit --value "$CLEARBIT_API_KEY"`
  - `autotouch workspace-secrets list`
  - `autotouch workspace-secrets delete --name clearbit --yes`
- Notes:

```text
Developer API keys need secrets:read / secrets:write scopes (or *) for these endpoints.
Workspace secrets are optional; HTTP request columns can still use literal headers/body values.
```

#### `autotouch workspace-secrets delete`

Delete a workspace secret

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `yes`
- Required flags: `--name`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch workspace-secrets delete [-h] --name NAME [--yes]
                                          [--base-url BASE_URL]
                                          [--token TOKEN] [--use-x-api-key]
                                          [--timeout TIMEOUT]
                                          [--output {json,ndjson,human}]
                                          [--compact]
                                          [--select SELECT | --json-pointer JSON_POINTER]
                                          [--verbose]`
- Options:
  - `--name` (required; kind=string): Secret/provider slug to delete
  - `--yes` (kind=boolean; when omitted=False; when present=True): Confirm deletion
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch workspace-secrets list`

List workspace secrets (masked values)

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch workspace-secrets list [-h] [--base-url BASE_URL]
                                        [--token TOKEN] [--use-x-api-key]
                                        [--timeout TIMEOUT]
                                        [--output {json,ndjson,human}]
                                        [--compact]
                                        [--select SELECT | --json-pointer JSON_POINTER]
                                        [--verbose]`
- Options:
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch workspace-secrets schema`

Print workspace-secrets payload schemas

- Auth: `none`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch workspace-secrets schema [-h] [--type {all,set}]
                                          [--out-file OUT_FILE]
                                          [--output {json,ndjson,human}]
                                          [--compact]
                                          [--select SELECT | --json-pointer JSON_POINTER]`
- Options:
  - `--type` (kind=string; choices=all,set; default=all)
  - `--out-file` (kind=file; input=file): Write schema JSON to file
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)

#### `autotouch workspace-secrets set`

Create or update a workspace secret

Create or update a workspace secret used by {{secrets.name}} template references.

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch workspace-secrets set [-h] [--name NAME] [--value VALUE]
                                       [--data-json DATA_JSON]
                                       [--data-file DATA_FILE]
                                       [--base-url BASE_URL] [--token TOKEN]
                                       [--use-x-api-key] [--timeout TIMEOUT]
                                       [--output {json,ndjson,human}]
                                       [--compact]
                                       [--select SELECT | --json-pointer JSON_POINTER]
                                       [--verbose]`
- Options:
  - `--name` (kind=string): Secret/provider slug, for example clearbit
  - `--value` (kind=string; sensitive): Secret value (for example an API key or bearer token)
  - `--data-json` (kind=json; input=json): Explicit workspace secret payload JSON
  - `--data-file` (kind=file; input=file): Path to workspace secret payload JSON file
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

### `workspace-views`

#### `autotouch workspace-views`

Manage saved Leads and Companies views

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `list, create, update, set-default, delete`
- Example:
  - `autotouch workspace-views list --workspace leads`
  - `autotouch workspace-views create --data-file saved-view.json`
  - `autotouch workspace-views set-default --view-id <VIEW_ID>`
  - `autotouch workspace-views delete --view-id <VIEW_ID> --yes`

#### `autotouch workspace-views create`

Create a saved workspace view

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch workspace-views create [-h] [--data-json DATA_JSON]
                                        [--data-file DATA_FILE]
                                        [--base-url BASE_URL] [--token TOKEN]
                                        [--use-x-api-key] [--timeout TIMEOUT]
                                        [--output {json,ndjson,human}]
                                        [--compact]
                                        [--select SELECT | --json-pointer JSON_POINTER]
                                        [--verbose]`
- Options:
  - `--data-json` (kind=json; input=json): Workspace view payload JSON
  - `--data-file` (kind=file; input=file): Path to workspace view payload JSON
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch workspace-views delete`

Delete a saved workspace view

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `yes`
- Required flags: `--view-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch workspace-views delete [-h] --view-id VIEW_ID [--yes]
                                        [--base-url BASE_URL] [--token TOKEN]
                                        [--use-x-api-key] [--timeout TIMEOUT]
                                        [--output {json,ndjson,human}]
                                        [--compact]
                                        [--select SELECT | --json-pointer JSON_POINTER]
                                        [--verbose]`
- Options:
  - `--view-id` (required; kind=string)
  - `--yes` (kind=boolean; when omitted=False; when present=True): Required confirmation for delete
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch workspace-views list`

List saved views for one workspace

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--workspace`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch workspace-views list [-h] --workspace {leads,companies,tasks}
                                      [--base-url BASE_URL] [--token TOKEN]
                                      [--use-x-api-key] [--timeout TIMEOUT]
                                      [--output {json,ndjson,human}]
                                      [--compact]
                                      [--select SELECT | --json-pointer JSON_POINTER]
                                      [--verbose]`
- Options:
  - `--workspace` (required; kind=string; choices=leads,companies,tasks)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch workspace-views set-default`

Set the user's default saved view

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--view-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch workspace-views set-default [-h] --view-id VIEW_ID
                                             [--base-url BASE_URL]
                                             [--token TOKEN] [--use-x-api-key]
                                             [--timeout TIMEOUT]
                                             [--output {json,ndjson,human}]
                                             [--compact]
                                             [--select SELECT | --json-pointer JSON_POINTER]
                                             [--verbose]`
- Options:
  - `--view-id` (required; kind=string)
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch workspace-views update`

Update a saved workspace view

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--view-id`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch workspace-views update [-h] --view-id VIEW_ID
                                        [--data-json DATA_JSON]
                                        [--data-file DATA_FILE]
                                        [--base-url BASE_URL] [--token TOKEN]
                                        [--use-x-api-key] [--timeout TIMEOUT]
                                        [--output {json,ndjson,human}]
                                        [--compact]
                                        [--select SELECT | --json-pointer JSON_POINTER]
                                        [--verbose]`
- Options:
  - `--view-id` (required; kind=string)
  - `--data-json` (kind=json; input=json): Partial workspace view payload JSON
  - `--data-file` (kind=file; input=file): Path to partial workspace view payload JSON
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

### `workspaces`

#### `autotouch workspaces`

Read workspace column and selection catalogs

- Auth: `varies_by_subcommand`
- Stability: `stable`
- Destructive: `no`
- Subcommands: `column-catalog, selection-catalog`
- Example:
  - `autotouch workspaces column-catalog --workspace leads`
  - `autotouch workspaces selection-catalog --workspace companies`

#### `autotouch workspaces column-catalog`

Read workspace table-column picker fields

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--workspace`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch workspaces column-catalog [-h] --workspace
                                           {leads,companies,tasks}
                                           [--source-table-id SOURCE_TABLE_ID]
                                           [--base-url BASE_URL]
                                           [--token TOKEN] [--use-x-api-key]
                                           [--timeout TIMEOUT]
                                           [--output {json,ndjson,human}]
                                           [--compact]
                                           [--select SELECT | --json-pointer JSON_POINTER]
                                           [--verbose]`
- Options:
  - `--workspace` (required; kind=string; choices=leads,companies,tasks)
  - `--source-table-id` (kind=string): Optional research source table id for source-scoped fields
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr

#### `autotouch workspaces selection-catalog`

Read executable workspace filter fields

- Auth: `developer_key_or_user_session`
- Stability: `stable`
- Destructive: `no`
- Required flags: `--workspace`
- Output modes: `json, ndjson, human`
- Example:
  - `autotouch workspaces selection-catalog [-h] --workspace
                                              {leads,companies,tasks}
                                              [--source-table-id SOURCE_TABLE_ID]
                                              [--base-url BASE_URL]
                                              [--token TOKEN]
                                              [--use-x-api-key]
                                              [--timeout TIMEOUT]
                                              [--output {json,ndjson,human}]
                                              [--compact]
                                              [--select SELECT | --json-pointer JSON_POINTER]
                                              [--verbose]`
- Options:
  - `--workspace` (required; kind=string; choices=leads,companies,tasks)
  - `--source-table-id` (kind=string): Optional research source table id for source-scoped fields
  - `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
  - `--token` (kind=string; sensitive): Developer API key / JWT token
  - `--use-x-api-key` (kind=boolean; when omitted=False; when present=True): Send token via X-API-Key header
  - `--timeout` (kind=integer; default=30): HTTP timeout in seconds
  - `--output` (kind=string; choices=json,ndjson,human; default=json): Output mode
  - `--compact` (kind=boolean; when omitted=False; when present=True): Print compact JSON
  - `--select` (kind=string): Extract a dotted field path from the final result (for example: id or items.0.id)
  - `--json-pointer` (kind=string): Extract a JSON pointer from the final result (for example: /id)
  - `--verbose` (kind=boolean; when omitted=False; when present=True): Print request metadata to stderr
