
- Overview
- Resources
- API summary
- Get identity
- List contracts
- List groups
- List domains
- Create a domain
- Get a domain
- Update a domain
- List resources
- Get a resource
- Create or update a resource
- Remove a resource
- List properties
- Get a property
- Create or update a property
- Remove a property
- List CIDR maps
- Get a CIDR map
- Create or update a CIDR map
- Remove a CIDR map
- List AS maps
- Get an AS map
- Create or update an AS map
- Remove an AS map
- List geographic maps
- Get a geographic map
- Create or update a geographic map
- Remove a geographic map
- List data centers
- Create a data center
- Get a data center
- Update a data center
- Remove a data center
- Create a default data center
- Create an IPv4 datacenter for ip-version-selector
- Create an IPv6 datacenter for ip-version-selector
- Get current status
- Data
- Errors
Global Traffic Management API v1
Manage Global Traffic Management (GTM) load balancing configurations.
Learn more:
Download this API’s RAML and JSON schema descriptors.
Overview
The Internet domain name system (DNS) is a distributed system. It
allows computer programs to issue queries about domain names which the
DNS returns one or more answers to. The most common use for DNS is to
convert hostnames, such as www.example.com
, into IP addresses, which
identify a particular computer at a particular Internet location. In
the most traditional usage, a query’s answers are static. Someone
types the answers into a configuration file, and the answers change
only when the file changes.
A dynamic DNS system computes and returns answers on the fly. This can vary from one query to the next. A typical usage returns the IP address of a server assigned dynamically through dynamic host configuration protocol (DHCP). This address changes, which is common with most home Internet connections.
Global Traffic Management (GTM) is a dynamic DNS system that manages traffic to your data centers. From one moment to the next, GTM chooses the best answers and returns them to client name servers in response to their queries about your domains.
Akamai Control Center provides a graphical interface to GTM for content administrators. For more information on GTM, see the Global Traffic Management User Guide.
Get started
To configure this API for the first time:
Review Get Started with APIs for details on how to set up client tokens to access any Akamai API. These tokens appear as custom hostnames that look like this:
https://akzz-XXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXX.luna.akamaiapis.net
.To enable this API, choose the API service named Traffic Management Configurations, and set the access level to READ-WRITE.
API concepts
This section provides a guide to the set of resources this API makes available, and provides links to where you can learn more.
Identity: Provides high-level information about the API client, the Akamai user that it’s linked to, and contracts available to the client. Each contract lists available load balancing features, and the permissions the client has on the domains tied to the contract.
Contract: Each account has one or more contracts with a fixed term of service that specifies the active Akamai products and modules. Along with information about the group, you may need the
contractId
to create a new domain.Group: Each account has a hierarchy of groups that control access to domains and help to consolidate reporting functions that typically map to an organizational hierarchy. Each group lists the GTM contracts that the group has access to, and the set of permissions the API client has on the group such as
READ
,WRITE
,ADD
, andADD_DATACENTER
.With either Control Center or the User Admin API, account administrators can assign GTM domains to specific groups, each with its own set of users and accompanying roles. Your access to any given domain depends on the role set for you in its group. Along with information about the contract, you may need the
groupId
to create a new domain.The Identity and Access Management application lets you limit the groups a client has access to. If you are able to limit access to a single group, one linked with only one contract, then the client doesn’t need the
groupId
orcontractId
when creating domains.Domain: The basic building block of a traffic management configuration is a Domain. The DNS defines a tree-structured namespace. For example, in the following list, each item is a domain and each domain is a subdomain of the one above it in the list:
com
customer.com
sales.customer.com
Akamai’s GTM system uses the term domain in a slightly restricted sense. A GTM domain is a DNS domain, whose name usually ends in
.akadns.net
. Several important attributes exist at the GTM domain level such as access control. Anyone with permission to edit a GTM domain has permission to modify or delete any of the properties (subdomains) within that domain.A GTM domain has one or more subdomains that share a number of domain-wide attributes. These attributes include use of load feedback, load imbalance factor, the set of available data centers, and so forth. Each domain object is a representation of a complete GTM domain, such as
example.akadns.net
. Your contract determines the set of GTM domain types available to you. For details on domain types, see Domain members.Property: A set of IP addresses or CNAMEs that GTM provides in response to DNS queries based on a set of rules. In GTM, properties are subdomains, and do not relate to Property Manager and PAPI. A GTM property type specifies the load balancing behavior for the property. For example,
www
, which in DNS terms is a subdomain of the domain, combined with its domainexample.akadns.net
, the fully qualified domain namewww.example.akadns.net
used for load balancing. For details on property types, see Property members.Liveness Test: Configure GTM to perform liveness tests periodically to determine whether your servers respond to requests. When you do this, GTM tries to return answers that contain only the A records for live servers. Systems called liveness testing agents, also known as servermonitors, perform liveness tests. GTM allocates a set of seven agents for each of your data centers, chosen for proximity to your data center and for network diversity. Many agents conduct liveness tests to avoid the possibility of an ISP falsely declaring your data center down due to local network issues. If all servers for a property fail their liveness tests, GTM considers all the servers up, as it has no basis to prefer any of them. When any server in a data center is up, GTM considers the data center up.
Datacenter: Represents a customer data center, also known as a traffic target, which is a location that contains many servers to which GTM directs traffic. More generally, a data center is a name for a set of possible answers that GTM can return for a query and the unit GTM uses to scale load balancing. For example, you might have data centers in New York and in Amsterdam, and want to balance load between them, but prefer that U.S. users are sent to the New York data center and European users are sent to the Amsterdam data center.
Data center affinity: A mechanism that helps reduce, but not eliminate, reassignment of your end users from one data center to another. GTM attempts to map users to the data center where they have the best connectivity to improve performance for them. However, if a user is roughly the same distance from two data centers, making their ping scores similar, small variations in ping scores might cause GTM’s choice of the best data center to vary. Thus, GTM frequently reassigns the user to these two data centers. Data center affinity lets you determine when user reassignment occurs for the best connectivity and performance.
Two Property object members control data center affinity,
stickinessBonusPercentage
andstickinessBonusConstant
. ThestickinessBonusPercentage
object member is a percentage of a data center’s score andstickinessBonusConstant
is an absolute number. For example, whenstickinessBonusPercentage
is set at10
, users are not reassigned from their currently assigned data center to another data center with a better ping score unless the better ping score is more than 10% better than that of the currently assigned data center. Similarly, whenstickinessBonusConstant
is set at100
, users are not reassigned from their currently assigned data center to another data center with a better ping score unless the better ping score is more than 100 milliseconds better than that of the currently assigned data center. Note that ping scores are used only for Performance Plus domains, with performance properties that have ping scores available in their data centers.CidrMap: Classless Inter-Domain Routing (CIDR) mapping uses the IP addresses of the requesting name server to provide IP-specific CNAME entries, which lets you direct internal users to a specific environment or direct to the origin. This provides different responses to an internal corporate DNS infrastructure such as internal test environments and another answer for all other (
defaultDatacenter
) name servers. CIDR maps split the Internet into multiple CIDR block zones. Properties that use a map can specify a handout CNAME for each zone on the property’s editing page. To configure a property for CIDR mapping, your domain needs at least one CIDR map defined.AsMap: Autonomous System (AS) mapping lets you configure a property that returns a CNAME based on the AS number of the IP address of the requester. You can reuse maps for multiple properties or create new ones. AS maps split the Internet into multiple AS block zones. Properties that use AS maps can specify handout integers for each zone. AS mapping lets you configure a property that directs users to a specific environment or to the origin.
GeographicMap: Geographic mapping lets you configure a property that returns a CNAME based on the geographic location of the request. You can reuse maps for multiple properties or create new ones. To configure a property for geographic mapping, your domain needs at least one geographic map defined. Each map needs at least two definitions. This ensures that at least one definition maps one or more countries to a data center, and the second definition routes all other traffic.
Resource: Represents a constraint on how much load a data center can absorb. Consider a Resource as something that can impose a capacity constraint on the load associated with one or more properties in a data center. Examples of resources include: bandwidth, CPU load average, database queries per second, or disk operations per second.
Resources contain the architecture and topology of the network in a data center. For example, each property normally has a resource that represents the capacity of the servers for that property. In addition, there might be a resource that constrains the aggregate bandwidth available to all properties in a data center. As an example, for a database application, you might decide that the most important measurement of load is queries per second. For a static web server, you might choose to measure HTTP GET requests per second. A resource is just a name for something that you measure that reflects how you want to balance load across your data centers. You report the load in whatever units make sense to you. To GTM, loads are just relative unit-less quantities.
A resource constrains a property if it’s affected or consumed by load on that property. You can configure a resource to constrain one or all properties. Resources can constrain multiple properties only if you are using XML load objects. With non-XML load objects, or with download score based load balancing, resources and properties correspond to each other on a one-to-one basis. For example, you may decide that you need to balance your use of Internet bandwidth. Since all Internet traffic consumes bandwidth, configure your bandwidth resource to constrain all of your properties.
Status: Specifies the current condition of the change in the domain’s activation.
UpdateResponse: A common object wrapper that reflects back the data that you just updated, and tracks the update’s status.
Hypermedia: The API’s data objects feature embedded link relations that provide URL paths that allow direct navigation to each object. For example, when you List domains, items within the list include link relations where the
href
link relation responds to a GET request for a specific GTM domain and therel
link relationself
indicates that is the link you need to GET for that specific object, as shown here."links": [ { "href": "/config-gtm/v1/domains/example.akadns.net", "rel": "self" } ],
Data conventions
This API’s JSON data follows these overall conventions:
*Id
members are generated identifiers you use to key URL inputs to API operations.*Name
members provide descriptive, human-readable text.*Date
members represent ISO 8601 timestamps in UTC format.
Sample workflow
A GTM domain requires two Datacenters and at least one
Property. Your contract determines the set of domain
types that are available to you. The domain’s type
places a
restriction on the property type
you can create under a domain.
This table lists each domain type, along with the property types you can associate with them:
Domain types | |||||
---|---|---|---|---|---|
Property type | failover-only |
static |
weighted |
basic |
full |
failover |
✓ | ✓ | ✓ | ✓ | ✓ |
qtr |
✓ | ✓ | ✓ | ✓ | ✓ |
geographic |
✓ | ✓ | ✓ | ✓ | |
cidrmapping |
✓ | ✓ | ✓ | ✓ | |
asmapping |
✓ | ✓ | ✓ | ✓ | |
weighted-round-robin |
✓ | ✓ | ✓ | ||
weighted-hashed |
✓ | ✓ | ✓ | ||
weighted-round-robin-load-feedback |
✓ | ✓ | ✓ | ||
performance |
✓ | ✓ |
This sample workflow shows you how to create a new GTM domain named
example.akadns.net
, complete with two data centers (Winterfell
and
Frostfangs
) and a property (origin
). You’ll also see how to
configure a liveness test to determine if your servers are responding
to requests.
NOTE: When you create a new GTM domain, you may need identifiers associated with your account such as the
contractId
andgroupId
. If you need to provide IDs and don’t know what they are, run List contracts or List groups for the information.
To create a new domain, run the Create a domain operation and use
example.akadns.net
as thedomainName
. This operation creates aweighted
domaintype
namedexample.akadns.net
, and specifies thatour.admin@example.com
is sent an email for each change the GTM system processes, as shown in this example. Notifications such as error messages and the domain’s current propagation progress and validation Status are also sent to this email address.POST /config-gtm/v1/domains HTTP/1.1 Accept: application/json Content-Type: application/json Content-Length: 173 { "name": "example.akadns.net", "type": "weighted", "emailNotificationList": ["our.admin@example.com"], "modificationComments": "New Traffic Management domain." }
In this example, GTM confirms the domain creation with a
201
status code and returns a full representation of the new domain. Note that the API server fills in many fields such asdefaultErrorPenalty
anddefaultTimeoutPenalty
with default values:HTTP/1.1 201 Created Date: Mon, 04 Aug 2014 15:30:39 GMT Content-Type: application/vnd.config-gtm.v1.0+json;charset=UTF-8 { "resource": { "cidrMaps": [], "datacenters": [], "defaultErrorPenalty": 75, "defaultSslClientCertificate": null, "defaultSslClientPrivateKey": null, "defaultTimeoutPenalty": 25, "emailNotificationList": [ "our.admin@example.com" ], "geographicMaps": [], "lastModified": "2014-08-04T15:30:40.057+0000", "lastModifiedBy": "admin", "loadFeedback": false, "loadImbalancePercentage": null, "modificationComments": "New Traffic Management domain.", "name": "example.akadns.net", "properties": [], "resources": [], "status": { "changeId": "abb94136-dd94-4779-bfb0-fcfac67fb843", "message": "Change Pending", "passingValidation": true, "propagationStatus": "PENDING", "propagationStatusDate": "2014-08-04T15:30:40.057+0000" }, "type": "weighted" }, "status": { "changeId": "abb94136-dd94-4779-bfb0-fcfac67fb843", "message": "Change Pending", "passingValidation": true, "propagationStatus": "PENDING", "propagationStatusDate": "2014-08-04T15:30:40.057+0000" } }
Now that you created the
example.akadns.net
domain, run the Create a data center operation to create the first of two Datacenters for the domain, starting with theWinterfell
data center, as shown in this example:POST /config-gtm/v1/domains/example.akadns.net/datacenters HTTP/1.1 Accept: application/json Content-Type: application/json Content-Length: 145 { "city": "Downpatrick", "continent": "EU", "country": "GB", "latitude": 54.367, "longitude": -5.582, "nickname": "Winterfell" }
This operation assigns a
datacenterId
of3131
to theWinterfell
data center. ThedatacenterId
is important because it’s referenced by many other entities across the domain and helps form theLocation
header that you can use to navigate directly to access the new data center. ThedatacenterId
appears as a member in the data center’s JSON response, as shown in this example:HTTP/1.1 201 Created Date: Mon, 04 Aug 2014 15:49:08 GMT Location: /config-gtm/v1/domains/example.akadns.net/datacenters/3131 Transfer-Encoding: chunked Content-Type: application/vnd.config-gtm.v1.0+json;charset=UTF-8 { "resource": { "city": "Downpatrick", "cloneOf": null, "continent": "EU", "country": "GB", "datacenterId": 3131, "defaultLoadObject": null, "latitude": 54.367, "longitude": -5.582, "nickname": "Winterfell", "stateOrProvince": null, "virtual": true }, "status": { "changeId": "0a580f0a-d585-4fc0-a3ff-47c79e8fd7fc", "message": "Change Pending", "passingValidation": true, "propagationStatus": "PENDING", "propagationStatusDate": "2014-08-04T15:49:10.111+0000" } }
Run the Create a data center operation again to add the
Frostfangs
data center, as shown in this example:POST /config-gtm/v1/domains/example.akadns.net/datacenters HTTP/1.1 Accept: application/json Content-Type: application/json Content-Length: 248 { "city": "Snaefellsjokull", "continent": "EU", "country": "IS", "latitude": 64.808, "longitude": -23.776, "nickname": "Frostfangs" }
Then, run the List data centers operation to see the data centers within this domain. The
Frostfangs
data center is assigned adatacenterId
of3132
, as shown in this example.GET /config-gtm/v1/domains/example.akadns.net/datacenters Content-Type: application/vnd.config-gtm.v1.0+json;charset=UTF-8 { "items": [ { "city": "Downpatrick", "cloneOf": null, "continent": "EU", "country": "GB", "datacenterId": 3131, "defaultLoadObject": { "loadObject": null, "loadObjectPort": 0, "loadServers": null }, "latitude": 54.367, "longitude": -5.582, "nickname": "Winterfell", "stateOrProvince": null, "virtual": true }, { "city": "Snaefellsjokull", "cloneOf": null, "continent": "EU", "country": "IS", "datacenterId": 3132, "defaultLoadObject": { "loadObject": null, "loadObjectPort": 0, "loadServers": null }, "latitude": 64.808, "longitude": -23.776, "nickname": "Frostfangs", "stateOrProvince": null, "virtual": true } ] }
Finally, run the Create or update a property operation to create a property named
origin
, as aweighted-round-robin
load balanced property with a 50/50 split. This basic setup splits requests evenly between theWinterfell
data center and theFrostfangs
data center, as shown in this example:PUT /config-gtm/v1/domains/example.akadns.net/properties/origin HTTP/1.1 Content-Type: application/json Accept: application/json Content-Length: 534 { "name": "origin", "handoutMode": "normal", "failoverDelay" : 0, "failbackDelay" : 0, "trafficTargets": [ { "datacenterId": 3131, "enabled": true, "servers": [ "1.2.3.5" ], "weight": 50.0 }, { "datacenterId": 3132, "enabled": true, "servers": [ "1.2.3.4" ], "weight": 50.0 } ], "type": "weighted-round-robin", "scoreAggregationType": "mean" }
If you’d like GTM to only provide IPs for servers that respond to requests, run the Create or update a property operation again and store the
livenessTests
array objects as shown in this example:PUT /config-gtm/v1/domains/example.akadns.net/properties/origin HTTP/1.1 Host: iamakamai.qaextranet.akamai.com Content-Type: application/json Accept: application/json Content-Length: 982 { "name": "origin", "handoutMode": "normal", "failoverDelay" : 0, "failbackDelay" : 0, "trafficTargets": [ { "datacenterId": 3131, "enabled": true, "servers": [ "1.2.3.5" ], "weight": 50.0 }, { "datacenterId": 3132, "enabled": true, "servers": [ "1.2.3.4" ], "weight": 50.0 } ], "type": "weighted-round-robin", "scoreAggregationType": "mean", "livenessTests": [ { "disableNonstandardPortWarning": false, "hostHeader": "123.example.com", "httpError3xx": true, "httpError4xx": true, "httpError5xx": true, "name": "health-check", "testInterval": 60, "testObject": "/status", "testObjectPort": 80, "testObjectProtocol": "HTTP", "testTimeout": 25.0 } ] }
With this configuration, servermonitors assigned to your domain test each IP address every
60
seconds (thetestInterval
) by running the equivalent of this command:curl -H "Host: 123.example.com" http://1.2.3.5/status
The server monitor treats status codes in the 300, 400, and 500 range as errors, controlled by the
httpError3xx
,httpError4xx
,httpError3xx
members, respectively. Test agents also time out tests after 25 seconds (thetestTimeout
).
API versioning
The API currently supports the following response media types:
application/json
application/vnd.config-gtm.v1.0+json
application/vnd.config-gtm.v1.1+json
application/vnd.config-gtm.v1.2+json
application/vnd.config-gtm.v1.3+json
The application/json
type is synonymous with the earliest
application/vnd.config-gtm.v1.0+json
version, regardless of how many
other versions are incrementally added over time as the service
evolves. API clients may choose to adopt the new resource versions,
or stay on the initial v1.0
version until the need arises to
upgrade. For example, upgrading to a v1.3
domain lets you determine
what fraction (minLiveFraction
) of your servers need to respond to
requests for GTM to consider the data center up and able to receive
traffic. Note that nothing from the original v1.0
object gets lost
as you migrate to a later version. Clients should specify the exact
version of the representation, for example:
Accept: application/vnd.config-gtm.v1.0+json
API hypermedia
The API’s data objects feature embedded link relations that provide
URL paths that allow direct navigation to each object. For example,
items within a list of domains feature link relations such as the
following, where the href
responds to a GET request, and a rel
of
self
indicates that it identifies the unique object.
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net",
"rel": "self"
}
],
Resources
This section provides details on the API’s various operations.
API summary
Download the RAML descriptors for this API.
Operation | Method | Endpoint |
---|---|---|
Identity | ||
Get identity | GET | /config-gtm/ |
List contracts | GET | /config-gtm/ |
List groups | GET | /config-gtm/ |
Domains | ||
List domains | GET | /config-gtm/ |
Create a domain | POST | /config-gtm/ |
Get a domain | GET | /config-gtm/ |
Update a domain | PUT | /config-gtm/ |
Resources | ||
List resources | GET | /config-gtm/ |
Get a resource | GET | /config-gtm/ |
Create or update a resource | PUT | /config-gtm/ |
Remove a resource | DELETE | /config-gtm/ |
Properties | ||
List properties | GET | /config-gtm/ |
Get a property | GET | /config-gtm/ |
Create or update a property | PUT | /config-gtm/ |
Remove a property | DELETE | /config-gtm/ |
CIDR maps | ||
List CIDR maps | GET | /config-gtm/ |
Get a CIDR map | GET | /config-gtm/ |
Create or update a CIDR map | PUT | /config-gtm/ |
Remove a CIDR map | DELETE | /config-gtm/ |
Autonomous system maps | ||
List AS maps | GET | /config-gtm/ |
Get an AS map | GET | /config-gtm/ |
Create or update an AS map | PUT | /config-gtm/ |
Remove an AS map | DELETE | /config-gtm/ |
Geographic maps | ||
List geographic maps | GET | /config-gtm/ |
Get a geographic map | GET | /config-gtm/ |
Create or update a geographic map | PUT | /config-gtm/ |
Remove a geographic map | DELETE | /config-gtm/ |
Data centers | ||
List data centers | GET | /config-gtm/ |
Create a data center | POST | /config-gtm/ |
Get a data center | GET | /config-gtm/ |
Update a data center | PUT | /config-gtm/ |
Remove a data center | DELETE | /config-gtm/ |
Create a default data center | POST | /config-gtm/ |
Create an IPv4 datacenter for ip-version-selector | POST | /config-gtm/ |
Create an IPv6 datacenter for ip-version-selector | POST | /config-gtm/ |
Status | ||
Get current status | GET | /config-gtm/ |
Get identity
Returns information about the API client. Run this
operation for details on the API client contract such as
available load balancing features
and permissions
the
client has on the domains tied to the contract.
GET /config-gtm/
Status 200
application/json
Object type: Identity
Download schema: identity.json
Response body:
{
"accountId": "1-1TJZFB",
"userName": "ed@example.com",
"userTimeZone": "-05:00",
"locale": "en_US",
"firstName": "Eddard",
"lastName": "Stark",
"email": "ed@example.com",
"active": true,
"contracts": [
{
"contractId": "1-1TJZH5",
"features": [
"FAILOVER",
"QTR",
"ASMAPPING",
"CIDRMAPPING",
"GEOGRAPHIC",
"WEIGHTED_ROUND_ROBIN",
"WEIGHTED_ROUND_ROBIN_LOAD_FEEDBACK",
"WEIGHTED_HASHED",
"PERFORMANCE"
],
"permissions": [
"READ",
"WRITE",
"ADD"
]
},
{
"contractId": "3-ZQ0H6H",
"features": [
"FAILOVER",
"QTR",
"ASMAPPING",
"CIDRMAPPING",
"GEOGRAPHIC"
],
"permissions": [
"READ",
"WRITE"
]
}
]
}
List contracts
Returns a list of API client contracts
. When
you Create a domain, you may need a
contractId
under certain circumstances. Run this operation
to view available values.
GET /config-gtm/
Status 200
application/json
Object type: Contracts
Download schema: identity-contracts.json
Response body:
{
"accountId": "1-1TJZFB",
"contracts": [
{
"contractId": "1-1TJZH5",
"contractName": "Wolves",
"contractTypeName": "DIRECT_CUSTOMER"
},
{
"contractId": "3-ZQ0H6H",
"contractName": "Stags",
"contractTypeName": "DIRECT_CUSTOMER"
}
]
}
List groups
Returns a list of API client groups
and their
parameters. When you Create a domain, you may
need a groupId
under certain circumstances. Run this
operation to view available values.
GET /config-gtm/
Status 200
application/json
Object type: Group
Download schema: identity-groups.json
Response body:
{
"groups": [
{
"groupId": 15166,
"groupName": "House Stark",
"contractIds": [
"1-1TJZH5"
],
"permissions": [
"ADD",
"READ",
"WRITE"
]
},
{
"groupId": 41443,
"groupName": "House Baratheon",
"contractIds": [
"1-1TJZH5",
"3-ZQ0H6H"
],
"permissions": [
"READ",
"WRITE"
]
}
]
}
List domains
Returns a list of GTM domains under your contract.
GET /config-gtm/
Status 200
application/json
Object type: Domain
Download schema: domain-list.json
Response body:
{
"items": [
{
"acgId": "1-2345",
"lastModified": "2014-03-03T16:02:45.000+0000",
"name": "example.akadns.net",
"status": "2014-02-20 22:56 GMT: Current configuration has been propagated to all GTM name servers",
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net",
"rel": "self"
}
]
},
{
"acgId": "1-2345",
"lastModified": "2013-11-09T12:04:45.000+0000",
"name": "demo.akadns.net",
"status": "2014-02-20 22:56 GMT: Current configuration has been propagated to all GTM name servers",
"links": [
{
"href": "/config-gtm/v1/domains/demo.akadns.net",
"rel": "self"
}
]
}
]
}
Create a domain
Creates a new GTM domain.
POST /config-gtm/
Sample: /config-gtm/
Content-Type: application/json
Object type: Domain
Download schema: domain-vnd-config-gtm.v1.0.json
Request body:
{
"defaultSslClientCertificate": null,
"defaultSslClientPrivateKey": null,
"defaultUnreachableThreshold": null,
"lastModified": "2014-04-08T18:25:51.000+0000",
"lastModifiedBy": "admin@example.com",
"loadFeedback": true,
"loadImbalancePercentage": 10.0,
"minPingableRegionFraction": null,
"modificationComments": "CIDRMap example",
"name": "example.akadns.net",
"pingInterval": null,
"roundRobinPrefix": null,
"servermonitorLivenessCount": null,
"servermonitorLoadCount": null,
"type": "full",
"emailNotificationList": [],
"cidrMaps": [
{
"name": "The North",
"defaultDatacenter": {
"datacenterId": 5400,
"nickname": "All Other CIDR Blocks"
},
"assignments": [
{
"datacenterId": 3134,
"nickname": "Frostfangs and the Fist of First Men",
"blocks": [
"1.3.5.9",
"1.2.3.0/24"
]
},
{
"datacenterId": 3133,
"nickname": "Winterfell",
"blocks": [
"1.2.4.0/24"
]
}
]
}
],
"datacenters": [
{
"city": "Doune",
"cloneOf": 0,
"continent": "EU",
"country": "GB",
"datacenterId": 3133,
"latitude": 56.185097,
"longitude": -4.050264,
"nickname": "Winterfell",
"stateOrProvince": "Perthshire",
"virtual": true,
"defaultLoadObject": {
"loadObject": null,
"loadObjectPort": 0,
"loadServers": null
}
},
{
"city": "Sn\u00e6fellsj\u00f6kull",
"cloneOf": 0,
"continent": "EU",
"country": "IS",
"datacenterId": 3134,
"latitude": 64.808,
"longitude": -23.776,
"nickname": "Frostfangs",
"stateOrProvince": null,
"virtual": true,
"defaultLoadObject": {
"loadObject": null,
"loadObjectPort": 0,
"loadServers": null
}
},
{
"city": null,
"cloneOf": 0,
"continent": null,
"country": null,
"datacenterId": 5400,
"latitude": 0.0,
"longitude": 0.0,
"nickname": "Default Datacenter",
"stateOrProvince": null,
"virtual": true,
"defaultLoadObject": {
"loadObject": null,
"loadObjectPort": 0,
"loadServers": null
}
}
],
"geographicMaps": [
{
"name": "UK Delivery",
"defaultDatacenter": {
"datacenterId": 5400,
"nickname": "Default Mapping"
},
"assignments": [
{
"datacenterId": 3133,
"nickname": "UK users",
"countries": [
"GB"
]
}
]
}
],
"properties": [
{
"backupCName": null,
"backupIp": null,
"balanceByDownloadScore": false,
"cname": null,
"comments": null,
"dynamicTTL": 300,
"failbackDelay": 0,
"failoverDelay": 0,
"handoutMode": "normal",
"healthMax": null,
"healthMultiplier": null,
"healthThreshold": null,
"ipv6": false,
"lastModified": "2014-04-08T18:25:52.000+0000",
"mapName": null,
"maxUnreachablePenalty": null,
"name": "www",
"scoreAggregationType": "mean",
"staticTTL": 600,
"stickinessBonusConstant": 0,
"stickinessBonusPercentage": 0,
"type": "failover",
"unreachableThreshold": null,
"useComputedTargets": false,
"mxRecords": [],
"livenessTests": [
{
"disableNonstandardPortWarning": false,
"hostHeader": "foo.example.com",
"httpError3xx": true,
"httpError4xx": true,
"httpError5xx": true,
"name": "health-check",
"requestString": null,
"responseString": null,
"sslClientCertificate": null,
"sslClientPrivateKey": null,
"testInterval": 60,
"testObject": "/status",
"testObjectPassword": null,
"testObjectPort": 80,
"testObjectProtocol": "HTTP",
"testObjectUsername": null,
"testTimeout": 25.0
}
],
"trafficTargets": [
{
"datacenterId": 5400,
"enabled": false,
"handoutCName": null,
"name": null,
"weight": 0.0,
"servers": []
},
{
"datacenterId": 3134,
"enabled": true,
"handoutCName": null,
"name": null,
"weight": 0.0,
"servers": [
"1.2.3.5"
]
},
{
"datacenterId": 3133,
"enabled": true,
"handoutCName": null,
"name": null,
"weight": 1.0,
"servers": [
"1.2.3.4"
]
}
]
},
{
"backupCName": null,
"backupIp": null,
"balanceByDownloadScore": false,
"cname": null,
"comments": null,
"dynamicTTL": 300,
"failbackDelay": 0,
"failoverDelay": 0,
"handoutMode": "normal",
"healthMax": null,
"healthMultiplier": null,
"healthThreshold": null,
"ipv6": true,
"lastModified": "2014-04-08T18:25:52.000+0000",
"mapName": null,
"maxUnreachablePenalty": null,
"name": "mail",
"scoreAggregationType": "mean",
"staticTTL": 600,
"stickinessBonusConstant": 0,
"stickinessBonusPercentage": 0,
"type": "weighted-round-robin",
"unreachableThreshold": null,
"useComputedTargets": false,
"livenessTests": [],
"mxRecords": [],
"trafficTargets": [
{
"datacenterId": 5400,
"enabled": false,
"handoutCName": null,
"name": null,
"weight": 1.0,
"servers": []
},
{
"datacenterId": 3134,
"enabled": true,
"handoutCName": null,
"name": null,
"weight": 1.0,
"servers": [
"2001:4878::5043:4078"
]
},
{
"datacenterId": 3133,
"enabled": true,
"handoutCName": null,
"name": null,
"weight": 1.0,
"servers": [
"2001:4878::5043:4072",
"2001:4878::5043:4071"
]
}
]
},
{
"backupCName": null,
"backupIp": null,
"balanceByDownloadScore": false,
"cname": null,
"comments": null,
"dynamicTTL": 300,
"failbackDelay": 0,
"failoverDelay": 0,
"handoutMode": "normal",
"healthMax": null,
"healthMultiplier": null,
"healthThreshold": null,
"ipv6": false,
"lastModified": "2014-04-08T18:25:52.000+0000",
"loadImbalancePercentage": null,
"mapName": null,
"maxUnreachablePenalty": null,
"name": "supplies",
"scoreAggregationType": "mean",
"staticTTL": 600,
"stickinessBonusConstant": 0,
"stickinessBonusPercentage": 0,
"type": "failover",
"unreachableThreshold": null,
"useComputedTargets": false,
"livenessTests": [],
"mxRecords": [],
"trafficTargets": [
{
"datacenterId": 5400,
"enabled": true,
"handoutCName": "supplies.example.com",
"name": null,
"weight": 1.0,
"servers": []
},
{
"datacenterId": 3134,
"enabled": true,
"handoutCName": "winter.supplies.example.com",
"name": null,
"weight": 0.0,
"servers": []
},
{
"datacenterId": 3133,
"enabled": true,
"handoutCName": "redcross.org",
"name": null,
"weight": 0.0,
"servers": []
}
]
},
{
"backupCName": null,
"backupIp": null,
"balanceByDownloadScore": false,
"cname": null,
"comments": null,
"dynamicTTL": 300,
"failbackDelay": 0,
"failoverDelay": 0,
"handoutMode": "normal",
"healthMax": null,
"healthMultiplier": null,
"healthThreshold": null,
"ipv6": false,
"lastModified": "2014-04-08T18:25:52.000+0000",
"loadImbalancePercentage": null,
"mapName": "UK Delivery",
"maxUnreachablePenalty": null,
"name": "shop",
"scoreAggregationType": "mean",
"staticTTL": 600,
"stickinessBonusConstant": 0,
"stickinessBonusPercentage": 0,
"type": "geographic",
"unreachableThreshold": null,
"useComputedTargets": false,
"livenessTests": [],
"mxRecords": [],
"trafficTargets": [
{
"datacenterId": 5400,
"enabled": true,
"handoutCName": "shop.example.com",
"name": null,
"weight": 1.0,
"servers": []
},
{
"datacenterId": 3134,
"enabled": false,
"handoutCName": null,
"name": null,
"weight": 1.0,
"servers": []
},
{
"datacenterId": 3133,
"enabled": true,
"handoutCName": "uk.shop.example.com",
"name": null,
"weight": 1.0,
"servers": []
}
]
}
],
"resources": [
{
"aggregationType": "latest",
"constrainedProperty": "mail",
"decayRate": null,
"description": "CPU utilization",
"hostHeader": null,
"leaderString": null,
"leastSquaresDecay": null,
"loadImbalancePercentage": null,
"maxUMultiplicativeIncrement": null,
"name": "cpu",
"type": "XML load object via HTTP",
"upperBound": 0,
"resourceInstances": [
{
"datacenterId": 3134,
"loadObject": "/cpu",
"loadObjectPort": 80,
"useDefaultLoadObject": false,
"loadServers": [
"1.2.3.8"
]
},
{
"datacenterId": 3133,
"loadObject": "/cpu",
"loadObjectPort": 80,
"useDefaultLoadObject": false,
"loadServers": [
"1.2.3.7"
]
},
{
"datacenterId": 5400,
"loadObject": null,
"loadObjectPort": 0,
"useDefaultLoadObject": false,
"loadServers": []
}
]
},
{
"aggregationType": "latest",
"constrainedProperty": "**",
"decayRate": null,
"description": "Supply levels of Arbor Gold",
"hostHeader": null,
"leaderString": null,
"leastSquaresDecay": null,
"loadImbalancePercentage": null,
"maxUMultiplicativeIncrement": null,
"name": "arbor-gold",
"type": "Non-XML load object via HTTP",
"upperBound": 0,
"resourceInstances": [
{
"datacenterId": 3134,
"loadObject": "/cups",
"loadObjectPort": 80,
"useDefaultLoadObject": false,
"loadServers": [
"1.2.3.8"
]
},
{
"datacenterId": 3133,
"loadObject": "/cups",
"loadObjectPort": 80,
"useDefaultLoadObject": false,
"loadServers": [
"1.2.3.7"
]
},
{
"datacenterId": 5400,
"loadObject": null,
"loadObjectPort": 0,
"useDefaultLoadObject": false,
"loadServers": []
}
]
}
]
}
Parameter | Type | Sample | Description |
---|---|---|---|
Optional query parameters | |||
contractId |
String | 1-1TJZFW |
A unique identifier for the contract. If your GTM client credential has access to more than one contract, you need to specify under which contract to provision the domain. For more information, see API concepts. |
gid |
Integer | 15166 |
A unique identifier for the group. If your GTM client credential has access to more than one group, you need to specify which group to assign to the domain. For more information, see API concepts. |
Status 201
application/json
Headers:
Location: /config-gtm/v1/domains/example.akadns.net
Object type: UpdateResponse
Download schema: property-update-response.json
Response body:
{
"resource": {
"defaultSslClientCertificate": null,
"defaultSslClientPrivateKey": null,
"defaultUnreachableThreshold": null,
"lastModified": "2014-04-08T18:25:51.000+0000",
"lastModifiedBy": "admin@example.com",
"loadFeedback": true,
"loadImbalancePercentage": 10.0,
"minPingableRegionFraction": null,
"modificationComments": "CIDRMap example",
"name": "example.akadns.net",
"pingInterval": null,
"roundRobinPrefix": null,
"servermonitorLivenessCount": null,
"servermonitorLoadCount": null,
"type": "full",
"emailNotificationList": [],
"status": {
"changeId": "5beb11ae-8908-4bfe-8459-e88efc4d2fdc",
"message": "Change Pending",
"passingValidation": true,
"propagationStatus": "PENDING",
"propagationStatusDate": "2014-04-08T18:25:51.000+0000",
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/status/current",
"rel": "self"
}
]
},
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net",
"rel": "self"
},
{
"href": "/config-gtm/v1/domains/example.akadns.net/datacenters",
"rel": "datacenters"
},
{
"href": "/config-gtm/v1/domains/example.akadns.net/properties",
"rel": "properties"
},
{
"href": "/config-gtm/v1/domains/example.akadns.net/geographic-maps",
"rel": "geographic-maps"
},
{
"href": "/config-gtm/v1/domains/example.akadns.net/cidr-maps",
"rel": "cidr-maps"
},
{
"href": "/config-gtm/v1/domains/example.akadns.net/resources",
"rel": "resources"
}
],
"cidrMaps": [
{
"name": "The North",
"defaultDatacenter": {
"datacenterId": 5400,
"nickname": "All Other CIDR Blocks"
},
"assignments": [
{
"datacenterId": 3134,
"nickname": "Frostfangs and the Fist of First Men",
"blocks": [
"1.3.5.9",
"1.2.3.0/24"
]
},
{
"datacenterId": 3133,
"nickname": "Winterfell",
"blocks": [
"1.2.4.0/24"
]
}
],
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/cidr-maps/The%20North",
"rel": "self"
}
]
}
],
"datacenters": [
{
"city": "Doune",
"cloneOf": 0,
"continent": "EU",
"country": "GB",
"datacenterId": 3133,
"latitude": 56.185097,
"longitude": -4.050264,
"nickname": "Winterfell",
"stateOrProvince": "Perthshire",
"virtual": true,
"defaultLoadObject": {
"loadObject": null,
"loadObjectPort": 0,
"loadServers": null
},
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/datacenters/3133",
"rel": "self"
}
]
},
{
"city": "Sn\u00e6fellsj\u00f6kull",
"cloneOf": 0,
"continent": "EU",
"country": "IS",
"datacenterId": 3134,
"latitude": 64.808,
"longitude": -23.776,
"nickname": "Frostfangs",
"stateOrProvince": null,
"virtual": true,
"defaultLoadObject": {
"loadObject": null,
"loadObjectPort": 0,
"loadServers": null
},
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/datacenters/3134",
"rel": "self"
}
]
},
{
"city": null,
"cloneOf": 0,
"continent": null,
"country": null,
"datacenterId": 5400,
"latitude": 0.0,
"longitude": 0.0,
"nickname": "Default Datacenter",
"stateOrProvince": null,
"virtual": true,
"defaultLoadObject": {
"loadObject": null,
"loadObjectPort": 0,
"loadServers": null
},
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/datacenters/5400",
"rel": "self"
}
]
}
],
"geographicMaps": [
{
"name": "UK Delivery",
"defaultDatacenter": {
"datacenterId": 5400,
"nickname": "Default Mapping"
},
"assignments": [
{
"datacenterId": 3133,
"nickname": "UK users",
"countries": [
"GB"
]
}
],
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/geographic-maps/UK%20Delivery",
"rel": "self"
}
]
}
],
"properties": [
{
"backupCName": null,
"backupIp": null,
"balanceByDownloadScore": false,
"cname": null,
"comments": null,
"dynamicTTL": 300,
"failbackDelay": 0,
"failoverDelay": 0,
"handoutMode": "normal",
"healthMax": null,
"healthMultiplier": null,
"healthThreshold": null,
"ipv6": false,
"lastModified": "2014-04-08T18:25:52.000+0000",
"mapName": null,
"maxUnreachablePenalty": null,
"name": "www",
"scoreAggregationType": "mean",
"staticTTL": 600,
"stickinessBonusConstant": 0,
"stickinessBonusPercentage": 0,
"type": "failover",
"unreachableThreshold": null,
"useComputedTargets": false,
"mxRecords": [],
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/properties/www",
"rel": "self"
}
],
"livenessTests": [
{
"disableNonstandardPortWarning": false,
"hostHeader": "foo.example.com",
"httpError3xx": true,
"httpError4xx": true,
"httpError5xx": true,
"name": "health-check",
"requestString": null,
"responseString": null,
"sslClientCertificate": null,
"sslClientPrivateKey": null,
"testInterval": 60,
"testObject": "/status",
"testObjectPassword": null,
"testObjectPort": 80,
"testObjectProtocol": "HTTP",
"testObjectUsername": null,
"testTimeout": 25.0,
"links": []
}
],
"trafficTargets": [
{
"datacenterId": 5400,
"enabled": false,
"handoutCName": null,
"name": null,
"weight": 0.0,
"servers": []
},
{
"datacenterId": 3134,
"enabled": true,
"handoutCName": null,
"name": null,
"weight": 0.0,
"servers": [
"1.2.3.5"
]
},
{
"datacenterId": 3133,
"enabled": true,
"handoutCName": null,
"name": null,
"weight": 1.0,
"servers": [
"1.2.3.4"
]
}
]
},
{
"backupCName": null,
"backupIp": null,
"balanceByDownloadScore": false,
"cname": null,
"comments": null,
"dynamicTTL": 300,
"failbackDelay": 0,
"failoverDelay": 0,
"handoutMode": "normal",
"healthMax": null,
"healthMultiplier": null,
"healthThreshold": null,
"ipv6": true,
"lastModified": "2014-04-08T18:25:52.000+0000",
"mapName": null,
"maxUnreachablePenalty": null,
"name": "mail",
"scoreAggregationType": "mean",
"staticTTL": 600,
"stickinessBonusConstant": 0,
"stickinessBonusPercentage": 0,
"type": "weighted-round-robin",
"unreachableThreshold": null,
"useComputedTargets": false,
"livenessTests": [],
"mxRecords": [],
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/properties/mail",
"rel": "self"
}
],
"trafficTargets": [
{
"datacenterId": 5400,
"enabled": false,
"handoutCName": null,
"name": null,
"weight": 1.0,
"servers": []
},
{
"datacenterId": 3134,
"enabled": true,
"handoutCName": null,
"name": null,
"weight": 1.0,
"servers": [
"2001:4878::5043:4078"
]
},
{
"datacenterId": 3133,
"enabled": true,
"handoutCName": null,
"name": null,
"weight": 1.0,
"servers": [
"2001:4878::5043:4072",
"2001:4878::5043:4071"
]
}
]
},
{
"backupCName": null,
"backupIp": null,
"balanceByDownloadScore": false,
"cname": null,
"comments": null,
"dynamicTTL": 300,
"failbackDelay": 0,
"failoverDelay": 0,
"handoutMode": "normal",
"healthMax": null,
"healthMultiplier": null,
"healthThreshold": null,
"ipv6": false,
"lastModified": "2014-04-08T18:25:52.000+0000",
"loadImbalancePercentage": null,
"mapName": null,
"maxUnreachablePenalty": null,
"name": "supplies",
"scoreAggregationType": "mean",
"staticTTL": 600,
"stickinessBonusConstant": 0,
"stickinessBonusPercentage": 0,
"type": "failover",
"unreachableThreshold": null,
"useComputedTargets": false,
"livenessTests": [],
"mxRecords": [],
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/properties/supplies",
"rel": "self"
}
],
"trafficTargets": [
{
"datacenterId": 5400,
"enabled": true,
"handoutCName": "supplies.example.com",
"name": null,
"weight": 1.0,
"servers": []
},
{
"datacenterId": 3134,
"enabled": true,
"handoutCName": "winter.supplies.example.com",
"name": null,
"weight": 0.0,
"servers": []
},
{
"datacenterId": 3133,
"enabled": true,
"handoutCName": "redcross.org",
"name": null,
"weight": 0.0,
"servers": []
}
]
},
{
"backupCName": null,
"backupIp": null,
"balanceByDownloadScore": false,
"cname": null,
"comments": null,
"dynamicTTL": 300,
"failbackDelay": 0,
"failoverDelay": 0,
"handoutMode": "normal",
"healthMax": null,
"healthMultiplier": null,
"healthThreshold": null,
"ipv6": false,
"lastModified": "2014-04-08T18:25:52.000+0000",
"loadImbalancePercentage": null,
"mapName": "UK Delivery",
"maxUnreachablePenalty": null,
"name": "shop",
"scoreAggregationType": "mean",
"staticTTL": 600,
"stickinessBonusConstant": 0,
"stickinessBonusPercentage": 0,
"type": "geographic",
"unreachableThreshold": null,
"useComputedTargets": false,
"livenessTests": [],
"mxRecords": [],
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/properties/shop",
"rel": "self"
}
],
"trafficTargets": [
{
"datacenterId": 5400,
"enabled": true,
"handoutCName": "shop.example.com",
"name": null,
"weight": 1.0,
"servers": []
},
{
"datacenterId": 3134,
"enabled": false,
"handoutCName": null,
"name": null,
"weight": 1.0,
"servers": []
},
{
"datacenterId": 3133,
"enabled": true,
"handoutCName": "uk.shop.example.com",
"name": null,
"weight": 1.0,
"servers": []
}
]
}
],
"resources": [
{
"aggregationType": "latest",
"constrainedProperty": "mail",
"decayRate": null,
"description": "CPU utilization",
"hostHeader": null,
"leaderString": null,
"leastSquaresDecay": null,
"loadImbalancePercentage": null,
"maxUMultiplicativeIncrement": null,
"name": "cpu",
"type": "XML load object via HTTP",
"upperBound": 0,
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/resources/cpu",
"rel": "self"
}
],
"resourceInstances": [
{
"datacenterId": 3134,
"loadObject": "/cpu",
"loadObjectPort": 80,
"useDefaultLoadObject": false,
"loadServers": [
"1.2.3.8"
]
},
{
"datacenterId": 3133,
"loadObject": "/cpu",
"loadObjectPort": 80,
"useDefaultLoadObject": false,
"loadServers": [
"1.2.3.7"
]
},
{
"datacenterId": 5400,
"loadObject": null,
"loadObjectPort": 0,
"useDefaultLoadObject": false,
"loadServers": []
}
]
},
{
"aggregationType": "latest",
"constrainedProperty": "**",
"decayRate": null,
"description": "Supply levels of Arbor Gold",
"hostHeader": null,
"leaderString": null,
"leastSquaresDecay": null,
"loadImbalancePercentage": null,
"maxUMultiplicativeIncrement": null,
"name": "arbor-gold",
"type": "Non-XML load object via HTTP",
"upperBound": 0,
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/resources/arbor-gold",
"rel": "self"
}
],
"resourceInstances": [
{
"datacenterId": 3134,
"loadObject": "/cups",
"loadObjectPort": 80,
"useDefaultLoadObject": false,
"loadServers": [
"1.2.3.8"
]
},
{
"datacenterId": 3133,
"loadObject": "/cups",
"loadObjectPort": 80,
"useDefaultLoadObject": false,
"loadServers": [
"1.2.3.7"
]
},
{
"datacenterId": 5400,
"loadObject": null,
"loadObjectPort": 0,
"useDefaultLoadObject": false,
"loadServers": []
}
]
}
]
},
"status": {
"changeId": "5beb11ae-8908-4bfe-8459-e88efc4d2fdc",
"message": "Change Pending",
"passingValidation": true,
"propagationStatus": "PENDING",
"propagationStatusDate": "2014-04-08T18:25:51.000+0000",
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/status/current",
"rel": "self"
}
]
}
}
When you create a new GTM domain, if you have access to:
One contract and several groups, you need to include the
gid
query parameter in the request object.One group and several contracts, you need to include the
contractId
query parameter in the request object.One or more contracts and groups, you need to include both the
contractId
and thegid
query parameters in the request object.
Use this procedure to create a new domain:
If you need a
contractId
value, run List contracts, then from the response’scontracts
array, select the relevantcontractId
.If you need a
gid
value, run List groups, then from the response’sgroups
array, select the relevantgroupId
and store the value as thegid
parameter.For
cidrmapping
property types, if you need aname
value for the CIDR map, run the List CIDR maps operation, then select one from the list.For
geographic
property types, if you need aname
value for the geographic map, run List geographic maps, then select one from the list.If you need a
datacenterId
value, run List data centers, then select one from the list.Build a new Domain POST object, specifying whatever query parameters and members above are necessary such as
gid
,contractId
,datacenterId
, andname
.If you need to include either the
contractId
,gid
, or both query parameters, POST the object to/config-gtm/
. Otherwise, POST the object tov1/ domains/ {domainName}/ {?contractId,gid} /config-gtm/
.v1/ domains/ {domainName} This operation responds with a Domain object.
Get a domain
Returns information for a specific GTM domain.
GET /config-gtm/
Sample: /config-gtm/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
domainName |
String | example.akadns.net |
The full GTM domain name. |
Status 200
application/json
Object type: Domain
Download schema: domain-vnd-config-gtm.v1.0.json
Response body:
{
"defaultSslClientCertificate": null,
"defaultSslClientPrivateKey": null,
"defaultUnreachableThreshold": null,
"lastModified": "2014-04-08T18:25:51.000+0000",
"lastModifiedBy": "admin@example.com",
"loadFeedback": true,
"loadImbalancePercentage": 10.0,
"minPingableRegionFraction": null,
"modificationComments": "CIDRMap example",
"name": "example.akadns.net",
"pingInterval": null,
"roundRobinPrefix": null,
"servermonitorLivenessCount": null,
"servermonitorLoadCount": null,
"type": "full",
"emailNotificationList": [],
"status": {
"changeId": "5beb11ae-8908-4bfe-8459-e88efc4d2fdc",
"message": "Change Pending",
"passingValidation": true,
"propagationStatus": "PENDING",
"propagationStatusDate": "2014-04-08T18:25:51.000+0000",
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/status/current",
"rel": "self"
}
]
},
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net",
"rel": "self"
},
{
"href": "/config-gtm/v1/domains/example.akadns.net/datacenters",
"rel": "datacenters"
},
{
"href": "/config-gtm/v1/domains/example.akadns.net/properties",
"rel": "properties"
},
{
"href": "/config-gtm/v1/domains/example.akadns.net/geographic-maps",
"rel": "geographic-maps"
},
{
"href": "/config-gtm/v1/domains/example.akadns.net/cidr-maps",
"rel": "cidr-maps"
},
{
"href": "/config-gtm/v1/domains/example.akadns.net/resources",
"rel": "resources"
}
],
"cidrMaps": [
{
"name": "The North",
"defaultDatacenter": {
"datacenterId": 5400,
"nickname": "All Other CIDR Blocks"
},
"assignments": [
{
"datacenterId": 3134,
"nickname": "Frostfangs and the Fist of First Men",
"blocks": [
"1.3.5.9",
"1.2.3.0/24"
]
},
{
"datacenterId": 3133,
"nickname": "Winterfell",
"blocks": [
"1.2.4.0/24"
]
}
],
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/cidr-maps/The%20North",
"rel": "self"
}
]
}
],
"datacenters": [
{
"city": "Downpatrick",
"cloneOf": 0,
"continent": "EU",
"country": "GB",
"datacenterId": 3133,
"latitude": 54.367,
"longitude": -5.582,
"nickname": "Winterfell",
"stateOrProvince": null,
"virtual": true,
"defaultLoadObject": {
"loadObject": null,
"loadObjectPort": 0,
"loadServers": null
},
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/datacenters/3133",
"rel": "self"
}
]
},
{
"city": "Doune",
"cloneOf": 0,
"continent": "EU",
"country": "GB",
"datacenterId": 3134,
"latitude": 56.185097,
"longitude": -4.050264,
"nickname": "Winterfell",
"stateOrProvince": "Perthshire",
"virtual": true,
"defaultLoadObject": {
"loadObject": null,
"loadObjectPort": 0,
"loadServers": null
},
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/datacenters/3134",
"rel": "self"
}
]
},
{
"city": null,
"cloneOf": 0,
"continent": null,
"country": null,
"datacenterId": 5400,
"latitude": 0.0,
"longitude": 0.0,
"nickname": "Default Datacenter",
"stateOrProvince": null,
"virtual": true,
"defaultLoadObject": {
"loadObject": null,
"loadObjectPort": 0,
"loadServers": null
},
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/datacenters/5400",
"rel": "self"
}
]
}
],
"geographicMaps": [
{
"name": "UK Delivery",
"defaultDatacenter": {
"datacenterId": 5400,
"nickname": "Default Mapping"
},
"assignments": [
{
"datacenterId": 3133,
"nickname": "UK users",
"countries": [
"GB"
]
}
],
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/geographic-maps/UK%20Delivery",
"rel": "self"
}
]
}
],
"properties": [
{
"backupCName": null,
"backupIp": null,
"balanceByDownloadScore": false,
"cname": null,
"comments": null,
"dynamicTTL": 300,
"failbackDelay": 0,
"failoverDelay": 0,
"handoutMode": "normal",
"healthMax": null,
"healthMultiplier": null,
"healthThreshold": null,
"ipv6": false,
"lastModified": "2014-04-08T18:25:52.000+0000",
"mapName": null,
"maxUnreachablePenalty": null,
"name": "www",
"scoreAggregationType": "mean",
"staticTTL": 600,
"stickinessBonusConstant": 0,
"stickinessBonusPercentage": 0,
"type": "failover",
"unreachableThreshold": null,
"useComputedTargets": false,
"mxRecords": [],
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/properties/www",
"rel": "self"
}
],
"livenessTests": [
{
"disableNonstandardPortWarning": false,
"hostHeader": "foo.example.com",
"httpError3xx": true,
"httpError4xx": true,
"httpError5xx": true,
"name": "health-check",
"requestString": null,
"responseString": null,
"sslClientCertificate": null,
"sslClientPrivateKey": null,
"testInterval": 60,
"testObject": "/status",
"testObjectPassword": null,
"testObjectPort": 80,
"testObjectProtocol": "HTTP",
"testObjectUsername": null,
"testTimeout": 25.0,
"links": []
}
],
"trafficTargets": [
{
"datacenterId": 5400,
"enabled": false,
"handoutCName": null,
"name": null,
"weight": 0.0,
"servers": []
},
{
"datacenterId": 3134,
"enabled": true,
"handoutCName": null,
"name": null,
"weight": 0.0,
"servers": [
"1.2.3.5"
]
},
{
"datacenterId": 3133,
"enabled": true,
"handoutCName": null,
"name": null,
"weight": 1.0,
"servers": [
"1.2.3.4"
]
}
]
},
{
"backupCName": null,
"backupIp": null,
"balanceByDownloadScore": false,
"cname": null,
"comments": null,
"dynamicTTL": 300,
"failbackDelay": 0,
"failoverDelay": 0,
"handoutMode": "normal",
"healthMax": null,
"healthMultiplier": null,
"healthThreshold": null,
"ipv6": true,
"lastModified": "2014-04-08T18:25:52.000+0000",
"loadImbalancePercentage": null,
"mapName": null,
"maxUnreachablePenalty": null,
"name": "mail",
"scoreAggregationType": "mean",
"staticTTL": 600,
"stickinessBonusConstant": 0,
"stickinessBonusPercentage": 0,
"type": "weighted-round-robin",
"unreachableThreshold": null,
"useComputedTargets": false,
"livenessTests": [],
"mxRecords": [],
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/properties/mail",
"rel": "self"
}
],
"trafficTargets": [
{
"datacenterId": 5400,
"enabled": false,
"handoutCName": null,
"name": null,
"weight": 0.0,
"servers": []
},
{
"datacenterId": 3134,
"enabled": true,
"handoutCName": null,
"name": null,
"weight": 1.0,
"servers": [
"2001:4878::5043:4078"
]
},
{
"datacenterId": 3133,
"enabled": true,
"handoutCName": null,
"name": null,
"weight": 1.0,
"servers": [
"2001:4878::5043:4072",
"2001:4878::5043:4071"
]
}
]
},
{
"backupCName": null,
"backupIp": null,
"balanceByDownloadScore": false,
"cname": null,
"comments": null,
"dynamicTTL": 300,
"failbackDelay": 0,
"failoverDelay": 0,
"handoutMode": "normal",
"healthMax": null,
"healthMultiplier": null,
"healthThreshold": null,
"ipv6": false,
"lastModified": "2014-04-08T18:25:52.000+0000",
"loadImbalancePercentage": null,
"mapName": null,
"maxUnreachablePenalty": null,
"name": "supplies",
"scoreAggregationType": "mean",
"staticTTL": 600,
"stickinessBonusConstant": 0,
"stickinessBonusPercentage": 0,
"type": "failover",
"unreachableThreshold": null,
"useComputedTargets": false,
"livenessTests": [],
"mxRecords": [],
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/properties/supplies",
"rel": "self"
}
],
"trafficTargets": [
{
"datacenterId": 5400,
"enabled": false,
"handoutCName": "supplies.example.com",
"name": null,
"weight": 0.0,
"servers": []
},
{
"datacenterId": 3134,
"enabled": true,
"handoutCName": "winter.supplies.example.com",
"name": null,
"weight": 0.0,
"servers": []
},
{
"datacenterId": 3133,
"enabled": true,
"handoutCName": "redcross.org",
"name": null,
"weight": 0.0,
"servers": []
}
]
},
{
"backupCName": null,
"backupIp": null,
"balanceByDownloadScore": false,
"cname": null,
"comments": null,
"dynamicTTL": 300,
"failbackDelay": 0,
"failoverDelay": 0,
"handoutMode": "normal",
"healthMax": null,
"healthMultiplier": null,
"healthThreshold": null,
"ipv6": false,
"lastModified": "2014-04-08T18:25:52.000+0000",
"loadImbalancePercentage": null,
"mapName": "UK Delivery",
"maxUnreachablePenalty": null,
"name": "shop",
"scoreAggregationType": "mean",
"staticTTL": 600,
"stickinessBonusConstant": 0,
"stickinessBonusPercentage": 0,
"type": "geographic",
"unreachableThreshold": null,
"useComputedTargets": false,
"livenessTests": [],
"mxRecords": [],
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/properties/shop",
"rel": "self"
}
],
"trafficTargets": [
{
"datacenterId": 5400,
"enabled": true,
"handoutCName": "shop.example.com",
"name": null,
"weight": 1.0,
"servers": []
},
{
"datacenterId": 3134,
"enabled": false,
"handoutCName": null,
"name": null,
"weight": 1.0,
"servers": []
},
{
"datacenterId": 3133,
"enabled": true,
"handoutCName": "uk.shop.example.com",
"name": null,
"weight": 1.0,
"servers": []
}
]
}
],
"resources": [
{
"aggregationType": "latest",
"constrainedProperty": "mail",
"decayRate": null,
"description": "CPU utilization",
"hostHeader": null,
"leaderString": null,
"leastSquaresDecay": null,
"loadImbalancePercentage": null,
"maxUMultiplicativeIncrement": null,
"name": "cpu",
"type": "XML load object via HTTP",
"upperBound": 0,
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/resources/cpu",
"rel": "self"
}
],
"resourceInstances": [
{
"datacenterId": 3134,
"loadObject": "/cpu",
"loadObjectPort": 80,
"useDefaultLoadObject": false,
"loadServers": [
"1.2.3.8"
]
},
{
"datacenterId": 3133,
"loadObject": "/cpu",
"loadObjectPort": 80,
"useDefaultLoadObject": false,
"loadServers": [
"1.2.3.7"
]
},
{
"datacenterId": 5400,
"loadObject": null,
"loadObjectPort": 0,
"useDefaultLoadObject": false,
"loadServers": []
}
]
},
{
"aggregationType": "latest",
"constrainedProperty": "**",
"decayRate": null,
"description": "Supply levels of Arbor Gold",
"hostHeader": null,
"leaderString": null,
"leastSquaresDecay": null,
"loadImbalancePercentage": null,
"maxUMultiplicativeIncrement": null,
"name": "arbor-gold",
"type": "Non-XML load object via HTTP",
"upperBound": 0,
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/resources/arbor-gold",
"rel": "self"
}
],
"resourceInstances": [
{
"datacenterId": 3134,
"loadObject": "/cups",
"loadObjectPort": 80,
"useDefaultLoadObject": false,
"loadServers": [
"1.2.3.8"
]
},
{
"datacenterId": 3133,
"loadObject": "/cups",
"loadObjectPort": 80,
"useDefaultLoadObject": false,
"loadServers": [
"1.2.3.7"
]
},
{
"datacenterId": 5400,
"loadObject": null,
"loadObjectPort": 0,
"useDefaultLoadObject": false,
"loadServers": []
}
]
}
]
}
Run List domains, then from the response’s
items
array, store the relevantname
value as thedomainName
parameter.Make a GET request to
/config-gtm/
, which responds with a Domain object.v1/ domains/ {domainName}
Update a domain
Updates a specific GTM domain.
PUT /config-gtm/
Sample: /config-gtm/
Content-Type: application/json
Object type: Domain
Download schema: domain-vnd-config-gtm.v1.0.json
Request body:
{
"defaultSslClientCertificate": null,
"defaultSslClientPrivateKey": null,
"defaultUnreachableThreshold": null,
"lastModified": "2014-04-08T18:25:51.000+0000",
"lastModifiedBy": "admin@example.com",
"loadFeedback": true,
"loadImbalancePercentage": 10.0,
"minPingableRegionFraction": null,
"modificationComments": "CIDRMap example",
"name": "example.akadns.net",
"pingInterval": null,
"roundRobinPrefix": null,
"servermonitorLivenessCount": null,
"servermonitorLoadCount": null,
"type": "full",
"emailNotificationList": [],
"cidrMaps": [
{
"name": "The North",
"defaultDatacenter": {
"datacenterId": 5400,
"nickname": "All Other CIDR Blocks"
},
"assignments": [
{
"datacenterId": 3134,
"nickname": "Frostfangs and the Fist of First Men",
"blocks": [
"1.3.5.9",
"1.2.3.0/24"
]
},
{
"datacenterId": 3133,
"nickname": "Winterfell",
"blocks": [
"1.2.4.0/24"
]
}
]
}
],
"datacenters": [
{
"city": "Doune",
"cloneOf": 0,
"continent": "EU",
"country": "GB",
"datacenterId": 3133,
"latitude": 56.185097,
"longitude": -4.050264,
"nickname": "Winterfell",
"stateOrProvince": "Perthshire",
"virtual": true,
"defaultLoadObject": {
"loadObject": null,
"loadObjectPort": 0,
"loadServers": null
}
},
{
"city": "Sn\u00e6fellsj\u00f6kull",
"cloneOf": 0,
"continent": "EU",
"country": "IS",
"datacenterId": 3134,
"latitude": 64.808,
"longitude": -23.776,
"nickname": "Frostfangs",
"stateOrProvince": null,
"virtual": true,
"defaultLoadObject": {
"loadObject": null,
"loadObjectPort": 0,
"loadServers": null
}
},
{
"city": null,
"cloneOf": 0,
"continent": null,
"country": null,
"datacenterId": 5400,
"latitude": 0.0,
"longitude": 0.0,
"nickname": "Default Datacenter",
"stateOrProvince": null,
"virtual": true,
"defaultLoadObject": {
"loadObject": null,
"loadObjectPort": 0,
"loadServers": null
}
}
],
"geographicMaps": [
{
"name": "UK Delivery",
"defaultDatacenter": {
"datacenterId": 5400,
"nickname": "Default Mapping"
},
"assignments": [
{
"datacenterId": 3133,
"nickname": "UK users",
"countries": [
"GB"
]
}
]
}
],
"properties": [
{
"backupCName": null,
"backupIp": null,
"balanceByDownloadScore": false,
"cname": null,
"comments": null,
"dynamicTTL": 300,
"failbackDelay": 0,
"failoverDelay": 0,
"handoutMode": "normal",
"healthMax": null,
"healthMultiplier": null,
"healthThreshold": null,
"ipv6": false,
"lastModified": "2014-04-08T18:25:52.000+0000",
"mapName": null,
"maxUnreachablePenalty": null,
"name": "www",
"scoreAggregationType": "mean",
"staticTTL": 600,
"stickinessBonusConstant": 0,
"stickinessBonusPercentage": 0,
"type": "failover",
"unreachableThreshold": null,
"useComputedTargets": false,
"mxRecords": [],
"livenessTests": [
{
"disableNonstandardPortWarning": false,
"hostHeader": "foo.example.com",
"httpError3xx": true,
"httpError4xx": true,
"httpError5xx": true,
"name": "health-check",
"requestString": null,
"responseString": null,
"sslClientCertificate": null,
"sslClientPrivateKey": null,
"testInterval": 60,
"testObject": "/status",
"testObjectPassword": null,
"testObjectPort": 80,
"testObjectProtocol": "HTTP",
"testObjectUsername": null,
"testTimeout": 25.0
}
],
"trafficTargets": [
{
"datacenterId": 5400,
"enabled": false,
"handoutCName": null,
"name": null,
"weight": 0.0,
"servers": []
},
{
"datacenterId": 3134,
"enabled": true,
"handoutCName": null,
"name": null,
"weight": 0.0,
"servers": [
"1.2.3.5"
]
},
{
"datacenterId": 3133,
"enabled": true,
"handoutCName": null,
"name": null,
"weight": 1.0,
"servers": [
"1.2.3.4"
]
}
]
},
{
"backupCName": null,
"backupIp": null,
"balanceByDownloadScore": false,
"cname": null,
"comments": null,
"dynamicTTL": 300,
"failbackDelay": 0,
"failoverDelay": 0,
"handoutMode": "normal",
"healthMax": null,
"healthMultiplier": null,
"healthThreshold": null,
"ipv6": true,
"lastModified": "2014-04-08T18:25:52.000+0000",
"mapName": null,
"maxUnreachablePenalty": null,
"name": "mail",
"scoreAggregationType": "mean",
"staticTTL": 600,
"stickinessBonusConstant": 0,
"stickinessBonusPercentage": 0,
"type": "weighted-round-robin",
"unreachableThreshold": null,
"useComputedTargets": false,
"livenessTests": [],
"mxRecords": [],
"trafficTargets": [
{
"datacenterId": 5400,
"enabled": false,
"handoutCName": null,
"name": null,
"weight": 1.0,
"servers": []
},
{
"datacenterId": 3134,
"enabled": true,
"handoutCName": null,
"name": null,
"weight": 1.0,
"servers": [
"2001:4878::5043:4078"
]
},
{
"datacenterId": 3133,
"enabled": true,
"handoutCName": null,
"name": null,
"weight": 1.0,
"servers": [
"2001:4878::5043:4072",
"2001:4878::5043:4071"
]
}
]
},
{
"backupCName": null,
"backupIp": null,
"balanceByDownloadScore": false,
"cname": null,
"comments": null,
"dynamicTTL": 300,
"failbackDelay": 0,
"failoverDelay": 0,
"handoutMode": "normal",
"healthMax": null,
"healthMultiplier": null,
"healthThreshold": null,
"ipv6": false,
"lastModified": "2014-04-08T18:25:52.000+0000",
"loadImbalancePercentage": null,
"mapName": null,
"maxUnreachablePenalty": null,
"name": "supplies",
"scoreAggregationType": "mean",
"staticTTL": 600,
"stickinessBonusConstant": 0,
"stickinessBonusPercentage": 0,
"type": "failover",
"unreachableThreshold": null,
"useComputedTargets": false,
"livenessTests": [],
"mxRecords": [],
"trafficTargets": [
{
"datacenterId": 5400,
"enabled": true,
"handoutCName": "supplies.example.com",
"name": null,
"weight": 1.0,
"servers": []
},
{
"datacenterId": 3134,
"enabled": true,
"handoutCName": "winter.supplies.example.com",
"name": null,
"weight": 0.0,
"servers": []
},
{
"datacenterId": 3133,
"enabled": true,
"handoutCName": "redcross.org",
"name": null,
"weight": 0.0,
"servers": []
}
]
},
{
"backupCName": null,
"backupIp": null,
"balanceByDownloadScore": false,
"cname": null,
"comments": null,
"dynamicTTL": 300,
"failbackDelay": 0,
"failoverDelay": 0,
"handoutMode": "normal",
"healthMax": null,
"healthMultiplier": null,
"healthThreshold": null,
"ipv6": false,
"lastModified": "2014-04-08T18:25:52.000+0000",
"loadImbalancePercentage": null,
"mapName": "UK Delivery",
"maxUnreachablePenalty": null,
"name": "shop",
"scoreAggregationType": "mean",
"staticTTL": 600,
"stickinessBonusConstant": 0,
"stickinessBonusPercentage": 0,
"type": "geographic",
"unreachableThreshold": null,
"useComputedTargets": false,
"livenessTests": [],
"mxRecords": [],
"trafficTargets": [
{
"datacenterId": 5400,
"enabled": true,
"handoutCName": "shop.example.com",
"name": null,
"weight": 1.0,
"servers": []
},
{
"datacenterId": 3134,
"enabled": false,
"handoutCName": null,
"name": null,
"weight": 1.0,
"servers": []
},
{
"datacenterId": 3133,
"enabled": true,
"handoutCName": "uk.shop.example.com",
"name": null,
"weight": 1.0,
"servers": []
}
]
}
],
"resources": [
{
"aggregationType": "latest",
"constrainedProperty": "mail",
"decayRate": null,
"description": "CPU utilization",
"hostHeader": null,
"leaderString": null,
"leastSquaresDecay": null,
"loadImbalancePercentage": null,
"maxUMultiplicativeIncrement": null,
"name": "cpu",
"type": "XML load object via HTTP",
"upperBound": 0,
"resourceInstances": [
{
"datacenterId": 3134,
"loadObject": "/cpu",
"loadObjectPort": 80,
"useDefaultLoadObject": false,
"loadServers": [
"1.2.3.8"
]
},
{
"datacenterId": 3133,
"loadObject": "/cpu",
"loadObjectPort": 80,
"useDefaultLoadObject": false,
"loadServers": [
"1.2.3.7"
]
},
{
"datacenterId": 5400,
"loadObject": null,
"loadObjectPort": 0,
"useDefaultLoadObject": false,
"loadServers": []
}
]
},
{
"aggregationType": "latest",
"constrainedProperty": "**",
"decayRate": null,
"description": "Supply levels of Arbor Gold",
"hostHeader": null,
"leaderString": null,
"leastSquaresDecay": null,
"loadImbalancePercentage": null,
"maxUMultiplicativeIncrement": null,
"name": "arbor-gold",
"type": "Non-XML load object via HTTP",
"upperBound": 0,
"resourceInstances": [
{
"datacenterId": 3134,
"loadObject": "/cups",
"loadObjectPort": 80,
"useDefaultLoadObject": false,
"loadServers": [
"1.2.3.8"
]
},
{
"datacenterId": 3133,
"loadObject": "/cups",
"loadObjectPort": 80,
"useDefaultLoadObject": false,
"loadServers": [
"1.2.3.7"
]
},
{
"datacenterId": 5400,
"loadObject": null,
"loadObjectPort": 0,
"useDefaultLoadObject": false,
"loadServers": []
}
]
}
]
}
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
domainName |
String | example.akadns.net |
The full GTM domain name. |
Optional query parameters | |||
contractId |
String | 1-1TJZFW |
A unique identifier for the contract. If your GTM client credential has access to more than one contract, you need to specify under which contract to provision the domain. For more information, see API concepts. |
gid |
Integer | 15166 |
A unique identifier for the group. If your GTM client credential has access to more than one group, you need to specify which group to assign to the domain. For more information, see API concepts. |
Status 200
application/json
Object type: UpdateResponse
Download schema: property-update-response.json
Response body:
{
"resource": {
"defaultSslClientCertificate": null,
"defaultSslClientPrivateKey": null,
"defaultUnreachableThreshold": null,
"lastModified": "2014-04-08T18:25:51.000+0000",
"lastModifiedBy": "admin@example.com",
"loadFeedback": true,
"loadImbalancePercentage": 10.0,
"minPingableRegionFraction": null,
"modificationComments": "CIDRMap example",
"name": "example.akadns.net",
"pingInterval": null,
"roundRobinPrefix": null,
"servermonitorLivenessCount": null,
"servermonitorLoadCount": null,
"type": "full",
"emailNotificationList": [],
"status": {
"changeId": "5beb11ae-8908-4bfe-8459-e88efc4d2fdc",
"message": "Change Pending",
"passingValidation": true,
"propagationStatus": "PENDING",
"propagationStatusDate": "2014-04-08T18:25:51.000+0000",
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/status/current",
"rel": "self"
}
]
},
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net",
"rel": "self"
},
{
"href": "/config-gtm/v1/domains/example.akadns.net/datacenters",
"rel": "datacenters"
},
{
"href": "/config-gtm/v1/domains/example.akadns.net/properties",
"rel": "properties"
},
{
"href": "/config-gtm/v1/domains/example.akadns.net/geographic-maps",
"rel": "geographic-maps"
},
{
"href": "/config-gtm/v1/domains/example.akadns.net/cidr-maps",
"rel": "cidr-maps"
},
{
"href": "/config-gtm/v1/domains/example.akadns.net/resources",
"rel": "resources"
}
],
"cidrMaps": [
{
"name": "The North",
"defaultDatacenter": {
"datacenterId": 5400,
"nickname": "All Other CIDR Blocks"
},
"assignments": [
{
"datacenterId": 3134,
"nickname": "Frostfangs and the Fist of First Men",
"blocks": [
"1.3.5.9",
"1.2.3.0/24"
]
},
{
"datacenterId": 3133,
"nickname": "Winterfell",
"blocks": [
"1.2.4.0/24"
]
}
],
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/cidr-maps/The%20North",
"rel": "self"
}
]
}
],
"datacenters": [
{
"city": "Doune",
"cloneOf": 0,
"continent": "EU",
"country": "GB",
"datacenterId": 3133,
"latitude": 56.185097,
"longitude": -4.050264,
"nickname": "Winterfell",
"stateOrProvince": "Perthshire",
"virtual": true,
"defaultLoadObject": {
"loadObject": null,
"loadObjectPort": 0,
"loadServers": null
},
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/datacenters/3133",
"rel": "self"
}
]
},
{
"city": "Sn\u00e6fellsj\u00f6kull",
"cloneOf": 0,
"continent": "EU",
"country": "IS",
"datacenterId": 3134,
"latitude": 64.808,
"longitude": -23.776,
"nickname": "Frostfangs",
"stateOrProvince": null,
"virtual": true,
"defaultLoadObject": {
"loadObject": null,
"loadObjectPort": 0,
"loadServers": null
},
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/datacenters/3134",
"rel": "self"
}
]
},
{
"city": null,
"cloneOf": 0,
"continent": null,
"country": null,
"datacenterId": 5400,
"latitude": 0.0,
"longitude": 0.0,
"nickname": "Default Datacenter",
"stateOrProvince": null,
"virtual": true,
"defaultLoadObject": {
"loadObject": null,
"loadObjectPort": 0,
"loadServers": null
},
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/datacenters/5400",
"rel": "self"
}
]
}
],
"geographicMaps": [
{
"name": "UK Delivery",
"defaultDatacenter": {
"datacenterId": 5400,
"nickname": "Default Mapping"
},
"assignments": [
{
"datacenterId": 3133,
"nickname": "UK users",
"countries": [
"GB"
]
}
],
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/geographic-maps/UK%20Delivery",
"rel": "self"
}
]
}
],
"properties": [
{
"backupCName": null,
"backupIp": null,
"balanceByDownloadScore": false,
"cname": null,
"comments": null,
"dynamicTTL": 300,
"failbackDelay": 0,
"failoverDelay": 0,
"handoutMode": "normal",
"healthMax": null,
"healthMultiplier": null,
"healthThreshold": null,
"ipv6": false,
"lastModified": "2014-04-08T18:25:52.000+0000",
"mapName": null,
"maxUnreachablePenalty": null,
"name": "www",
"scoreAggregationType": "mean",
"staticTTL": 600,
"stickinessBonusConstant": 0,
"stickinessBonusPercentage": 0,
"type": "failover",
"unreachableThreshold": null,
"useComputedTargets": false,
"mxRecords": [],
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/properties/www",
"rel": "self"
}
],
"livenessTests": [
{
"disableNonstandardPortWarning": false,
"hostHeader": "foo.example.com",
"httpError3xx": true,
"httpError4xx": true,
"httpError5xx": true,
"name": "health-check",
"requestString": null,
"responseString": null,
"sslClientCertificate": null,
"sslClientPrivateKey": null,
"testInterval": 60,
"testObject": "/status",
"testObjectPassword": null,
"testObjectPort": 80,
"testObjectProtocol": "HTTP",
"testObjectUsername": null,
"testTimeout": 25.0,
"links": []
}
],
"trafficTargets": [
{
"datacenterId": 5400,
"enabled": false,
"handoutCName": null,
"name": null,
"weight": 0.0,
"servers": []
},
{
"datacenterId": 3134,
"enabled": true,
"handoutCName": null,
"name": null,
"weight": 0.0,
"servers": [
"1.2.3.5"
]
},
{
"datacenterId": 3133,
"enabled": true,
"handoutCName": null,
"name": null,
"weight": 1.0,
"servers": [
"1.2.3.4"
]
}
]
},
{
"backupCName": null,
"backupIp": null,
"balanceByDownloadScore": false,
"cname": null,
"comments": null,
"dynamicTTL": 300,
"failbackDelay": 0,
"failoverDelay": 0,
"handoutMode": "normal",
"healthMax": null,
"healthMultiplier": null,
"healthThreshold": null,
"ipv6": true,
"lastModified": "2014-04-08T18:25:52.000+0000",
"mapName": null,
"maxUnreachablePenalty": null,
"name": "mail",
"scoreAggregationType": "mean",
"staticTTL": 600,
"stickinessBonusConstant": 0,
"stickinessBonusPercentage": 0,
"type": "weighted-round-robin",
"unreachableThreshold": null,
"useComputedTargets": false,
"livenessTests": [],
"mxRecords": [],
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/properties/mail",
"rel": "self"
}
],
"trafficTargets": [
{
"datacenterId": 5400,
"enabled": false,
"handoutCName": null,
"name": null,
"weight": 1.0,
"servers": []
},
{
"datacenterId": 3134,
"enabled": true,
"handoutCName": null,
"name": null,
"weight": 1.0,
"servers": [
"2001:4878::5043:4078"
]
},
{
"datacenterId": 3133,
"enabled": true,
"handoutCName": null,
"name": null,
"weight": 1.0,
"servers": [
"2001:4878::5043:4072",
"2001:4878::5043:4071"
]
}
]
},
{
"backupCName": null,
"backupIp": null,
"balanceByDownloadScore": false,
"cname": null,
"comments": null,
"dynamicTTL": 300,
"failbackDelay": 0,
"failoverDelay": 0,
"handoutMode": "normal",
"healthMax": null,
"healthMultiplier": null,
"healthThreshold": null,
"ipv6": false,
"lastModified": "2014-04-08T18:25:52.000+0000",
"loadImbalancePercentage": null,
"mapName": null,
"maxUnreachablePenalty": null,
"name": "supplies",
"scoreAggregationType": "mean",
"staticTTL": 600,
"stickinessBonusConstant": 0,
"stickinessBonusPercentage": 0,
"type": "failover",
"unreachableThreshold": null,
"useComputedTargets": false,
"livenessTests": [],
"mxRecords": [],
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/properties/supplies",
"rel": "self"
}
],
"trafficTargets": [
{
"datacenterId": 5400,
"enabled": true,
"handoutCName": "supplies.example.com",
"name": null,
"weight": 1.0,
"servers": []
},
{
"datacenterId": 3134,
"enabled": true,
"handoutCName": "winter.supplies.example.com",
"name": null,
"weight": 0.0,
"servers": []
},
{
"datacenterId": 3133,
"enabled": true,
"handoutCName": "redcross.org",
"name": null,
"weight": 0.0,
"servers": []
}
]
},
{
"backupCName": null,
"backupIp": null,
"balanceByDownloadScore": false,
"cname": null,
"comments": null,
"dynamicTTL": 300,
"failbackDelay": 0,
"failoverDelay": 0,
"handoutMode": "normal",
"healthMax": null,
"healthMultiplier": null,
"healthThreshold": null,
"ipv6": false,
"lastModified": "2014-04-08T18:25:52.000+0000",
"loadImbalancePercentage": null,
"mapName": "UK Delivery",
"maxUnreachablePenalty": null,
"name": "shop",
"scoreAggregationType": "mean",
"staticTTL": 600,
"stickinessBonusConstant": 0,
"stickinessBonusPercentage": 0,
"type": "geographic",
"unreachableThreshold": null,
"useComputedTargets": false,
"livenessTests": [],
"mxRecords": [],
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/properties/shop",
"rel": "self"
}
],
"trafficTargets": [
{
"datacenterId": 5400,
"enabled": true,
"handoutCName": "shop.example.com",
"name": null,
"weight": 1.0,
"servers": []
},
{
"datacenterId": 3134,
"enabled": false,
"handoutCName": null,
"name": null,
"weight": 1.0,
"servers": []
},
{
"datacenterId": 3133,
"enabled": true,
"handoutCName": "uk.shop.example.com",
"name": null,
"weight": 1.0,
"servers": []
}
]
}
],
"resources": [
{
"aggregationType": "latest",
"constrainedProperty": "mail",
"decayRate": null,
"description": "CPU utilization",
"hostHeader": null,
"leaderString": null,
"leastSquaresDecay": null,
"loadImbalancePercentage": null,
"maxUMultiplicativeIncrement": null,
"name": "cpu",
"type": "XML load object via HTTP",
"upperBound": 0,
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/resources/cpu",
"rel": "self"
}
],
"resourceInstances": [
{
"datacenterId": 3134,
"loadObject": "/cpu",
"loadObjectPort": 80,
"useDefaultLoadObject": false,
"loadServers": [
"1.2.3.8"
]
},
{
"datacenterId": 3133,
"loadObject": "/cpu",
"loadObjectPort": 80,
"useDefaultLoadObject": false,
"loadServers": [
"1.2.3.7"
]
},
{
"datacenterId": 5400,
"loadObject": null,
"loadObjectPort": 0,
"useDefaultLoadObject": false,
"loadServers": []
}
]
},
{
"aggregationType": "latest",
"constrainedProperty": "**",
"decayRate": null,
"description": "Supply levels of Arbor Gold",
"hostHeader": null,
"leaderString": null,
"leastSquaresDecay": null,
"loadImbalancePercentage": null,
"maxUMultiplicativeIncrement": null,
"name": "arbor-gold",
"type": "Non-XML load object via HTTP",
"upperBound": 0,
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/resources/arbor-gold",
"rel": "self"
}
],
"resourceInstances": [
{
"datacenterId": 3134,
"loadObject": "/cups",
"loadObjectPort": 80,
"useDefaultLoadObject": false,
"loadServers": [
"1.2.3.8"
]
},
{
"datacenterId": 3133,
"loadObject": "/cups",
"loadObjectPort": 80,
"useDefaultLoadObject": false,
"loadServers": [
"1.2.3.7"
]
},
{
"datacenterId": 5400,
"loadObject": null,
"loadObjectPort": 0,
"useDefaultLoadObject": false,
"loadServers": []
}
]
}
]
},
"status": {
"changeId": "5beb11ae-8908-4bfe-8459-e88efc4d2fdc",
"message": "Change Pending",
"passingValidation": true,
"propagationStatus": "PENDING",
"propagationStatusDate": "2014-04-08T18:25:51.000+0000",
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/status/current",
"rel": "self"
}
]
}
}
Run List domains, then from the response’s
items
array, store the relevantname
value as thedomainName
parameter.Make a GET request to
/config-gtm/
, which responds with a Domain object.v1/ domains/ {domainName} Modify the Domain object.
PUT the object back to the same URL.
This operation responds with an UpdateResponse object that provides details about the changes made to the domain.
List resources
Returns a list of resources created within the domain that constrain one or more properties in a data center.
GET /config-gtm/
Sample: /config-gtm/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
domainName |
String | example.akadns.net |
The full GTM domain name. |
Status 200
application/json
Object type: Resource
Download schema: resource.json
Response body:
{
"items": [
{
"aggregationType": "latest",
"constrainedProperty": "**",
"decayRate": null,
"description": "Supply levels of Arbor Gold",
"hostHeader": null,
"leaderString": null,
"leastSquaresDecay": null,
"loadImbalancePercentage": null,
"maxUMultiplicativeIncrement": null,
"name": "arbor-gold",
"type": "Non-XML load object via HTTP",
"upperBound": 0,
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/resources/arbor-gold",
"rel": "self"
}
],
"resourceInstances": [
{
"datacenterId": 3134,
"loadObject": "/cups",
"loadObjectPort": 80,
"useDefaultLoadObject": false,
"loadServers": [
"1.2.3.8"
]
},
{
"datacenterId": 3133,
"loadObject": "/cups",
"loadObjectPort": 80,
"useDefaultLoadObject": false,
"loadServers": [
"1.2.3.7"
]
}
]
}
]
}
Run List domains, then from the response’s
items
array, store thename
value as thedomainName
parameter.Make a GET request to
/config-gtm/
, which responds with an array of Resource objects.v1/ domains/ {domainName}/ resources
Get a resource
Returns information for a specific resource.
GET /config-gtm/
Sample: /config-gtm/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
domainName |
String | example.akadns.net |
The full GTM domain name. |
resourceName |
String | cpu |
Name of the resource to create or update. |
Status 200
application/json
Object type: Resource
Download schema: resource.json
Response body:
{
"aggregationType": "latest",
"constrainedProperty": "**",
"decayRate": null,
"description": "Supply levels of Arbor Gold",
"hostHeader": null,
"leaderString": null,
"leastSquaresDecay": null,
"loadImbalancePercentage": null,
"maxUMultiplicativeIncrement": null,
"name": "arbor-gold",
"type": "Non-XML load object via HTTP",
"upperBound": 0,
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/resources/arbor-gold",
"rel": "self"
}
],
"resourceInstances": [
{
"datacenterId": 3134,
"loadObject": "/cups",
"loadObjectPort": 80,
"useDefaultLoadObject": false,
"loadServers": [
"1.2.3.8"
]
},
{
"datacenterId": 3133,
"loadObject": "/cups",
"loadObjectPort": 80,
"useDefaultLoadObject": false,
"loadServers": [
"1.2.3.7"
]
}
]
}
Run List domains, then from the response’s
items
array, store the relevantname
value as thedomainName
parameter.Run List resources, then from the response’s
items
array, store the relevantname
value as theresourceName
parameter.Make a GET request to
/config-gtm/
, which responds with a Resource object.v1/ domains/ {domainName}/ resources/ {resourceName}
Create or update a resource
Run this operation to create or update a resource.
PUT /config-gtm/
Sample: /config-gtm/
Content-Type: application/json
Object type: Resource
Download schema: resource.json
Request body:
{
"aggregationType": "latest",
"constrainedProperty": "mail",
"decayRate": null,
"description": "Disk utilization",
"hostHeader": null,
"leaderString": null,
"leastSquaresDecay": null,
"loadImbalancePercentage": null,
"maxUMultiplicativeIncrement": null,
"name": "disk",
"type": "XML load object via HTTP",
"upperBound": 0,
"resourceInstances": [
{
"datacenterId": 3134,
"loadObject": "/disk",
"loadObjectPort": 80,
"useDefaultLoadObject": false,
"loadServers": [
"1.2.3.9"
]
},
{
"datacenterId": 3133,
"loadObject": "/disk",
"loadObjectPort": 80,
"useDefaultLoadObject": false,
"loadServers": [
"1.2.3.10"
]
}
]
}
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
domainName |
String | example.akadns.net |
The full GTM domain name. |
resourceName |
String | cpu |
Name of the resource to create or update. |
Status 200
application/json
Object type: Resource
Download schema: resource.json
Response body:
{
"resource": {
"aggregationType": "latest",
"constrainedProperty": "mail",
"decayRate": null,
"description": "Disk utilization",
"hostHeader": null,
"leaderString": null,
"leastSquaresDecay": null,
"loadImbalancePercentage": null,
"maxUMultiplicativeIncrement": null,
"name": "disk",
"type": "XML load object via HTTP",
"upperBound": 0,
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/resources/disk",
"rel": "self"
}
],
"resourceInstances": [
{
"datacenterId": 3134,
"loadObject": "/disk",
"loadObjectPort": 80,
"useDefaultLoadObject": false,
"loadServers": [
"1.2.3.9"
]
},
{
"datacenterId": 3133,
"loadObject": "/disk",
"loadObjectPort": 80,
"useDefaultLoadObject": false,
"loadServers": [
"1.2.3.10"
]
}
]
},
"status": {
"changeId": "79255c00-f6b6-48ea-9d67-c6d02a8742c9",
"message": "Change Pending",
"passingValidation": true,
"propagationStatus": "PENDING",
"propagationStatusDate": "2014-04-15T11:30:27.000+0000",
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/status/current",
"rel": "self"
}
]
}
}
Run List domains, then from the response’s
items
array, store the relevantname
value as thedomainName
parameter.Run List resources.
Decide which
resourceName
you want to create or modify.
If resourceName
does not appear as the name
within one of the
objects in the response’s items
array and you want to create a new
resource with that name
:
Build a new Resource object.
PUT the object to
/config-gtm/
, which responds with a Resource object.v1/ domains/ {domainName}/ resources/ {resourceName}
If resourceName
appears in the response as the name
within one of
the objects in items
array and you want to modify it:
Make a GET request to
/config-gtm/
, which responds with a Resource object.v1/ domains/ {domainName}/ resources/ {resourceName} Modify the Resource object.
PUT the object back to the same URL.
This operation responds with an UpdateResponse object that provides details about the changes made to the resource.
Remove a resource
Removes a specific resource.
DELETE /config-gtm/
Sample: /config-gtm/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
domainName |
String | example.akadns.net |
The full GTM domain name. |
resourceName |
String | cpu |
Name of the resource to create or update. |
Status 200
application/json
Object type: UpdateResponse
Download schema: resource-update-response.json
Response body:
{
"resource": null,
"status": {
"changeId": "a97bedfe-c997-4634-84a4-cdb31529fb4c",
"message": "Change Pending",
"passingValidation": true,
"propagationStatus": "PENDING",
"propagationStatusDate": "2014-04-08T13:44:53.000+0000",
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/status/current",
"rel": "self"
}
]
}
}
Run List domains, then from the response’s
items
array, store the relevantname
value as thedomainName
parameter.Run List resources, then from the response’s
items
array, store the relevantname
value as theresourceName
parameter.Make a DELETE request to
/config-gtm/
, which responds with an UpdateResponse object.v1/ domains/ {domainName}/ resources/ {resourceName}
List properties
Returns a list of GTM properties.
GET /config-gtm/
Sample: /config-gtm/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
domainName |
String | example.akadns.net |
The full GTM domain name. |
Status 200
application/json
Object type: Property
Download schema: property-list.json
Response body:
{
"items": [
{
"balanceByDownloadScore": false,
"dynamicTTL": 300,
"failbackDelay": 0,
"failoverDelay": 0,
"handoutMode": "normal",
"ipv6": false,
"lastModified": "2014-04-07T16:21:27.000+0000",
"name": "www",
"scoreAggregationType": "mean",
"staticTTL": 600,
"stickinessBonusConstant": 0,
"stickinessBonusPercentage": 0,
"type": "failover",
"useComputedTargets": false,
"mxRecords": [],
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/properties/www",
"rel": "self"
}
],
"livenessTests": [
{
"disableNonstandardPortWarning": false,
"hostHeader": "foo.example.com",
"httpError3xx": true,
"httpError4xx": true,
"httpError5xx": true,
"name": "health-check",
"testInterval": 60,
"testObject": "/status",
"testObjectPort": 80,
"testObjectProtocol": "HTTP",
"testTimeout": 25.0
}
],
"trafficTargets": [
{
"datacenterId": 3134,
"enabled": true,
"weight": 0.0,
"servers": [
"1.2.3.5"
]
},
{
"datacenterId": 3133,
"enabled": true,
"weight": 1.0,
"servers": [
"1.2.3.4"
]
}
]
},
{
"balanceByDownloadScore": false,
"dynamicTTL": 300,
"failbackDelay": 0,
"failoverDelay": 0,
"handoutMode": "normal",
"ipv6": true,
"lastModified": "2014-04-07T16:21:27.000+0000",
"name": "mail",
"scoreAggregationType": "mean",
"staticTTL": 600,
"stickinessBonusConstant": 0,
"stickinessBonusPercentage": 0,
"type": "weighted-round-robin",
"useComputedTargets": false,
"livenessTests": [],
"mxRecords": [],
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/properties/mail",
"rel": "self"
}
],
"trafficTargets": [
{
"datacenterId": 3134,
"enabled": true,
"weight": 1.0,
"servers": [
"2001:4878::5043:4078"
]
},
{
"datacenterId": 3133,
"enabled": true,
"weight": 1.0,
"servers": [
"2001:4878::5043:4072",
"2001:4878::5043:4071"
]
}
]
}
]
}
Run List domains, then from the response’s
items
array, store thename
value as thedomainName
parameter.Make a GET request to
/config-gtm/
, which responds with an array of Property objects.v1/ domains/ {domainName}/ properties
Get a property
Returns information for a specific GTM property.
GET /config-gtm/
Sample: /config-gtm/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
domainName |
String | example.akadns.net |
The full GTM domain name. |
propertyName |
String | www |
A unique name for the property that when joined to the domainName with a dot (. ) separator, it forms a valid RFC 1123 hostname. |
Status 200
application/json
Object type: Property
Download schema: property-vnd-config-gtm.v1.0.json
Response body:
{
"backupCName": null,
"backupIp": null,
"balanceByDownloadScore": false,
"cname": null,
"comments": null,
"dynamicTTL": 300,
"failbackDelay": 0,
"failoverDelay": 0,
"handoutMode": "normal",
"healthMax": null,
"healthMultiplier": null,
"healthThreshold": null,
"ipv6": false,
"lastModified": "2014-04-08T15:11:10.000+0000",
"loadImbalancePercentage": null,
"mapName": null,
"maxUnreachablePenalty": null,
"name": "www",
"scoreAggregationType": "mean",
"staticTTL": 600,
"stickinessBonusConstant": 0,
"stickinessBonusPercentage": 0,
"type": "failover",
"unreachableThreshold": null,
"useComputedTargets": false,
"mxRecords": [],
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/properties/www",
"rel": "self"
}
],
"livenessTests": [
{
"disableNonstandardPortWarning": false,
"hostHeader": "foo.example.com",
"httpError3xx": true,
"httpError4xx": true,
"httpError5xx": true,
"name": "health-check",
"requestString": null,
"responseString": null,
"sslClientCertificate": null,
"sslClientPrivateKey": null,
"testInterval": 60,
"testObject": "/status",
"testObjectPassword": null,
"testObjectPort": 80,
"testObjectProtocol": "HTTP",
"testObjectUsername": null,
"testTimeout": 25.0
}
],
"trafficTargets": [
{
"datacenterId": 3134,
"enabled": true,
"handoutCName": null,
"name": null,
"weight": 0.0,
"servers": [
"1.2.3.5"
]
},
{
"datacenterId": 3133,
"enabled": true,
"handoutCName": null,
"name": null,
"weight": 1.0,
"servers": [
"1.2.3.4"
]
}
]
}
Run List domains, then from the response’s
items
array, store the relevantname
value as thedomainName
parameter.Run List properties, then from the response’s
items
array, store the relevantname
value as thepropertyName
parameter.Make a GET request to
/config-gtm/
, which responds with a Property object.v1/ domains/ {domainName}/ properties/ {propertyName}
Create or update a property
Run this operation to create or update a GTM property.
PUT /config-gtm/
Sample: /config-gtm/
Content-Type: application/json
Object type: Property
Download schema: property-vnd-config-gtm.v1.0.json
Request body:
{
"balanceByDownloadScore": false,
"failbackDelay": 0,
"failoverDelay": 0,
"handoutMode": "normal",
"healthMax": null,
"healthMultiplier": null,
"healthThreshold": null,
"ipv6": false,
"name": "origin",
"scoreAggregationType": "mean",
"staticTTL": 600,
"stickinessBonusConstant": 0,
"stickinessBonusPercentage": 0,
"type": "weighted-round-robin",
"useComputedTargets": false,
"mxRecords": [],
"livenessTests": [
{
"disableNonstandardPortWarning": false,
"hostHeader": "foo.example.com",
"httpError3xx": true,
"httpError4xx": true,
"httpError5xx": true,
"name": "health-check",
"requestString": null,
"responseString": null,
"sslClientCertificate": null,
"sslClientPrivateKey": null,
"testInterval": 60,
"testObject": "/status",
"testObjectPassword": null,
"testObjectPort": 80,
"testObjectProtocol": "HTTP",
"testObjectUsername": null,
"testTimeout": 25.0
}
],
"trafficTargets": [
{
"datacenterId": 3134,
"enabled": true,
"weight": 50.0,
"servers": [
"1.2.3.5"
]
},
{
"datacenterId": 3133,
"enabled": true,
"weight": 50.0,
"servers": [
"1.2.3.4"
]
}
]
}
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
domainName |
String | example.akadns.net |
The full GTM domain name. |
propertyName |
String | www |
A unique name for the property that when joined to the domainName with a dot (. ) separator, it forms a valid RFC 1123 hostname. |
Status 201
application/json
Object type: UpdateResponse
Download schema: property-update-response.json
Response body:
{
"resource": {
"backupCName": null,
"backupIp": null,
"balanceByDownloadScore": false,
"cname": null,
"comments": null,
"dynamicTTL": 300,
"failbackDelay": 0,
"failoverDelay": 0,
"handoutMode": "normal",
"healthMax": null,
"healthMultiplier": null,
"healthThreshold": null,
"ipv6": false,
"lastModified": null,
"loadImbalancePercentage": null,
"mapName": null,
"maxUnreachablePenalty": null,
"name": "origin",
"scoreAggregationType": "mean",
"staticTTL": 600,
"stickinessBonusConstant": 0,
"stickinessBonusPercentage": 0,
"type": "weighted-round-robin",
"unreachableThreshold": null,
"useComputedTargets": false,
"mxRecords": [],
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/properties/origin",
"rel": "self"
}
],
"livenessTests": [
{
"disableNonstandardPortWarning": false,
"hostHeader": "foo.example.com",
"httpError3xx": true,
"httpError4xx": true,
"httpError5xx": true,
"name": "health-check",
"requestString": null,
"responseString": null,
"sslClientCertificate": null,
"sslClientPrivateKey": null,
"testInterval": 60,
"testObject": "/status",
"testObjectPassword": null,
"testObjectPort": 80,
"testObjectProtocol": "HTTP",
"testObjectUsername": null,
"testTimeout": 25.0
}
],
"trafficTargets": [
{
"datacenterId": 3134,
"enabled": true,
"handoutCName": null,
"name": null,
"weight": 50.0,
"servers": [
"1.2.3.5"
]
},
{
"datacenterId": 3133,
"enabled": true,
"handoutCName": null,
"name": null,
"weight": 50.0,
"servers": [
"1.2.3.4"
]
}
]
},
"status": {
"changeId": "eee0c3b4-0e45-4f4b-822c-7dbc60764d18",
"message": "Change Pending",
"passingValidation": true,
"propagationStatus": "PENDING",
"propagationStatusDate": "2014-04-15T11:30:27.000+0000",
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/status/current",
"rel": "self"
}
]
}
}
Run List domains, then from the response’s
items
array, store the relevantname
value as thedomainName
parameter.Run List properties.
Decide which
propertyName
you want to create or modify.
If propertyName
does not appear as the name
within one of the
objects in the response’s items
array and you want to create a new
property with that name
:
If you need a
datacenterId
value, run List data centers, then select one from the list.Build a new Property object.
PUT the object to
/config-gtm/
, which reflects back the new Property object.v1/ domains/ {domainName}/ properties/ {propertyName}
If propertyName
appears in the response as the name
within one of
the objects in items
array and you want to modify it:
Make a GET request to
/config-gtm/
, which responds with a Property object.v1/ domains/ {domainName}/ properties/ {propertyName} Modify the Property object.
PUT the object back to the same URL.
This operation responds with an UpdateResponse object that provides details about the changes made to the property.
Remove a property
Removes a specific GTM property.
DELETE /config-gtm/
Sample: /config-gtm/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
domainName |
String | example.akadns.net |
The full GTM domain name. |
propertyName |
String | www |
A unique name for the property that when joined to the domainName with a dot (. ) separator, it forms a valid RFC 1123 hostname. |
Status 200
application/json
Object type: UpdateResponse
Download schema: property-update-response.json
Response body:
{
"resource": null,
"status": {
"changeId": "426e9ea3-c968-47df-a41b-43a993c6f873",
"message": "Change Pending",
"passingValidation": true,
"propagationStatus": "PENDING",
"propagationStatusDate": "2014-04-08T12:52:46.000+0000",
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/status/current",
"rel": "self"
}
]
}
}
Run List domains, then from the response’s
items
array, store the relevantname
value as thedomainName
parameter.Run List properties, then from the response’s
items
array, store the relevantname
value as thepropertyName
parameter.Make a DELETE request to
/config-gtm/
, which responds with an UpdateResponse object.v1/ domains/ {domainName}/ properties/ {propertyName}
List CIDR maps
Returns a list of CIDR maps.
GET /config-gtm/
Sample: /config-gtm/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
domainName |
String | example.akadns.net |
The full GTM domain name. |
Status 200
application/json
Object type: CidrMap
Download schema: cidr-map-list.json
Response body:
{
"items": [
{
"name": "The North",
"defaultDatacenter": {
"datacenterId": 5400,
"nickname": "All Other CIDR Blocks"
},
"assignments": [
{
"datacenterId": 3134,
"nickname": "Frostfangs and the Fist of First Men",
"blocks": [
"1.2.3.0/24"
]
},
{
"datacenterId": 3133,
"nickname": "Winterfell",
"blocks": [
"1.2.4.0/24"
]
}
],
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/cidr-maps/The%20North",
"rel": "self"
}
]
}
]
}
Run List domains, then from the response’s
items
array, store thename
value as thedomainName
parameter.Make a GET request to
/config-gtm/
, which responds with an array of CidrMap objects.v1/ domains/ {domainName}/ cidr-maps
Get a CIDR map
Returns information for a specific CIDR map.
GET /config-gtm/
Sample: /config-gtm/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
domainName |
String | example.akadns.net |
The full GTM domain name. |
mapName |
String | Software-rollout |
Unique name for the CIDR map. |
Status 200
application/json
Object type: Property
Download schema: property-vnd-config-gtm.v1.0.json
Response body:
{
"name": "The North",
"defaultDatacenter": {
"datacenterId": 5400,
"nickname": "All Other CIDR Blocks"
},
"assignments": [
{
"datacenterId": 3134,
"nickname": "Frostfangs and the Fist of First Men",
"blocks": [
"1.2.3.0/24"
]
},
{
"datacenterId": 3133,
"nickname": "Winterfell",
"blocks": [
"1.2.4.0/24"
]
}
],
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/cidr-maps/The%20North",
"rel": "self"
}
]
}
Run List domains, then from the response’s
items
array, store the relevantname
value as thedomainName
parameter.Run List CIDR maps, then from the response’s
items
array, store the relevantname
value as themapName
parameter.Make a GET request to
/config-gtm/
, which responds with a CidrMap object.v1/ domains/ {domainName}/ cidr-maps/ {mapName}
Create or update a CIDR map
Run this operation to create or update a CIDR map.
PUT /config-gtm/
Sample: /config-gtm/
Content-Type: application/json
Object type: CidrMap
Download schema: cidr-map.json
Request body:
{
"name": "The North",
"defaultDatacenter": {
"datacenterId": 5400,
"nickname": "All Other CIDR Blocks"
},
"assignments": [
{
"datacenterId": 3134,
"nickname": "Frostfangs and the Fist of First Men",
"blocks": [
"1.3.5.9",
"1.2.3.0/24"
]
},
{
"datacenterId": 3133,
"nickname": "Winterfell",
"blocks": [
"1.2.4.0/24"
]
}
]
}
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
domainName |
String | example.akadns.net |
The full GTM domain name. |
mapName |
String | Software-rollout |
Unique name for the CIDR map. |
Status 200
application/json
Object type: UpdateResponse
Download schema: cidr-map-update-response.json
Response body:
{
"resource": {
"name": "The North",
"defaultDatacenter": {
"datacenterId": 5400,
"nickname": "All Other CIDR Blocks"
},
"assignments": [
{
"datacenterId": 3134,
"nickname": "Frostfangs and the Fist of First Men",
"blocks": [
"1.3.5.9",
"1.2.3.0/24"
]
},
{
"datacenterId": 3133,
"nickname": "Winterfell",
"blocks": [
"1.2.4.0/24"
]
}
],
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/cidr-maps/The%2520North",
"rel": "self"
}
]
},
"status": {
"changeId": "93a48b86-4fc3-4a5f-9ca2-036835034cc6",
"message": "Change Pending",
"passingValidation": true,
"propagationStatus": "PENDING",
"propagationStatusDate": "2014-04-15T11:30:27.000+0000",
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/status/current",
"rel": "self"
}
]
}
}
Run List domains, then from the response’s
items
array, store the relevantname
value as thedomainName
parameter.Run List CIDR maps.
Decide which
mapName
you want to create or modify.
If mapName
does not appear in the response as the name
within one
of the objects in the items
array and you want to create a new CIDR
map with that name
:
If you need a
datacenterId
value, run List data centers, then select one from the list.Build a new CidrMap object.
PUT the object to
/config-gtm/
, which reflects back the new CidrMap object.v1/ domains/ {domainName}/ cidr-maps/ {mapName}
If mapName
appears in the response as the name
within one of the
objects in items
array and you want to modify it:
Make a GET request to
/config-gtm/
, which responds with a CidrMap object.v1/ domains/ {domainName}/ cidr-maps/ {mapName} Modify the CidrMap object.
PUT the object back to the same URL.
This operation responds with an UpdateResponse object that provides details about the changes made to the CIDR map.
Remove a CIDR map
Removes a specific CIDR map.
DELETE /config-gtm/
Sample: /config-gtm/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
domainName |
String | example.akadns.net |
The full GTM domain name. |
mapName |
String | Software-rollout |
Unique name for the CIDR map. |
Status 200
application/json
Object type: UpdateResponse
Download schema: cidr-map-update-response.json
Response body:
{
"resource": null,
"status": {
"changeId": "5beb11ae-8908-4bfe-8459-e88efc4d2fdc",
"message": "Change Pending",
"passingValidation": true,
"propagationStatus": "PENDING",
"propagationStatusDate": "2014-04-08T18:25:51.000+0000",
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/status/current",
"rel": "self"
}
]
}
}
Run List domains, then from the response’s
items
array, store the relevantname
value as thedomainName
parameter.Run List CIDR maps, then from the response’s
items
array, store the relevantname
value as themapName
parameter.Make a DELETE request to
/config-gtm/
, which responds with an UpdateResponse object.v1/ domains/ {domainName}/ cidr-maps/ {mapName}
List AS maps
Returns a list of AS maps.
GET /config-gtm/
Status 200
application/json
Object type: CidrMap
Download schema: cidr-map-list.json
Response body:
{
"items": [
{
"name": "The North",
"defaultDatacenter": {
"datacenterId": 5400,
"nickname": "All Other AS numbers"
},
"assignments": [
{
"datacenterId": 3134,
"nickname": "Frostfangs and the Fist of First Men",
"asNumbers": [
12222,
16702,
17334
]
},
{
"datacenterId": 3133,
"nickname": "Winterfell",
"asNumbers": [
16625
]
}
],
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/as-maps/The%20North",
"rel": "self"
}
]
}
]
}
Run List domains, then from the response’s
items
array, store thename
value as thedomainName
parameter.Make a GET request to
/config-gtm/
, which responds with an array of AsMap objects.v1/ domains/ {domainName}/ as-maps
Get an AS map
Returns information for a specific AS map.
GET /config-gtm/
Sample: /config-gtm/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
domainName |
String | example.akadns.net |
The full GTM domain name. |
mapName |
String | Software-rollout |
Unique name for the AS map. |
Status 200
application/json
Object type: AsMap
Download schema: as-map.json
Response body:
{
"name": "The North",
"defaultDatacenter": {
"datacenterId": 5400,
"nickname": "All Other AS numbers"
},
"assignments": [
{
"datacenterId": 3134,
"nickname": "Frostfangs and the Fist of First Men",
"asNumbers": [
12222,
16702,
17334
]
},
{
"datacenterId": 3133,
"nickname": "Winterfell",
"asNumbers": [
16625
]
}
],
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/as-maps/The%20North",
"rel": "self"
}
]
}
Run List domains, then from the response’s
items
array, store the relevantname
value as thedomainName
parameter.Run List AS maps, then from the response’s
items
array, store the relevantname
value as themapName
parameter.Make a GET request to
/config-gtm/
, which responds with an AsMap object.v1/ domains/ {domainName}/ as-maps/ {mapName}
Create or update an AS map
Run this operation to create or update an AS map.
PUT /config-gtm/
Sample: /config-gtm/
Content-Type: application/json
Object type: AsMap
Download schema: as-map.json
Request body:
{
"name": "The North",
"defaultDatacenter": {
"datacenterId": 5400,
"nickname": "All Other AS numbers"
},
"assignments": [
{
"datacenterId": 3134,
"nickname": "Frostfangs and the Fist of First Men",
"asNumbers": [
12222,
16702,
17334
]
},
{
"datacenterId": 3133,
"nickname": "Winterfell",
"asNumbers": [
16625
]
}
],
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/as-maps/The%20North",
"rel": "self"
}
]
}
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
domainName |
String | example.akadns.net |
The full GTM domain name. |
mapName |
String | Software-rollout |
Unique name for the AS map. |
Status 200
application/json
Object type: UpdateResponse
Download schema: as-map-update-response.json
Response body:
{
"resource": {
"name": "The North",
"defaultDatacenter": {
"datacenterId": 5400,
"nickname": "All Other AS Numbers"
},
"assignments": [
{
"datacenterId": 3134,
"nickname": "Frostfangs and the Fist of First Men",
"asNumbers": [
16625
]
},
{
"datacenterId": 3133,
"nickname": "Winterfell",
"asNumbers": [
12222,
16702,
17334
]
}
]
},
"status": {
"changeId": "bd69be9b-ff44-433d-bff8-ae00d270ea33",
"message": "Change Pending",
"passingValidation": true,
"propagationStatus": "PENDING",
"propagationStatusDate": "2014-04-15T11:30:27.000+0000",
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/status/current",
"rel": "self"
}
]
}
}
Run List domains, then from the response’s
items
array, store the relevantname
value as thedomainName
parameter.Run List AS maps.
Decide which
mapName
you want to create or modify.
If mapName
does not appear in the response as the name
within one
of the objects in the items
array and you want to create a new AS
map with that name
:
If you need a
datacenterId
value, run List data centers, then select one from the list.Build a new AsMap object.
PUT the object to
/config-gtm/
, which reflects back the new AsMap object.v1/ domains/ {domainName}/ as-maps/ {mapName}
If mapName
appears in the response as the name
within one of the
objects in the items
array and you want to modify it:
Make a GET request to
/config-gtm/
, which responds with a AsMap object.v1/ domains/ {domainName}/ as-maps/ {mapName} Modify the AsMap object.
PUT the object back to the same URL.
This operation responds with an UpdateResponse object that provides details about the changes made to the AS map.
Remove an AS map
Removes a specific AS map.
DELETE /config-gtm/
Sample: /config-gtm/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
domainName |
String | example.akadns.net |
The full GTM domain name. |
mapName |
String | Software-rollout |
Unique name for the AS map. |
Status 200
application/json
Object type: UpdateResponse
Download schema: as-map-update-response.json
Response body:
{
"resource": null,
"status": {
"changeId": "5beb11ae-8908-4bfe-8459-e88efc4d2fdc",
"message": "Change Pending",
"passingValidation": true,
"propagationStatus": "PENDING",
"propagationStatusDate": "2014-04-08T18:25:51.000+0000",
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/status/current",
"rel": "self"
}
]
}
}
Run List domains, then from the response’s
items
array, store the relevantname
value as thedomainName
parameter.Run List AS maps, then from the response’s
items
array, store the relevantname
value as themapName
parameter.Make a DELETE request to
/config-gtm/
, which responds with an UpdateResponse object.v1/ domains/ {domainName}/ as-maps/ {mapName}
List geographic maps
Returns a list of geographic maps.
GET /config-gtm/
Sample: /config-gtm/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
domainName |
String | example.akadns.net |
The full GTM domain name. |
Status 200
application/json
Object type: GeographicMap
Download schema: geographic-map-list.json
Response body:
{
"items": [
{
"name": "UK Delivery",
"defaultDatacenter": {
"datacenterId": 5400,
"nickname": "Default Mapping"
},
"assignments": [
{
"datacenterId": 3133,
"nickname": "UK users",
"countries": [
"GB"
]
}
],
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/geographic-maps/UK%20Delivery",
"rel": "self"
}
]
}
]
}
Run List domains, then from the response’s
items
array, store thename
value as thedomainName
parameter.Make a GET request to
/config-gtm/
, which responds with an array of GeographicMap objects.v1/ domains/ {domainName}/ geographic-maps
Get a geographic map
Returns information for a specific geographic map.
GET /config-gtm/
Sample: /config-gtm/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
domainName |
String | example.akadns.net |
The full GTM domain name. |
mapName |
String | Software-rollout |
Unique name for the geographic map. |
Status 200
application/json
Object type: GeographicMap
Download schema: geographic-map.json
Response body:
{
"name": "UK Delivery",
"defaultDatacenter": {
"datacenterId": 5400,
"nickname": "Default Mapping"
},
"assignments": [
{
"datacenterId": 3133,
"nickname": "UK users",
"countries": [
"GB"
]
}
],
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/geographic-maps/UK%20Delivery",
"rel": "self"
}
]
}
Run List domains, then from the response’s
items
array, store the relevantname
value as thedomainName
parameter.Run List geographic maps, then from the response’s
items
array, store the relevantname
value as themapName
parameter.Make a GET request to
/config-gtm/
, which responds with a GeographicMap object.v1/ domains/ {domainName}/ geographic-maps/ {mapName}
Create or update a geographic map
Run this operation to create or update a geographic map.
PUT /config-gtm/
Sample: /config-gtm/
Content-Type: application/json
Object type: GeographicMap
Download schema: geographic-map.json
Request body:
{
"name": "UK Delivery",
"defaultDatacenter": {
"datacenterId": 5400,
"nickname": "Default Mapping"
},
"assignments": [
{
"datacenterId": 3133,
"nickname": "UK users",
"countries": [
"GB"
]
}
]
}
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
domainName |
String | example.akadns.net |
The full GTM domain name. |
mapName |
String | Software-rollout |
Unique name for the geographic map. |
Status 200
application/json
Object type: UpdateResponse
Download schema: geographic-map-update-response.json
Response body:
{
"resource": {
"name": "UK Delivery",
"defaultDatacenter": {
"datacenterId": 5400,
"nickname": "Default Mapping"
},
"assignments": [
{
"datacenterId": 3133,
"nickname": "UK users",
"countries": [
"GB"
]
}
],
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/geographic-maps/UK%20Delivery",
"rel": "self"
}
]
},
"status": {
"changeId": "f2977f97-565b-46af-abfb-1da7e3e8c54b",
"message": "Change Pending",
"passingValidation": true,
"propagationStatus": "PENDING",
"propagationStatusDate": "2014-04-15T11:30:27.000+0000",
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/status/current",
"rel": "self"
}
]
}
}
Run List domains, then from the response’s
items
array, store the relevantname
value as thedomainName
parameter.Run List geographic maps.
Decide which
mapName
you want to create or modify.
If mapName
does not appear in the response as the name
within one
of the objects in the items
array and you want to create a new AS
map with that name
:
If you need a
datacenterId
value, run List data centers, then select one from the list.Build a new GeographicMap object.
PUT the object to
/config-gtm/
, which reflects back the new GeographicMap object.v1/ domains/ {domainName}/ geographic-maps/ {mapName}
If mapName
appears in the response as the name
within one of the
objects in the items
array and you want to modify it:
Make a GET request to
/config-gtm/
, which responds with a GeographicMap object.v1/ domains/ {domainName}/ geographic-maps/ {mapName} Modify the GeographicMap object.
PUT the object back to the same URL.
This operation responds with an UpdateResponse object that provides details about the changes made to the geographic map.
Remove a geographic map
Removes a geographic map.
DELETE /config-gtm/
Sample: /config-gtm/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
domainName |
String | example.akadns.net |
The full GTM domain name. |
mapName |
String | Software-rollout |
Unique name for the geographic map. |
Status 200
application/json
Object type: UpdateResponse
Download schema: geographic-map-update-response.json
Response body:
{
"resource": null,
"status": {
"changeId": "a97bedfe-c997-4634-84a4-cdb31529fb4c",
"message": "Change Pending",
"passingValidation": true,
"propagationStatus": "PENDING",
"propagationStatusDate": "2014-04-08T13:44:53.000+0000",
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/status/current",
"rel": "self"
}
]
}
}
Run List domains, then from the response’s
items
array, store the relevantname
value as thedomainName
parameter.Run List geographic maps, then from the response’s
items
array, store the relevantname
value as themapName
parameter.Make a DELETE request to
/config-gtm/
, which responds with an UpdateResponse object.v1/ domains/ {domainName}/ geographic-maps/ {mapName}
List data centers
Returns a list of data centers.
GET /config-gtm/
Sample: /config-gtm/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
domainName |
String | example.akadns.net |
The full GTM domain name. |
Status 200
application/json
Object type: Datacenter
Download schema: datacenter-list.json
Response body:
{
"items": [
{
"city": "Doune",
"cloneOf": 0,
"continent": "EU",
"country": "GB",
"datacenterId": 3133,
"latitude": 56.185097,
"longitude": -4.050264,
"nickname": "Winterfell",
"stateOrProvince": "Perthshire",
"virtual": true,
"defaultLoadObject": {
"loadObject": null,
"loadObjectPort": 0,
"loadServers": null
},
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/datacenters/3133",
"rel": "self"
}
]
},
{
"city": "Sn\u00e6fellsj\u00f6kull",
"cloneOf": 0,
"continent": "EU",
"country": "IS",
"datacenterId": 3134,
"latitude": 64.808,
"longitude": -23.776,
"nickname": "Frostfangs",
"stateOrProvince": null,
"virtual": true,
"defaultLoadObject": {
"loadObject": null,
"loadObjectPort": 0,
"loadServers": null
},
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/datacenters/3134",
"rel": "self"
}
]
}
]
}
Run List domains, then from the response’s
items
array, store thename
value as thedomainName
parameter.Make a GET request to
/config-gtm/
, which responds with an array of Datacenter objects.v1/ domains/ {domainName}/ datacenters
Create a data center
Creates a specific data center.
POST /config-gtm/
Sample: /config-gtm/
Content-Type: application/json
Object type: Datacenter
Download schema: datacenter.json
Request body:
{
"city": "Doune",
"stateOrProvince": "Perthshire",
"cloneOf": 0,
"continent": "EU",
"country": "GB",
"latitude": 56.185096,
"longitude": -4.050264,
"nickname": "Winterfell",
"defaultLoadObject": {
"loadObject": null,
"loadObjectPort": 0,
"loadServers": null
}
}
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
domainName |
String | example.akadns.net |
The full GTM domain name. |
Status 201
application/json
Headers:
Location: /config-gtm/v1/domains/example.akadns.net/datacenters/3133
Object type: UpdateResponse
Download schema: datacenter-update-response.json
Response body:
{
"resource": {
"city": "Doune",
"cloneOf": 0,
"continent": "EU",
"country": "GB",
"datacenterId": 3133,
"latitude": 56.185097,
"longitude": -4.050264,
"nickname": "Winterfell",
"stateOrProvince": "Perthshire",
"virtual": true,
"defaultLoadObject": {
"loadObject": null,
"loadObjectPort": 0,
"loadServers": null
},
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/datacenters/3133",
"rel": "self"
}
]
},
"status": {
"changeId": "f0c51967-d119-4665-9403-364a57ea5530",
"message": "Change Pending",
"passingValidation": true,
"propagationStatus": "PENDING",
"propagationStatusDate": "2014-04-15T11:30:27.000+0000",
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/status/current",
"rel": "self"
}
]
}
}
Run List domains, then from the response’s
items
array, store the relevantname
value as thedomainName
parameter.Build a new Datacenter POST object.
Make a POST request to
/config-gtm/
.v1/ domains/ {domainName}/ datacenters Optionally, store the responses
Location
header value, which you can use to GET the new data center.
Get a data center
Returns information for a specific data center.
GET /config-gtm/
Sample: /config-gtm/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
domainName |
String | example.akadns.net |
The full GTM domain name. |
datacenterId |
Number | 1 |
Numeric id of the data center. |
Status 200
application/json
Object type: Datacenter
Download schema: datacenter.json
Response body:
{
"city": "Downpatrick",
"cloneOf": 0,
"continent": "EU",
"country": "GB",
"datacenterId": 3133,
"latitude": 54.367,
"longitude": -5.582,
"nickname": "Winterfell",
"stateOrProvince": null,
"virtual": true,
"defaultLoadObject": {
"loadObject": null,
"loadObjectPort": 0,
"loadServers": null
},
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/datacenters/3133",
"rel": "self"
}
]
}
Run List domains, then from the response’s
items
array, store the relevantname
value as thedomainName
parameter.Run List data centers, then from the response’s
items
array, store the relevantdatacenterId
.Make a GET request to
/config-gtm/
, which responds with a Datacenter object.v1/ domains/ {domainName}/ datacenters/ {datacenterId}
Update a data center
Updates a specific data center.
PUT /config-gtm/
Sample: /config-gtm/
Content-Type: application/json
Object type: Datacenter
Download schema: datacenter.json
Request body:
{
"city": "Downpatrick",
"cloneOf": 0,
"continent": "EU",
"country": "GB",
"datacenterId": 3133,
"latitude": 54.367,
"longitude": -5.582,
"nickname": "Winterfell",
"defaultLoadObject": {
"loadObject": null,
"loadObjectPort": 0,
"loadServers": null
}
}
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
domainName |
String | example.akadns.net |
The full GTM domain name. |
datacenterId |
Number | 1 |
Numeric id of the data center. |
Status 200
application/json
Object type: UpdateResponse
Download schema: datacenter-update-response.json
Response body:
{
"resource": {
"city": "Downpatrick",
"cloneOf": 0,
"continent": "EU",
"country": "GB",
"datacenterId": 3133,
"latitude": 54.367,
"longitude": -5.582,
"nickname": "Winterfell",
"stateOrProvince": null,
"virtual": true,
"defaultLoadObject": {
"loadObject": null,
"loadObjectPort": 0,
"loadServers": null
},
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/datacenters/3133",
"rel": "self"
}
]
},
"status": {
"changeId": "bd69be9b-ff44-433d-bff8-ae00d270ea33",
"message": "Change Pending",
"passingValidation": true,
"propagationStatus": "PENDING",
"propagationStatusDate": "2014-04-15T11:30:27.000+0000",
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/status/current",
"rel": "self"
}
]
}
}
Run List domains, then from the response’s
items
array, store the relevantname
value as thedomainName
parameter.Make a GET request to
/config-gtm/
, which responds with a Datacenter object.v1/ domains/ {domainName}/ datacenters Modify the Datacenter object.
PUT the object back to the same URL.
This operation responds with an UpdateResponse object that provides details about the changes made to the data center.
Remove a data center
Removes a data center. Removes a data center, which is only possible when no properties or resources are assigned to it.
DELETE /config-gtm/
Sample: /config-gtm/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
domainName |
String | example.akadns.net |
The full GTM domain name. |
datacenterId |
Number | 1 |
Numeric id of the data center. |
Status 200
application/json
Object type: UpdateResponse
Download schema: datacenter-update-response.json
Response body:
{
"resource": null,
"status": {
"changeId": "66c7ff0b-4b9e-41cc-9fd0-34d4f75c2484",
"message": "Change Pending",
"passingValidation": true,
"propagationStatus": "PENDING",
"propagationStatusDate": "2014-04-03T21:18:01.000+0000",
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/status/current",
"rel": "self"
}
]
}
}
Run List domains, then from the response’s
items
array, store the relevantname
value as thedomainName
parameter.Run List data centers, then from the response’s
items
array, store the relevantdatacenterId
.Make a DELETE request to
/config-gtm/
, which responds with an UpdateResponse object.v1/ domains/ {domainName}/ datacenters/ {datacenterId}
Create a default data center
Creates a data center which can be used by map-type properties (CIDR, Geographic or AS mapping) as the “Default Datacenter.”
POST /config-gtm/
Sample: /config-gtm/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
domainName |
String | example.akadns.net |
The full GTM domain name. |
Status 201
application/json
Headers:
Location: /config-gtm/v1/domains/example.akadns.net/datacenters/5400
Object type: UpdateResponse
Download schema: datacenter-update-response.json
Response body:
{
"resource": {
"city": null,
"cloneOf": null,
"cloudServerHostHeaderOverride": false,
"cloudServerTargeting": false,
"continent": null,
"country": null,
"datacenterId": 5400,
"defaultLoadObject": null,
"latitude": 0.0,
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/datacenters/5400",
"rel": "self"
}
],
"longitude": 0.0,
"nickname": "Default Datacenter",
"pingInterval": null,
"pingPacketSize": null,
"scorePenalty": 0,
"servermonitorLivenessCount": null,
"servermonitorLoadCount": null,
"servermonitorPool": null,
"stateOrProvince": null,
"virtual": true
},
"status": {
"changeId": "b97e535e-cec7-417c-bb1e-90fc06bf7783",
"message": "Change Pending",
"passingValidation": true,
"propagationStatus": "PENDING",
"propagationStatusDate": "2020-02-18T22:31:00.000+0000",
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/status/current",
"rel": "self"
}
]
}
}
Create an IPv4 datacenter for ip-version-selector
Creates a data center which is solely reserved for use by properties
of type qtr
(IP Version Selector). The datacenter created by this resource will be assigned the datacenterId
5401,
which is interpreted as the target for A
record requests.
POST /config-gtm/
Sample: /config-gtm/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
domainName |
String | example.akadns.net |
The full GTM domain name. |
Status 201
application/json
Headers:
Location: /config-gtm/v1/domains/example.akadns.net/datacenters/5401
Object type: UpdateResponse
Download schema: datacenter-update-response.json
Response body:
{
"resource": {
"city": null,
"cloneOf": null,
"cloudServerHostHeaderOverride": false,
"cloudServerTargeting": false,
"continent": null,
"country": null,
"datacenterId": 5401,
"defaultLoadObject": null,
"latitude": 0.0,
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/datacenters/5401",
"rel": "self"
}
],
"longitude": 0.0,
"nickname": "Target for AAAA records",
"pingInterval": null,
"pingPacketSize": null,
"scorePenalty": 0,
"servermonitorLivenessCount": null,
"servermonitorLoadCount": null,
"servermonitorPool": null,
"stateOrProvince": null,
"virtual": true
},
"status": {
"changeId": "b97e535e-cec7-417c-bb1e-90fc06bf7783",
"message": "Change Pending",
"passingValidation": true,
"propagationStatus": "PENDING",
"propagationStatusDate": "2020-02-18T22:31:00.000+0000",
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/status/current",
"rel": "self"
}
]
}
}
Create an IPv6 datacenter for ip-version-selector
Creates a data center which is solely reserved for use by properties
of type qtr
(IP Version Selector). The datacenter created by this resource will be assigned the datacenterId
5402,
which is interpreted as the target for AAAA
record requests.
POST /config-gtm/
Sample: /config-gtm/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
domainName |
String | example.akadns.net |
The full GTM domain name. |
Status 201
application/json
Headers:
Location: /config-gtm/v1/domains/example.akadns.net/datacenters/5402
Object type: UpdateResponse
Download schema: datacenter-update-response.json
Response body:
{
"resource": {
"city": null,
"cloneOf": null,
"cloudServerHostHeaderOverride": false,
"cloudServerTargeting": false,
"continent": null,
"country": null,
"datacenterId": 5402,
"defaultLoadObject": null,
"latitude": 0.0,
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/datacenters/5402",
"rel": "self"
}
],
"longitude": 0.0,
"nickname": "Target for AAAA records",
"pingInterval": null,
"pingPacketSize": null,
"scorePenalty": 0,
"servermonitorLivenessCount": null,
"servermonitorLoadCount": null,
"servermonitorPool": null,
"stateOrProvince": null,
"virtual": true
},
"status": {
"changeId": "b97e535e-cec7-417c-bb1e-90fc06bf7783",
"message": "Change Pending",
"passingValidation": true,
"propagationStatus": "PENDING",
"propagationStatusDate": "2020-02-18T22:31:00.000+0000",
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/status/current",
"rel": "self"
}
]
}
}
Get current status
Returns information about the current condition of the change in the domain’s activation.
GET /config-gtm/
Sample: /config-gtm/
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
domainName |
String | example.akadns.net |
The full GTM domain name. |
Status 200
application/json
Object type: Status
Download schema: status.json
Response body:
{
"changeId": "5beb11ae-8908-4bfe-8459-e88efc4d2fdc",
"message": "Current configuration has been propagated to all GTM name servers.",
"passingValidation": true,
"propagationStatus": "COMPLETE",
"propagationStatusDate": "2014-03-08T15:39:00.000+0000",
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/status/current",
"rel": "self"
}
]
}
Run List domains, then from the response’s
items
array, store the relevantname
value as thedomainName
parameter.Make a GET request to
/config-gtm/
, which responds with a Status object.v1/ domains/ {domainName}/ status/ current
Data
This section provides details for each type of data object the API exchanges.
Download the JSON schemas for this API.
This section’s data schema tables list membership requirements as follows:
✓ | Member is required in requests, or always present in responses, even if its value is empty or null . |
○ | Member is optional, and may be omitted in some cases. |
Identity
Collects high-level information about the API client for a specific GTM account.
Download schema:
identity.json
Sample GET response:
{
"accountId": "1-1TJZFB",
"userName": "ed@example.com",
"userTimeZone": "-05:00",
"locale": "en_US",
"firstName": "Eddard",
"lastName": "Stark",
"email": "ed@example.com",
"active": true,
"contracts": [
{
"contractId": "1-1TJZH5",
"features": [
"FAILOVER",
"QTR",
"ASMAPPING",
"CIDRMAPPING",
"GEOGRAPHIC",
"WEIGHTED_ROUND_ROBIN",
"WEIGHTED_ROUND_ROBIN_LOAD_FEEDBACK",
"WEIGHTED_HASHED",
"PERFORMANCE"
],
"permissions": [
"READ",
"WRITE",
"ADD"
]
},
{
"contractId": "3-ZQ0H6H",
"features": [
"FAILOVER",
"QTR",
"ASMAPPING",
"CIDRMAPPING",
"GEOGRAPHIC"
],
"permissions": [
"READ",
"WRITE"
]
}
]
}
Identity members
Member | Type | Description | |
---|---|---|---|
Identity : Collects high-level information about the API client for a specific GTM account. |
|||
accountId |
String | A unique API client identity for a specific account, created in Control Center. | |
active |
Boolean | Enabled if the account is active. | |
contracts |
Identity. |
Lists information about each contract under a specific account. | |
email |
String | The email address of the client on the account. | |
firstName |
String | The first name of the client on the account. | |
lastName |
String | The last name of the client on the account. | |
locale |
String | Indicates the client’s language and country in RFC 5646 format. | |
userName |
String | The username of the client on the account. | |
userTimeZone |
String | The time zone of the client on the account, which specifies an offset from GTM. | |
Identity.contracts[] : Lists information about each contract under a specific account. |
|||
contractId |
String | A unique identifier for the contract. | |
features |
Array | Indicates the available property types for a specific domain. Types include: FAILOVER , QTR , ASMAPPING , CIDRMAPPING , GEOGRAPHIC , WEIGHTED_ROUND_ROBIN , WEIGHTED_ROUND_ROBIN_LOAD_FEEDBACK , WEIGHTED_HASHED , and PERFORMANCE . |
|
permissions |
Array | Identifies the privileges set to modify or delete any of the properties within a specific domain. Values include: READ , WRITE , ADD , and ADD_DATACENTER . |
Contracts
Collects information about each contract under a specific GTM account.
Download schema:
identity-contracts.json
Sample GET response:
{
"accountId": "1-1TJZFB",
"contracts": [
{
"contractId": "1-1TJZH5",
"contractName": "Wolves",
"contractTypeName": "DIRECT_CUSTOMER"
},
{
"contractId": "3-ZQ0H6H",
"contractName": "Stags",
"contractTypeName": "DIRECT_CUSTOMER"
}
]
}
Contracts members
Member | Type | Description | |
---|---|---|---|
Contracts : Collects information about each contract under a specific GTM account. |
|||
accountId |
String | A unique identifier for the account where the contract exists. | |
contracts |
Contracts. |
Collects information about each contract under a specific account. | |
Contracts.contracts[] : Collects information about each contract under a specific account. |
|||
contractId |
String | A unique identifier for the contract. | |
contractName |
String | A descriptive name for the contract. | |
contractTypeName |
String | A descriptive name for the contract type. |
Group
Collects information about each group under a specific GTM account. For details on how to modify group permissions, see the Identity Management: User Administration API.
Download schema:
identity-groups.json
Sample GET response:
{
"groups": [
{
"groupId": 15166,
"groupName": "House Stark",
"contractIds": [
"1-1TJZH5"
],
"permissions": [
"ADD",
"READ",
"WRITE"
]
},
{
"groupId": 41443,
"groupName": "House Baratheon",
"contractIds": [
"1-1TJZH5",
"3-ZQ0H6H"
],
"permissions": [
"READ",
"WRITE"
]
}
]
}
Group members
Member | Type | Description |
---|---|---|
Group : Collects information about each group under a specific GTM account. For details on how to modify group permissions, see the Identity Management: User Administration API. |
||
contractIds |
Array | A unique identifier for the contract. |
groupId |
Integer | A unique identifier for the group. |
groupName |
String | A descriptive name for the group. |
permissions |
Array | Identifies the privileges set for each group under the account. These privileges let you create a domain, modify, or delete any of the properties within a specific domain. Values include: READ , WRITE , ADD , and ADD_DATACENTER . |
Domain
Contains information about the basic building block of a traffic management configuration. Each domain object is a representation of a complete GTM domain such as example.akadns.net
.
Download schema:
domain-vnd-config-gtm.v1.4.json
Sample GET response:
{
"defaultSslClientCertificate": null,
"defaultSslClientPrivateKey": null,
"defaultUnreachableThreshold": null,
"lastModified": "2014-04-08T18:25:51.000+0000",
"lastModifiedBy": "admin@example.com",
"loadFeedback": true,
"loadImbalancePercentage": 10.0,
"minPingableRegionFraction": null,
"modificationComments": "CIDRMap example",
"name": "example.akadns.net",
"pingInterval": null,
"roundRobinPrefix": null,
"servermonitorLivenessCount": null,
"servermonitorLoadCount": null,
"type": "full",
"emailNotificationList": [],
"status": {
"changeId": "5beb11ae-8908-4bfe-8459-e88efc4d2fdc",
"message": "Change Pending",
"passingValidation": true,
"propagationStatus": "PENDING",
"propagationStatusDate": "2014-04-08T18:25:51.000+0000",
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/status/current",
"rel": "self"
}
]
},
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net",
"rel": "self"
},
{
"href": "/config-gtm/v1/domains/example.akadns.net/datacenters",
"rel": "datacenters"
},
{
"href": "/config-gtm/v1/domains/example.akadns.net/properties",
"rel": "properties"
},
{
"href": "/config-gtm/v1/domains/example.akadns.net/geographic-maps",
"rel": "geographic-maps"
},
{
"href": "/config-gtm/v1/domains/example.akadns.net/cidr-maps",
"rel": "cidr-maps"
},
{
"href": "/config-gtm/v1/domains/example.akadns.net/resources",
"rel": "resources"
}
],
"cidrMaps": [
{
"name": "The North",
"defaultDatacenter": {
"datacenterId": 5400,
"nickname": "All Other CIDR Blocks"
},
"assignments": [
{
"datacenterId": 3134,
"nickname": "Frostfangs and the Fist of First Men",
"blocks": [
"1.3.5.9",
"1.2.3.0/24"
]
},
{
"datacenterId": 3133,
"nickname": "Winterfell",
"blocks": [
"1.2.4.0/24"
]
}
],
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/cidr-maps/The%20North",
"rel": "self"
}
]
}
],
"datacenters": [
{
"city": "Downpatrick",
"cloneOf": 0,
"continent": "EU",
"country": "GB",
"datacenterId": 3133,
"latitude": 54.367,
"longitude": -5.582,
"nickname": "Winterfell",
"stateOrProvince": null,
"virtual": true,
"defaultLoadObject": {
"loadObject": null,
"loadObjectPort": 0,
"loadServers": null
},
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/datacenters/3133",
"rel": "self"
}
]
},
{
"city": "Doune",
"cloneOf": 0,
"continent": "EU",
"country": "GB",
"datacenterId": 3134,
"latitude": 56.185097,
"longitude": -4.050264,
"nickname": "Winterfell",
"stateOrProvince": "Perthshire",
"virtual": true,
"defaultLoadObject": {
"loadObject": null,
"loadObjectPort": 0,
"loadServers": null
},
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/datacenters/3134",
"rel": "self"
}
]
},
{
"city": null,
"cloneOf": 0,
"continent": null,
"country": null,
"datacenterId": 5400,
"latitude": 0.0,
"longitude": 0.0,
"nickname": "Default Datacenter",
"stateOrProvince": null,
"virtual": true,
"defaultLoadObject": {
"loadObject": null,
"loadObjectPort": 0,
"loadServers": null
},
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/datacenters/5400",
"rel": "self"
}
]
}
],
"geographicMaps": [
{
"name": "UK Delivery",
"defaultDatacenter": {
"datacenterId": 5400,
"nickname": "Default Mapping"
},
"assignments": [
{
"datacenterId": 3133,
"nickname": "UK users",
"countries": [
"GB"
]
}
],
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/geographic-maps/UK%20Delivery",
"rel": "self"
}
]
}
],
"properties": [
{
"backupCName": null,
"backupIp": null,
"balanceByDownloadScore": false,
"cname": null,
"comments": null,
"dynamicTTL": 300,
"failbackDelay": 0,
"failoverDelay": 0,
"handoutMode": "normal",
"healthMax": null,
"healthMultiplier": null,
"healthThreshold": null,
"ipv6": false,
"lastModified": "2014-04-08T18:25:52.000+0000",
"mapName": null,
"maxUnreachablePenalty": null,
"name": "www",
"scoreAggregationType": "mean",
"staticTTL": 600,
"stickinessBonusConstant": 0,
"stickinessBonusPercentage": 0,
"type": "failover",
"unreachableThreshold": null,
"useComputedTargets": false,
"mxRecords": [],
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/properties/www",
"rel": "self"
}
],
"livenessTests": [
{
"disableNonstandardPortWarning": false,
"hostHeader": "foo.example.com",
"httpError3xx": true,
"httpError4xx": true,
"httpError5xx": true,
"name": "health-check",
"requestString": null,
"responseString": null,
"sslClientCertificate": null,
"sslClientPrivateKey": null,
"testInterval": 60,
"testObject": "/status",
"testObjectPassword": null,
"testObjectPort": 80,
"testObjectProtocol": "HTTP",
"testObjectUsername": null,
"testTimeout": 25.0,
"links": []
}
],
"trafficTargets": [
{
"datacenterId": 5400,
"enabled": false,
"handoutCName": null,
"name": null,
"weight": 0.0,
"servers": []
},
{
"datacenterId": 3134,
"enabled": true,
"handoutCName": null,
"name": null,
"weight": 0.0,
"servers": [
"1.2.3.5"
]
},
{
"datacenterId": 3133,
"enabled": true,
"handoutCName": null,
"name": null,
"weight": 1.0,
"servers": [
"1.2.3.4"
]
}
]
},
{
"backupCName": null,
"backupIp": null,
"balanceByDownloadScore": false,
"cname": null,
"comments": null,
"dynamicTTL": 300,
"failbackDelay": 0,
"failoverDelay": 0,
"handoutMode": "normal",
"healthMax": null,
"healthMultiplier": null,
"healthThreshold": null,
"ipv6": true,
"lastModified": "2014-04-08T18:25:52.000+0000",
"loadImbalancePercentage": null,
"mapName": null,
"maxUnreachablePenalty": null,
"name": "mail",
"scoreAggregationType": "mean",
"staticTTL": 600,
"stickinessBonusConstant": 0,
"stickinessBonusPercentage": 0,
"type": "weighted-round-robin",
"unreachableThreshold": null,
"useComputedTargets": false,
"livenessTests": [],
"mxRecords": [],
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/properties/mail",
"rel": "self"
}
],
"trafficTargets": [
{
"datacenterId": 5400,
"enabled": false,
"handoutCName": null,
"name": null,
"weight": 0.0,
"servers": []
},
{
"datacenterId": 3134,
"enabled": true,
"handoutCName": null,
"name": null,
"weight": 1.0,
"servers": [
"2001:4878::5043:4078"
]
},
{
"datacenterId": 3133,
"enabled": true,
"handoutCName": null,
"name": null,
"weight": 1.0,
"servers": [
"2001:4878::5043:4072",
"2001:4878::5043:4071"
]
}
]
},
{
"backupCName": null,
"backupIp": null,
"balanceByDownloadScore": false,
"cname": null,
"comments": null,
"dynamicTTL": 300,
"failbackDelay": 0,
"failoverDelay": 0,
"handoutMode": "normal",
"healthMax": null,
"healthMultiplier": null,
"healthThreshold": null,
"ipv6": false,
"lastModified": "2014-04-08T18:25:52.000+0000",
"loadImbalancePercentage": null,
"mapName": null,
"maxUnreachablePenalty": null,
"name": "supplies",
"scoreAggregationType": "mean",
"staticTTL": 600,
"stickinessBonusConstant": 0,
"stickinessBonusPercentage": 0,
"type": "failover",
"unreachableThreshold": null,
"useComputedTargets": false,
"livenessTests": [],
"mxRecords": [],
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/properties/supplies",
"rel": "self"
}
],
"trafficTargets": [
{
"datacenterId": 5400,
"enabled": false,
"handoutCName": "supplies.example.com",
"name": null,
"weight": 0.0,
"servers": []
},
{
"datacenterId": 3134,
"enabled": true,
"handoutCName": "winter.supplies.example.com",
"name": null,
"weight": 0.0,
"servers": []
},
{
"datacenterId": 3133,
"enabled": true,
"handoutCName": "redcross.org",
"name": null,
"weight": 0.0,
"servers": []
}
]
},
{
"backupCName": null,
"backupIp": null,
"balanceByDownloadScore": false,
"cname": null,
"comments": null,
"dynamicTTL": 300,
"failbackDelay": 0,
"failoverDelay": 0,
"handoutMode": "normal",
"healthMax": null,
"healthMultiplier": null,
"healthThreshold": null,
"ipv6": false,
"lastModified": "2014-04-08T18:25:52.000+0000",
"loadImbalancePercentage": null,
"mapName": "UK Delivery",
"maxUnreachablePenalty": null,
"name": "shop",
"scoreAggregationType": "mean",
"staticTTL": 600,
"stickinessBonusConstant": 0,
"stickinessBonusPercentage": 0,
"type": "geographic",
"unreachableThreshold": null,
"useComputedTargets": false,
"livenessTests": [],
"mxRecords": [],
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/properties/shop",
"rel": "self"
}
],
"trafficTargets": [
{
"datacenterId": 5400,
"enabled": true,
"handoutCName": "shop.example.com",
"name": null,
"weight": 1.0,
"servers": []
},
{
"datacenterId": 3134,
"enabled": false,
"handoutCName": null,
"name": null,
"weight": 1.0,
"servers": []
},
{
"datacenterId": 3133,
"enabled": true,
"handoutCName": "uk.shop.example.com",
"name": null,
"weight": 1.0,
"servers": []
}
]
}
],
"resources": [
{
"aggregationType": "latest",
"constrainedProperty": "mail",
"decayRate": null,
"description": "CPU utilization",
"hostHeader": null,
"leaderString": null,
"leastSquaresDecay": null,
"loadImbalancePercentage": null,
"maxUMultiplicativeIncrement": null,
"name": "cpu",
"type": "XML load object via HTTP",
"upperBound": 0,
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/resources/cpu",
"rel": "self"
}
],
"resourceInstances": [
{
"datacenterId": 3134,
"loadObject": "/cpu",
"loadObjectPort": 80,
"useDefaultLoadObject": false,
"loadServers": [
"1.2.3.8"
]
},
{
"datacenterId": 3133,
"loadObject": "/cpu",
"loadObjectPort": 80,
"useDefaultLoadObject": false,
"loadServers": [
"1.2.3.7"
]
},
{
"datacenterId": 5400,
"loadObject": null,
"loadObjectPort": 0,
"useDefaultLoadObject": false,
"loadServers": []
}
]
},
{
"aggregationType": "latest",
"constrainedProperty": "**",
"decayRate": null,
"description": "Supply levels of Arbor Gold",
"hostHeader": null,
"leaderString": null,
"leastSquaresDecay": null,
"loadImbalancePercentage": null,
"maxUMultiplicativeIncrement": null,
"name": "arbor-gold",
"type": "Non-XML load object via HTTP",
"upperBound": 0,
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/resources/arbor-gold",
"rel": "self"
}
],
"resourceInstances": [
{
"datacenterId": 3134,
"loadObject": "/cups",
"loadObjectPort": 80,
"useDefaultLoadObject": false,
"loadServers": [
"1.2.3.8"
]
},
{
"datacenterId": 3133,
"loadObject": "/cups",
"loadObjectPort": 80,
"useDefaultLoadObject": false,
"loadServers": [
"1.2.3.7"
]
},
{
"datacenterId": 5400,
"loadObject": null,
"loadObjectPort": 0,
"useDefaultLoadObject": false,
"loadServers": []
}
]
}
]
}
Domain members
Member | Type | Required | Description |
---|---|---|---|
Domain : Contains information about the basic building block of a traffic management configuration. Each domain object is a representation of a complete GTM domain such as example.akadns.net . |
|||
asMaps |
As |
✓ | v1.1. Contains information about the set of AS maps assigned to this domain. |
cidrMaps |
Cidr |
✓ | Contains information about the set of CIDR maps assigned to this domain. |
cname |
Boolean | ✓ | v1.1. If enabled, GTM collapses CNAME redirections in DNS answers when it knows the target of the CNAME. The default value is false . |
datacenters |
Datacenter[] | ✓ | Contains information about the set of data centers assigned to this domain. |
default |
Integer | ✓ | Specifies the download penalty score. If the download encounters an error, the web agent computes a score that is either the download time in seconds or a penalty score. The default penalty is 75 . |
default |
String, Null | ✓ | Specifies an optional Base64-encoded certificate that corresponds with the private key for TLS-based liveness tests (HTTPS, SMTPS, POPS, and TCPS). When the liveness test does not contain sslClientCertificate and sslClientPrivateKey values, use this and the defaultSslClientPrivateKey object members to generate a certificate. Note that the private key used to generate a certificate (or the CSR used to request the certificate) for this purpose needs to be throwaway, meaning that it is not used for any other purpose. See also defaultSslClientPrivateKey within this object. |
default |
String, Null | ✓ | Specifies an optional Base64-encoded private key that corresponds with the TLS certificate for TLS-based liveness tests (HTTPS, SMTPS, POPS, and TCPS). See also defaultSslClientCertificate within this object. |
default |
Integer | ✓ | Specifies the timeout penalty score. The web agent then computes a score that is either the download time in seconds or a penalty score if the download request times out. The default penalty for a time out is 25 . |
email |
Array | ✓ | A list of email addresses to notify when a change is made to the domain. |
geographicMaps |
Geographic |
✓ | Contains information about the set of geographic maps assigned to this domain. |
lastModified |
String | ✓ | An ISO 8601 timestamp that indicates when the domain was last changed. |
lastModifiedBy |
String, Null | ✓ | The email address of the administrator who made the last change to the domain. |
links |
Hypermedia[] | ○ | v1.1. Provides a URL path that allows direct navigation to the domain. |
loadFeedback |
Boolean | ✓ | Indicates whether one or more measurements of load (resources ) are defined by you and supplied by each data center in real time to balance load. The value is true if load balance is used. |
load |
Number, Null | ✓ | Indicates the percent of load imbalance factor (LIF) for the domain. The LIF controls how imbalanced GTM allows the load to be. That is the factor by which the demand sent to a data center is permitted to exceed the configured value. For example, with a data center traffic allocation of 25 percent and an LIF of 1.5, the demand sent to the data center is allowed to grow to 37.5 percent (25% × 1.5) before the load balancer starts shifting load away from it. The LIF is represented as a percentage. Zero means no load imbalance is allowed at all. However, internally, GTM adds one to the LIF so that it can be used as a multiplier. The default LIF is 1.1, which is displayed as 10.0 percent. The value ranges from 0 to 1000000 percent. |
modification |
String, Null | ✓ | A descriptive note about changes to the domain. The maximum is 4000 characters. |
name |
String | ✓ | The full GTM domain name that needs to end in .akadns.net , up to 100 characters. |
properties |
Property[] | ✓ | Contains information about the properties in the GTM domain. |
resources |
Resource[] | ✓ | Contains information about the resources in the GTM domain. |
status |
Status | ○ | Specifies the condition of the change in the domain’s activation. |
type |
Enumeration | ✓ | Indicates the type of domain available based on your contract. Either failover-only , static , weighted , basic , or full . |
Property
Contains information about the entire GTM property configuration.
Download schema:
property-vnd-config-gtm.v1.4.json
Sample GET response:
{
"backupCName": null,
"backupIp": null,
"balanceByDownloadScore": false,
"cname": null,
"comments": null,
"dynamicTTL": 300,
"failbackDelay": 0,
"failoverDelay": 0,
"handoutMode": "normal",
"healthMax": null,
"healthMultiplier": null,
"healthThreshold": null,
"ipv6": false,
"lastModified": "2014-04-08T15:11:10.000+0000",
"loadImbalancePercentage": null,
"mapName": null,
"maxUnreachablePenalty": null,
"name": "www",
"scoreAggregationType": "mean",
"staticTTL": 600,
"stickinessBonusConstant": 0,
"stickinessBonusPercentage": 0,
"type": "failover",
"unreachableThreshold": null,
"useComputedTargets": false,
"mxRecords": [],
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/properties/www",
"rel": "self"
}
],
"livenessTests": [
{
"disableNonstandardPortWarning": false,
"hostHeader": "foo.example.com",
"httpError3xx": true,
"httpError4xx": true,
"httpError5xx": true,
"name": "health-check",
"requestString": null,
"responseString": null,
"sslClientCertificate": null,
"sslClientPrivateKey": null,
"testInterval": 60,
"testObject": "/status",
"testObjectPassword": null,
"testObjectPort": 80,
"testObjectProtocol": "HTTP",
"testObjectUsername": null,
"testTimeout": 25.0
}
],
"trafficTargets": [
{
"datacenterId": 3134,
"enabled": true,
"handoutCName": null,
"name": null,
"weight": 0.0,
"servers": [
"1.2.3.5"
]
},
{
"datacenterId": 3133,
"enabled": true,
"handoutCName": null,
"name": null,
"weight": 1.0,
"servers": [
"1.2.3.4"
]
}
]
}
Property members
Member | Type | Required | Description |
---|---|---|---|
Property : Contains information about the entire GTM property configuration. |
|||
backupCName |
String, Null | ✓ | Specifies a backupCName . If GTM declares that all of the servers configured for your property are down, and you configured a backupCName , then queries for the property return the backupCName . If a backupCName is set, do not set a backupIp . |
backupIp |
String, Null | ✓ | Specifies a backup IP. When GTM declares that all of the targets are down, the backupIP is handed out. The IP type coincides with the property’s iPv6 setting. If a backupIp is set, do not set a backupCName . |
balance |
Boolean | ✓ | Indicates whether download score based load balancing is enabled. GTM estimates the load on your data centers based on how long they take to respond to GTM liveness tests. The advantage: you do not need to implement a load object. The disadvantage: it’s a very crude measure of load, and usually highly nonlinear. As load increases, download times do not increase significantly, until there is too much load. When that happens, the download times skyrocket. This can easily cause erratic load balancing or load oscillations. |
cname |
String, Null | ✓ | Indicates the fully qualified name aliased to a particular property. The public name of the property. |
dynamicTTL |
Integer | ✓ | Indicates the TTL in seconds for records that might change dynamically based on liveness and load balancing such as A and AAAA records, and CNAMEs. The value ranges from 30 to 3600 and can change on request. The default is 60 . |
failbackDelay |
Integer, Null | ✓ | Specifies the failback delay in seconds. The minimum value is 0 . If specified, when a server has been down and comes back up, (that is, its liveness test starts succeeding again), GTM only considers it up after the failback delay has elapsed and tests continue to succeed. |
failoverDelay |
Integer, Null | ✓ | Specifies the failover delay in seconds. The minimum value is 0 . If specified, when a server begins failing its liveness test, GTM only considers it down after the failover delay has elapsed and the errors persist. |
handoutLimit |
Integer, Null | ✓ | v1.3. Indicates the limit for the number of live IPs handed out to a DNS request. The handoutLimit applies only if handoutMode is set to either normal or persistent for the property. If applicable, the handoutLimit default value is 8 or null if not. |
handoutMode |
Enumeration | ✓ | Specifies how IPs are returned when more than one IP is alive and available. Either normal , persistent , one-ip , one-ip-hashed , or all-live-ips . The default is normal . Handout mode is relevant only when you have more than one server IP in a data center. |
healthMax |
Number, Null | ✓ | Defines the absolute limit beyond which IPs are declared unhealthy. If backup CNAMEs are provided for a property, then it is reasonable for all IPs to be declared unhealthy. The healthMax value is multiplied by the smaller of the timeoutPenalty and the errorPenalty . Any server with a score greater than this product is declared down. The default value is null . |
healthMultiplier |
Number, Null | ✓ | Configures a cutoff value that is computed from the median scores. Any server with a score over the cutoff value is considered down, and load is not sent to it. The cutoff is computed from the minimum score across all data centers, for a given property and two object members: healthMultiplier and healthThreshold . The cutoff is either healthMultiplier (default value: 1.5) times the minimum score, or the healthThreshold (default value: 4), whichever is greater. See also healthThreshold within this object. For more information on how to determine server liveness, see the Global Traffic Management User Guide. |
healthThreshold |
Number, Null | ✓ | Configures a cutoff value that is computed from the median scores. Any server with a score over the cutoff value is considered down, and load is not sent to it. See also healthMultiplier within this object. For more information on how to determine server liveness, see the Global Traffic Management User Guide. |
ipv6 |
Boolean | ✓ | Indicates the type of IP address handed out by a property. A true value indicates that all IP addresses specified are IPv6, and all hostnames need to resolve to AAAA records. A false value indicates IPv4 addresses, and all hostnames need to resolve to A records. |
lastModified |
String, Null | ✓ | An ISO 8601 timestamp that indicates when the property was last changed. |
links |
Hypermedia[] | ○ | Provides a URL path that allows direct navigation to the property. |
livenessTests |
Property. |
✓ | Contains information about the liveness tests, which are run periodically to determine whether your servers respond to requests, as discussed in API concepts. |
load |
Number, Null | ✓ | Indicates the percent of load imbalance factor (LIF) for the property. The LIF controls how imbalanced GTM allows the load to be. That is the factor by which the demand sent to a data center is permitted to exceed the configured value. For example, with a data center traffic allocation of 25 percent and an LIF of 1.5, the demand sent to the data center is allowed to grow to 37.5 percent (25% × 1.5) before the load balancer starts shifting load away from it. The LIF is represented as a percentage; zero means no load imbalance is allowed at all. However, GTM adds one to the LIF so that it can be used as a multiplier. The default LIF is 1.1, which is displayed as 10.0 percent. The allowable range is 0 to 1000000 percent. |
mapName |
String, Null | ✓ | A descriptive label for a GeographicMap or a CidrMap that’s required if the property is either geographic or cidrmapping , in which case mapName needs to reference either an existing GeographicMap or CidrMap in the same domain. |
max |
Number, Null | ✓ | For performance domains, this specifies a penalty value that’s added to liveness test scores when data centers show an aggregated loss fraction higher than the penalty value. The penalty value is either maxUnreachablePenalty (minimum value is 0 and the default is null ) or unreachableThreshold (decimal between 0 and 1 . A value of 1.0 or null disables an unreachable penalty). See also unreachableThreshold within this object. |
minLiveFraction |
Number, Null | ✓ | v1.3. Specifies what fraction of the servers need to respond to requests so GTM considers the data center up and able to receive traffic. For example, if your data center contains eight servers, and the minLiveFraction value is 0.5 , then at least four servers need to respond to requests. Conversely, if five servers are down, and three servers are up, then GTM considers the entire data center down. Optional when a minLiveFraction value exists or not null . |
mxRecords |
Property. |
✓ | Specifies the MX records handed out to MX record type queries. Note that mapping and liveness testing aren’t done. The same MX records are handed out for every request. Deprecated as of version 1.4 - recommended to use staticRRSets instead. |
name |
String | ✓ | The value, together with the GTM domainName , forms the property’s hostname. The value should not begin or end with a dot (. ), and needs to be a valid RFC 1123 hostname. Set the name to @ if the property is to be located at the apex of the domain. |
score |
Enumeration | ✓ | Specifies how GTM aggregates liveness test scores across different tests, when multiple tests are configured. Values are mean , median , best , or the default worst . |
staticRRSets |
Property. |
○ | v1.4. Contains static recordsets. mxRecords and staticTTL settings are deprecated in favor of this field as of version 1.4. |
staticTTL |
Integer, Null | ✓ | Specifies the TTL in seconds for static resource records that do not change based on the requesting name server IP. This includes MX, TXT, and SPF records. |
stickiness |
Integer, Null | ✓ | Specifies a constant used to configure data center affinity. This only applies if the property type is performance and the domain type is full . The value ranges from 0 to 30000 . See also stickinessBonusPercentage within this object. To learn more about how these object members relate to each other, see API concepts. |
stickiness |
Integer, Null | ✓ | Specifies a percentage used to configure data center affinity. This only applies if the property type is performance and the domain type is full . The value ranges from 0 to 100 . See also stickinessBonusConstant within this object. To learn more about how these object members relate to each other, see API concepts. |
trafficTargets |
Property. |
✓ | Contains information about where to direct data center traffic. For geographic mapped properties, it is always a cname . For mirror failover properties, it can be any set of servers. For load balanced properties, this is a set of servers that are all within the same data center. You can have multiple traffic targets associated with the same data center. |
type |
Enumeration | ✓ | Specifies the load balancing behavior for the property. Either failover , geographic , cidrmapping , weighted-round-robin , weighted-hashed , weighted-round-robin-load-feedback , qtr , or performance . An additional value of asmapping requires the application/vnd.config-gtm.v1.1+json media type (or higher). A value of static allows solely standard DNS record types with no load balancing (requires the application/vnd.config-gtm.v1.4+json media type). See API versioning for more information. |
unreachable |
Number, Null | ✓ | For performance domains, this specifies a penalty value that’s added to liveness test scores when data centers have an aggregated loss fraction higher than this value. The value is a decimal between 0 and 1 . A value of 1.0 or null disables an unreachable penalty. See also maxUnreachablePenalty within this object. |
use |
Boolean | ✓ | For load-feedback domains only, this specifies that you want GTM to automatically compute target load. Report only the current load objects, either by omission, or by using non-XML load objects. |
Property.livenessTests[] : Contains information about the liveness tests, which are run periodically to determine whether your servers respond to requests, as discussed in API concepts. |
|||
answersRequired |
Boolean | ✓ | v1.3. If testObjectProtocol is DNS , requires an answer to the DNS query to be considered a success. The default is false . |
disabled |
Boolean | ○ | v1.4. Disables the liveness test. When disabled, GTM will cease to run the test, effectively treating it as if it no longer exists. The default is false . |
disable |
Boolean | ✓ | Disables warnings when non-standard ports are used. For example, GTM does not emit a warning to specify port 1234 when the testObjectProtocol is http , as HTTP typically uses port 80. The default is false . |
errorPenalty |
Number | ✓ | v1.2. Specifies the score that’s reported if the liveness test encounters an error other than timeout, such as connection refused, and 404. The default value is 75 . |
hostHeader |
String, Null | ✓ | Sent if the testObjectProtocol is http or https , up to 256 non-space, alphanumeric characters. Obsolete as of version 1.4 - recommended to use hostHeaders instead. |
httpError3xx |
Boolean | ✓ | Treats a 3xx HTTP response as a failure if the testObjectProtocol is http , https , or ftp . |
httpError4xx |
Boolean | ✓ | Treats a 4xx HTTP response as a failure if the testObjectProtocol is http , https , or ftp . |
httpError5xx |
Boolean | ✓ | Treats a 5xx HTTP response as a failure if the testObjectProtocol is http , https , or ftp . |
httpHeaders |
Property. |
○ | v1.4. Contains HTTP headers to send if the testObjectProtocol is http or https . Obsoletes hostHeader setting as of version 1.4. |
name |
String | ✓ | A descriptive name for the liveness test. |
peer |
Boolean | ✓ | v1.3. Validates the origin certificate. Applies only to tests with testObjectProtocol of https . The default is false . |
recursion |
Boolean | ✓ | v1.3. Indicates that testObjectProtocol is DNS . The DNS query is recursive. The default is false . |
requestString |
String, Null | ✓ | Specifies a request string. Required if testObjectProtocol is tcp or tcps . The value is a maximum of 4000 non-space, alphanumeric characters. |
resourceType |
Enumeration, Null | ✓ | v1.3. Specifies the query type, if testObjectProtocol is DNS . Types include: A , AAAA , AFSDB , CNAME , HINFO , LOC , MX , NAPTR , NS , PTR , RP , SOA , SPF , SRV , SSHFP , TXT , DNSKEY , DS , NSEC3 , NSEC3PARAM , or RRSIG . Additional support for unknown types (TYPENNNNN ) where NNNNN is an integer from 1 through 65535 . |
responseString |
String, Null | ✓ | Specifies a response string. Required if testObjectProtocol is tcp or tcps . Maximum 4000 characters. |
ssl |
String, Null | ✓ | Indicates a Base64-encoded certificate. SSL client certificates are available for livenessTests that use secure protocols. |
ssl |
String, Null | ✓ | Indicates a Base64-encoded private key. The private key used to generate or request a certificate for livenessTests can’t have a passphrase nor be used for any other purpose. |
testInterval |
Integer | ✓ | Indicates the interval at which the liveness test is run, in seconds. Requires a minimum of 10 seconds. |
testObject |
String, Null | ✓ | Specifies the static text that acts as a stand-in for the data that you’re sending on the network. |
test |
String, Null | ✓ | Specifies the test object’s password. It is required if testObjectProtocol is ftp . Maximum is 128 characters. |
testObjectPort |
Integer | ✓ | Specifies the port number for the testObject . Value from 1 to 65535 . |
test |
Enumeration | ✓ | Specifies the test protocol. EitherDNS , HTTP , HTTPS , FTP , POP , POPS , SMTP , SMTPS , TCP , or TCPS . Enable the testObjectProtocol for DNS . Requires application/vnd.config-gtm.v1.3+json . |
test |
String, Null | ✓ | A descriptive name for the testObject . If testObjectProtocol is ftp , then testObjectUsername is required. The value is a maximum of 256 non-space, alphanumeric characters. |
testTimeout |
Number | ✓ | Specifies the duration of the liveness test before it fails. The range is from 0.001 to 60 seconds. The default value is 25 seconds. |
timeoutPenalty |
Number | ✓ | v1.2. Specifies the score to be reported if the liveness test times out. This is independent of the liveness testTimeout value. The default value is 25 seconds. |
Property.livenessTests[].httpHeaders[] : v1.4. Contains HTTP headers to send if the testObjectProtocol is http or https . Obsoletes hostHeader setting as of version 1.4. |
|||
name |
String | ✓ | Name of HTTP header. |
value |
String | ✓ | Value of HTTP header. |
Property.mxRecords[] : Specifies the MX records handed out to MX record type queries. Note that mapping and liveness testing aren’t done. The same MX records are handed out for every request. Deprecated as of version 1.4 - recommended to use staticRRSets instead. |
|||
exchange |
String | ✓ | MX record exchange field. |
preference |
Number | ✓ | MX record preference field. |
Property.staticRRSets[] : v1.4. Contains static recordsets. mxRecords and staticTTL settings are deprecated in favor of this field as of version 1.4. |
|||
rdata |
Array | ✓ | An array of data strings, representing multiple records within a set. The format of the rdata strings are dependent on the type of this record. |
ttl |
Integer | ✓ | The number of seconds that this record should live in a resolver’s cache before being refetched. |
type |
String | ✓ | The record type. |
Property.trafficTargets[] : Contains information about where to direct data center traffic. For geographic mapped properties, it is always a cname . For mirror failover properties, it can be any set of servers. For load balanced properties, this is a set of servers that are all within the same data center. You can have multiple traffic targets associated with the same data center. |
|||
datacenterId |
Integer | ○ | A unique identifier for an existing data center in the domain. |
enabled |
Boolean | ○ | Indicates whether the traffic target is used. You can also omit the traffic target, which has the same result as the false value. However, when the value is false , GTM continues to store the other traffic target fields in the database. There’s no need to store them locally should you want to use the traffic target at a later time. |
handoutCName |
String, Null | ○ | Specifies an optional data center for the property. The handoutCName is used when there are no servers configured for the property. Maximum 63 characters for the labels, 255 characters overall. May contain alphanumeric, hyphens, and underscores, but not literal IP addresses. Leading or trailing hyphens are not allowed. |
name |
String, Null | ○ | An alternative label for the traffic target. |
servers |
Array | ○ | Identifies the IP address or the hostnames of the servers. For hostnames that return IP addresses, all IP addresses are tested for liveness. |
weight |
Number | ○ | Specifies the traffic weight for the target. This parameter is required when the enclosing property is failover , weighted , weighted-with-load-feedback , or performance . The sum of this value, for all enabled targets, needs to add up to 100. For failover properties, set this value to 1 for the traffic target you want to mark as primary. For weighted , weighted-with-load-feedback or performance , set this to the percentage of the total load. |
Datacenter
Contains information about the data centers in the GTM domain.
Download schema:
datacenter.json
Sample GET response:
{
"city": "Downpatrick",
"cloneOf": 0,
"continent": "EU",
"country": "GB",
"datacenterId": 3133,
"latitude": 54.367,
"longitude": -5.582,
"nickname": "Winterfell",
"stateOrProvince": null,
"virtual": true,
"defaultLoadObject": {
"loadObject": null,
"loadObjectPort": 0,
"loadServers": null
},
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/datacenters/3133",
"rel": "self"
}
]
}
Datacenter members
Member | Type | Description | |
---|---|---|---|
Datacenter : Contains information about the data centers in the GTM domain. |
|||
city |
String, Null | The name of the city where the data center is located. | |
cloneOf |
Integer, Null | Identifies the data center’s datacenterId of which this data center is a clone. A data center clone is just like any other data center except that it inherits its geographic attributes (continent , country , stateOrProvince , city , latitude , and longitude ) from the data center of which it is a clone. |
|
cloud |
Boolean | Balances load between two or more servers in a cloud environment. Either true if cloud server targeting is enabled or false if not. |
|
continent |
Enumeration, Null | A two-letter code that specifies the continent where the data center maps to. If omitted, GTM populates this parameter. Either AF , AS , EU , NA , OC , OT , or SA . |
|
country |
String, Null | A two-letter ISO 3166 country code that specifies the country where the data center maps to. | |
datacenterId |
Integer | A unique identifier for an existing data center in the domain. | |
default |
Datacenter. |
Specifies the load reporting interface between you and the GTM system. A load object is a file that provides real-time information about the current load, maximum allowable load, and target load on each resource. This default load object is intended to be shared. Individual Resources can specify useDefaultLoadObject to use it instead of specifying their own. |
|
latitude |
Number | Specifies the geographical latitude of the data center’s position. See also longitude within this object. |
|
links |
Hypermedia[] | Provides a URL path that allows direct navigation to a data center. | |
longitude |
Number | Specifies the geographic longitude of the data center’s position. See also latitude within this object. |
|
nickname |
String | A descriptive label for the data center. | |
stateOrProvince |
String, Null | Specifies a two-letter ISO 3166 country code for the state or province where the data center is located. | |
virtual |
Boolean | Read-only. Indicates whether or not the data center is virtual or physical, the latter meaning the data center has an Akamai Network Agent installed, and its physical location (latitude, longitude) is fixed. Either true if virtual or false if physical. |
|
Datacenter.defaultLoadObject : Specifies the load reporting interface between you and the GTM system. A load object is a file that provides real-time information about the current load, maximum allowable load, and target load on each resource. This default load object is intended to be shared. Individual Resources can specify useDefaultLoadObject to use it instead of specifying their own. |
|||
loadObject |
String | Specifies the load object that GTM requests. A load object is a file that provides real-time information about the current load, maximum allowable load, and target load on each resource. The value cannot begin with a : character, and is limited to a maximum of 256 characters. |
|
loadObjectPort |
Integer | Specifies the TCP port to connect to when requesting the load object. A value of 0 means to use the default port, equivalent to either 80 or 443 . |
|
loadServers |
Array | Specifies a list of servers to request the load object from. The value needs to contain IPv4 or IPv6 addresses, or DNS names that contain A or AAAA records. If a DNS name has both A and AAAA records, then GTM picks one randomly. For IP addresses, do not use non-routable RFC 1918 addresses. |
CidrMap
Contains information about the CIDR map configured for the property.
Download schema:
cidr-map.json
Sample GET response:
{
"name": "The North",
"defaultDatacenter": {
"datacenterId": 5400,
"nickname": "All Other CIDR Blocks"
},
"assignments": [
{
"datacenterId": 3134,
"nickname": "Frostfangs and the Fist of First Men",
"blocks": [
"1.2.3.0/24"
]
},
{
"datacenterId": 3133,
"nickname": "Winterfell",
"blocks": [
"1.2.4.0/24"
]
}
],
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/cidr-maps/The%20North",
"rel": "self"
}
]
}
CidrMap members
Member | Type | Description | |
---|---|---|---|
CidrMap : Contains information about the CIDR map configured for the property. |
|||
assignments |
Cidr |
Contains information about the CIDR zone groupings of CIDR blocks. | |
default |
Cidr |
A placeholder for all other CIDR zones, CIDR blocks not found in these CIDR zones. Note that a CIDR map can’t have the same CIDR block in multiple CIDR zones. | |
links |
Hypermedia[] | Specifies the URL path that allows direct navigation to the CIDR map. | |
name |
String | A descriptive label for the CIDR map, up to 255 characters. | |
CidrMap.assignments[] : Contains information about the CIDR zone groupings of CIDR blocks. |
|||
blocks |
Array | Specifies an array of CIDR blocks. | |
datacenterId |
Integer | A unique identifier for an existing data center in the domain. | |
nickname |
String | A descriptive label for the CIDR zone group, up to 256 characters. | |
CidrMap.defaultDatacenter : A placeholder for all other CIDR zones, CIDR blocks not found in these CIDR zones. Note that a CIDR map can’t have the same CIDR block in multiple CIDR zones. |
|||
datacenterId |
Integer | For each property, an identifier for all other CIDR zones’ CNAME. For example, 5400. | |
nickname |
String | A descriptive label for the all other CIDR blocks. If omitted, the default is All Other CIDR Blocks . |
AsMap
Contains information about the AS map configured for the property.
Download schema:
as-map.json
Sample GET response:
{
"name": "The North",
"defaultDatacenter": {
"datacenterId": 5400,
"nickname": "All Other AS numbers"
},
"assignments": [
{
"datacenterId": 3134,
"nickname": "Frostfangs and the Fist of First Men",
"asNumbers": [
12222,
16702,
17334
]
},
{
"datacenterId": 3133,
"nickname": "Winterfell",
"asNumbers": [
16625
]
}
],
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/as-maps/The%20North",
"rel": "self"
}
]
}
AsMap members
Member | Type | Required | Description |
---|---|---|---|
AsMap : Contains information about the AS map configured for the property. |
|||
assignments |
As |
✓ | Contains information about the AS zone groupings of AS IDs. |
default |
As |
✓ | A placeholder for all other AS zones, AS IDs not found in these AS zones. Note that an AS map can’t have the same AS ID in multiple AS zones. |
links |
Hypermedia[] | ○ | Specifies the URL path that allows direct navigation to the As map. |
name |
String | ✓ | A descriptive label for the AS map. Properties set up for asmapping can use this as reference. |
AsMap.assignments[] : Contains information about the AS zone groupings of AS IDs. |
|||
asNumbers |
Array | ✓ | Specifies an array of AS numbers. |
datacenterId |
Integer | ✓ | A unique identifier for an existing data center in the domain. |
nickname |
String | ✓ | A descriptive label for the group. |
AsMap.defaultDatacenter : A placeholder for all other AS zones, AS IDs not found in these AS zones. Note that an AS map can’t have the same AS ID in multiple AS zones. |
|||
datacenterId |
Integer | ✓ | For each property, an identifier for all other AS zones’ CNAME. For example, 5400. |
nickname |
String | ✓ | A descriptive label for all other AS zones, up to 128 characters. If the value is empty or null , the default is Default Mapping . |
GeographicMap
Contains information about the geographic map configured for the property.
Download schema:
geographic-map.json
Sample GET response:
{
"name": "UK Delivery",
"defaultDatacenter": {
"datacenterId": 5400,
"nickname": "Default Mapping"
},
"assignments": [
{
"datacenterId": 3133,
"nickname": "UK users",
"countries": [
"GB"
]
}
],
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/geographic-maps/UK%20Delivery",
"rel": "self"
}
]
}
GeographicMap members
Member | Type | Description | |
---|---|---|---|
GeographicMap : Contains information about the geographic map configured for the property. |
|||
assignments |
Geographic |
Contains information about the geographic zone groupings of countries. | |
default |
Geographic |
A placeholder for all other geographic zones, countries not found in these geographic zones. Note that a geographic map cannot have the same countries in multiple geographic zones. | |
links |
Hypermedia[] | Specifies the URL path that allows direct navigation to the geographic map. | |
name |
String | A descriptive label for the geographic map, up to 128 characters. |
|
GeographicMap.assignments[] : Contains information about the geographic zone groupings of countries. |
|||
countries |
Array | Specifies an array of two-letter ISO 3166 country codes, or for finer subdivisions, the two-letter country code and the two-letter stateOrProvince code separated by a forward slash. For example, US/TX . |
|
datacenterId |
Integer | A unique identifier for an existing data center in the domain. | |
nickname |
String | A descriptive label for the group. | |
GeographicMap.defaultDatacenter : A placeholder for all other geographic zones, countries not found in these geographic zones. Note that a geographic map cannot have the same countries in multiple geographic zones. |
|||
datacenterId |
Integer | For each property, an identifier for all other geographic zones’ CNAME. For example, 5400. | |
nickname |
String | A descriptive label for all other geographic zones. The value ranges from 1 to 128 characters. If omitted, defaults to Default Mapping . |
Resource
Contains information about the resources in the GTM domain.
Download schema:
resource.json
Sample GET response:
{
"aggregationType": "latest",
"constrainedProperty": "**",
"decayRate": null,
"description": "Supply levels of Arbor Gold",
"hostHeader": null,
"leaderString": null,
"leastSquaresDecay": null,
"loadImbalancePercentage": null,
"maxUMultiplicativeIncrement": null,
"name": "arbor-gold",
"type": "Non-XML load object via HTTP",
"upperBound": 0,
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/resources/arbor-gold",
"rel": "self"
}
],
"resourceInstances": [
{
"datacenterId": 3134,
"loadObject": "/cups",
"loadObjectPort": 80,
"useDefaultLoadObject": false,
"loadServers": [
"1.2.3.8"
]
},
{
"datacenterId": 3133,
"loadObject": "/cups",
"loadObjectPort": 80,
"useDefaultLoadObject": false,
"loadServers": [
"1.2.3.7"
]
}
]
}
Resource members
Member | Type | Description | |
---|---|---|---|
Resource : Contains information about the resources in the GTM domain. |
|||
aggregationType |
Enumeration | Specifies how GTM handles different load numbers when multiple load servers are used for a data center or property. Either sum , median , or latest . For test time load feedback, consider median . (Akamai conducts tests from multiple locations, so you can ignore outlying values.) For load feedback with manual targets or dynamic targets, consider latest because all load servers normally report similar numbers. |
|
constrained |
String, Null | Specifies the name of the property that this resource constrains, or ** to constrain all properties. |
|
decayRate |
Number, Null | For internal use only. Unless Akamai indicates otherwise, omit the value or set it to null . |
|
description |
String, Null | A descriptive note to help you track what the resource constrains. For example, aggregate bandwidth for all properties . A maximum of 256 characters. |
|
hostHeader |
String, Null | Optionally specifies the host header used when fetching the load object. | |
leaderString |
String, Null | Specifies the text that comes before the loadObject . GTM assumes that the current load is the first number to appear after this text, minus any white space. The value is a maximum of 256 characters. The default is null . For example, suppose your loadObject file contains, This is a load object. TheLoadIs:497. This is the end of the load object. Then GTM reads the current load as 497 if the leaderString is set to TheLoadIs. |
|
least |
Number, Null | For internal use only. Unless Akamai indicates otherwise, omit the value or set it to null . |
|
links |
Hypermedia[] | Specifies the URL path that allows direct navigation to the resource. | |
load |
Number, Null | Indicates the percent of load imbalance factor (LIF) for the property. The LIF controls how imbalanced GTM allows the load to be. That is the factor by which the demand sent to a data center is permitted to exceed the configured value. For example, with a data center traffic allocation of 25 percent and an LIF of 1.5, the demand sent to the data center is allowed to grow to 37.5 percent (25% × 1.5) before the load balancer starts shifting load away from it. The LIF is represented as a percentage; zero means no load imbalance is allowed at all. However, GTM adds one to the LIF so that it can be used as a multiplier. The default LIF is 1.1, and displayed as 10.0 percent. The allowable range is 0 to 1000000 percent. | |
max |
Number, Null | For internal use only. Unless Akamai indicates otherwise, omit the value or set it to null . |
|
name |
String | A descriptive label for the resource. A maximum 150 non-space characters. | |
resource |
Resource. |
Contains information about the resources that constrain the properties within the data center. |
|
type |
Enumeration | Indicates the kind of loadObject format used to determine the load on the resource. Either XML load object via HTTP , XML load object via HTTPS , Non-XML load object via HTTP , Non-XML load object via HTTPS , Download score , or Push API . |
|
upperBound |
Integer, Null | An optional sanity check that specifies the maximum allowed value for any component of the load object. If the loadObject contains a number that exceeds this value, the entire load object is rejected as invalid and GTM continues to use the load values from the most recently acquired loadObject . To receive an alert when a load object is rejected, log in to Control Center, from the Common Services category select Alerts, then create a Load Object File Invalid or Cannot be Fetched alert. Learn more. |
|
Resource.resourceInstances[] : Contains information about the resources that constrain the properties within the data center. |
|||
datacenterId |
Integer | A unique identifier for an existing data center in the domain. | |
loadObject |
String | Identifies the load object file used to report real-time information about the current load, maximum allowable load, and target load on each resource. The maximum permitted length is 256 characters. Learn more. | |
loadObjectPort |
Integer | Specifies the TCP port of the loadObject . The value ranges from 0 to 65535 . If the value is 0 , the default port is either 80 or 443 . |
|
loadServers |
Array | Specifies a list of servers from which to request the load object. The value needs to contain IPv4 or IPv6 addresses, or DNS names that contain A or AAAA records. If a DNS name has both A and AAAA records, then GTM picks one randomly. For IP addresses, do not use non-routable RFC 1918 addresses. | |
use |
Boolean | Indicates whether a default loadObject is used for the resources. |
Status
Contains information about the condition of the change in the domain’s activation. Any change that returns a 200 series response and goes to propagationStatus PENDING, propagates within a few minutes. To query the activation status, run the Get current status operation, which returns information about the current condition of the change in the domain’s activation.
Download schema:
status.json
Sample GET response:
{
"changeId": "5beb11ae-8908-4bfe-8459-e88efc4d2fdc",
"message": "Current configuration has been propagated to all GTM name servers.",
"passingValidation": true,
"propagationStatus": "COMPLETE",
"propagationStatusDate": "2014-03-08T15:39:00.000+0000",
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/status/current",
"rel": "self"
}
]
}
Status members
Member | Type | Description |
---|---|---|
Status : Contains information about the condition of the change in the domain’s activation. Any change that returns a 200 series response and goes to propagationStatus PENDING, propagates within a few minutes. To query the activation status, run the Get current status operation, which returns information about the current condition of the change in the domain’s activation. |
||
changeId |
String | Read-only. A unique identifier that is generated when a change occurs to the domain. The maximum length is 36 characters. |
links |
Hypermedia[] | Specifies the URL path that allows direct navigation to the domain. |
message |
String | Read-only. A notification that is generated when a change occurs to the domain. The maximum length is 4000 characters. |
passing |
Boolean | Read-only. Indicates if the domain validates. |
propagation |
Enumeration | Tracks the status of the domain’s propagation state. Either PENDING , COMPLETE , or DENIED . A DENIED value indicates that the domain configuration is invalid, and does not propagate until the validation errors are resolved. |
propagation |
String | Read-only. An ISO 8601 timestamp indicating when a change occurs to the domain. |
UpdateResponse
Returns information about updates made to the domain, and tracks the update’s status
.
Download schema:
as-map-update-response.json
Sample DELETE response:
{
"resource": null,
"status": {
"changeId": "a97bedfe-c997-4634-84a4-cdb31529fb4c",
"message": "Change Pending",
"passingValidation": true,
"propagationStatus": "PENDING",
"propagationStatusDate": "2014-04-08T13:44:53.000+0000",
"links": [
{
"href": "/config-gtm/v1/domains/example.akadns.net/status/current",
"rel": "self"
}
]
}
}
UpdateResponse members
Member | Type | Description |
---|---|---|
UpdateResponse : Returns information about updates made to the domain, and tracks the update’s status . |
||
resource |
Object | Represents the object you updated. |
status |
Status | Indicates the status of the updated resource . |
Hypermedia
Lists navigable URLs to resources.
Download schema:
link.json
Hypermedia members
Member | Type | Description |
---|---|---|
Hypermedia : Lists navigable URLs to resources. |
||
href |
String | Provides a hypermedia link to the complete URL that uniquely defines a resource. |
rel |
String | Indicates the link relationship of the object. |
Errors
This section provides details on the data object that reflects the API’s common response to error cases, and lists the API’s range of response status codes for both error and success cases.
Error responses
The format of error response objects follows the JSON Problem
Details standard, and are
identified with the application/api-problem+json
MIME type.
This example shows a GTM error response to a request when the
loadImbalanceFactor
is less than 1.0
:
{
"status": 400,
"title": "Domain Validation Failure",
"type": "https://problems.luna.akamaiapis.net/config-gtm/v1/domainValidationFailed",
"errors": [
{
"detail": "loadImbalanceFactor needs to be at least 1.0",
"title": "Domain Validation Error",
"type": "https://problems.luna.akamaiapis.net/config-gtm/v1/domainValidationError"
}
]
}
Error types
This table provides details for many of the errors you may encounter
and the HTTP status codes they share. Note that this is not an exhaustive listing.
Each problem object’s type
member corresponds to distinct error cases.
Problem types reported in HTTP error responses follow this URI pattern, where
the type
value appends after the common prefix string:
https://problems.luna.akamaiapis.net/config-gtm/{version}/{type}
Code | Type | Description |
---|---|---|
400 | acgInvalid |
The request’s Domain representation contains an invalid acgId , or one the client does not have access to. You can leave this field blank. The server assigns an appropriate ID automatically. |
400 | contractMustBeSpecified |
Returned when a client has access to multiple contracts and attempts to create a domain but does not specify which contractId to tie the domain to. |
400 | datacenterInUse |
Returned when a client requests to Remove a data center, but that data center is in use by one or more properties or one or more resources . Reassign such properties or resources to use alternate data centers, at which point a subsequent request to DELETE is allowed and processed. |
400 | defaultDatacenterId |
Returned when creating a CidrMap. Ensure that the request’s JSON representation has left the defaultDatacenter object’s datacenterId field blank, as it is assigned by the server. |
400 | domainNameMismatch |
Returned when a client PUTs a JSON representation to a Domain resource of a name (for example, /domains/mydomain.akadns.net ), but the JSON’s name field does not match that resource name (for example, {"name": "myotherdomain.akadns.net", ...} ). |
400 | domainTypeInvalid |
Returned when creating a domain, if the JSON specifies a domain type which is not permitted due to contractual restrictions. For instance, if Weighted Load Balancing has been purchased, only Failover and Weighted domains are allowed. |
400 | domainTypeRequired |
Returned when creating a domain. The JSON representation’s type field is one of the four valid domain types: failover-only , static , weighted , or basic . |
400 | domainValidationError |
Returned when input for any POST, PUT, or DELETE operation does not fully meet all product requirements. |
400 | groupMustBeSpecified |
Returned when a client has access to multiple groups and attempts to create a domain but does not specify which groupId to tie the domain to. |
400 | invalidDNSName |
Returned if a domain or property name is not a valid DNS name. |
400 | invalidEntity |
Returned when the request entity failed validation of one form or another. The response entity’s detail field contains a message describing what failed validation, and in most cases gives a hint on how to correct the problematic value. |
400 | malformedRequestEntity |
Returned when the server could not parse the JSON entity sent by the client. The response entity’s detail field contains the message returned from the JSON parsing library, but it may not contain enough information on what is wrong. The best course of action is for the client to validate the JSON payload using the appropriate JSON schema to identify the problem. |
400 | mapNameMismatch |
Returned when a client PUTs a JSON representation to a GeographicMap or CidrMap resource of a name (for example, /geographic-maps/mymap ), but the JSON’s name field does not match that resource name (for example, {"name": "myothermap", ...} ). |
400 | modifiedImmutableField |
Returned if a client attempts to modify a field that is immutable. |
400 | performance |
Returned when creating a domain. If the JSON specifies a type of full , this error is returned as domains of this type can’t be created with this API. Contact Akamai customer support for assistance in creating such domains. |
400 | propertyNameMismatch |
Returned when a client PUTs a JSON representation to a Property resource of a name (for example, /properties/foo ), but the JSON’s name field does not match that resource name (for example, {"name": "baz", ...} ). |
400 | regionMustBeAssigned |
Returned when a client POSTs a JSON representation to Create a data center, but the JSON’s datacenterId is not blank. This field needs to be blank, as a datacenterId is assigned by the server. |
400 | regionNumberMismatch |
Returned when a client PUTs a JSON representation to a Datacenter resource of a datacenterId (for example, /datacenters/3131 ), but the JSON’s datacenterId field does not match that resource’s ID (for example, {"datacenterId": 3231, ...} ). |
400 | resourceNameMismatch |
Returned when a client PUTs a JSON representation to a Resource resource of a name (for example, /resources/cpu ), but the JSON’s name field does not match that resource’s name (for example, {"name": "disk", ...} ). |
400 | typeMismatch |
Returned if a query string can’t be parsed into the expected type (for example, if the parameter expects an integer, and contains alphabetic characters). The response entity’s invalidValue field contains the value that could not be parsed. |
403 | accessDenied |
Returned when the client’s credentials were verified, but did not have authorization to access the requested resource. |
403 | contractAccessProblem |
Returned when a client attempts to create a domain under a contract that the client lacks access to. |
403 | groupAccessProblem |
Returned when a client attempts to create a domain under a Group that the client lacks access to. |
404 | notfound |
Returned when a named resource, be it a domain, data center, property, resource, geographic map, CIDR map, or status does not exist. |
405 | http |
Returned when the server does not support a specific request method. The response entity’s detail field contains a list of supported methods for the Resource, for reference. |
406 | feature |
Returned when the server can’t represent a resource using the requested media type. The response entity’s minimumMediaTypeRequired field lists the minimum version media type needed to successfully render the resource. See API versioning for more information. |
409 | datacenterConflict |
Returned when a request to create a data center with a specific datacenterId , but a data center with that ID already exists. |
415 | httpMediaTypeNotAcceptable |
Returned when the server cannot generate a response that is acceptable by the client. For version 1, application/json , application/vnd.config-gtm.v1.0+json (both are synonymous) and for version 2, application/vnd.config-gtm.v1.1+json , are supported. |
415 | unsupportedMediaType |
Returned when a client POSTs, PUTs, or PATCHes content of a type that is not supported. For version 1, application/json , application/vnd.config-gtm.v1.0+json (both are synonymous) and for version 2, application/vnd.config-gtm.v1.1+json , are supported. |
500 | serverError |
Returned when there is an issue on the server side for which the server does not have a modified state. Safeguards are in place to make sure everything is as it was when the request began. You can retry the request but it may not resolve the problem, in which case contact Akamai customer support for assistance. |