API reference

Domains

Provision sender identities and understand DNS verification state.

POST/domains
API key

Add a sending domain

Add a sending domain

Request
curl https://sendhq.cc/api/v1/domains \
  -X POST \
  -H "Authorization: Bearer $SENDHQ_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"example.com"}'
201 Response
{
  "id": "dom_…",
  "name": "example.com",
  "status": "pending",
  "records": []
}
GET/domains
API key

List domains and cached DNS state

List domains and cached DNS state

Request
curl https://sendhq.cc/api/v1/domains \
  -X GET \
  -H "Authorization: Bearer $SENDHQ_API_KEY"
200 Response
{
  "data": [],
  "count": 0
}
GET/domains/:id
API key

Retrieve domain setup details

Retrieve domain setup details

Request
curl https://sendhq.cc/api/v1/domains/id_value \
  -X GET \
  -H "Authorization: Bearer $SENDHQ_API_KEY"
200 Response
{
  "id": "dom_…",
  "name": "example.com",
  "setup_status": "checking",
  "records": [],
  "dns_issues": []
}
POST/domains/:id/verify
API key

Refresh SES and DNS verification

Refresh SES and DNS verification

Request
curl https://sendhq.cc/api/v1/domains/id_value/verify \
  -X POST \
  -H "Authorization: Bearer $SENDHQ_API_KEY"
200 Response
{
  "domain": {
    "id": "dom_…",
    "status": "verified"
  },
  "checks": {
    "ses": true
  },
  "status": "verified"
}
DELETE/domains/:id
API key

Delete a domain

Delete a domain

Request
curl https://sendhq.cc/api/v1/domains/id_value \
  -X DELETE \
  -H "Authorization: Bearer $SENDHQ_API_KEY"
200 Response
{
  "ok": true
}
GET/dns/provider
API key

Detect the authoritative DNS provider and relative record hosts

Detect the domain's authoritative DNS provider from live nameservers, return the relative host to enter for every required record, the recommended DMARC record, inbound MX state, and which one-click setup methods are available.

Query parametersdomain_id
Request
curl https://sendhq.cc/api/v1/dns/provider \
  -X GET \
  -H "Authorization: Bearer $SENDHQ_API_KEY"
200 Response
{
  "detectionStatus": "confirmed",
  "detected": "cloudflare",
  "zone": "example.com",
  "nameservers": [
    "ada.ns.cloudflare.com"
  ],
  "recordHosts": {},
  "inbound": {
    "available": true,
    "domain": null,
    "status": "not_configured",
    "record": null
  },
  "recommendations": [],
  "authentication": {},
  "providers": {
    "domainConnect": {
      "available": false,
      "providerName": null
    }
  }
}
GET/dns/domain-connect/connect
API key

Create a Domain Connect consent link for one-click DNS setup

When the authoritative DNS provider supports the SendHQ Domain Connect template, return a signed provider consent URL. A person must open the URL and approve the change at the DNS provider; SendHQ never receives standing DNS credentials. Returns 409 when the provider does not support the template.

Query parametersdomain_idnext
Request
curl https://sendhq.cc/api/v1/dns/domain-connect/connect \
  -X GET \
  -H "Authorization: Bearer $SENDHQ_API_KEY"
200 Response
{
  "url": "https://dns-provider.example/v2/domainTemplates/…",
  "providerName": "Example DNS"
}