Domains.
Add a sending domain, read its DNS records and verify it. Every request needs an API key in the Authorization header; the reference overview covers keys, errors and rate limits.
List domains
GET/v1/domainsFull access key
List the sending domains the API key can use.
curl -X GET "https://app.usenotix.dev/api/v1/domains" \
-H "Authorization: Bearer $NOTIX_API_KEY"
import { Notix } from "notix-js";
const notix = new Notix(process.env.NOTIX_API_KEY);
const { data, error } = await notix.domains.list();
from notix import Notix
notix = Notix() # reads NOTIX_API_KEY
domains, _ = notix.domains.list()
use Notix\Notix;
$notix = new Notix(getenv('NOTIX_API_KEY'));
$domains = $notix->domains->list();
Responses
200Retrieve domains accessible by the API key
| Field | Type | About |
|---|---|---|
idrequired | number | The ID of the domain |
namerequired | string | The name of the domain |
teamIdrequired | number | The ID of the team |
statusrequired | string | One of |
region | string | Default |
clickTracking | boolean | Default |
openTracking | boolean | Default |
publicKeyrequired | string | |
dkimStatus | string | Can be null. |
spfDetails | string | Can be null. |
createdAtrequired | string | |
updatedAtrequired | string | |
dmarcAdded | boolean | Default |
isVerifying | boolean | Default |
errorMessage | string | Can be null. |
subdomain | string | Can be null. |
verificationError | string | Can be null. |
lastCheckedTime | string | Can be null. |
dnsRecordsrequired | object[] | |
dnsRecords[].typerequired | string | DNS record type One of |
dnsRecords[].namerequired | string | DNS record name |
dnsRecords[].valuerequired | string | DNS record value |
dnsRecords[].ttlrequired | string | DNS record TTL |
dnsRecords[].priority | string | DNS record priority Can be null. |
dnsRecords[].statusrequired | string | One of |
dnsRecords[].recommended | boolean | Whether the record is recommended |
Add a domain
POST/v1/domainsFull access key
Add a sending domain. The response carries the SPF, DKIM and DMARC records to publish at your DNS provider.
| Field | Type | About |
|---|---|---|
namerequired | string | |
regionrequired | string |
curl -X POST "https://app.usenotix.dev/api/v1/domains" \
-H "Authorization: Bearer $NOTIX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Acme",
"region": "string"
}'
import { Notix } from "notix-js";
const notix = new Notix(process.env.NOTIX_API_KEY);
const { data, error } = await notix.domains.create({ name: "mail.acme.com", region: "eu-west-1" });
from notix import Notix
notix = Notix() # reads NOTIX_API_KEY
domain, _ = notix.domains.create({"name": "mail.acme.com", "region": "eu-west-1"})
use Notix\Notix;
$notix = new Notix(getenv('NOTIX_API_KEY'));
$domain = $notix->domains->create(['name' => 'mail.acme.com', 'region' => 'eu-west-1']);
Responses
200Create a new domain
| Field | Type | About |
|---|---|---|
idrequired | number | The ID of the domain |
namerequired | string | The name of the domain |
teamIdrequired | number | The ID of the team |
statusrequired | string | One of |
region | string | Default |
clickTracking | boolean | Default |
openTracking | boolean | Default |
publicKeyrequired | string | |
dkimStatus | string | Can be null. |
spfDetails | string | Can be null. |
createdAtrequired | string | |
updatedAtrequired | string | |
dmarcAdded | boolean | Default |
isVerifying | boolean | Default |
errorMessage | string | Can be null. |
subdomain | string | Can be null. |
verificationError | string | Can be null. |
lastCheckedTime | string | Can be null. |
dnsRecordsrequired | object[] | |
dnsRecords[].typerequired | string | DNS record type One of |
dnsRecords[].namerequired | string | DNS record name |
dnsRecords[].valuerequired | string | DNS record value |
dnsRecords[].ttlrequired | string | DNS record TTL |
dnsRecords[].priority | string | DNS record priority Can be null. |
dnsRecords[].statusrequired | string | One of |
dnsRecords[].recommended | boolean | Whether the record is recommended |
Get a domain
GET/v1/domains/{id}Full access key
Retrieve one domain with its DNS records and verification status.
| Field | Type | About |
|---|---|---|
idrequired | number |
curl -X GET "https://app.usenotix.dev/api/v1/domains/<id>" \
-H "Authorization: Bearer $NOTIX_API_KEY"
import { Notix } from "notix-js";
const notix = new Notix(process.env.NOTIX_API_KEY);
const { data, error } = await notix.domains.get(12);
from notix import Notix
notix = Notix() # reads NOTIX_API_KEY
domain, _ = notix.domains.get(12)
use Notix\Notix;
$notix = new Notix(getenv('NOTIX_API_KEY'));
$domain = $notix->domains->get(12);
Responses
200Retrieve the domain
| Field | Type | About |
|---|---|---|
idrequired | number | The ID of the domain |
namerequired | string | The name of the domain |
teamIdrequired | number | The ID of the team |
statusrequired | string | One of |
region | string | Default |
clickTracking | boolean | Default |
openTracking | boolean | Default |
publicKeyrequired | string | |
dkimStatus | string | Can be null. |
spfDetails | string | Can be null. |
createdAtrequired | string | |
updatedAtrequired | string | |
dmarcAdded | boolean | Default |
isVerifying | boolean | Default |
errorMessage | string | Can be null. |
subdomain | string | Can be null. |
verificationError | string | Can be null. |
lastCheckedTime | string | Can be null. |
dnsRecordsrequired | object[] | |
dnsRecords[].typerequired | string | DNS record type One of |
dnsRecords[].namerequired | string | DNS record name |
dnsRecords[].valuerequired | string | DNS record value |
dnsRecords[].ttlrequired | string | DNS record TTL |
dnsRecords[].priority | string | DNS record priority Can be null. |
dnsRecords[].statusrequired | string | One of |
dnsRecords[].recommended | boolean | Whether the record is recommended |
Verify a domain
PUT/v1/domains/{id}/verifyFull access key
Start a fresh check of the domain's DNS records. The answer returns at once; read the domain back for the result.
| Field | Type | About |
|---|---|---|
idrequired | number |
curl -X PUT "https://app.usenotix.dev/api/v1/domains/<id>/verify" \
-H "Authorization: Bearer $NOTIX_API_KEY"
import { Notix } from "notix-js";
const notix = new Notix(process.env.NOTIX_API_KEY);
const { data, error } = await notix.domains.verify(12);
from notix import Notix
notix = Notix() # reads NOTIX_API_KEY
result, _ = notix.domains.verify(12)
use Notix\Notix;
$notix = new Notix(getenv('NOTIX_API_KEY'));
$result = $notix->domains->verify(12);
Responses
200Verify domain
| Field | Type | About |
|---|---|---|
messagerequired | string |
403Forbidden - API key doesn't have access to this domain
| Field | Type | About |
|---|---|---|
errorrequired | string |
404Domain not found
| Field | Type | About |
|---|---|---|
errorrequired | string |
Delete a domain
DELETE/v1/domains/{id}Full access key
Remove a sending domain. Mail can no longer be sent from it.
| Field | Type | About |
|---|---|---|
idrequired | number |
curl -X DELETE "https://app.usenotix.dev/api/v1/domains/<id>" \
-H "Authorization: Bearer $NOTIX_API_KEY"
import { Notix } from "notix-js";
const notix = new Notix(process.env.NOTIX_API_KEY);
const { data, error } = await notix.domains.delete(12);
from notix import Notix
notix = Notix() # reads NOTIX_API_KEY
result, _ = notix.domains.delete(12)
use Notix\Notix;
$notix = new Notix(getenv('NOTIX_API_KEY'));
$result = $notix->domains->delete(12);
Responses
200Domain deleted successfully
| Field | Type | About |
|---|---|---|
idrequired | number | |
successrequired | boolean | |
messagerequired | string |
403Forbidden - API key doesn't have access
| Field | Type | About |
|---|---|---|
errorrequired | string |
404Domain not found
| Field | Type | About |
|---|---|---|
errorrequired | string |