Appearance
List domains
Every sending domain on your team. Lean rows — no DNS records; see below.
http
GET /v1/domainsRequires a Full access API key.
Query parameters
| Parameter | Type | Description |
|---|---|---|
limit | number | How many to return. Default 20, min 1, max 100. |
after | string | Return domains after this id. Cannot be combined with before. |
before | string | Return domains before this id. Cannot be combined with after. |
Newest first. Cursor-paginated.
Example
bash
curl "https://api.sendgrail.com/v1/domains" \
-H "Authorization: Bearer $SENDGRAIL_API_KEY"js
const res = await fetch('https://api.sendgrail.com/v1/domains', {
headers: { Authorization: `Bearer ${process.env.SENDGRAIL_API_KEY}` },
});
const { data, has_more } = await res.json();Response
json
{
"object": "list",
"has_more": false,
"data": [
{
"object": "domain",
"id": "5f1c3a9e-0d42-4b7c-9a63-2e8b41d7c015",
"name": "example.com",
"status": "verified",
"created_at": "2026-07-14T19:44:32+00:00",
"region": "us-east-1",
"capabilities": {
"sending": "enabled",
"receiving": "disabled"
}
}
]
}No DNS records in the list
A list is the call you make casually — a dashboard load, a health check — and the records array is long. So the list returns a lean row: object, id, name, status, created_at, region and capabilities, and nothing else. To see a domain's records, tls and tracking settings, fetch it with Retrieve a domain.