Sending Domains
Before sending email through SendPipe, you must verify ownership of your sending domain. Domain verification ensures deliverability and protects your sender reputation through proper SPF, DKIM, and DMARC configuration.
Verification Flow
Domain verification is a four-step process. SendPipe generates the required DNS records for you -- add them to your domain registrar, then trigger verification.
POST /v1/domains with your domain name. SendPipe returns the DNS records you need to add.GET /v1/domains/:id/verify to trigger verification. SendPipe checks each record and updates the domain status.Required DNS Records
When you add a domain, SendPipe generates the following DNS records. All four must be configured for full verification.
| Record | Type | Name | Purpose |
|---|---|---|---|
| SPF | TXT | @ | Authorizes SendPipe to send on your behalf |
| DKIM | CNAME | sendpipe._domainkey | Cryptographic signature for email authentication |
| DMARC | TXT | _dmarc | Policy for handling SPF/DKIM failures |
| Verification | TXT | _sendpipe-verify | Proves domain ownership to SendPipe |
Endpoints
/v1/domainsAdd a new sending domain. Returns the domain record with generated DNS entries.
/v1/domainsList all domains for the current project with verification status.
/v1/domains/:id/verifyTrigger DNS verification for a pending domain. Returns updated verification status per record.
/v1/domains/:idRemove a sending domain. Messages can no longer be sent from this domain.
Create Domain Body
POST /v1/domains
| Name | Type | Required | Description |
|---|---|---|---|
domain | string | Yes | The domain name to verify (e.g. "notifications.yourapp.com"). Must be a valid domain. |
Example: Add and Verify a Domain
Step 1: Add the domain
curl -X POST https://api.sendpipe.io/v1/domains \
-H "X-SendPipe-Key: sp_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"domain": "notifications.yourapp.com"
}'
# Response:
# {
# "id": "dom_clx4...",
# "domain": "notifications.yourapp.com",
# "status": "pending",
# "dnsRecords": [
# { "type": "TXT", "name": "@", "value": "v=spf1 include:sendpipe.io ~all" },
# { "type": "CNAME", "name": "sendpipe._domainkey", "value": "dkim.sendpipe.io" },
# { "type": "TXT", "name": "_dmarc", "value": "v=DMARC1; p=none; ..." },
# { "type": "TXT", "name": "_sendpipe-verify", "value": "sendpipe-verify=dom_clx4..." }
# ]
# }Step 2: Trigger verification after adding DNS records
curl https://api.sendpipe.io/v1/domains/dom_clx4.../verify \
-H "X-SendPipe-Key: sp_live_your_key_here"
# Response:
# {
# "id": "dom_clx4...",
# "domain": "notifications.yourapp.com",
# "status": "verified",
# "spf": true,
# "dkim": true,
# "dmarc": true,
# "verification": true
# }