Network Lists API v2

Manage common sets of lists used by various Akamai security products and features.

Learn more:


Overview

The Network Lists API allows you to manage a common set of lists for use in various Akamai security products such as Kona Site Defender, Web App Protector, and Bot Manager. Network lists are shared sets of IP addresses, CIDR blocks, or broad geographic areas. Along with managing your own lists, you can also access read-only lists that Akamai dynamically updates for you.

This API version 2 provides minor updates to standardize URL endpoint patterns. It consolidates the ability to search for network lists, and to list them as a collection. Viewing these collections is now much faster by default. This API version also removes support for sharing lists across accounts. You should update your tools to migrate away from the superseded Version 1.

Who should use this API

Use this API if you want to programmatically manage whitelists of IP addresses and CIDR blocks under your control, integrating them with security configurations within Akamai products. Use it if you want to leverage Akamai-managed lists for use in your own security monitoring applications. Akamai provides dynamic CIDR block whitelists of popular cloud providers, and blacklists that keep track of threatening sources such as dark-web TOR nodes. You can also integrate IP blacklists from other providers into your network monitoring tools. Otherwise as an alternative to identifying IP addresses as they emerge, you can respond to threat patterns more broadly by blocking traffic from entire countries. You can also use this feature to restrict overall access to your web assets to specific countries.

Getting started

To start using this API:

  • Review Get Started for tools that Akamai provides for all its APIs.

  • Review Authorize Your Client to create your API access credentials and authorizations. As detailed in the The API Identity Model section, you then access the API using custom hostnames that looks like this: https://akzz-XXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXX.luna.akamaiapis.net.

  • Review the Authorize Your Client section to make sure the identity under which you provision the API can access its full range of functionality. You need access to an Akamai security product such as Kona Site Defender, Web App Protector, or Bot Manager. Make sure that you have read/write access if you want to modify your own set of network lists. Use the Identity Management application to expand access if necessary, or the Identity Management API as a programmatic alternative.

Concurrency control

To make sure different API clients don’t overwrite each other’s data, this API supports optimistic concurrency control for any modifications to network lists.

Whenever you run the Get a Network List GET operation, your need to retain the value of the response’s syncPoint and pass it back in when you subsequently run the Update a Network List PUT operation. The update operation only succeeds if there haven’t been any interim updates by other API clients. If the update fails, you get a 409 error response.

Note that you only need to pass in the syncPoint value when updating the entire network list object, with or without its complete list of elements. The following operations that only modify the set of elements do not require a syncPoint value:

The response from these operations provide an updated syncPoint value, which you would need for any update to the main network list object, even for a change that doesn’t modify the list of elements.

Partial GET and PUT options

When reading and writing NetworkList objects, you may wish to modify its top-level members rather than its complete list of elements, or other extraneous metadata. The API offers two query parameters, includeElements and extended to speed up GET requests for this top-level data, and to speed up responses that reflect requested changes. When you set includeElements to false, you don’t get the full list of elements. When you set extended to false, you don’t get data about activation status or the object’s creation and latest modification.

Whenever you run the Update a Network List operation, you have the option to PUT back this smaller object, omitting many data members from your request, such as the list of elements, without affecting corresponding values. See the NetworkList for overall membership requirements.

API hypermedia

Many of this API’s response objects feature hypermedia links, which allow your API client to navigate directly to related operations on a relevant resource. This additional set of data specifies a contextual href for the resource, along with any non-GET method you need to call it with.

All links objects are arranged as a map, where the object keys serve as descriptive link relations. The following lists these link relations, along with the corresponding API operation they enable.

See the Hypermedia object for more details on the data structure.

The following example shows a set of links for an individual network list:

{
    "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"
        }
    }
}

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.

Data

This section provides details for each type of data object the API exchanges.

Download the JSON schemas for this API.

The data schema tables below list membership requirements as follows:

