Skip to main content
Four admin surfaces live in the CLI: team membership (members), the monitored company profile that steers AI relevance (company), the workspace itself (org), and consumption vs plan (org usage, billing). Payment operations are deliberately not among them — billing --web hands off to the browser for anything that touches a card.

Members and invitations — where admin scope bites

Reading the roster needs no special scope; changing it does. members invite and members rm require a credential with the admin scope — a non-admin caller exits 5 (ADMIN_SCOPE_REQUIRED), and on members rm that gate is checked first, so a non-admin gets the 5 whether or not the target exists and is never shown the confirm prompt. Preflight before scripting either:
The everyday roster loop:
octolens members invite Flags Behaviour that keeps automation honest:
  • Inviting is idempotent. Re-inviting an address with an outstanding invitation returns that invitation with alreadyInvited: true, exit 0, and sends no second email — concurrent invites cannot stack duplicates.
  • A personal-mail domain (gmail and friends) is refused with exit 2 (GENERIC_EMAIL_DOMAIN); an unknown member or invitation token exits 4 (MEMBER_NOT_FOUND) naming both lists.
  • The API refuses to remove the only remaining admin (LAST_ADMIN) — a workspace can never be orphaned from the terminal.
  • Removals and revocations prompt on a TTY; a headless run must pass --yes.
  • Scope is not the only prerequisite for inviting: the identity must carry an inviter user. When it does not, the command exits 5 (INVITER_REQUIRED) naming the fix — different code than a scope denial, because the repair is different.

The company profile — your AI steering wheel

octolens company get shows the monitored company (distinct from the workspace itself): name, domain, description, and the guideline fields that are injected into every AI relevance and classification prompt. Editing those fields is the main terminal lever for tuning how mentions get scored:
Any member with a write key can do this. Changes take effect for newly scored mentions — tune, then watch the next batch in octolens mentions list and iterate. octolens company update Flags Workspace-level settings (display name, org-wide monitored platforms) live on octolens org get / octolens org update — the Admin reference has the full field list.

Usage and billing

One shared block — mention and keyword consumption against your plan’s limits, with reset dates, meters on a terminal and stable ISO timestamps when piped. The same numbers ride octolens dashboard and octolens billing, so the three can never disagree. octolens org usage
octolens billing adds the read-only plan summary; to change plan or payment method, octolens billing --web opens the subscription page in the browser — the CLI itself has no payment surface.

Where to go next