polar

📁 miketromba/polar-cli 📅 12 days ago
4
总安装量
4
周安装量
#52605
全站排名
安装命令
npx skills add https://github.com/miketromba/polar-cli --skill polar

Agent 安装分布

opencode 3
gemini-cli 3
github-copilot 3
codex 3
amp 3
kimi-cli 3

Skill 文档

Polar CLI

Unofficial CLI for Polar with full API parity. Optimized for both developers and AI agents.

When to use

Use this CLI when you need to:

  • Manage Polar resources (products, customers, subscriptions, orders, etc.)
  • Create or inspect checkouts and checkout links
  • Issue, validate, or manage license keys
  • Ingest events or query usage-based billing meters
  • Set up webhooks
  • Script or automate Polar workflows from the terminal

Install

npm install -g @miketromba/polar-cli

The CLI is also available via npx @miketromba/polar-cli, or install with yarn/pnpm/bun.

Authentication

# Interactive login (token is stored locally)
polar auth login --token <access-token>

# Or set the environment variable (preferred for CI/scripts/agents)
export POLAR_ACCESS_TOKEN=polar_at_xxx

Get an access token at https://polar.sh/settings.

Check auth status:

polar auth status

Command grammar

All commands follow this pattern:

polar <resource> <action> [id] [--flags]

Examples:

polar products list
polar customers get <id>
polar subscriptions create --customer-id <id> --product-id <id>
polar checkouts create --products <product-id>
polar webhooks delete <id> --yes

Run polar --help for all resources. Run polar <resource> --help for actions and examples.

Output formats

The CLI auto-detects the environment:

Context Default format Description
TTY (interactive) table Human-readable columns with color
Piped / non-TTY compact key=value one-liners, minimal tokens

Override with -o <format>:

Format Flag Use case
compact -o compact AI agents, scripting
json -o json Programmatic consumption
jsonl -o jsonl Streaming, jq pipelines
csv -o csv Export, spreadsheets
tsv -o tsv Unix tools (cut, awk)
id -o id Pipe IDs to other commands
count -o count “How many?” queries
table -o table Human-readable

Parsing compact output

Compact format is optimized for AI agents:

products 1-5/42 page=1
  [1] id=prod_123 name="Pro Plan" isRecurring=true prices=1
  [2] id=prod_456 name="Starter" isRecurring=true prices=1
next: polar products list --page 2 --limit 5

Field selection

polar customers list --fields id,email,name
polar products get <id> --detail    # Full detail view

Common workflows

List and filter resources

polar products list
polar products list --query "Pro" --limit 5
polar customers list --email user@example.com
polar subscriptions list --active --product-id <id>
polar orders list --customer-id <id> --output json

Create resources

polar customers create --email user@example.com --name "Jane Doe"
polar products create --name "Pro Plan" --prices '[{"amount":2999,"currency":"usd","recurringInterval":"month"}]'
polar checkouts create --products <product-id> --customer-email user@example.com
polar discounts create --name "20% Off" --type percentage --amount 20 --duration once
polar webhooks create --url https://example.com/hook --events order.created,subscription.created

Update and delete

polar products update <id> --name "Enterprise Plan"
polar customers update <id> --name "Jane Smith"
polar customers delete <id> --yes    # --yes required for destructive actions

License keys

polar license-keys list
polar license-keys validate --key XXXX-XXXX --organization-id <org-id>
polar license-keys activate --key XXXX-XXXX --organization-id <org-id> --label "Prod Server"

Usage-based billing

polar meters list
polar events ingest --events '[{"name":"api_call","externalCustomerId":"user_123"}]'
polar metrics get --start-date 2025-01-01 --end-date 2025-01-31 --interval month

Pagination

polar products list --limit 50 --page 2
polar products list --first 3         # Shorthand: --limit 3 --page 1
polar products list --all             # Fetch all pages

Pipe patterns

# Get all product IDs
polar products list -o id

# Count active subscriptions
polar subscriptions list --active -o count

# Export customers as JSON
polar customers list --all -o json > customers.json

# Pipe to jq
polar orders list -o jsonl | jq '.totalAmount'

Environment variables

Variable Purpose
POLAR_ACCESS_TOKEN Access token (overrides stored credential)
POLAR_ORGANIZATION_ID Default organization ID
POLAR_SERVER production or sandbox
POLAR_OUTPUT Default output format

Key global flags

Flag Short Description
--output <format> -o Output format
--fields <list> -f Comma-separated field selection
--detail -d Full detail view
--org <id> Organization ID override
--yes -y Skip confirmation prompts
--quiet -q Data only, no hints or headers
--server <name> -s production or sandbox

Resources

For the full list of resources and their operations, see reference.md.

Official Polar documentation

For deeper understanding of Polar platform concepts, API behaviors, scopes, webhook events, or feature guides, fetch the official docs index:

https://polar.sh/docs/llms.txt

This is a machine-readable index of all Polar documentation. Use it when you need to:

  • Understand how a Polar feature works (e.g., usage-based billing, seat-based pricing, trials)
  • Check required API scopes for an operation
  • Look up webhook event payloads and lifecycle
  • Find guides for specific workflows (e.g., checkout sessions, license key validation)
  • Verify API behavior or constraints that the CLI wraps

Fetch the index, find the relevant doc URL, then fetch that page for full details.