CLI
Ship pastes from your terminal against the production API at https://voidpaste.com. Auth uses API keys (Bearer), not session cookies.
Install
Requires Go 1.23+. The CLI is published as a public Go module (github.com/fleames/voidpaste-cli):
go install github.com/fleames/voidpaste-cli/cmd/voidpaste@latest
Or build from a clone (names the binary voidpaste):
git clone https://github.com/fleames/voidpaste-cli.git cd voidpaste-cli go build -o voidpaste ./cmd/voidpaste
Authenticate
- Sign in and create a key under Dashboard → API Keys (scopes
pastes:read+pastes:write). - Store it locally:
voidpaste auth login --key vp_live_…
Config file: ~/.config/voidpaste/config.json (Windows: %AppData%\voidpaste\config.json). Env overrides: VP_API_KEY (or VP_TOKEN), VP_API for a custom origin.
voidpaste whoami voidpaste status
Create a paste
# from a file
voidpaste create ./notes.md --title "Notes" --language markdown --expiration 1d
# from stdin
echo 'fmt.Println("hi")' | voidpaste create --lang go --visibility unlisted
# burn-after-reading + password
voidpaste create secret.txt --visibility password --password '…' --burnPrints the paste id and share URL. Use --json for the full API envelope. Anonymous create works without a key; private / password visibility need a key.
Fetch
voidpaste get PASTE_ID voidpaste raw PASTE_ID voidpaste download PASTE_ID -o out.txt voidpaste raw PASTE_ID --password '…'
List and delete
voidpaste list voidpaste delete PASTE_ID --yes
Self-hosted API
Default origin is https://voidpaste.com. Override per command or at login:
voidpaste status --api https://paste.example.com voidpaste auth login --api https://paste.example.com --key vp_live_…
curl fallback
The CLI is a thin client over the same REST API. Equivalent curl:
export VP_API=https://voidpaste.com
export VP_API_KEY=vp_live_…
jq -n --rawfile c ./file.txt \
'{content:$c, visibility:"unlisted", expiration:"1d"}' \
| curl -sS -X POST "$VP_API/api/v1/pastes" \
-H "Authorization: Bearer $VP_API_KEY" \
-H "Content-Type: application/json" \
-d @-Notes
- Auth header:
Authorization: Bearer vp_live_…. Password pastes:X-Paste-Password. - Respect rate-limit response headers.
- Client-encrypted pastes still need browser (or your own) decryption — the CLI stores/fetches ciphertext only.
- Collections and versions are available via
voidpaste collection …andvoidpaste versions …. Moderation stays dashboard/API-only. - Source: github.com/fleames/voidpaste-cli.