Shared Tracking Domains API
- Table of Contents
- Overview
- Attributes
- Get a List of Shared Tracking Domains
- Get a Single Shared Tracking Domain
- Create a Shared Tracking Domain
- Update a Shared Tracking Domain
- Delete a Shared Tracking Domain
This feature is only available on GreenArrow CloudMTA.
Overview
Shared Tracking Domains allow multiple Sending Domains to share a single set of tracking infrastructure (click/open tracking links and bounce handling) rather than each having their own per-domain tracking subdomain. See Sending Domains for a full conceptual overview.
Attributes
The following are the configurable attributes defined for Shared Tracking Domains.
|
shared_tracking_domain
hash /required
|
|||||||||||||||||||||||||||||||
Get a List of Shared Tracking Domains
GET /ga/api/v3/eng/shared_tracking_domains
To keep the list response lightweight, the dns_records and unwanted_dns_records arrays are not included here — fetch a single domain (below) to retrieve them.
Parameters
The following parameters are valid for the above endpoint.
|
page
integer /optional |
The page number from which to retrieve. Page numbering starts at |
|
page_token
string /optional |
The |
|
domain
string /optional |
Filter by domain name. This performs a case-insensitive substring match, so |
|
dns_state
string /optional |
Filter by DNS verification state. One of |
Response
The response will contain a list of Shared Tracking Domains in the following format.
|
shared_tracking_domains
array of hashes |
Each hash contains all of the attributes listed in the Attributes section. |
||||||||||
|
pagination
hash
|
|||||||||||
Example
GET /ga/api/v3/eng/shared_tracking_domains
HTTP/1.1 200 OK
{
"shared_tracking_domains": [
{
"id": 1,
"domain": "tracking.example.com",
"url_domain": "click.tracking.example.com",
"bounce_domain": "bounce.tracking.example.com",
"dns_verified": true,
"dns_regression": false
}
],
"pagination": {
"page": 0,
"per_page": 100,
"num_pages": 1,
"num_records": 1,
"next_page_token": null
}
}
Get a Single Shared Tracking Domain
GET /ga/api/v3/eng/shared_tracking_domains/{id}
The {id} may be either the numeric ID or the domain name (case-insensitive).
Example
GET /ga/api/v3/eng/shared_tracking_domains/1
GET /ga/api/v3/eng/shared_tracking_domains/example.com
HTTP/1.1 200 OK
{
"shared_tracking_domain": {
"id": 1,
"domain": "tracking.example.com",
"url_domain": "click.tracking.example.com",
"bounce_domain": "bounce.tracking.example.com",
"dns_verified": true,
"dns_regression": false,
"dns_records": [
{
"bind": "click.tracking.example.com. IN CNAME click.abc123def456.dnsforemail.com.",
"type": "CNAME",
"name": "click.tracking.example.com",
"value": "click.abc123def456.dnsforemail.com"
},
{
"bind": "bounce.tracking.example.com. IN CNAME bounce.abc123def456.dnsforemail.com.",
"type": "CNAME",
"name": "bounce.tracking.example.com",
"value": "bounce.abc123def456.dnsforemail.com"
}
],
"unwanted_dns_records": []
}
}
Create a Shared Tracking Domain
POST /ga/api/v3/eng/shared_tracking_domains
Parameters
See the Attributes section for valid parameters.
Example
POST /ga/api/v3/eng/shared_tracking_domains
{
"shared_tracking_domain": {
"domain": "tracking.example.com",
"url_domain": "click.tracking.example.com",
"bounce_domain": "bounce.tracking.example.com"
}
}
HTTP/1.1 200 OK
{
"shared_tracking_domain": {
"id": 1,
"domain": "tracking.example.com",
"url_domain": "click.tracking.example.com",
"bounce_domain": "bounce.tracking.example.com",
"dns_verified": false,
"dns_regression": false,
"dns_records": [
{
"bind": "click.tracking.example.com. IN CNAME click.abc123def456.dnsforemail.com.",
"type": "CNAME",
"name": "click.tracking.example.com",
"value": "click.abc123def456.dnsforemail.com"
},
{
"bind": "bounce.tracking.example.com. IN CNAME bounce.abc123def456.dnsforemail.com.",
"type": "CNAME",
"name": "bounce.tracking.example.com",
"value": "bounce.abc123def456.dnsforemail.com"
}
]
}
}
Update a Shared Tracking Domain
PUT /ga/api/v3/eng/shared_tracking_domains/{id}
The {id} may be either the numeric ID or the domain name (case-insensitive).
Parameters
See the Attributes section for valid parameters. Note that domain, url_domain, and bounce_domain are immutable after creation and cannot be changed.
Example
There are no mutable fields beyond creation for Shared Tracking Domains. This endpoint is available but has no effect if called with an empty or omitted body.
Delete a Shared Tracking Domain
A Shared Tracking Domain cannot be deleted while any non-deleted Sending Domains reference it. Remove or reassign those Sending Domains first.
DELETE /ga/api/v3/eng/shared_tracking_domains/{id}
The {id} may be either the numeric ID or the domain name (case-insensitive).
Example
DELETE /ga/api/v3/eng/shared_tracking_domains/1
DELETE /ga/api/v3/eng/shared_tracking_domains/example.com
HTTP/1.1 200 OK
{
"success": true
}
