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.
npm install --global @elixpo/lixrl-cli
lixrl --version
lixrl --helpOne 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
- Run the command and choose whether to create a new key or paste an existing key.
- For a new key, the CLI displays a prefilled official Accounts URL and one-time code.
- Press Enter to open the URL, or use
--opento launch it immediately. - The CLI opens a Lixrl approval page where you choose the key name, read or read/write access, and an optional expiry.
- Lixrl enforces your plan's key limit, delivers the key directly to the waiting CLI, and stores only its hash.
lixrl login
lixrl login --new-key --open
lixrl whoamiRunning 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
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:
lixrl login --key
lixrl whoamiKeep keys secret
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
lixrl login --profile work --open
lixrl profiles
lixrl use work
lixrl whoami --profile workProfile 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.
lixrl keys revoke 42 --yes
lixrl logout --profile work --yesCI 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.
lixrl whoami --json --no-input
lixrl urls create "https://example.com/article" --title "Article" --tag automation --json --no-inputManage short links
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.
# 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 --yesPaid plans can add custom slugs and expiry dates with --slug and --expires. Bulk creation accepts a JSON array through --file.
Analytics and exports
lixrl urls analytics abc123 --days 30 --json
lixrl urls export --output links.csv
lixrl urls export-clicks abc123 --output clicks.csvExports 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.
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.svgAPI keys and branded subdomains
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 launchKey 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.
lixrl skills list
lixrl skills inspect lixrl-links
lixrl skills install lixrl-links
lixrl skills install lixrl-qrThe 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
--jsonreturns stable machine-readable output.--no-inputprevents 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.
lixrl --help
lixrl whoami --profile default --json --no-input