CLI › domains
domains
domains add and domains list are thin clients over POST /v1/domains and
GET /v1/domains — the cURL beside each command issues the identical
request, so the two references agree on the shape.
domains add --profile
Registration is a write, not a verification. It does not touch DNS.
curl -X POST https://api.propgate.dev/v1/domains \
-H "authorization: Bearer pg_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-H "content-type: application/json" \
-d '{"name":"yourdomain.dev","profile":"sending"}'yourdomain.dev registered as 019fcf4f-....
Nothing has been checked yet — the sweeper will pick it up.--profile is required — a domain that names no profile has nothing to be
checked against, so the API refuses it with a 422 rather than accepting a
domain with no meaning. Nothing has been checked yet: state: pending here
means "nobody has looked", not "broken". The sweeper picks up the first check
on its own schedule.
domains list --state
curl "https://api.propgate.dev/v1/domains?state=failed" \
-H "authorization: Bearer pg_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"failed yourdomain.dev 3/5 checked 2026-08-04 22:10
failed other.example 0/4 checked 2026-08-05 01:02--state filters to one of the five states domain_state defines: pending,
verifying, verified, degraded, or failed. Omit it to list everything.
An empty result prints its own line rather than nothing at all — a blank
terminal after a real command looks like a failure:
No domains yet. Add one with `propgate domains add <domain> --profile <key>`.