Skip to main content
POST
/
v1
/
domains
PHP
declare(strict_types=1);

require 'vendor/autoload.php';

use novu;
use novu\Models\Components;

$sdk = novu\Novu::builder()
    ->setSecurity(
        'YOUR_SECRET_KEY_HERE'
    )
    ->build();

$createDomainDto = new Components\CreateDomainDto(
    name: '<value>',
);

$response = $sdk->domains->create(
    createDomainDto: $createDomainDto
);

if ($response->domainResponseDto !== null) {
    // handle response
}
{
  "_id": "<string>",
  "name": "<string>",
  "mxRecordConfigured": true,
  "_environmentId": "<string>",
  "_organizationId": "<string>",
  "createdAt": "<string>",
  "updatedAt": "<string>",
  "dnsProvider": "<string>",
  "expectedDnsRecords": [
    {
      "type": "MX",
      "name": "inbound",
      "content": "inbound-smtp.us-east-1.amazonaws.com",
      "ttl": "Auto",
      "priority": 10
    }
  ],
  "data": {}
}

Authorizations

Authorization
string
header
required

API key authentication. Allowed headers-- "Authorization: ApiKey <novu_secret_key>".

Headers

idempotency-key
string

A header for idempotency purposes

Body

application/json
name
string
required

The domain name (e.g. "recent.dev")

data
object

Optional string key-value metadata (max 10 keys, 500 characters total for keys+values).

Response

Created

_id
string
required
name
string
required
status
enum<string>
required
Available options:
pending,
verified
mxRecordConfigured
boolean
required
_environmentId
string
required
_organizationId
string
required
createdAt
string
required
updatedAt
string
required
dnsProvider
string
expectedDnsRecords
object[]
data
object

String key-value metadata (max 10 keys, 500 characters total when set via API).