Network Lists API Resources

This section provides details on the API’s various operations.

API Summary

Download the RAML descriptors for this API.

Operation Method Endpoint
List Network Lists GET /network-list/v2/network-lists{?includeElements,search,extended,listType}
Create a New Network List POST /network-list/v2/network-lists
Get a Network List GET /network-list/v2/network-lists/{networkListId}{?extended,includeElements}
Update a Network List PUT /network-list/v2/network-lists/{networkListId}{?extended,includeElements}
Delete a Network List DELETE /network-list/v2/network-lists/{networkListId}
Append Elements to a Network List POST /network-list/v2/network-lists/{networkListId}/append
Add an Element PUT /network-list/v2/network-lists/{networkListId}/elements{?element}
Remove an Element DELETE /network-list/v2/network-lists/{networkListId}/elements{?element}
Activate a Network List POST /network-list/v2/network-lists/{networkListId}/environments/{environment}/activate
Get Activation Status GET /network-list/v2/network-lists/{networkListId}/environments/{environment}/status
Get an Activation’s Snapshot GET /network-list/v2/network-lists/{networkListId}/sync-points/{syncPoint}/history{?extended}

List Network Lists

List all network lists available for an authenticated user who belongs to a group, optionally filtered by listType or based on a search string. Results appear within the networkLists array, which might be empty if no network lists are available to the client.

GET /network-list/v2/network-lists{?includeElements,search,extended,listType}

Sample: /network-list/v2/network-lists?includeElements=true&search=192.168.&extended=true&listType=IP

Parameter Type Sample Description
Optional Query Parameters
extended Boolean true When enabled, provides additional response data identifying who created and updated the list and when, and the network list’s deployment status in both STAGING and PRODUCTION environments. This data takes longer to provide.
includeElements Boolean true If enabled, the response list includes all items. For large network lists, this may slow responses and yield large response objects. The default false value when listing more than one network list omits the network list’s elements and only provides higher-level metadata.
listType String IP Filters the output to lists of only the given type of network lists if provided, either IP or GEO. This corresponds to the NetworkList object’s type member.
search String 192.168. Only list items that match the specified substring in any network list’s name or list of items.

Status 200 application/json

Response Body:

