SendlySendly
API ReferenceDomains

Add a sending domain

POST
/api/domains

Register a new domain with SES and persist its DKIM tokens.

Requires the domains:write scope — Add and remove sending domains, and trigger verification.

Authorization

AuthorizationBearer <token>

API key authentication. Use a sk_* (FULL) or pk_* (SENDING_ONLY) key as the bearer token. Public keys (pk_*) are restricted to the email-send endpoints and the self-serve list subscribe/unsubscribe pair; every other endpoint — event tracking included — answers 403 for them. In scope terms (used by /api/v1/* operations): FULL keys hold every scope; SENDING_ONLY keys hold only emails:send.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Body for POST /api/domains. projectId is optional for API-key auth (derived from key) and required for session auth. region pins the SES region; on the first domain it locks the project, after that it must match the project's region. stream assigns the identity to transactional or marketing traffic at creation; omit it to leave the identity serving both.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/domains" \  -H "Content-Type: application/json" \  -d '{    "domain": "string"  }'
{
  "success": true,
  "data": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",
    "domain": "string",
    "verified": true,
    "region": "string",
    "dkimTokens": [
      "string"
    ],
    "dkimStatus": "NOT_CHECKED",
    "spfStatus": "NOT_CHECKED",
    "dmarcStatus": "NOT_CHECKED",
    "lastHealthCheckAt": "2019-08-24T14:15:22Z",
    "receivingEnabled": true,
    "mailFromDomain": "string",
    "mailFromDomainStatus": "Pending",
    "stream": "TRANSACTIONAL",
    "streamDefault": true,
    "defaultFromAddress": "string",
    "defaultFromName": "string",
    "createdAt": "2019-08-24T14:15:22Z",
    "updatedAt": "2019-08-24T14:15:22Z"
  }
}
{
  "success": false,
  "error": {
    "message": "string",
    "code": "string",
    "details": {
      "errors": [
        null
      ]
    }
  }
}
{
  "success": false,
  "error": {
    "message": "string",
    "code": "string",
    "details": {
      "errors": [
        null
      ]
    }
  }
}
{
  "success": false,
  "error": {
    "message": "string",
    "code": "string",
    "details": {
      "errors": [
        null
      ]
    }
  }
}
{
  "success": false,
  "error": {
    "message": "string",
    "code": "string",
    "details": {
      "errors": [
        null
      ]
    }
  }
}
{
  "success": false,
  "error": {
    "message": "string",
    "code": "string",
    "details": {
      "errors": [
        null
      ]
    }
  }
}
{
  "success": false,
  "error": {
    "message": "string",
    "code": "string",
    "details": {
      "errors": [
        null
      ]
    }
  }
}