Sending Identities
A sending identity is anything you’ve proven you control:
- A domain (preferred — covers any address at that domain), or
- A specific email address (limited to that one mailbox)
Every email you send must have a From: address that matches a
verified identity. Sending from an unverified address returns
400 FROM_NOT_VERIFIED.
Why verification?
Without verification, anyone could claim to send from
security@yourbank.com through our infrastructure. Verification
proves you control the domain or address at the DNS / mailbox level.
This is the same reason AWS SES, SendGrid, Postmark, Mailgun, and every other ESP requires it. It’s not optional in 2026’s email landscape.
Domain verification
Verifying a domain takes 3 DNS records. Once published + checked,
you can send from any address at the domain — hello@,
alerts@, noreply@, etc.
Create the identity:
curl https://apis.splashifypro.com/api/v1/partner/email/identities \
-H "Authorization: Bearer $SPLASHIFY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"identity_type": "DOMAIN", "identity_value": "yourcompany.com"}'The response gives you the 3 records to publish:
| Type | Hostname | Value |
|---|---|---|
| TXT | yourcompany.com | v=spf1 include:_spf.mail.splashifypro.com ~all |
| CNAME | splashify._domainkey.yourcompany.com | splashify._domainkey.mail.splashifypro.com |
| TXT | _dmarc.yourcompany.com | v=DMARC1; p=quarantine; rua=mailto:dmarc@splashifypro.com |
After publishing on your DNS provider, trigger a re-check:
curl -X POST https://apis.splashifypro.com/api/v1/partner/email/identities/DOMAIN/yourcompany.com/verify \
-H "Authorization: Bearer $SPLASHIFY_API_KEY"Once "status": "VERIFIED" lands, you’re good. We re-check
verified domains every 24 hours; if any record disappears, status
flips back to PENDING and we email you.
Email-address verification
For low-volume use cases or when you can’t add DNS records (you’re using a public-domain mailbox like Gmail), verify a single address:
curl https://apis.splashifypro.com/api/v1/partner/email/identities \
-H "Authorization: Bearer $SPLASHIFY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"identity_type": "EMAIL_ADDRESS", "identity_value": "alerts@yourcompany.com"}'We email a verification link to the address. Click it (or use the verify endpoint directly with the included token) and the address becomes verified.
Public-domain caveat: We refuse to verify addresses at common public providers (
gmail.com,yahoo.com,outlook.com, etc.) — sending bulk throughyou@gmail.comviolates Google’s TOS and would get our IP blocklisted within hours. Use your own domain.
Display name vs verified address
You can set a friendly display name without verifying it:
{
"from": "Sarah from Acme <sarah@acme.com>"
}acme.com must be verified. Sarah from Acme is unverified —
recipients see whatever string you supply.
Multiple domains
Verify as many domains as you like. Common pattern: one for
transactional (mail.acme.com), one for marketing (news.acme.com).
Helps deliverability — bounces / complaints on the marketing domain
don’t drag down transactional reputation.
Listing your identities
curl https://apis.splashifypro.com/api/v1/partner/email/identities \
-H "Authorization: Bearer $SPLASHIFY_API_KEY"Removing an identity
curl -X DELETE https://apis.splashifypro.com/api/v1/partner/email/identities/DOMAIN/yourcompany.com \
-H "Authorization: Bearer $SPLASHIFY_API_KEY"In-flight sends from that domain complete normally; new sends are
rejected with FROM_NOT_VERIFIED.
Auto-recheck behaviour
Verified domains: re-checked every 24 hours.
Pending domains: re-checked every 1 hour for 7 days, then drop to
FAILED if all three records still aren’t published.
You can always re-trigger via POST /verify.