{
    "networkLists": [
        {
            "networkListType": "networkListResponse",
            "accessControlGroup": "KSD\nwith ION 3-13H1234",
            "name": "General List",
            "elementCount": 3011,
            "syncPoint": 22,
            "type": "IP",
            "uniqueId": "25614_GENERALLIST",
            "links": {
                "activateInProduction": {
                    "href": "/network-list/v2/network-lists/25614_GENERALLIST/environments/PRODUCTION/activate",
                    "method": "POST"
                },
                "activateInStaging": {
                    "href": "/network-list/v2/network-lists/25614_GENERALLIST/environments/STAGING/activate",
                    "method": "POST"
                },
                "appendItems": {
                    "href": "/network-list/v2/network-lists/25614_GENERALLIST",
                    "method": "POST"
                },
                "retrieve": {
                    "href": "/network-list/v2/network-lists/25614_GENERALLIST"
                },
                "statusInProduction": {
                    "href": "/network-list/v2/network-lists/25614_GENERALLIST/environments/PRODUCTION/status"
                },
                "statusInStaging": {
                    "href": "/network-list/v2/network-lists/25614_GENERALLIST/environments/STAGING/status"
                },
                "update": {
                    "href": "/network-list/v2/network-lists/25614_GENERALLIST",
                    "method": "PUT"
                }
            }
        },
        {
            "networkListType": "networkListResponse",
            "account": "Kona\nSecurity Engineering",
            "accessControlGroup": "Top-Level Group: 3-12DAF123",
            "name": "Ec2 Akamai Network List",
            "elementCount": 235,
            "readOnly": true,
            "syncPoint": 65,
            "type": "IP",
            "uniqueId": "1024_AMAZONELASTICCOMPUTECLOU",
            "links": {
                "activateInProduction": {
                    "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU/environments/PRODUCTION/activate",
                    "method": "POST"
                },
                "activateInStaging": {
                    "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU/environments/STAGING/activate",
                    "method": "POST"
                },
                "appendItems": {
                    "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU/append",
                    "method": "POST"
                },
                "retrieve": {
                    "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU"
                },
                "statusInProduction": {
                    "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU/environments/PRODUCTION/status"
                },
                "statusInStaging": {
                    "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU/environments/STAGING/status"
                },
                "update": {
                    "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU",
                    "method": "PUT"
                }
            }
        },
        {
            "networkListType": "networkListResponse",
            "accessControlGroup": "KSD\nTest - 3-13H5523",
            "name": "GeoList_1913New",
            "elementCount": 16,
            "syncPoint": 2,
            "type": "GEO",
            "uniqueId": "26732_GEOLIST1913",
            "links": {
                "activateInProduction": {
                    "href": "/network-list/v2/network-lists/26732_GEOLIST1913/environments/PRODUCTION/activate",
                    "method": "POST"
                },
                "activateInStaging": {
                    "href": "/network-list/v2/network-lists/26732_GEOLIST1913/environments/STAGING/activate",
                    "method": "POST"
                },
                "appendItems": {
                    "href": "/network-list/v2/network-lists/26732_GEOLIST1913/append",
                    "method": "POST"
                },
                "retrieve": {
                    "href": "/network-list/v2/network-lists/26732_GEOLIST1913"
                },
                "statusInProduction": {
                    "href": "/network-list/v2/network-lists/26732_GEOLIST1913/environments/PRODUCTION/status"
                },
                "statusInStaging": {
                    "href": "/network-list/v2/network-lists/26732_GEOLIST1913/environments/STAGING/status"
                },
                "update": {
                    "href": "/network-list/v2/network-lists/26732_GEOLIST1913",
                    "method": "PUT"
                }
            }
        }
    ],
    "links": {
        "create": {
            "href": "/network-list/v2/network-lists/",
            "method": "POST"
        }
    }
}
  1. Specify a search string query parameter if you want to narrow the results based on the name or any of the list elements.

  2. To further narrow results, specify either IP or GEO as a listType query parameter.

  3. Set the includeElements query parameter to true if you want the response to include the complete network list array. Note that enabling when gathering more than one network list may unnecessarily slow the response.

  4. Set the extended query parameter to true if you want details about deployment status and the most recent update.

  5. Make a GET request to /network-list/v2/network-lists{?includeElements,search,extended,listType}.

The response’s networkLists array features a series of NetworkList objects.

Create a New Network List

Creates a new network list.

POST /network-list/v2/network-lists

Content-Type: application/json

Request Body:

{
    "name": "My New Open List",
    "type": "IP",
    "description": "Notes about this network list",
    "list": []
}

Status 201 application/json

Response Body:

{
    "name": "Ec2 Akamai Network List",
    "uniqueId": "1024_AMAZONELASTICCOMPUTECLOU",
    "syncPoint": 65,
    "type": "IP",
    "networkListType": "networkListResponse",
    "account": "Kona Security Engineering",
    "accessControlGroup": "Top-Level Group: 3-12DAF123",
    "elementCount": 13,
    "readOnly": true,
    "list": [
        "13.125.0.0/16",
        "13.126.0.0/15",
        "13.210.0.0/15",
        "13.228.0.0/15",
        "13.230.0.0/15",
        "13.232.0.0/14",
        "13.236.0.0/14",
        "13.250.0.0/15",
        "13.54.0.0/15",
        "13.56.0.0/16",
        "13.57.0.0/16",
        "13.58.0.0/15",
        "174.129.0.0/16"
    ],
    "links": {
        "activateInProduction": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU/environments/PRODUCTION/activate",
            "method": "POST"
        },
        "activateInStaging": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU/environments/STAGING/activate",
            "method": "POST"
        },
        "appendItems": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU/append",
            "method": "POST"
        },
        "retrieve": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU"
        },
        "statusInProduction": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU/environments/PRODUCTION/status"
        },
        "statusInStaging": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU/environments/STAGING/status"
        },
        "update": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU",
            "method": "PUT"
        }
    }
}
  1. Build a NetworkList object, featuring at least basic information such as name and type of list.

  2. POST the object to /network-list/v2/network-lists.

The full NetworkList reflected in the response features a uniqueId that you can use whenever accessing it later with a networkListId URL parameter.

Get a Network List

Gets a network list’s most recent syncPoint version.

GET /network-list/v2/network-lists/{networkListId}{?extended,includeElements}

