Skip to main content
The CLI signs in through the browser. Unlike the REST API, it does not use an API key: it creates a session tied to your user account, so every command is subject to the permissions your role grants in that workspace.

Sign in

A browser window opens for you to approve the session. Omit --subdomain and the CLI prompts for it. If the browser does not open, visit the URL the command prints. The command waits up to two minutes for the approval and then fails with NeetoInvoice CLI authentication timed out after 2 minutes. Please try again.
Credentials for every signed-in subdomain are stored together in ~/.config/neetoinvoice/auth.json. The CLI creates that file with owner-only permissions (0600), so other accounts on the same machine cannot read it.
That file holds live session tokens. Treat it like a password: keep it out of logs, bug reports, screen shares, and version control. Note that logout only removes the local copy, so if the file has leaked, contact support@neetoinvoice.com to have the sessions revoked.

Check who you are

With more than one workspace signed in, whoami lists them all. Pass --subdomain <name> to show just one.

Working with several workspaces

How a command picks a subdomain depends on how many are signed in:

Sign out

Verify connectivity

Each check runs independently, so a failing one does not hide the others.

How the CLI, the API, and MCP authenticate

Point the CLI at another server

Set NEETOINVOICE_BASE_URL to override the default https://<subdomain>.neetoinvoice.com: