API reference

Attach domain to providers

Registers a sending domain with one or more email-channel provider configs and returns per-provider DNS records to publish. Required role: admin or owner.

POST/v1/admin/sending-domains/:id/attach

Authenticate with a session token and X-Tenant-Slug. Required role: admin or owner.

For each provider config supplied, Nudgel calls the provider API to register the domain, records the provider-assigned DNS records, and sets verificationState to pending_dns. Publish the returned DNS records, then poll GET .../verifications or call POST .../recheck to trigger an immediate check.

Request

curl
curl -X POST https://api-raven-cloud.autotribes.app/v1/admin/sending-domains/$DOMAIN_ID/attach \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-Tenant-Slug: my-tenant" \
  -H "Content-Type: application/json" \
  -d '{"providerConfigIds":["postmark-config-uuid","ses-config-uuid"]}'

Body parameters

FieldTypeNotes
providerConfigIdsstring[] · requiredIDs of the provider configs to attach. Must reference email-channel providers. Obtain IDs from GET /v1/admin/providers or from theattachableProviders array returned when the domain was created.

Response

201 Created — array of verification objects, one per provider.

json
[
  {
    "id": "verification-uuid",
    "provider": "postmark",
    "providerConfigId": "uuid",
    "registrationState": "registered",
    "providerDomainId": "12345",
    "verificationState": "pending_dns",
    "dnsRecords": [
      {
        "type": "TXT",
        "host": "20240501._domainkey.mail.example.co.ke",
        "value": "v=DKIM1; k=rsa; p=...",
        "note": "DKIM signing key"
      },
      {
        "type": "CNAME",
        "host": "pm-bounces.mail.example.co.ke",
        "value": "pm.mtasv.net",
        "note": "Return-Path for bounce processing"
      }
    ],
    "registrationError": null,
    "lastCheckedAt": null,
    "lastCheckError": null,
    "verifiedAt": null,
    "attachedAt": "2026-05-01T12:00:01Z"
  }
]

PUBLISH DNS RECORDS BEFORE SENDING

Each verification object contains dnsRecords specific to that provider. Publish them in your DNS provider, then either wait for Nudgel's background poller (every 30 s) or call POST .../recheck to check immediately. Email sent through this domain via that provider will be held with a soft warning until the verification state reaches verified.

Errors

StatusWhen
400providerConfigIds missing, empty, or references a non-email-channel provider
401Invalid or expired session token
403Caller does not have admin or owner role
404Sending domain not found for this tenant
409Domain is already attached to one of the specified providers