Sample: /network-list/v2/network-lists/12345_BLACKLISTEDGEOS?extended=true&includeElements=true

Parameter Type Sample Description
URL Parameters
networkListId String 12345_BLACKLISTEDGEOS Unique identifier for each network list.
Optional Query Parameters
extended Boolean true When enabled, provides additional response data identifying who created and updated the list and when, and the network list’s deployment status in both STAGING and PRODUCTION environments. This data takes longer to provide.
includeElements Boolean true If enabled, the response list includes all items. For large network lists, this may slow responses and yield large response objects. The default true value includes the list’s contents.

Status 200 application/json

Response Body:

{
    "name": "Ec2 Akamai Network List",
    "uniqueId": "1024_AMAZONELASTICCOMPUTECLOU",
    "syncPoint": 65,
    "type": "IP",
    "networkListType": "networkListResponse",
    "account": "Kona Security Engineering",
    "accessControlGroup": "Top-Level Group: 3-12DAF123",
    "elementCount": 13,
    "readOnly": true,
    "list": [
        "13.125.0.0/16",
        "13.126.0.0/15",
        "13.210.0.0/15",
        "13.228.0.0/15",
        "13.230.0.0/15",
        "13.232.0.0/14",
        "13.236.0.0/14",
        "13.250.0.0/15",
        "13.54.0.0/15",
        "13.56.0.0/16",
        "13.57.0.0/16",
        "13.58.0.0/15",
        "174.129.0.0/16"
    ],
    "links": {
        "activateInProduction": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU/environments/PRODUCTION/activate",
            "method": "POST"
        },
        "activateInStaging": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU/environments/STAGING/activate",
            "method": "POST"
        },
        "appendItems": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU/append",
            "method": "POST"
        },
        "retrieve": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU"
        },
        "statusInProduction": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU/environments/PRODUCTION/status"
        },
        "statusInStaging": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU/environments/STAGING/status"
        },
        "update": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU",
            "method": "PUT"
        }
    }
}
  1. If you don’t already have a networkListId, run the List Network Lists operation, choose an object from the networkLists array, and store its uniqueId.

  2. Set the extended query parameter to true if you want details about deployment status and the most recent update.

  3. Set the includeElements query parameter to true if you want the response to include the complete network list array.

  4. Make a GET request to /network-list/v2/network-lists/{networkListId}{?extended,includeElements}.

The response features a NetworkList object.

Update a Network List

Modify a network list, optionally specifying the full list. If you omit the list, you only change the network list’s summary fields such as name and description.

PUT /network-list/v2/network-lists/{networkListId}{?extended,includeElements}

Sample: /network-list/v2/network-lists/12345_BLACKLISTEDGEOS?extended=true&includeElements=true

Content-Type: application/json

Request Body:

{
    "name": "My Updated Open List",
    "type": "IP",
    "description": "Updated notes about this network list",
    "syncPoint": 1,
    "list": [
        "13.230.0.0/15",
        "195.7.50.194",
        "50.23.59.233"
    ]
}
Parameter Type Sample Description
URL Parameters
networkListId String 12345_BLACKLISTEDGEOS Unique identifier for each network list.
Optional Query Parameters
extended Boolean true When enabled, provides additional response data identifying who created and updated the list and when, and the network list’s deployment status in both STAGING and PRODUCTION environments. This data takes longer to provide.
includeElements Boolean true If enabled, the response list includes all items. For large network lists, this may slow responses and yield large response objects. The default true value includes the list’s contents.

Status 200 application/json

Response Body:

{
    "name": "Ec2 Akamai Network List",
    "uniqueId": "1024_AMAZONELASTICCOMPUTECLOU",
    "syncPoint": 65,
    "type": "IP",
    "networkListType": "networkListResponse",
    "account": "Kona Security Engineering",
    "accessControlGroup": "Top-Level Group: 3-12DAF123",
    "elementCount": 13,
    "readOnly": true,
    "list": [
        "13.125.0.0/16",
        "13.126.0.0/15",
        "13.210.0.0/15",
        "13.228.0.0/15",
        "13.230.0.0/15",
        "13.232.0.0/14",
        "13.236.0.0/14",
        "13.250.0.0/15",
        "13.54.0.0/15",
        "13.56.0.0/16",
        "13.57.0.0/16",
        "13.58.0.0/15",
        "174.129.0.0/16"
    ],
    "links": {
        "activateInProduction": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU/environments/PRODUCTION/activate",
            "method": "POST"
        },
        "activateInStaging": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU/environments/STAGING/activate",
            "method": "POST"
        },
        "appendItems": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU/append",
            "method": "POST"
        },
        "retrieve": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU"
        },
        "statusInProduction": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU/environments/PRODUCTION/status"
        },
        "statusInStaging": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU/environments/STAGING/status"
        },
        "update": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU",
            "method": "PUT"
        }
    }
}
  1. If you don’t already have a networkListId, run the List Network Lists operation, choose the relevant object from the networkLists array whose readOnly member is false, and store its uniqueId.

  2. Run Get a Network List to get the network list you want to modify. If you want to modify the full list of elements, make sure the includeElements query parameter is true, as by default. Otherwise you can only modify the network list’s higher-level metadata.

  3. Modify the NetworkList object, leaving the syncPoint value unchanged. Omitting any other data members from the subsequent request leaves corresponding data unchanged.

  4. Set the includeElements query parameter to true if you want the response to include the complete network list array.

  5. Set the extended query parameter to true if you want the response to reflect details about deployment status and the most recent update.

  6. PUT the object to /network-list/v2/network-lists/{networkListId}{?extended,includeElements}.

The response NetworkList reflects the modified object with an incremented syncPoint value. Its size depends on whether you enabled extended and includeElements.

After modifying a network list, run Activate a Network List to make it go live.

Delete a Network List

Removes a network list. You can only remove network lists that never activated. To deactivate a list, you can empty out its list of elements.

DELETE /network-list/v2/network-lists/{networkListId}

Sample: /network-list/v2/network-lists/12345_BLACKLISTEDGEOS

Parameter Type Sample Description
URL Parameters
networkListId String 12345_BLACKLISTEDGEOS Unique identifier for each network list.

Status 200 application/json

Response Body:

{
    "status": 200,
    "uniqueId": "33501_TESTLIST",
    "syncPoint": 4
}
  1. If you don’t already have a networkListId, run the List Network Lists operation, choose an object from the networkLists array, and store its uniqueId.

  2. Make a DELETE request to /network-list/v2/network-lists/{networkListId}.

  3. The response Message provides basic details on the deleted object.

Append Elements to a Network List

Appends a set of elements to a network list. If the networks list’s type is IP, the submitted list is a series of IP addresses or CIDR blocks. If the type is GEO, it’s a set of two-character country codes. (See the EdgeScape Documentation for more information. For a list of countries, go to Data CodesCountry Code.)

POST /network-list/v2/network-lists/{networkListId}/append

Sample: /network-list/v2/network-lists/12345_BLACKLISTEDGEOS/append

Content-Type: application/json

Request Body:

{
    "list": [
        "201.22.44.12",
        "8.7.6.0/24"
    ]
}
Parameter Type Sample Description
URL Parameters
networkListId String 12345_BLACKLISTEDGEOS Unique identifier for each network list.

Status 200 application/json

Response Body:

{
    "name": "Ec2 Akamai Network List",
    "uniqueId": "1024_AMAZONELASTICCOMPUTECLOU",
    "syncPoint": 65,
    "type": "IP",
    "networkListType": "networkListResponse",
    "account": "Kona Security Engineering",
    "accessControlGroup": "Top-Level Group: 3-12DAF123",
    "elementCount": 13,
    "readOnly": true,
    "list": [
        "13.125.0.0/16",
        "13.126.0.0/15",
        "13.210.0.0/15",
        "13.228.0.0/15",
        "13.230.0.0/15",
        "13.232.0.0/14",
        "13.236.0.0/14",
        "13.250.0.0/15",
        "13.54.0.0/15",
        "13.56.0.0/16",
        "13.57.0.0/16",
        "13.58.0.0/15",
        "174.129.0.0/16"
    ],
    "links": {
        "activateInProduction": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU/environments/PRODUCTION/activate",
            "method": "POST"
        },
        "activateInStaging": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU/environments/STAGING/activate",
            "method": "POST"
        },
        "appendItems": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU/append",
            "method": "POST"
        },
        "retrieve": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU"
        },
        "statusInProduction": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU/environments/PRODUCTION/status"
        },
        "statusInStaging": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU/environments/STAGING/status"
        },
        "update": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU",
            "method": "PUT"
        }
    }
}
  1. If you don’t already have a networkListId, run the List Network Lists operation, choose an object from the networkLists array, and store its uniqueId.

  2. Build a minimal NetworkList object, featuring only only a list array of items you want to append.

  3. POST the object to /network-list/v2/network-lists/{networkListId}/append.

  4. The response’s NetworkList object reflects the complete modified list of elements.

