List domains
List your domains — both sending domains and DMARC-monitoring domains. Filter by capability, or pass programId to scope to the sending domains a campaign sends from (adds senderCount).
import { createClient } from "@norbelys/sdk";
const norbelys = createClient({ apiKey: process.env.NORBELYS_API_KEY });
const { data, error } = await norbelys.domains.list();
if (error) {
throw new Error(error.error.message);
}
console.log(data);{
"data": [
{
"age": {
"ageDays": 412,
"sendingAgeDays": 90,
"source": "rdap",
"checkedAt": "<unknown>",
"firstHealthyAt": "<unknown>",
"firstSeenSendingAt": "<unknown>",
"registeredAt": "<unknown>"
},
"capability": "sending",
"domain": "notify.acme.com",
"id": "dom_h2wq8vzr1k4m9x3c5b7n0jfe",
"monitoring": {
"collectionStatus": "collecting",
"dmarcPolicy": "quarantine",
"kind": "external",
"passRate7d": 0.97,
"recordToPublish": {
"host": "_dmarc.acme.com",
"type": "TXT",
"value": "v=DMARC1; p=none; rua=mailto:[email protected]"
},
"sendingDomainId": "dom_h2wq8vzr1k4m9x3c5b7n0jfe",
"lastReportAt": "2026-06-01T12:30:00.000Z"
},
"senderCount": 3,
"sending": {
"capacity": {
"campaignUsed": 42,
"domainRemaining": 158,
"limitingReason": "domain_daily_limit",
"mailboxCapacity": 200,
"warmupReserved": 20,
"nextResetAt": "<unknown>"
},
"defaultTrackingDomainId": "dom_h2wq8vzr1k4m9x3c5b7n0jfe",
"health": {
"reasons": [
"<string>"
],
"recommendedAction": "reduce_first_touches",
"state": "healthy",
"updatedAt": "<unknown>"
},
"policy": {
"allowPauseAll": true,
"allowPauseFirstTouches": true,
"autopilotMax": 500,
"autopilotMin": 50,
"configuredDailyCap": 200,
"effectiveDailyCap": 180,
"maxDailyGrowthPercent": 20,
"mode": "autopilot",
"recommendedDailyCap": 220,
"timezone": "America/New_York"
},
"senderCount": 3
},
"tracking": {
"assignedSendingDomainIds": [
"<string>"
],
"cloudflareHostnameId": "<string>",
"desiredState": "active",
"dnsStatus": "valid",
"domainConnectSupported": true,
"domainConnectUrl": "<string>",
"httpStatus": "valid",
"isOrganizationDefault": true,
"label": "Marketing links",
"provider": "cloudflare",
"providerDisplayName": "Cloudflare",
"providerUrl": "<string>",
"record": {
"host": "track.acme.com",
"type": "CNAME",
"value": "custom-track.generate-mcp.com"
},
"setupMode": "manual",
"status": "active",
"tlsStatus": "valid",
"lastCheckedAt": "<unknown>"
},
"version": 2,
"createdAt": "2026-05-20T09:00:00.000Z",
"object": "domain"
}
],
"hasMore": true,
"nextCursor": "<string>",
"object": "list",
"total": 1284
}{
"error": {
"code": "invalid_param",
"message": "<string>",
"type": "invalid_request",
"doc_url": "<string>",
"hint": "<string>"
}
}{
"error": {
"code": "invalid_param",
"message": "<string>",
"type": "invalid_request",
"doc_url": "<string>",
"hint": "<string>"
}
}{
"error": {
"code": "invalid_param",
"message": "<string>",
"type": "invalid_request",
"doc_url": "<string>",
"hint": "<string>"
}
}{
"error": {
"code": "invalid_param",
"message": "<string>",
"type": "invalid_request",
"doc_url": "<string>",
"hint": "<string>"
}
}{
"error": {
"code": "invalid_param",
"message": "<string>",
"type": "invalid_request",
"doc_url": "<string>",
"hint": "<string>"
}
}{
"error": {
"code": "invalid_param",
"message": "<string>",
"type": "invalid_request",
"doc_url": "<string>",
"hint": "<string>"
}
}{
"error": {
"code": "invalid_param",
"message": "<string>",
"type": "invalid_request",
"doc_url": "<string>",
"hint": "<string>"
}
}{
"error": {
"code": "invalid_param",
"message": "<string>",
"type": "invalid_request",
"doc_url": "<string>",
"hint": "<string>"
}
}Authorizations
Org-scoped Norbelys API key. Create one in Settings → API keys and send it as Authorization: Bearer ak_….
Query Parameters
Opaque cursor from a previous page's nextCursor — returns results strictly after it. Example: "con_x7q2m9k4w8r1"
Include archived rows in the results (hidden by default). Example: true
Page size, 1-100. Defaults to 50. Example: 25
1 <= x <= 100Only rows with this capability: sending, monitoring, or tracking.
sending, monitoring, tracking "monitoring"
Only the sending domains this campaign's mailboxes live under (adds senderCount).
"prg_tz4a98xat96iws9zmbrgj3a"
Response
OK
The page of results, newest first.
Show child attributes
Show child attributes
Whether another page exists beyond this one.
Pass as cursor to fetch the next page; null when this is the last page.
Always "list", marking this response as a collection.
Total number of rows matching the filters. Not included on every list.
x >= 01284
Was this page helpful?
import { createClient } from "@norbelys/sdk";
const norbelys = createClient({ apiKey: process.env.NORBELYS_API_KEY });
const { data, error } = await norbelys.domains.list();
if (error) {
throw new Error(error.error.message);
}
console.log(data);{
"data": [
{
"age": {
"ageDays": 412,
"sendingAgeDays": 90,
"source": "rdap",
"checkedAt": "<unknown>",
"firstHealthyAt": "<unknown>",
"firstSeenSendingAt": "<unknown>",
"registeredAt": "<unknown>"
},
"capability": "sending",
"domain": "notify.acme.com",
"id": "dom_h2wq8vzr1k4m9x3c5b7n0jfe",
"monitoring": {
"collectionStatus": "collecting",
"dmarcPolicy": "quarantine",
"kind": "external",
"passRate7d": 0.97,
"recordToPublish": {
"host": "_dmarc.acme.com",
"type": "TXT",
"value": "v=DMARC1; p=none; rua=mailto:[email protected]"
},
"sendingDomainId": "dom_h2wq8vzr1k4m9x3c5b7n0jfe",
"lastReportAt": "2026-06-01T12:30:00.000Z"
},
"senderCount": 3,
"sending": {
"capacity": {
"campaignUsed": 42,
"domainRemaining": 158,
"limitingReason": "domain_daily_limit",
"mailboxCapacity": 200,
"warmupReserved": 20,
"nextResetAt": "<unknown>"
},
"defaultTrackingDomainId": "dom_h2wq8vzr1k4m9x3c5b7n0jfe",
"health": {
"reasons": [
"<string>"
],
"recommendedAction": "reduce_first_touches",
"state": "healthy",
"updatedAt": "<unknown>"
},
"policy": {
"allowPauseAll": true,
"allowPauseFirstTouches": true,
"autopilotMax": 500,
"autopilotMin": 50,
"configuredDailyCap": 200,
"effectiveDailyCap": 180,
"maxDailyGrowthPercent": 20,
"mode": "autopilot",
"recommendedDailyCap": 220,
"timezone": "America/New_York"
},
"senderCount": 3
},
"tracking": {
"assignedSendingDomainIds": [
"<string>"
],
"cloudflareHostnameId": "<string>",
"desiredState": "active",
"dnsStatus": "valid",
"domainConnectSupported": true,
"domainConnectUrl": "<string>",
"httpStatus": "valid",
"isOrganizationDefault": true,
"label": "Marketing links",
"provider": "cloudflare",
"providerDisplayName": "Cloudflare",
"providerUrl": "<string>",
"record": {
"host": "track.acme.com",
"type": "CNAME",
"value": "custom-track.generate-mcp.com"
},
"setupMode": "manual",
"status": "active",
"tlsStatus": "valid",
"lastCheckedAt": "<unknown>"
},
"version": 2,
"createdAt": "2026-05-20T09:00:00.000Z",
"object": "domain"
}
],
"hasMore": true,
"nextCursor": "<string>",
"object": "list",
"total": 1284
}{
"error": {
"code": "invalid_param",
"message": "<string>",
"type": "invalid_request",
"doc_url": "<string>",
"hint": "<string>"
}
}{
"error": {
"code": "invalid_param",
"message": "<string>",
"type": "invalid_request",
"doc_url": "<string>",
"hint": "<string>"
}
}{
"error": {
"code": "invalid_param",
"message": "<string>",
"type": "invalid_request",
"doc_url": "<string>",
"hint": "<string>"
}
}{
"error": {
"code": "invalid_param",
"message": "<string>",
"type": "invalid_request",
"doc_url": "<string>",
"hint": "<string>"
}
}{
"error": {
"code": "invalid_param",
"message": "<string>",
"type": "invalid_request",
"doc_url": "<string>",
"hint": "<string>"
}
}{
"error": {
"code": "invalid_param",
"message": "<string>",
"type": "invalid_request",
"doc_url": "<string>",
"hint": "<string>"
}
}{
"error": {
"code": "invalid_param",
"message": "<string>",
"type": "invalid_request",
"doc_url": "<string>",
"hint": "<string>"
}
}{
"error": {
"code": "invalid_param",
"message": "<string>",
"type": "invalid_request",
"doc_url": "<string>",
"hint": "<string>"
}
}