Number of APIs: 88
Edge DNS integrates easily with your existing DNS infrastructure, whether deployed in a private data center or public cloud, connecting your users with their desired destination. It provides a secure, high-performance, scalable, and highly available solution for DNS hosting. As part of this service, Akamai runs name servers in many networks and geographic locations that are capable of resolving queries for your zones. Manage the configuration of all of your Edge DNS zones: primary, secondary, and alias. Manage the record sets of your primary zones. Create an authentication credential that contains the client token and client secret required to authenticate Akamai API requests. Note: Only Akamai customers can create credentials. If you aren't an Akamai customer and wish to become one, you can sign up for our services. Navigate to the Identity and Access Management section of Akamai Control Center and click Create API Client. Note: If you don't have access to the Identity and Access Management tool, contact your local Akamai Control Center admin or your Akamai account team for assistance. Click Quick and then Download in the Credentials section. Note: If you need to refine access levels or permissions, see Create a client with custom permissions. Open the downloaded file with a text editor and add Fork the [Akamai Authentication] environment, populate the variables, and [set it for your workspace] To enable this API, go to the API list of your API client in Control Center, choose the API service named DNS—Zone Record Management, and set the access level to You can use this API collection in these integration methods:
With this API, you can:
Authentication
[default]
as a header above all text.[default]
client_secret = C113nt53KR3TN6N90yVuAgICxIRwsObLi0E67/N8eRN=
host = akab-h05tnam3wl42son7nktnlnnx-kbob3i3v.luna.akamaiapis.net
access_token = akab-acc35t0k3nodujqunph3w7hzp7-gtm6ij
client_token = akab-c113ntt0k3n4qtari252bfxxbsl-yvsdj
Dependencies
READ-WRITE
.Integration methods
1. Create requests - Submit a bulk proxy zone create request
POST https://{{host}}/config-dns/v2/proxies/:proxyId/zones/create-requests
Submits a request to create one or more new Proxy Zones asynchronously. The request body contains a JSON array. Each object in the array contains the data necessary to create a proxy zone. All proxy zones are created on the same contract and group. An offline task creates the new proxy zones. You can use the response's requestId
to check the task's status and view its results once it completes.
2. Create requests - Get a bulk proxy zone create results for a proxy
GET https://{{host}}/config-dns/v2/proxies/:proxyId/zones/create-requests
Retrieves the results of requests for a given proxy.
3. Create requests - Check bulk proxy zone create status
GET https://{{host}}/config-dns/v2/proxies/:proxyId/zones/create-requests/:requestId
Retrieves the current status of a running or completed request. The requestId
was returned when the create request was initiated.
4. Create requests - Get a bulk proxy zone create result
GET https://{{host}}/config-dns/v2/proxies/:proxyId/zones/create-requests/:requestId/result
Retrieves the results from a completed request.
5. Create requests - Submit a bulk zone create request
POST https://{{host}}/config-dns/v2/zones/create-requests?contractId={{contractId}}&gid={{gid}}
Submits a request to create one or more new Zones asynchronously. The request body contains a JSON array. Each object in the array contains the data necessary to create a zone. All zones are created on the same contract and group. An offline task creates the new zones. You can use the response's requestId
to check the task's status and view its results once it completes.
6. Create requests - Check bulk zone create status
GET https://{{host}}/config-dns/v2/zones/create-requests/:requestId
Retrieves the current status of a running or completed request. The requestId
was returned when the create request was initiated.
7. Create requests - Get bulk zone create results
GET https://{{host}}/config-dns/v2/zones/create-requests/:requestId/result
Retrieves the results from a completed request.
8. Delete requests - Submit a bulk proxy zone delete request
POST https://{{host}}/config-dns/v2/proxies/:proxyId/zones/delete-requests
Submits a request to delete one or more proxy zones asynchronously. Each element in the response array is the name of a proxy zone to be deleted. Before deleting a zone from the Edge DNS system, the API makes sure Akamai servers aren't receiving DNS requests for that proxy zone. It also checks that the proxy zone isn't currently delegated to Akamai's name servers. An offline task deletes the proxy zones. The result of this operation is a requestId
, which you can use to check the task's status and view its results once it completes.
9. Delete requests - Get all bulk proxy zone delete results
GET https://{{host}}/config-dns/v2/proxies/:proxyId/zones/delete-requests/results
Retrieves the results for all requests for a given proxy.
10. Delete requests - Check bulk proxy zone delete status
GET https://{{host}}/config-dns/v2/proxies/:proxyId/zones/delete-requests/:requestId
Retrieves the current status of a running or completed request. The requestId
was returned when the delete request was initiated.
11. Delete requests - Get a bulk proxy zone delete result
GET https://{{host}}/config-dns/v2/proxies/:proxyId/zones/delete-requests/:requestId/result
Retrieves the result from a completed request.
12. Delete requests - Submit a bulk zone delete request
POST https://{{host}}/config-dns/v2/zones/delete-requests
Submits a request to delete one or more new Zones asynchronously. The request body contains a JSON array. Each element in the array is the name of a zone to be deleted. Before deleting a zone from the Edge DNS system, the API makes sure Akamai servers aren't receiving DNS requests for that zone. It also checks that the zone isn't currently delegated to Akamai's name servers. An offline task deletes the new zones. The result of this operation is a requestId
, which you can use to check the task's status and view its results once it completes.
13. Delete requests - Check bulk zone delete status
GET https://{{host}}/config-dns/v2/zones/delete-requests/:requestId
Retrieves the current status of a running or completed request. The requestId
was returned when the delete request was initiated.
14. Delete requests - Get bulk zone delete results
GET https://{{host}}/config-dns/v2/zones/delete-requests/:requestId/result
Retrieves the results
from a completed request.
15. Change lists - Create a change list
POST https://{{host}}/config-dns/v2/changelists?zone={{zone}}
Creates a new change list based on the most recent version of a zone. No POST body is needed, since the object is read-only.
16. Change lists - List user's change lists
GET https://{{host}}/config-dns/v2/changelists
Retrieves the change lists that you created. Otherwise, displays both stale change lists and change lists for zones you can no longer access.
17. Change lists - Search for change lists
POST https://{{host}}/config-dns/v2/changelists/search
Given a list of zone names, this operation lists the change lists that you've created on those zones. If the input list is empty, the response doesn't return any change lists. Note that it's possible to own a change list on a zone that you're no longer allowed to access.
18. Change lists - Get a change list
GET https://{{host}}/config-dns/v2/changelists/:zone
Describes a change list, showing its base zone version, last modified time, and current change tag.
19. Change lists - Delete a change list
DELETE https://{{host}}/config-dns/v2/changelists/:zone
Removes an unneeded change list.
20. Change lists - Show changes
GET https://{{host}}/config-dns/v2/changelists/:zone/diff
Show differences between this change list and its base version.
21. Change lists - List record set names for a change list
GET https://{{host}}/config-dns/v2/changelists/:zone/names
Retrieves a list of record names that exist on this zone, based on the change list. If a record is deleted in the change list, it doesn't appear on the list of records returned. If no record sets exist within the change list, this operation returns an empty list.
22. Change lists - Submit a change list
POST https://{{host}}/config-dns/v2/changelists/:zone/submit?skipSignAndServeSafetyCheck={{skipSignAndServeSafetyCheck}}
Applies all of the changes in this change list to the current zone. This operation fails if the change list has become stale.
23. Types - List record set types for name and change list
GET https://{{host}}/config-dns/v2/changelists/:zone/names/:name/types
Retrieves a list of record set types that exist at a given name based on the selected change list. The list of record sets returned reflect the changes added to the change list. Records deleted in this change list don't appear. If the name doesn't exist within the change list, returns an empty list.
24. Types - Get a record set for a change list
GET https://{{host}}/config-dns/v2/changelists/:zone/names/:name/types/:type
Returns an individual record set based on the selected change list. The list of record sets returned reflects any changes added to this change list. Record sets are annotated with the related change as clean, modified, new, or deleted. This call works even if the change list is stale.
25. Types - List record set types for name and zone
GET https://{{host}}/config-dns/v2/zones/:zone/names/:name/types
Lists all existing Record set types for this name. The list of allowed types is available at List record types. If the name doesn't exist within the zone, an empty list is returned.
26. Record sets - Upload a master zone file to a change list
POST https://{{host}}/config-dns/v2/changelists/:zone/recordsets
Replaces your change list's record sets with the contents of a master zone file.
27. Record sets - List record sets for a change list
GET https://{{host}}/config-dns/v2/changelists/:zone/recordsets
Retrieves the current list of record sets based on the selected change list. The record sets returned reflect any Changes added to this change list. This call works even if the change list is stale. This operation is (paginated](ref:use-pagination).
28. Record sets - Modify record set for a change list
POST https://{{host}}/config-dns/v2/changelists/:zone/recordsets/add-change
Adds a record set change to this change list. Each change is an operation that affects a single record set: ADD
, EDIT
, or DELETE
.
29. Record sets - Create a record set
POST https://{{host}}/config-dns/v2/zones/:zone/names/:name/types/:type
Creates a new Record set with the specified name and type.
30. Record sets - Get a record set
GET https://{{host}}/config-dns/v2/zones/:zone/names/:name/types/:type
Retrieves a single record set for the zone, record name, and record type specified in the URL.
31. Record sets - Replace a record set
PUT https://{{host}}/config-dns/v2/zones/:zone/names/:name/types/:type
Replaces an existing Record set with the request body. The name
and type
need to match the existing record.
32. Record sets - Delete a record set
DELETE https://{{host}}/config-dns/v2/zones/:zone/names/:name/types/:type
Removes an existing record set.
33. Record sets - Create record sets
POST https://{{host}}/config-dns/v2/zones/:zone/recordsets
Creates multiple new record sets on this Zone. If any record set fails to create, for example, because a record set with that name and type already exists, the entire operation fails.
34. Record sets - Get a zone's record sets
GET https://{{host}}/config-dns/v2/zones/:zone/recordsets
Lists all record sets for this Zone. It works only for PRIMARY
and SECONDARY
zones. This operation is paginated.
35. Record sets - Replace record sets
PUT https://{{host}}/config-dns/v2/zones/:zone/recordsets
Replaces the entire list of record sets that currently exists with the list provided.
36. Change list settings - Get change list settings
GET https://{{host}}/config-dns/v2/changelists/:zone/settings
Retrieves the zone's settings based on the selected change list. Zone settings include metadata about the zone, but not the record sets. The data returned reflects the zone setting changes included in the change list. This call works even if the change list is stale.
37. Change list settings - Update change list settings
PUT https://{{host}}/config-dns/v2/changelists/:zone/settings
Updates the change list with new Zone settings. The entire Zone object is needed no matter how many fields you're updating.
38. Authorities - List authoritative name servers
GET https://{{host}}/config-dns/v2/data/authorities
Retrieves the currently assigned Akamai authoritative name servers for one or more contracts.
39. Contracts - List contracts
GET https://{{host}}/config-dns/v2/data/contracts?gid={{gid}}
Lists the contracts accessible to the current user. Each contract includes the list of features and permissions that are available to you on that contract.
40. DNSSEC algorithms - List DNSSEC algorithms
GET https://{{host}}/config-dns/v2/data/dns-sec-algorithms
Retrieves a list of DNSSEC algorithm names.
41. Edge hostnames - List edge hostnames
GET https://{{host}}/config-dns/v2/data/edgehostnames
Displays a list of Edge Hostnames that have been configured for the current customer.
GET https://{{host}}/config-dns/v2/data/groups?gid={{gid}}
Lists the groups accessible to the current user. Each group includes the list of contracts related to that group, as well as your permissions of READ
, WRITE
, ADD
, or DELETE
zone on that group.
43. TSIG key algorithms - List TSIG key algorithms
GET https://{{host}}/config-dns/v2/data/tsig-algorithms
Retrieves a list of TSIG algorithm names.
44. DNS proxies - Create a proxy
POST https://{{host}}/config-dns/v2/proxies?contractId={{contractId}}&gid={{gid}}
Creates a new proxy.
45. DNS proxies - List proxies
GET https://{{host}}/config-dns/v2/proxies
Get a list of proxies that the current user has access to manage.
46. DNS proxies - List valid proxy health check record set types
GET https://{{host}}/config-dns/v2/proxies/healthcheck-recordset-types
Lists the valid proxy health check record set types.
GET https://{{host}}/config-dns/v2/proxies/:proxyId
Get the proxy that the current user has access to manage.
48. DNS proxies - Update a proxy
PUT https://{{host}}/config-dns/v2/proxies/:proxyId
Updates the proxy.
49. Proxy zones - List proxy zones
GET https://{{host}}/config-dns/v2/proxies/:proxyId/zones
Get a list of all proxy zones that the current user has access to manage.
50. Proxy zones - List proxy zone keys
GET https://{{host}}/config-dns/v2/proxies/:proxyId/zones/keys
Get a list of all proxy zones keys that the current user has access to manage.
51. Proxy zones - Get a proxy zone by name
GET https://{{host}}/config-dns/v2/proxies/:proxyId/zones/:name
Get a proxy zone that the current user has access to manage by proxy zone name.
52. Proxy zones - Get a proxy zone TSIG key by name
GET https://{{host}}/config-dns/v2/proxies/:proxyId/zones/:name/key
Get a TSIG key for a proxy zone that the current user has access to manage by proxy zone name.
53. Proxy zones - Update a proxy zone TSIG key by name
PUT https://{{host}}/config-dns/v2/proxies/:proxyId/zones/:name/key
Update the proxy zone.
54. Proxy zones - Delete a proxy zone TSIG key by name
DELETE https://{{host}}/config-dns/v2/proxies/:proxyId/zones/:name/key
Delete a TSIG key for a proxy zone that the current user has access to manage by proxy zone name.
55. Proxy zones - Get proxy zones for a TSIG key
GET https://{{host}}/config-dns/v2/proxies/:proxyId/zones/:name/key/used-by
Get the proxy zones for a TSIG key.
56. Proxy zones - Get a manual filter report
GET https://{{host}}/config-dns/v2/proxies/:proxyId/zones/:name/manual-filter-names
Get manual filter report for a proxy zone that the current user has access to manage.
57. Proxy zones - Manage manual filter names
POST https://{{host}}/config-dns/v2/proxies/:proxyId/zones/:name/manual-filter-names/manage
Manage manual filter entries for a proxy zone that the current user has access to manage.
58. Proxy zones - Initialize manual filter names with a zone file
POST https://{{host}}/config-dns/v2/proxies/:proxyId/zones/:name/manual-filter-names/zone-file
Initializes manual filter names for a proxy zone. Use Manage manual filter names operation to update a proxy zone.
59. Proxy zones filter mode conversion - Convert a proxy zone filter mode to all
POST https://{{host}}/config-dns/v2/proxies/:proxyId/zones/filter-mode-convert/to-all
Converts a proxy zone filter mode to all.
60. Proxy zones filter mode conversion - Convert a proxy zone filter mode to automatic
POST https://{{host}}/config-dns/v2/proxies/:proxyId/zones/filter-mode-convert/to-automatic
Converts a proxy zone filter mode to automatic.
61. Proxy zones filter mode conversion - Convert a proxy zone filter mode to manual
POST https://{{host}}/config-dns/v2/proxies/:proxyId/zones/filter-mode-convert/to-manual
Converts a proxy zone filter mode to manual.
62. Proxy zones filter mode conversion - Convert a proxy zone filter mode to none
POST https://{{host}}/config-dns/v2/proxies/:proxyId/zones/filter-mode-convert/to-none
Converts a proxy zone filter mode to none.
63. Names - List record set names for a zone
GET https://{{host}}/config-dns/v2/zones/:zone/names
Retrieves a list of record set names for a zone.
64. Master zone file - Upload a master zone file
POST https://{{host}}/config-dns/v2/zones/:zone/zone-file
Upload new record set data for this zone in master zone file format. Replaces any existing record sets. This operation applies to primary zones and secondary zones. See RFC 1035 section 5 and RFC 1034 section 3.6.1 for more information. Zone files can contain only US-ASCII characters 0–127. Where allowed, you can encode high-order ASCII characters, 128+, with a backslash plus a three-digit decimal number representing the byte value. For example, \233
instead of é
. AKAMAICDN
and AKAMAITLC
records can't be represented in this format. Uploading a zone file doesn't affect these records.
65. Master zone file - Get a master zone file
GET https://{{host}}/config-dns/v2/zones/:zone/zone-file
Download this zone's record set data in master zone file format. Use the recipe below to get the master zone file. This operation applies to primary zones and secondary zones. See RFC 1035 section 5 and RFC 1034 section 3.6.1 for more information. AKAMAICDN
and AKAMAITLC
records can't be represented in this format, so they're displayed as comment lines.
66. TSIG keys - List TSIG keys
GET https://{{host}}/config-dns/v2/keys
Get a list of the TSIG keys used by zones that you're allowed to manage.
67. TSIG keys - Update a TSIG key across zones
POST https://{{host}}/config-dns/v2/keys/bulk-update
This updates the key data for multiple zones at once. Keep in mind that this operation can only add zones to a TSIG key, not remove them. To safely remove the association between a zone and a TSIG key, update the zone to its new TSIG key or remove the key from the zone if you're sure it's no longer needed.
68. TSIG keys - List zones using TSIG key
POST https://{{host}}/config-dns/v2/keys/used-by
Returns a list of zone names that use the given TSIG key and for which the current user has READ access. If the list of zones returned is empty, it's possible that the given key is in use by other zones but the current user doesn't have permission to view those zones.
69. TSIG keys - List of zones to contract using TSIG key
POST https://{{host}}/config-dns/v2/keys/used-by/zone-contract-map
List of zone names within a contract that use the given TSIG key for which the current user has READ access. If the list returned is empty, it's possible that the given key is in use by other zones but the current user doesn't have permission to view those zones.
70. TSIG keys - Get a zone's TSIG key
GET https://{{host}}/config-dns/v2/zones/:zone/key
Retrieves the TSIG Key data for this zone. Includes a count of zones that use this key. Returns a 404 error if the zone doesn't have a TSIG key.
71. TSIG keys - Update a zone's TSIG key
PUT https://{{host}}/config-dns/v2/zones/:zone/key
Creates or replaces the current TSIG Key for this zone. If other zones use the same key, doesn't modify those zones.
72. TSIG keys - Delete a zone's TSIG key
DELETE https://{{host}}/config-dns/v2/zones/:zone/key
Removes the TSIG Key for this zone. This action doesn't affect any other zone, even if they share the same TSIG key as this zone. If the zone doesn't currently have a key, no actions are taken and no error is thrown.
73. TSIG keys - List users of a zone's TSIG key
GET https://{{host}}/config-dns/v2/zones/:zone/key/used-by
Lists the Zones that use the same TSIG key as this zone.
74. Versions - List a zone's versions
GET https://{{host}}/config-dns/v2/zones/:zone/versions
Shows the settings for current and prior versions of this Zone, in reverse chronological order of modification. Many versions in this list may look very similar because a new version is created every time the zone's settings or record sets are changed. This operation is paginated.
75. Versions - Show zone version differences
GET https://{{host}}/config-dns/v2/zones/:zone/versions/diff?from={{from}}&to={{to}}
Displays the difference between any two versions of a zone, as specified in the query parameters.
76. Versions - Get a zone version
GET https://{{host}}/config-dns/v2/zones/:zone/versions/:uuid
Returns an image of the Zone from a previous version. Shows only zone settings, not record sets.
77. Versions - Get a version's record sets
GET https://{{host}}/config-dns/v2/zones/:zone/versions/:uuid/recordsets
Lists all record sets for this zone. It works only for PRIMARY
and SECONDARY
zones. This operation paginates.
78. Versions - Reactivate a version
POST https://{{host}}/config-dns/v2/zones/:zone/versions/:uuid/recordsets/activate
Creates and activates a new version of the zone by copying the record sets from a prior version of this zone and reapplying them to the current version. The new version has a new, auto-incremented SOA serial number, and the zone's modification data is set to the current time and user. All other zone settings remain the same as the current version.
79. Zone file - Get a version's master zone file
GET https://{{host}}/config-dns/v2/zones/:zone/versions/:uuid/zone-file
Downloads the record sets from a prior zone version in master zone file format. This applies to primary and secondary zones.
POST https://{{host}}/config-dns/v2/zones?contractId={{contractId}}&gid={{gid}}
Creates a new zone. Carefully review the documentation for which fields are relevant to the type of zone you're creating.
GET https://{{host}}/config-dns/v2/zones
Get a list of all zones that the current user has access to manage. The response is paginated.
82. Zones - Get a zone's settings
GET https://{{host}}/config-dns/v2/zones/:zone
Retrieves the metadata for this zone. Does not include record sets.
83. Zones - Update a zone's settings
PUT https://{{host}}/config-dns/v2/zones/:zone?skipSignAndServeSafetyCheck={{skipSignAndServeSafetyCheck}}
Modifies a zone. You can't change the zone type
with this operation.
84. Zones - Get a zone's aliases
GET https://{{host}}/config-dns/v2/zones/:zone/aliases
Show all zones that alias to this zone.
85. DNSSEC status - Get a zone's DNSSEC status
POST https://{{host}}/config-dns/v2/zones/dns-sec-status
Returns the current DNSSEC status for one or more zones.
86. Zone transfer status - Get secondary zones transfer status
POST https://{{host}}/config-dns/v2/zones/zone-transfer-status
Returns the results of the most recent zone transfer attempts for one or more zones. When you configure a SECONDARY
zone, several Akamai name servers known as zone transfer agents perform zone transfer requests to fetch the record data from the zone's configured master name servers. The data returned by this operation describes the results of those zone transfers.
87. Zone contracts - Get a zone's contract
GET https://{{host}}/config-dns/v2/zones/:zone/contract?gid={{gid}}
Show data about the contract to which this zone belongs.
88. Record types - List record types
GET https://{{host}}/config-dns/v2/data/recordset-types?zone={{zone}}
Retrieves a list of record types you can add to the requested zone. Record types depend on both the zone type and the available contract features.
ENDPOINTS