Documentation Index
Fetch the complete documentation index at: https://docs.pipedata.io/llms.txt
Use this file to discover all available pages before exploring further.
The full surface of pd, one section per command. Run pd <command> --help for the same synopsis at the terminal.
pd login
Authenticate this device with Pipedata via a device-code flow. Saves credentials to ~/.pd/config.json.
| Flag | Default | Purpose |
|---|
--host | eu-central-1.pipedata.io | Region host to log in to. |
pd push
Read NDJSON from stdin and write it to a named pipe. Creates the pipe if it doesn’t exist.
cat data.jsonl | pd push orders
pd push reads stdin only — there’s no flag for inline data. Use echo … | pd push <name> or redirect a file.
pd pull
Read NDJSON from a named pipe to stdout.
| Flag | Default | Purpose |
|---|
--start-id | last cursor for this machine | Read starting from this record ID (one-off, doesn’t move the cursor backwards). |
--follow | false | Tail the pipe and stream new records as they arrive. |
pd ls
List pipes with their kind, source, status, and counts.
| Flag | Default | Purpose |
|---|
--range | all | Window for stats: 15m, 1h, 24h, 7d, 30d, or all. |
pd delete
Request deletion of a pipe and all its data. Data is purged within 72 hours.
| Flag | Default | Purpose |
|---|
--yes | false | Skip the interactive name-confirmation prompt. |
pd source http
Create (or look up) an HTTP ingestion pipe and print its ingest URL.
POST records to the printed URL with Authorization: Bearer <api-key>. One JSON record per request, or NDJSON for batches.
pd dest http
Create or update an HTTP destination. On create, --url and --method are required. Destinations start paused — verify DNS, then pd resume.
| Flag | Default | Purpose |
|---|
--source | | Source pipe to forward from. |
--url | | Target URL. |
--method | | HTTP verb: GET, POST, PUT, DELETE, PATCH. |
--rate | 10 | Max requests per second. |
--header K=V | | Request header. Repeatable. Content-Type: application/json added if not set. |
--retry | false | Retry non-2xx responses with exponential backoff (max 15 min, ~100 attempts). |
--start-id | 0 | First record ID to deliver. |
pd dest http alerts --source logs --url https://example.com/hook --method POST --retry
pd uniq
Create or update a deduplication transform that emits each unique record from a source pipe once.
| Flag | Default | Purpose |
|---|
--from | | Source pipe to dedupe. Required on create. |
--duplicates | false | Invert: emit only duplicates (one per group) instead of uniques. |
--start-id | 0 | First record ID in the source to consider. |
pd uniq orders-unique --from orders
pd verify
Verify DNS ownership of an HTTP destination. Interactive: prints a TXT record, waits for you to add it, then polls DNS.
pd pause
Pause a pipe so it stops reading and accepting new data. Works for any pipe kind. Downstream pipes pause too.
pd resume
Resume a paused pipe.
pd self-update
Check for and install a newer pd binary in place. The previous binary is saved alongside as pd.old.
pd examples
Print a few copy-pasteable recipes for common tasks.
Global flags
These work on every command:
| Flag | Purpose |
|---|
-o json, --output json | Emit machine-readable JSON instead of human text. |
--no-color | Disable colored output. |
-h, --help | Print the command’s synopsis. |
Environment variables
| Variable | Purpose |
|---|
PD_CONFIG_PATH | Override the config file location. Default ~/.pd/config.json. |
NO_COLOR | Disable colored output (same as --no-color). |