Client Access Control API Resources

This section provides details on each API operation.

Here’s how the API resources function:

  • Configurations: Before your origin can communicate with the Akamai network, Akamai sets up CAC configurations for your web assets. These configurations can include one or more hostnames that Akamai uses to connect to your network. Different configurations may specify different sets of IPv4 CIDR blocks.

  • Versions: Edge server IP addresses can change over time as servers are added or removed from the Akamai network. These changes usually occur once or twice within a 90 day period. When these network changes affect your ACL, Akamai proposes updates. Each proposed update to the CIDR block list is given a version number, an integer starting at zero. You specify this version number when acknowledging.

  • Acknowledgement: Akamai doesn’t apply a new versioned set of CIDR blocks to a CAC configuration until you acknowledge the change. Once you acknowledge the proposed list of CIDR blocks, Akamai applies the acknowledged list of CIDR blocks to the hostnames CAC configuration. Traffic then flows for those hostnames through the addresses. Keeping your local ACL synchronized with the most recent CIDR blocks ensures optimal network performance. Failure to acknowledge the updated list within 90 days of receiving it can result in reduced network performance for your web assets.

API Summary

Operation Method Endpoint
Configurations   (download RAML)
List CAC Configurations GET /client-access-control/v1/configurations/
Get a CAC Configuration GET /client-access-control/v1/configurations/{configurationId}
Acknowledge Proposed CIDR Blocks PUT /client-access-control/v1/configurations/{configurationId}/acknowledge/{version}

List CAC Configurations

Get the list of all Client Access Control (CAC) configurations to which you have access.

GET /client-access-control/v1/configurations/

Status 200 application/json

Response:

[
    {
        "currentCidrs": {
            "version": 1,
            "cidrs": [
                "1.2.0.0/0"
            ],
            "acknowledgeDate": "2016-12-08T16:42:49+0000"
        },
        "configurationId": 1060,
        "description": "The CAC configuration for an example application.",
        "proposedCidrs": [
            {
                "version": 2,
                "cidrs": [
                    "104.67.28.248/32",
                    "104.68.188.248/32",
                    "104.76.92.248/32",
                    "104.78.76.248/32",
                    "104.81.246.248/32",
                    "104.82.76.248/32",
                    "104.83.76.248/32"
                ],
                "proposedDate": "2016-12-08T17:13:41+0000"
            }
        ],
        "name": "Example-CAC-Config"
    },
    {
        "currentCidrs": {
            "version": 2,
            "cidrs": [
                "104.67.28.248/32",
                "104.68.188.248/32",
                "104.76.92.248/32",
                "104.78.76.248/32",
                "104.81.246.248/32"
            ],
            "acknowledgeDate": "2016-12-08T16:42:49+0000"
        },
        "configurationId": 1062,
        "description": "brad test 2",
        "proposedCidrs": [
            {
                "version": 3,
                "cidrs": [
                    "104.81.246.248/32",
                    "104.82.76.248/32",
                    "104.83.76.248/32"
                ],
                "proposedDate": "2016-12-08T17:13:41+0000"
            }
        ],
        "name": "brad test 2"
    }
]

Get a CAC Configuration

Returns the CAC configuration for a specific configurationId.

GET /client-access-control/v1/configurations/{configurationId}

Sample: /client-access-control/v1/configurations/1234

Parameter Type Sample Description
URL Parameters
configurationId Integer 1234 A unique identifier for a CAC configuration.

Status 200 application/json

Response:

{
    "currentCidrs": {
        "version": 1,
        "cidrs": [
            "1.2.0.0/0"
        ],
        "acknowledgeDate": "2016-12-08T16:42:49+0000"
    },
    "configurationId": 1060,
    "description": "The CAC configuration for an example application.",
    "proposedCidrs": [
        {
            "version": 2,
            "cidrs": [
                "104.67.28.248/32",
                "104.68.188.248/32",
                "104.76.92.248/32",
                "104.78.76.248/32",
                "104.81.246.248/32",
                "96.6.227.191/32",
                "96.7.22.43/32"
            ],
            "proposedDate": "2016-12-08T17:13:41+0000"
        }
    ],
    "name": "Example-CAC-Config"
}
  1. Run the List CAC Configurations operation.

  2. Choose the relevant object from the array and store its configurationId.

  3. Make a GET request to /client-access-control/v1/configurations/{configurationId}.

Acknowledge Proposed CIDR Blocks

Once you review the proposedCidrs from Akamai and update your Access Control List (ACL) accordingly, use this operation to acknowledge the change.

PUT /client-access-control/v1/configurations/{configurationId}/acknowledge/{version}

Sample: /client-access-control/v1/configurations/1234/acknowledge/1

Parameter Type Sample Description
URL Parameters
configurationId Integer 1234 A unique identifier for a CAC configuration.
version Integer 1 The version of proposed CIDR blocks that you are acknowledging.

Status 200

  1. Run the List CAC Configurations operation.

  2. Choose the relevant object from the array and store its configurationId and version.

  3. Review the proposed CIDR blocks (cidrs).

  4. Update your Access Control List (ACL) with the new CIDR blocks.

  5. Run Get a CAC Configuration and verify that no new versions are available for review.

  6. If a new version is available, review the proposed CIDR blocks (cidrs), and update your ACL accordingly.

  7. Make a PUT request to /client-access-control/v1/configurations/{configurationId}/acknowledge/{version}.


Last modified: 3/16/2017