Skip to contentSkip to navigationSkip to topbar
Rate this page:
On this page

Update an authenticated domain



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.


PATCH/v3/whitelabel/domains/{domain_id}

Base url: https://api.sendgrid.com

This endpoint allows you to update the settings for an authenticated domain.


Authentication

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

on-behalf-ofstringOptional

The on-behalf-of header allows you to make API calls from a parent account on behalf of the parent's Subusers or customer accounts. You will use the parent account's API key when using this header. When making a call on behalf of a customer account, the property value should be "account-id" followed by the customer account's ID (e.g., on-behalf-of: account-id <account-id>). When making a call on behalf of a Subuser, the property value should be the Subuser's username (e.g., on-behalf-of: <subuser-username>). See On Behalf Of for more information.

Property nameTypeRequiredDescription
domain_idstringrequired
SchemaExample
Property nameTypeRequiredDescriptionChild properties
defaultbooleanOptional

Indicates whether this is the default authenticated domain.

Default: false

custom_spfbooleanOptional

Indicates whether to generate a custom SPF record for manual security.

Default: false
200

Success response

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.


subusersarray[object]

last_validation_attempt_atinteger

A Unix epoch timestamp representing the last time of a validation attempt.

Update an authenticated domain

update-an-authenticated-domain page anchor
Node.js
Python
C#
Java
Go
PHP
Ruby
curl

_23
const client = require('@sendgrid/client');
_23
client.setApiKey(process.env.SENDGRID_API_KEY);
_23
_23
const domain_id = "ZGkrHSypTsudrGkmdpJJ";
_23
const data = {
_23
"default": false,
_23
"custom_spf": true
_23
};
_23
_23
const request = {
_23
url: `/v3/whitelabel/domains/${domain_id}`,
_23
method: 'PATCH',
_23
body: data
_23
}
_23
_23
client.request(request)
_23
.then(([response, body]) => {
_23
console.log(response.statusCode);
_23
console.log(response.body);
_23
})
_23
.catch(error => {
_23
console.error(error);
_23
});


Rate this page: