--json, --timeout, …) apply here too and are documented on Global flags. Error codes are a workspace-global contract, not a per-command one — the taxonomy, and how to read a code that is not in it, is on The error envelope.
octolens keywords add
Start monitoring a new keyword (interactive on a TTY)
Arguments
Flags
Examples
--json, stdout carries one JSON document with these fields. Backed by the v2 API operation POST /api/v2/keywords.
Without
--json: A terminal prints a confirmation line and the keyword’s full definition.
Example output
Example output
0 OK · 1 UNEXPECTED · 2 USAGE · 8 CANCELLED. The full map is on Exit codes.
octolens keywords list
List your tracked keywords with status and mention volume
Flags
Examples
--json, stdout carries one JSON document with these fields. Backed by the v2 API operation GET /api/v2/keywords.
When the volume aggregation itself fails, the payload additionally carries a
warning string naming the failure (every volume is then null); the keyword list itself is still complete.
Without --json: A terminal renders an aligned keyword table with status and volume; piped stdout emits one tab-delimited record per keyword.
Example output
Example output
0 OK · 1 UNEXPECTED · 2 USAGE. The full map is on Exit codes.
octolens keywords pause
Pause data collection for a keyword (idempotent)
Arguments
Examples
--json, stdout carries one JSON document with these fields. Backed by the v2 API operation POST /api/v2/keywords/{id}/pause.
Without
--json: A terminal prints one confirmation line naming the committed state.
Example output:
0 OK · 1 UNEXPECTED · 2 USAGE. The full map is on Exit codes.
octolens keywords resume
Resume data collection for a keyword (idempotent)
Arguments
Examples
--json, stdout carries one JSON document with these fields. Backed by the v2 API operation POST /api/v2/keywords/{id}/pause.
Without
--json: A terminal prints one confirmation line naming the committed state.
Example output:
0 OK · 1 UNEXPECTED · 2 USAGE. The full map is on Exit codes.
octolens keywords rm
Delete a keyword (confirms on a TTY; —yes headless)
Arguments
Flags
Examples
--json, stdout carries one JSON document with these fields. Backed by the v2 API operation DELETE /api/v2/keywords/{id}.
Without
--json: A terminal confirms the deletion and names every cascaded feed and notification.
Example output
Example output
0 OK · 1 UNEXPECTED · 2 USAGE · 8 CANCELLED. The full map is on Exit codes.
octolens keywords update
Update a keyword’s matching config (by id or name)
Arguments
Flags
Examples
--json, stdout carries one JSON document with these fields. Backed by the v2 API operation PATCH /api/v2/keywords/{id}.
Without
--json: A terminal prints a confirmation line and the keyword’s definition after the update.
Example output
Example output
0 OK · 1 UNEXPECTED · 2 USAGE. The full map is on Exit codes.
octolens suggestions accept
Accept a keyword suggestion (applies it to the keyword)
Arguments
Flags
Examples
--json, stdout carries one JSON document with these fields. Backed by the v2 API operation POST /api/v2/keywords/suggestions.
Without
--json: A terminal prints one confirmation line naming the applied changes.
Example output:
0 OK · 1 UNEXPECTED · 2 USAGE. The full map is on Exit codes.
octolens suggestions list
List AI keyword-tuning suggestions (org-wide or per keyword)
Flags
Examples
--json, stdout carries one JSON document with these fields. Backed by the v2 API operation GET /api/v2/keywords/suggestions.
Without
--json: A terminal renders each suggestion with its reason and impact; piped stdout emits one tab-delimited record per suggestion.
Example output
Example output
--keyword, stdout carries a keyword-scoped document instead — the resolved keyword’s pending suggestions without the org-wide enrichment (no keyword text, keywordVolume, impactScore or per-row keywordSettings) and no totalSuggestionCount.
Example output
Example output
0 OK · 1 UNEXPECTED · 2 USAGE. The full map is on Exit codes.
octolens suggestions reject
Reject a suggestion by id, or all for a keyword (—keyword)
Arguments
Flags
Examples
--json, stdout carries one JSON document with these fields. Backed by the v2 API operation DELETE /api/v2/keywords/suggestions.
Rejecting ALL of a keyword’s suggestions (
--all --keyword) reports keywordId instead of suggestionId; rejectedCount/rejectedSuggestionIds then name every dismissed row.
Without --json: A terminal prints one confirmation line naming what was dismissed.
Example output:
0 OK · 1 UNEXPECTED · 2 USAGE. The full map is on Exit codes.