Member is required to be present, regardless of whether its value is empty or null.
Member is optional, and may be omitted in some cases.

NetworkList

Encapsulates information about each network list.

Download schema: network-list.json

Sample GET response:

{
    "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"
        }
    }
}

NetworkList members

Member Type Required Description
accessControlGroup String Name of this network list’s access control group (ACG).
account String Name of the account under which the network list was provisioned.
createDate String Read-only. ISO 8601 timestamp indicating when the network list was first created. Available only when using the extended query parameter to retrieve network list data.
createdBy String Read-only. Username of this list’s creator. Available only when using the extended query parameter to retrieve network list data.
description String Detailed description of the list.
elementCount Integer Read-only. Reflects the number of elements in the list array, which may not necessarily appear in the object when retrieving the list with the includeElements query parameter set to false.
expeditedProductionActivationStatus String Read-only. For clients with access to expedited activations on select servers, provides the most recent activation status in the PRODUCTION environment. See Activation States for details on each activation state. Available only when using the extended query parameter to retrieve network list data.
expeditedStagingActivationStatus String Read-only. For clients with access to expedited activations on select servers, provides the most recent activation status in the STAGING environment. See Activation States for details on each activation state. Available only when using the extended query parameter to retrieve network list data.
links Hypermedia Encapsulates the set of API hypermedia to access a set of resources related to this network list. The object is arranged as a hash of keys, each of which represents a link relation.
list Array Defines the network list’s set of elements. If the type is IP, values are any combination of IPv4 addresses, IPv6 addresses, or CIDR blocks. If the type is GEO, values are ISO 3166 two-character country codes. This array does not appear in the object if you retrieve it with the includeElements query parameter set to false.
name String Display name of the network list.
networkListType String If set to extendedNetworkListResponse, indicates that the current data features members enabled with the extended query parameter. Otherwise a plain networkListResponse value indicates this additional data is absent.
productionActivationStatus String Read-only. The most recent activation status of the current list in the PRODUCTION environment. See Activation States for details on each activation state. Available only when using the extended query parameter to retrieve network list data.
readOnly Boolean Read-only. If true, indicates that you do not have permission to modify the network list. This may indicate either a network list that Akamai manages, or insufficient permission for your API client’s identity to modify a customer-managed list. The default value is false.
stagingActivationStatus String Read-only. The most recent activation status of the current list in the STAGING environment. See Activation States for details on each activation state. Available only when using the extended query parameter to retrieve network list data.
syncPoint Integer Identifies each version of the network list, which increments each time it’s modified. You need to include this value in any requests to modify the list. See Concurrency Control for details.
type String The network list type, either IP for IP addresses and CIDR blocks, or GEO for two-letter country codes.
uniqueId String Read-only. A unique identifier for each network list, corresponding to the networkListId URL parameter.
updateDate String Read-only. ISO 8601 timestamp indicating when the network list was last modified. Available only when using the extended query parameter to retrieve network list data.
updatedBy String Read-only. Username of this list’s creator. Available only when using the extended query parameter to retrieve network list data.

Activation states

When polling a network list or one of its activations, various members’ enumerated values indicate its current state in either the STAGING or PRODUCTION environments:

Value Description
INACTIVE The network list is not yet activated.
PENDING_ACTIVATION An activation has launched, but the network list has not yet fully activated.
ACTIVE The network list is currently active.
MODIFIED Indicates that a previous syncPoint version of the network list is currently active, and any subsequent modifications may need to be activated.
PENDING_DEACTIVATION An activation for another syncPoint version of the network list has launched, but it has not yet fully rendered this version INACTIVE.
FAILED The network list has failed to activate.

ActivationRequest

Requests a new activation.

Download schema: activate.json

Sample POST request:

{
    "comments": "Whitelist IPs of new employees who joined this week",
    "notificationRecipients": [
        "it-team@example.com",
        "security-team@example.com"
    ]
}

ActivationRequest members

