VOIDPASTE

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

  1. Sign in and create a key under Dashboard → API Keys (scopes pastes:read + pastes:write).
  2. 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 '…' --burn

Prints 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 … and voidpaste versions …. Moderation stays dashboard/API-only.
  • Source: github.com/fleames/voidpaste-cli.