Labradoc CLI
Labradoc is an AI document intelligence platform that unifies emails, documents, and photos into one searchable system. It provides natural-language search and contextual answers over your own data, supports Gmail and Google Drive integrations, email forwarding, and manual uploads, and emphasizes GDPR-aligned hosting in Germany with strong privacy controls.
Use this skill to operate the labradoc-cli CLI with API token authentication. It covers configuration and every available command.
Install
Get the latest prebuilt binary from the GitHub Releases page, then place it on your PATH:
https://github.com/zamedic/labradoc-cli/releases
Configuration
The CLI sends the API token as the X-API-Key header.
Preferred authentication method: API Token from your Labradoc profile at https://labradoc.eu/profile
Set the token using one of the following (highest wins):
--api-token flag
API_TOKEN env var
labrador.yaml (api_token)
Optional base URL override:
--api-url flag
API_URL env var
labrador.yaml (api_url)
Config file precedence:
labrador.yaml
labrador.<ENVIRONMENT>.yaml
ENV vars (dots become underscores)
Global Flags
--api-url API base URL (default https://labradoc.eu)
--api-token API token (X-API-Key)
--timeout HTTP timeout (default 30s)
Authentication (OAuth)
API token auth is preferred, but OAuth is available:
# Login via browser
eval labradoc-cli auth login --api-url https://api.labradoc.eu
# Check auth status
labradoc-cli auth status --api-url https://labradoc.eu
# Get current token
labradoc-cli auth token
# Refresh token
labradoc-cli auth refresh
# Logout
labradoc-cli auth logout
When using OAuth, pass --use-auth-token to API commands instead of --api-token.
Raw Request
labradoc-cli api request /api/tasks --method GET
labradoc-cli api request /api/tasks --method POST --body '{"name":"Example"}'
labradoc-cli api request /api/tasks --method POST --body-file ./payload.json
Tasks
labradoc-cli api tasks list
labradoc-cli api tasks close --id <task-id>
labradoc-cli api tasks close --ids <task-id> --ids <task-id>
Files
labradoc-cli api files list --status New --status completed --page-size 50
labradoc-cli api files upload --file ./document.pdf
labradoc-cli api files get --id <file-id>
labradoc-cli api files content --id <file-id> --out content.txt
labradoc-cli api files ocr --id <file-id> --out ocr.txt
labradoc-cli api files download --id <file-id> --out original.pdf
labradoc-cli api files fields --id <file-id>
labradoc-cli api files related --id <file-id>
labradoc-cli api files reprocess --id <file-id>
labradoc-cli api files tasks --id <file-id>
labradoc-cli api files image --id <file-id> --page 1 --out page-1.png
labradoc-cli api files preview --id <file-id> --page 1 --out page-1-preview.png
labradoc-cli api files archive --id <file-id>
labradoc-cli api files archive --ids <file-id> --ids <file-id>
labradoc-cli api files question --id <file-id> --body '{"question":"What is the due date?"}'
labradoc-cli api files search --body '{"question":"Find all invoices from Acme"}'
Valid --status values: New, multipart, googleDocument, Check_Duplicate, detectFileType, htmlToPdf, preview, ocr, process_image, embedding, name_predictor, document_type, extraction, task, completed, ignored, error, not_supported, on_hold, duplicated.
Note: files search returns a Server-Sent Events (SSE) stream.
API Keys
labradoc-cli api apikeys list
labradoc-cli api apikeys create --name "CI token" --expires-at 2026-06-01T00:00:00Z
labradoc-cli api apikeys revoke --id <key-id>
User
labradoc-cli api user credits
labradoc-cli api user stats
labradoc-cli api user language get
labradoc-cli api user language set --language en
labradoc-cli api email addresses
labradoc-cli api email request --description "Inbound invoices"
labradoc-cli api email list
labradoc-cli api email body --id <email-id> --index 1 --out body.eml
Integrations
See references/integrations.md for Google Drive, Gmail, and Microsoft Outlook commands.
Billing (Stripe)
labradoc-cli api stripe checkout
labradoc-cli api stripe pages-checkout
labradoc-cli api stripe webhook --body-file ./stripe-event.json
Wrapper Script
A convenience wrapper is provided at scripts/run-labradoc.sh. It checks that the labradoc-cli binary is on PATH and forwards all arguments:
./scripts/run-labradoc.sh api tasks list
Troubleshooting
Missing token: provide --api-token, API_TOKEN, or api_token in labrador.yaml
401/403: confirm API token and --api-url