Skip to contentSkip to navigationSkip to topbar
On this page

List All the Authenticated Domains Associated with a Subuser



API Overview

api-overview page anchor

An authenticated domain allows you to remove the "via" or "sent on behalf of" message that your recipients see when they read your emails. Authenticating a domain allows you to replace sendgrid.net with your personal sending domain. You will be required to create a subdomain so that SendGrid can generate the DNS records which you must give to your host provider. If you choose to use Automated Security, SendGrid will provide you with 3 CNAME records. If you turn Automated Security off, you will get 2 TXT records and 1 MX record.

Domain Authentication was formerly called "Domain Whitelabel".

For more information, please see How to set up domain authentication.

(information)

Info

Each user may have a maximum of 3,000 authenticated domains and 3,000 link brandings. This limit is at the user level, meaning each Subuser belonging to a parent account may have its own 3,000 authenticated domains and 3,000 link brandings.


GET/v3/whitelabel/domains/subuser/all

Base url: https://api.sendgrid.com (for global users and subusers)

Base url: https://api.eu.sendgrid.com (for EU regional subusers)

This endpoint allows you to retrieve all of the authenticated domains that have been assigned to a specific subuser.

This functionality allows subusers to send mail using their parent's domain. Authenticated domains can be associated with (i.e. assigned to) subusers from a parent account, and a subuser can have up to five associated domains.

To associate an authenticated domain with a subuser, the parent account must first authenticate and validate the domain. The parent may then associate the authenticated domain via the subuser management tools.

When selecting a domain to send email from, SendGrid checks for domains in the following order and chooses the first one that appears in the hierarchy:

  1. Domain assigned by the subuser that matches the email's From address domain.
  2. The subuser's default domain.
  3. Domain assigned by the parent user that matches the From address domain.
  4. Parent user's default domain.
  5. sendgrid.net

Authentication

authentication page anchor
Property nameTypeRequiredDescription
Authorizationstringrequired
Default: Bearer <<YOUR_API_KEY_HERE>>
Property nameTypeRequiredDescription
usernamestringrequired

Username for the subuser to find associated authenticated domains.

200
SchemaExample

Array of:

Property nameTypeRequiredDescriptionChild properties
idnumber

The ID of the authenticated domain.


user_idnumber

The ID of the user that this domain is associated with.


subdomainstring

The subdomain to use for this authenticated domain.


domainstring

The domain to be authenticated.


usernamestring

The username that this domain will be associated with.


ipsarray[string]

The IPs to be included in the custom SPF record for this authenticated domain.


custom_spfboolean

Indicates whether this authenticated domain uses custom SPF.


defaultboolean

Indicates if this is the default authenticated domain.


legacyboolean

Indicates if this authenticated domain was created using the legacy whitelabel tool. If it is a legacy whitelabel, it will still function, but you'll need to create a new authenticated domain if you need to update it.


automatic_securityboolean

Indicates if this authenticated domain uses automated security.


validboolean

Indicates if this is a valid authenticated domain.


dnsobject

The DNS records used to authenticate the sending domain.

List the authenticated domains associated with the subuserLink to code sample: List the authenticated domains associated with the subuser
1
const client = require('@sendgrid/client');
2
client.setApiKey(process.env.SENDGRID_API_KEY);
3
4
const queryParams = {
5
"username": "ZGkrHSypTsudrGkmdpJJ"
6
};
7
8
const request = {
9
url: `/v3/whitelabel/domains/subuser/all`,
10
method: 'GET',
11
qs: queryParams
12
}
13
14
client.request(request)
15
.then(([response, body]) => {
16
console.log(response.statusCode);
17
console.log(response.body);
18
})
19
.catch(error => {
20
console.error(error);
21
});