A command-line interface for managing Paperless-ngx documents, mail accounts, mail rules, and tags.
nix run github:numtide/freelancer-toolbox#paperless-cliCreate a configuration file at ~/.config/paperless-cli/config.json:
{
"url": "https://paperless.example.com",
"token_command": "rbw get paperless-api-token"
}url: The base URL of your Paperless-ngx instancetoken_command: A command that outputs the API token (e.g., from a password manager)
# Search all documents
paperless-cli documents search
# Search with query
paperless-cli documents search "invoice"
# Search with pagination
paperless-cli documents search --page 2 --page-size 50# Show document details
paperless-cli documents get <document-id>
# Show document metadata
paperless-cli documents get <document-id> --metadata
# Download document
paperless-cli documents get <document-id> --download
# Download original (if available)
paperless-cli documents get <document-id> --download --original
# Download with custom filename
paperless-cli documents get <document-id> --download -o output.pdf# Upload a document
paperless-cli documents upload /path/to/document.pdf
# Upload with title
paperless-cli documents upload /path/to/document.pdf --title "My Document"
# Upload with tags (comma-separated tag IDs)
paperless-cli documents upload /path/to/document.pdf --tags "1,2,3"# Delete with confirmation
paperless-cli documents delete <document-id>
# Delete without confirmation
paperless-cli documents delete <document-id> --forcepaperless-cli tags list# Create a tag
paperless-cli tags create "Tag Name"
# Create with color
paperless-cli tags create "Tag Name" --color "#FF0000"# Delete with confirmation
paperless-cli tags delete <tag-id>
# Delete without confirmation
paperless-cli tags delete <tag-id> --forcepaperless-cli mail-accounts listpaperless-cli mail-rules listpaperless-cli mail-rules show <rule-id>paperless-cli mail-rules create "Rule Name" \
--filter-from "sender@example.com" \
--assign-tags "1,2,3"paperless-cli mail-rules update <rule-id> \
--name "New Name" \
--filter-subject "Invoice"paperless-cli mail-rules delete <rule-id>PAPERLESS_URL: Base URL of your Paperless-ngx instancePAPERLESS_TOKEN: API token for authentication