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

Create a branded link



API Overview

api-overview page anchor

Email link branding (formerly "Link Whitelabel") allows all of the click-tracked links, opens, and images in your emails to be served from your domain rather than sendgrid.net. Spam filters and recipient servers look at the links within emails to determine whether the email looks trustworthy. They use the reputation of the root domain to determine whether the links can be trusted.

You can also manage link branding in the Sender Authentication section of the Twilio SendGrid App(link takes you to an external page).

For more information, please see our Link Branding documentation.


POST/v3/whitelabel/links

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

This endpoint allows you to create a new branded link.

To create the link branding, supply the root domain and, optionally, the subdomain — these go into separate fields in your request body. The root domain should match your FROM email address. If you provide a subdomain, it must be different from the subdomain you used for authenticating your domain.

You can submit this request as one of your subusers if you include their ID in the on-behalf-of header in the request.


Authentication

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

on-behalf-ofstring

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.

SchemaExample
domainstringrequired

The root domain for the subdomain that you are creating the link branding for. This should match your FROM email address.


subdomainstring

The subdomain to create the link branding for. Must be different from the subdomain you used for authenticating your domain.


defaultenum<boolean>

Indicates if you want to use this link branding as the default or fallback. When setting a new default, the existing default link branding will have its default status removed automatically.

Possible values:
truefalse

regionenum<string>

The region of the IP address. Can be eu or us. (Regional email is in Public Beta and requires SendGrid Pro plan or above.)

Default: usPossible values:
euus
201
SchemaExample
idinteger

The ID of the branded link.


domainstring

The root domain of the branded link.


subdomainstring

The subdomain used to generate the DNS records for this link branding. This subdomain must be different from the subdomain used for your authenticated domain.


usernamestring

The username of the account that this link branding is associated with.


user_idinteger

The ID of the user that this link branding is associated with.


defaultenum<boolean>

Indicates if this is the default link branding.

Possible values:
truefalse

validenum<boolean>

Indicates if this link branding is valid.

Possible values:
truefalse

legacyenum<boolean>

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

Possible values:
truefalse

dnsobject

The DNS records generated for this link branding.

create-a-branded-link 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 data = {
_23
"domain": "example.com",
_23
"subdomain": "mail",
_23
"default": true
_23
};
_23
_23
const request = {
_23
url: `/v3/whitelabel/links`,
_23
method: 'POST',
_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: