DocumentationDeveloper CLI

DocsGet started03

Short links and QR codes from your terminal.

Create short URLs, generate QR codes, export analytics, and manage every production link from one command line. Keep work moving without switching between link tools, dashboards, and manual copy-paste steps.

Install

Node.js 20 or newer is required. The package @elixpo/lixrl-cli installs both lixrl and the compatible shortner alias.

Terminal
npm install --global @elixpo/lixrl-cli
lixrl --version
lixrl --help

One link workflow for people and automation

Link work often begins in a terminal, deployment job, or writing agent, but finishes through disconnected browser steps. Lixrl keeps short URLs, QR assets, link status, and analytics in one predictable workflow while still giving you a clear dashboard whenever you want a visual view.

Sign in and authenticate

Login first reuses a valid key already stored for the selected profile. Otherwise, choose browser-based device login or paste a raw key you already created. Both paths store the final Lixrl key in your operating-system keychain; passwords and browser cookies never enter the CLI.

Recommended: Accounts device login

  1. Run the command and choose whether to create a new key or paste an existing key.
  2. For a new key, the CLI displays a prefilled official Accounts URL and one-time code.
  3. Press Enter to open the URL, or use --open to launch it immediately.
  4. The CLI opens a Lixrl approval page where you choose the key name, read or read/write access, and an optional expiry.
  5. Lixrl enforces your plan's key limit, delivers the key directly to the waiting CLI, and stores only its hash.
Terminal
lixrl login
lixrl login --new-key --open
lixrl whoami

Running lixrl login again reuses a valid key already stored for the selected profile. Use lixrl login --new-key only when you intentionally want another key. The CLI cannot revoke account keys during device login; when the limit is full, revoke one in the browser, wait for the Revoked status, and then press Enter in the terminal.

Read-only keys can list links, analytics, and exports without changing data. Read/write keys can also create, update, disable, and delete links. The approval screen shows the active-key allowance for your plan. If that allowance is full, the CLI offers to open key management and retry after you revoke an unused key.

What the code authorizes

The one-time code authorizes only the displayed Lixrl request. Temporary Accounts tokens remain in memory and are revoked before the Lixrl key is delivered. The CLI never receives your password, browser session, or MFA response.

Paste an existing API key

If you or an administrator already created a restricted key under Profile → API Keys, choose option 2 during login or paste it through the masked prompt:

Terminal
lixrl login --key
lixrl whoami

Keep keys secret

Never place an elu_… key in a URL, source file, generated article, issue, or chat message. Lixrl stores only the key hash, so a dashboard row cannot reveal the raw value later.

The CLI briefly retries transient login configuration and discovery failures. Persistent errors identify whether Lixrl configuration, Accounts timeout, network/DNS/TLS access, an HTTP response, or incompatible authorization metadata caused the failure.

Multiple accounts

Terminal
lixrl login --profile work --open
lixrl profiles
lixrl use work
lixrl whoami --profile work

Profile names are non-secret aliases. Each profile's API key remains in the keychain. Logging out removes only the selected local credential; revoke the key separately when it must stop working everywhere.

Terminal
lixrl keys revoke 42 --yes
lixrl logout --profile work --yes

CI and non-interactive agents

Store the key in the CI provider's encrypted secret store and expose it only to the command process as LIXRL_API_KEY. Automation should always add --json --no-input.

CI step
lixrl whoami --json --no-input
lixrl urls create "https://example.com/article"   --title "Article" --tag automation --json --no-input

Interactive output uses green for completed operations, purple for status information, yellow for correctable input warnings, and red for failures. Set NO_COLOR=1 for plain output. Commands and required flags are checked before authentication, so a typo or missing --file is reported without asking you to sign in. A compact spinner appears only while network, approval, keychain, or QR work is pending; JSON, quiet, and piped output never receive spinner frames.

Terminal
# Create
lixrl urls create "https://example.com/launch"   --title "Launch" --campaign launch --tag release

# Search and inspect
lixrl urls list --search launch --limit 25
lixrl urls get abc123

# Update or pause without deleting
lixrl urls update abc123 --destination "https://example.com/new"
lixrl urls disable abc123
lixrl urls enable abc123

# Destructive operations require confirmation
lixrl urls delete abc123 --yes

Paid plans can add custom slugs and expiry dates with --slug and --expires. Bulk creation accepts a JSON array through --file.

Analytics and exports

Terminal
lixrl urls analytics abc123 --days 30 --json
lixrl urls export --output links.csv
lixrl urls export-clicks abc123 --output clicks.csv

Exports refuse to replace an existing file. An intentional replacement requires both --force and --yes.

Generate QR codes

Basic QR generation runs locally. SVG is the best default for print; PNG and JPEG are available for image workflows. Paid styles, center logos, and tracked QR links verify the active account plan. Prefer a browser? Use the QR code generator.

Terminal
lixrl qr "https://example.com" --format svg --output code.svg
lixrl qr "https://example.com" --format png --style rounded --size 1024 --output code.png
lixrl qr "https://example.com" --track --style aurora --title "Print campaign" --output tracked.svg

API keys and branded subdomains

Terminal
lixrl keys list
lixrl keys create --name deploy --scopes read,write

lixrl domains list
lixrl domains claim team
lixrl domains verify 12
lixrl domains map 12 abc123 --slug launch

Key creation prints the secret once. Capture it directly into the intended secret store and do not include command output in logs. Subdomain commands follow your current plan entitlement.

Agent skills

The npm artifact includes focused skills for link management and QR generation. Nothing is copied during package installation; install only the skill the agent needs.

Terminal
lixrl skills list
lixrl skills inspect lixrl-links
lixrl skills install lixrl-links
lixrl skills install lixrl-qr

The link skill contains a separate writing workflow: agents shorten only public canonical destinations selected by the author, preserve the original destination, and request approval before replacing a link in a post. LixBlogs OAuth tokens are never reused as Lixrl credentials.

Automation contract

  • --json returns stable machine-readable output.
  • --no-input prevents hidden prompts in agents and CI.
  • Deletion, revocation, unmapping, and overwrite operations require --yes.
  • Exit code 2 means invalid usage, 4 means authentication is required, and 5 means confirmation is missing.
  • API errors may include a request ID for support; credentials are redacted.

Configuration

Production defaults to https://lixrl.com. Use --api-url or LIXRL_API_URL only for an intentional Lixrl environment. Non-local HTTP origins are rejected.

Terminal
lixrl --help
lixrl whoami --profile default --json --no-input
URL Shortener CLI and QR Code Generator — @elixpo/lixrl-cli | Lixrl