Add an Element

Adds the specified element to the list. If the network list’s type is IP, the value needs to be a URL-encoded IP address or CIDR block. If the type is GEO, it’s a two-character country code. (See the EdgeScape Documentation for more information. For a list of countries, go to Data CodesCountry Code.)

PUT /network-list/v2/network-lists/{networkListId}/elements{?element}

Sample: /network-list/v2/network-lists/12345_BLACKLISTEDGEOS/elements?element=174.129.0.0/16

Parameter Type Sample Description
URL Parameters
networkListId String 12345_BLACKLISTEDGEOS Unique identifier for each network list.
Required Query Parameters
element String 174.129.0.0/16 Specifies the element to add to the network list.

Status 200 application/json

Response Body:

{
    "name": "Ec2 Akamai Network List",
    "uniqueId": "1024_AMAZONELASTICCOMPUTECLOU",
    "syncPoint": 65,
    "type": "IP",
    "networkListType": "networkListResponse",
    "account": "Kona Security Engineering",
    "accessControlGroup": "Top-Level Group: 3-12DAF123",
    "elementCount": 13,
    "readOnly": true,
    "list": [
        "13.125.0.0/16",
        "13.126.0.0/15",
        "13.210.0.0/15",
        "13.228.0.0/15",
        "13.230.0.0/15",
        "13.232.0.0/14",
        "13.236.0.0/14",
        "13.250.0.0/15",
        "13.54.0.0/15",
        "13.56.0.0/16",
        "13.57.0.0/16",
        "13.58.0.0/15",
        "174.129.0.0/16"
    ],
    "links": {
        "activateInProduction": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU/environments/PRODUCTION/activate",
            "method": "POST"
        },
        "activateInStaging": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU/environments/STAGING/activate",
            "method": "POST"
        },
        "appendItems": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU/append",
            "method": "POST"
        },
        "retrieve": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU"
        },
        "statusInProduction": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU/environments/PRODUCTION/status"
        },
        "statusInStaging": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU/environments/STAGING/status"
        },
        "update": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU",
            "method": "PUT"
        }
    }
}
  1. If you don’t already have a networkListId, run the List Network Lists operation, choose an object from the networkLists array, and store its uniqueId.

  2. If the element you want to add is an IP address or CIDR block, the type of the object must be IP. Otherwise if it’s a country code, the type needs to be GEO.

  3. Specify the element you want to add as a query parameter. Make sure to URL-encode any slash characters included in CIDR block values.

  4. Make a PUT request to /network-list/v2/network-lists/{networkListId}/elements{?element}.

  5. The response reflects the NetworkList, including the longer list of elements.

Remove an Element

Removes the specified element from the list. If the network list’s type is IP, the value is a URL-encoded IP address or CIDR block. If the type is GEO, it’s a two-character country code.

DELETE /network-list/v2/network-lists/{networkListId}/elements{?element}

Sample: /network-list/v2/network-lists/12345_BLACKLISTEDGEOS/elements?element=174.129.0.0/16

Parameter Type Sample Description
URL Parameters
networkListId String 12345_BLACKLISTEDGEOS Unique identifier for each network list.
Required Query Parameters
element String 174.129.0.0/16 Specifies the element to remove from the network list.

Status 200 application/json

Response Body:

