Logo
Akamai APIs API Documentation

Edge DNS API v2

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.
With this API, you can:

  • Manage the configuration of all of your Edge DNS zones: primary, secondary, and alias.

  • Manage the record sets of your primary zones.

Authentication

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.

  1. 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.

  2. 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.

  3. Open the downloaded file with a text editor and add [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
    
    
  4. Fork the [Akamai Authentication] environment, populate the variables, and [set it for your workspace]

Dependencies

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 READ-WRITE.

Integration methods

You can use this API collection in these 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.



42. Groups - List groups

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.



47. DNS proxies - Get a proxy

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.



80. Zones - Create a zone

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.



81. Zones - List zones

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