Member Type Required Description
comments String Descriptive text to accompany the activation. This is reflected in the Activation object’s activationComments member.
notificationRecipients Array List of at least one email address to be informed when this list activates.
siebelTicketId String If the activation is linked to a Siebel ticket, this identifies the ticket.

Activation

Represents a network list’s activation status.

Download schema: status.json

Sample GET response:

{
    "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"
        }
    }
}

Activation members

Member Type Required Description
activationComments String Further information related to the activation. This reflects the comments from the initial ActivationRequest.
activationStatus String This network list’s current activation status in the specified environment. See Activation States for details on each activation state.
syncPoint Integer The version of the currently activated network list. See Concurrency Control for details.
uniqueId String Read-only. Unique identifier for this network list, corresponding to the networkListId URL parameter.

Message

A common object that responds to DELETE requests.

Download schema: message.json

Sample DELETE response:

{
    "status": 200,
    "uniqueId": "33501_TESTLIST",
    "syncPoint": 4
}

Message members

Member Type Required Description
status Integer HTTP status code used for the response.
syncPoint Integer In cases where a network list still exists after the operation, this is the syncPoint required to perform update or delete operations on the list. See Concurrency Control for details.
uniqueId String In cases where a network list still exists after the operation, this is the unique ID required to perform further operations on the network list.

Hypermedia

Encapsulates the set of API hypermedia to access a set of related resources. The object is arranged as a hash of keys, each of which represents a link relation.

Download schema: lists.json, list-links.json

Hypermedia members

Member Type Required Description
activateInProduction Hypermedia.{rel} A link to Activate a Network List in the PRODUCTION environment.
activateInStaging Hypermedia.{rel} A link to Activate a Network List in the STAGING environment.
appendItems Hypermedia.{rel} A link to Append Elements to a Network List.
create Hypermedia.{rel} When listing network lists, provides a link to Create a New Network List.
retrieve Hypermedia.{rel} A link to Get a Network List.
statusInProduction Hypermedia.{rel} A link to Get Activation Status for the PRODUCTION environment.
statusInStaging Hypermedia.{rel} A link to Get Activation Status for the STAGING environment.
update Hypermedia.{rel} Specifies each hypermedia link.
Hypermedia.{rel}: Specifies each hypermedia link.
detail String Any additional information about the target of the link.
href String URL to access or perform the action on a related resource. May be expressed as an absolute server path, or relative to the current URL call.
method String The HTTP method with which to call the href, GET by default.

Errors

This section provides details on the data object that reflects the API’s common response to error cases, and lists the API’s range of response status codes for both error and success cases.

Error responses

This API’s error responses follow the HTTP Problem Details standard. An additional fieldErrors object features an entry array listing specific problems. Each entry lists at least one value criteria that may have triggered the failure.

The following shows a sample error response:

{
    "detail": "Validation failed",
    "instance": "https://problems.luna.akamaiapis.net/network-lists-activation/error-instances/0835dedb-9d01-4178-985b-c93c7f5fcfa8",
    "status": 400,
    "title": "Invalid Input Error",
    "type": "https://problems.luna.akamaiapis.net/network-lists-activation/error-types/INVALID-INPUT-ERROR",
    "fieldErrors": {
        "entry": [
            {
                "key": "createWithPost.arg0",
                "value": [ "Invalid network list type: null" ]
            },
            {
                "key": "name",
                "value": [ "may not be empty" ]
            },
            {
                "key": "type",
                "value": [
                    "Values cannot be null or empty.",
                    "may not be null"
                ]
            }
        ]
    }
}

HTTP status codes

The following lists the full range of response codes the API may generate:

Code Description
200 The operation was successful.
201 Resource successfully created.
400 Bad Request.
403 Access is forbidden.
404 Resource not found.
409 Conflict with the resource’s current syncPoint state. See Concurrency Control for details.
500 Internal server error.

Last modified: 4/11/2018