{
    "name": "Ec2 Akamai Network List",
    "uniqueId": "1024_AMAZONELASTICCOMPUTECLOU",
    "syncPoint": 65,
    "type": "IP",
    "networkListType": "networkListResponse",
    "account": "Kona Security Engineering",
    "accessControlGroup": "Top-Level Group: 3-12DAF123",
    "elementCount": 13,
    "readOnly": true,
    "list": [
        "13.125.0.0/16",
        "13.126.0.0/15",
        "13.210.0.0/15",
        "13.228.0.0/15",
        "13.230.0.0/15",
        "13.232.0.0/14",
        "13.236.0.0/14",
        "13.250.0.0/15",
        "13.54.0.0/15",
        "13.56.0.0/16",
        "13.57.0.0/16",
        "13.58.0.0/15",
        "174.129.0.0/16"
    ],
    "links": {
        "activateInProduction": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU/environments/PRODUCTION/activate",
            "method": "POST"
        },
        "activateInStaging": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU/environments/STAGING/activate",
            "method": "POST"
        },
        "appendItems": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU/append",
            "method": "POST"
        },
        "retrieve": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU"
        },
        "statusInProduction": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU/environments/PRODUCTION/status"
        },
        "statusInStaging": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU/environments/STAGING/status"
        },
        "update": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU",
            "method": "PUT"
        }
    }
}
  1. If you don’t already have a networkListId, run the List Network Lists operation, choose an object from the networkLists array, and store its uniqueId.

  2. If the element you want to remove is an IP address or CIDR block, the type of the object needs to be IP. Otherwise if it’s a country code, it needs to be GEO.

  3. Specify the element you want to remove as a query parameter. Make sure to URL-encode any slash characters included in CIDR block values.

  4. Make a DELETE request to /network-list/v2/network-lists/{networkListId}/elements{?element}.

The response reflects the NetworkList, including the shorter list of elements.

Activate a Network List

Activate the most recent syncPoint version of a network list in either the STAGING or PRODUCTION environment.

POST /network-list/v2/network-lists/{networkListId}/environments/{environment}/activate

Sample: /network-list/v2/network-lists/12345_BLACKLISTEDGEOS/environments/PRODUCTION/activate

Content-Type: application/json

Request Body:

{
    "comments": "Whitelist IPs of new employees who joined this week",
    "notificationRecipients": [
        "it-team@example.com",
        "security-team@example.com"
    ]
}
Parameter Type Sample Description
URL Parameters
networkListId String 12345_BLACKLISTEDGEOS Unique identifier for each network list.
environment String PRODUCTION The environment in which this list’s activation occurs, either STAGING or PRODUCTION.

Status 200 application/json

Response Body:

{
    "activationComments": "Whitelist IPs of new employees who joined this week",
    "activationStatus": "PENDING_ACTIVATION",
    "syncPoint": 5,
    "uniqueId": "25614_GENERALLIST",
    "links": {
        "appendItems": {
            "href": "/networklist-api/rest/v2/network-lists/25614_GENERALLIST/append",
            "method": "POST"
        },
        "retrieve": {
            "href": "/networklist-api/rest/v2/network-lists/25614_GENERALLIST"
        },
        "statusInProduction": {
            "href": "/networklist-api/rest/v2/network-lists/25614_GENERALLIST/environments/PRODUCTION/status"
        },
        "statusInStaging": {
            "href": "/networklist-api/rest/v2/network-lists/25614_GENERALLIST/environments/STAGING/status"
        },
        "syncPointHistory": {
            "href": "/networklist-api/rest/v2/network-lists/25614_GENERALLIST/sync-points/5/history"
        },
        "update": {
            "href": "/networklist-api/rest/v2/network-lists/25614_GENERALLIST",
            "method": "PUT"
        }
    }
}
  1. If you don’t already have a networkListId, run the List Network Lists operation, choose an object from the networkLists array, and store its uniqueId.

  2. Specify an environment of either STAGING or PRODUCTION.

  3. Build an ActivationRequest object, with a set of email notificationRecipients and any accompanying comments to clarify the reason for the activation.

  4. POST the object to /network-list/v2/network-lists/{networkListId}/environments/{environment}/activate.

The Activation response displays the activationStatus, initially as PENDING_ACTIVATION. From this point, you can:

Get Activation Status

Shows a network list’s activation status on either the STAGING or PRODUCTION environment.

GET /network-list/v2/network-lists/{networkListId}/environments/{environment}/status

Sample: /network-list/v2/network-lists/12345_BLACKLISTEDGEOS/environments/PRODUCTION/status

Parameter Type Sample Description
URL Parameters
networkListId String 12345_BLACKLISTEDGEOS Unique identifier for each network list.
environment String PRODUCTION The environment in which this list’s activation occurs, either STAGING or PRODUCTION.

Status 200 application/json

Response Body:

