Skip to main content
pulsesend is a single binary with no dependencies. It talks to the same API as your code, with the same keys.

Install

On macOS and Linux:
The script picks the build for your system (Linux x86_64 or ARM64, macOS Intel or Apple Silicon), checks its SHA-256 checksum, and installs it in ~/.local/bin. Two variables change that:
On Windows, download pulsesend-0.1.0-x86_64-pc-windows-gnu.zip, unzip it, and put pulsesend.exe in a folder on your PATH. Check the install:

Log in

Create a key in the dashboard under API keys, then:
The CLI asks for the key without showing it, checks it against the API, and saves it in ~/.config/pulsesend/config.json, readable only by you. pulsesend whoami shows which key is in use and whether it works; pulsesend logout removes it. In CI or scripts, skip login and set the key in the environment instead:
--api-key on any command takes precedence over both.
Use a ps_test_ key while you try things out: emails are recorded but never delivered, and they cost no credits.

Send an email

The body can come from a file, or from standard input with -:
The same limits as the API apply, and the sender must be on a verified domain with a live key.

Inspect emails

When there are more emails, the list ends with the command for the next page.

JSON output

Add --json to any command to get the raw API response, for scripts and jq:

Errors

Errors print the API’s message, its error code with a link to the docs, and the request id to give support. The command then exits with code 1.

Environment variables