{
    "activationComments": "Whitelist IPs of new employees who joined this week",
    "activationStatus": "PENDING_ACTIVATION",
    "syncPoint": 5,
    "uniqueId": "25614_GENERALLIST",
    "links": {
        "appendItems": {
            "href": "/networklist-api/rest/v2/network-lists/25614_GENERALLIST/append",
            "method": "POST"
        },
        "retrieve": {
            "href": "/networklist-api/rest/v2/network-lists/25614_GENERALLIST"
        },
        "statusInProduction": {
            "href": "/networklist-api/rest/v2/network-lists/25614_GENERALLIST/environments/PRODUCTION/status"
        },
        "statusInStaging": {
            "href": "/networklist-api/rest/v2/network-lists/25614_GENERALLIST/environments/STAGING/status"
        },
        "syncPointHistory": {
            "href": "/networklist-api/rest/v2/network-lists/25614_GENERALLIST/sync-points/5/history"
        },
        "update": {
            "href": "/networklist-api/rest/v2/network-lists/25614_GENERALLIST",
            "method": "PUT"
        }
    }
}
  1. If you don’t already have a networkListId, run the List Network Lists operation, choose an object from the networkLists array, and store its uniqueId.

  2. Specify an environment of either STAGING or PRODUCTION.

  3. Make a GET request to /network-list/v2/network-lists/{networkListId}/environments/{environment}/status.

The response Activation object features the network list’s syncPoint version, along with its activationStatus.

Get an Activation’s Snapshot

Gets a version of a network list in its state when activated, with each version identified by its syncPoint value. You can only get syncPoint versions that have been activated.

GET /network-list/v2/network-lists/{networkListId}/sync-points/{syncPoint}/history{?extended}

Sample: /network-list/v2/network-lists/12345_BLACKLISTEDGEOS/sync-points/65/history?extended=true

Parameter Type Sample Description
URL Parameters
networkListId String 12345_BLACKLISTEDGEOS Unique identifier for each network list.
syncPoint Integer 65 The network list version for which to retrieve the snapshot. This corresponds to the syncPoint the API exchanges for each successive modification to the network list. See Concurrency Control for details.
Optional Query Parameters
extended Boolean true When enabled, provides additional response data identifying who created and updated the list and when, and the network list’s deployment status in both STAGING and PRODUCTION environments. This data takes longer to provide.

Status 200 application/json

Response Body:

{
    "name": "Ec2 Akamai Network List",
    "uniqueId": "1024_AMAZONELASTICCOMPUTECLOU",
    "syncPoint": 65,
    "type": "IP",
    "networkListType": "networkListResponse",
    "account": "Kona Security Engineering",
    "accessControlGroup": "Top-Level Group: 3-12DAF123",
    "elementCount": 13,
    "readOnly": true,
    "list": [
        "13.125.0.0/16",
        "13.126.0.0/15",
        "13.210.0.0/15",
        "13.228.0.0/15",
        "13.230.0.0/15",
        "13.232.0.0/14",
        "13.236.0.0/14",
        "13.250.0.0/15",
        "13.54.0.0/15",
        "13.56.0.0/16",
        "13.57.0.0/16",
        "13.58.0.0/15",
        "174.129.0.0/16"
    ],
    "links": {
        "activateInProduction": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU/environments/PRODUCTION/activate",
            "method": "POST"
        },
        "activateInStaging": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU/environments/STAGING/activate",
            "method": "POST"
        },
        "appendItems": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU/append",
            "method": "POST"
        },
        "retrieve": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU"
        },
        "statusInProduction": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU/environments/PRODUCTION/status"
        },
        "statusInStaging": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU/environments/STAGING/status"
        },
        "update": {
            "href": "/network-list/v2/network-lists/1024_AMAZONELASTICCOMPUTECLOU",
            "method": "PUT"
        }
    }
}
  1. You would typically run this operation based on data available when activating a network list. From the response object, store the activated list’s syncPoint version, and store the uniqueId as a networkListId URL parameter.

  2. Set the extended query parameter to true if you want to know if the network list is currently deployed, or details about its creation or most recent update.

  3. Make a GET request to /network-list/v2/network-lists/{networkListId}/sync-points/{syncPoint}/history{?extended}.

  4. The response’s NetworkList object shows the full set of list elements at the time of activation.


Last modified: 4/11/2018