China CDN Manager API v1

Manage the lifecycle and monitor the status of your property hostnames on Akamai's China CDN.

Learn more:


Overview

Like China CDN Manager in Akamai Control Center, this API lets you manage the lifecycle and monitor the status of your property hostnames on Akamai’s China CDN. For details on how to get started with the China CDN Manager interface, see the documentation.

The China CDN Manager API offers a programmatic interface that automates how customers create, maintain, and provision property hostnames for use on Akamai’s China CDN platform. Due to Chinese government requirements, the provisioning process involves approval from Akamai’s China partners. The API lets you view the compliance information submitted for this approval.

Due to Chinese government requirements, Akamai’s China partners might begin to request more compliance information to provision your property hostnames. Depending on the particular data collected, this API captures that information and includes it as extra data members in the response.

Get started

To configure this API for the first time:

  • Contact your Akamai representative to enable China CDN for your account.

  • Review Get Started with APIs for details on how to set up client tokens to access any Akamai API. These tokens appear as custom hostnames that look like this: https://akzz-XXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXX.luna.akamaiapis.net.

  • To enable this API, choose the API service named China CDN Manager API and set the access level to READ-WRITE.

API concepts

This section provides a guide to the set of resources this API makes available, and provides links to where you can learn more.

  • ICP holding entity. An Internet Content Provider (ICP) holding entity is a registered China company you choose to hold a domain for you as a proxy. This API lets you create and manage the holding entity information. List ICP holding entities for details on holding entities available in China.

  • ICP number. You use ICP numbers to identify the ICP license issued to the ICP holding entity by the Chinese government. Your property hostname needs to reference the ICP number to deploy it in China. List ICP numbers for the ICP numbers available in China.

  • Edge hostname. Each hostname assigned to a property corresponds to an edgeHostname that’s mapped to the deployed property hostname in China. Use Akamai uses DNS to map your end-user requests from the hostname to the edge hostname, then on to the most optimal Akamai edge server. Akamai supports three types of edge hostname, depending on the level of security you need for your traffic: Standard TLS, Enhanced TLS, and Shared Certificate. Use Property Manager or Property Manager API (PAPI) to create a new edge hostname and for guidance on deploying each type. Use the Edge Hostname API (HAPI) to modify edge hostnames or delete any that aren’t referenced by an active property configuration.

  • Property hostname. The hostname that you want to deploy on China CDN. You use properties to configure how your content behaves on Akamai’s main edge network. You can assign each property configuration to a set of one or more available edge hostnames. Once assigned, this API lists the set of property hostnames available to deploy on Akamai’s China CDN.

  • Group. Within an account, there’s a hierarchy of groups that control access to your property hostnames. You need the group identifier to create a property hostname. Use the Groups interface to find which property hostnames are assigned to existing groups under your account and are available for use on China CDN.

  • Provision state. The provisionState member identifies your property hostname’s deployment state and availability to serve your web traffic on China CDN.

  • Provision state change. To deploy your property hostname in China and make your web traffic available on a China server, you need to specify how you want the property hostname deployed. This API uses the targetState to initiate your property hostname’s deployment on China CDN. See the Provision state change workflow for details.

  • Partner. Local affiliates of China’s Internet service provider who help you obtain an ICP license and compliance with Chinese regulations.

Deployment states

A property hostname’s state identifies its condition during deployment. A property hostname’s status identifies the progress of its provision state change.

When you provision your property hostname on China CDN, you’re requesting approval from Akamai’s China partners to deploy your website on a China server. For example, to begin deploying your website in China, you create a new provision state change and set your property hostname’s targetState object member value to WHITELISTED. The API sends an approval request to the China partners. As the property hostname cycles through the China partners’ approval process, the currentStatus object member changes from PENDING, then to COMPLETED or REJECTED depending on the partners’ approval. After your property hostname is mapped to the provided edge hostname on China CDN, the property hostname’s provisionState object member value is PROVISIONED. This indicates that your website is activated and China CDN is directing your web traffic in China.

Manage property hostnames

This API uses deployment actions to manage your property hostnames lifecycle on China CDN. See the API workflow for details on using these deployment actions:

  • Whitelist. Enables your property hostname on China CDN. At this stage, the property hostname isn’t mapped to the provided edge hostname on China CDN. If you want to optimize performance of your web site or application in China, activate your property hostname.

  • Activate. If you chose to only whitelist your property hostname when you started the deployment process, and now you want to map the property hostname to improve performance in China, you can activate it to start the mapping process. When mapping completes, the property hostname’s provisionState changes to PROVISIONED.

  • Deactivate. If you chose to provision your property hostname and it now appears with the provisioned status, you can choose deactivate it to unmap the property hostname but still keep it whitelisted. You lose the performance benefits of activation, but your property hostname remains available in China. When deactivation completes, the property hostname’s provisionState changes to WHITELISTED.

  • Deprovision. If you chose to activate your property hostname and its provisionState is PROVISIONED, you can unmap the property hostname, and remove it from the whitelist. When deprovision completes, the property hostname’s provisionState changes to DEPROVISIONED. If you deprovision a property hostname which is only whitelisted, the API dewhitelists the hostname.

Provision state change workflow

When you create a new provision state change, you specify how you want your property hostname deployed in China. This section describes the different attributes of a property hostname’s provision state change.

  • Provision state. The provisionState member identifies your property hostname’s deployment state and availability to serve your web traffic in China.

  • Previous state. The previousState member identifies your property hostname’s current deployment state before the targetState change is complete.

  • Target State. The targetState member specifies how you want your property hostname deployed in China. For example, setting targetState to PROVISIONED, whitelists your property hostname and maps it to the provided edge hostname on China CDN.

  • Pending state. The pendingState member indicates the targetState change is in progress based on the China partners’ approval.

  • Partner states. The partnerStates array includes the property hostname’s provisionState and pendingState for the China partner.

  • Current status. The currentStatus member indicates the progress of the provision state change. For example, if the China partner approved the targetState change and the system successfully completed the change, the currentStatus value is COMPLETED.

This table describes a property hostname’s typical provision state changes during its deployment lifecycle on China CDN. See the API workflow for additional details.

When the provision state change’s previousState is… And its targetState is… And its currentStatus is… Then…
DEPROVISIONED WHITELISTED COMPLETED The China partner approved the request and the system successfully completed the change. The property hostname is enabled on China CDN but it’s not mapped to the provided edge hostname on China CDN. To activate the property hostname, set the targetState to PROVISIONED.
DEPROVISIONED WHITELISTED PENDING The targetState change is in progress.
WHITELISTED PROVISIONED COMPLETED The system successfully completed the change. The property hostname is activated on China CDN. This means that it’s whitelisted and mapped to the provided edge hostname on China CDN.
PROVISIONED DEPROVISIONED COMPLETED The system successfully completed the change. The property hostname is deactivated. This means the property hostname was removed from the whitelist and unmapped from the edge hostname.

API workflow

This section summarizes the API’s workflow patterns to manage your property hostnames on China CDN. See the API summary for details on all operations. For details about the data objects the API exchanges, see the Data section.

Before running many of the operations, you need the ICP number identifier. Before creating or updating objects, you also need a relevant property hostnames identifier. The ID values let you access these interfaces:

Follow these basic workflows to deploy, manage, and maintain your property hostnames on China CDN. To whitelist your property hostname on China CDN:

  1. Run the List property hostnames operation for a list of property hostnames under your account.

  2. Use the hostname to run the Create a new provision state change operation, which responds with a ProvisionStateChange object.

  3. When you build the new ProvisionStateChange object, set the targetState to WHITELISTED, then POST a Create a new provision state change object.

  4. The operation responds with a ProvisionStateChange object.

  5. To track the property hostname’s currentStatus, Get a provision state change.

To activate your property hostname on China CDN:

  1. Run the List property hostnames operation for a list of property hostnames under your account.

  2. Use the hostname to run the Create a new provision state change operation, which responds with a ProvisionStateChange object.

  3. When you build the new ProvisionStateChange object, set the targetState to PROVISIONED, then POST a Create a new provision state change object.

  4. The operation responds with a ProvisionStateChange object.

  5. To track the property hostname’s currentStatus, Get a provision state change.

To deactivate your property hostname on China CDN:

  1. Run the List property hostnames operation for a list of property hostnames under your account.

  2. Use the hostname to run the Create a new provision state change operation, which responds with a ProvisionStateChange object.

  3. When you build a new ProvisionStateChange object, set the targetState to WHITELISTED, then POST a Create a new provision state change object.

  4. The operation responds with a ProvisionStateChange object.

  5. To track the property hostname’s currentStatus, Get a provision state change.

To deprovision your property hostname on China CDN:

  1. Run the List property hostnames operation for a list of property hostnames under your account.

  2. Use the hostname to run the Create a new provision state change operation, which responds with a ProvisionStateChange object.

  3. When you build a new ProvisionStateChange object, set the targetState to DEPROVISIONED, then POST a Create a new provision state change object.

  4. To track the property hostname’s currentStatus, Get a provision state change.

Data versioning

When exchanging data, Accept and Content-Type headers need to specify these custom versioned MIME types. Future API releases may provide incremental new versions of objects or remove existing versions of objects as needed. This table shows the most recent version of each object:

Object Type MIME Type
IcpHoldingEntity application/vnd.akamai.chinacdn.icp-holding-entities.v1+json,
IcpNumber application/vnd.akamai.chinacdn.icp-numbers.v1+json
EdgeHostname application/vnd.akamai.chinacdn.edge-hostnames.v1+json
Group application/vnd.akamai.chinacdn.groups.v1+json
PropertyHostname application/vnd.akamai.chinacdn.property-hostnames.v1+json,
application/vnd.akamai.chinacdn.property-hostname.v1+json
ProvisionState application/vnd.akamai.chinacdn.provision-states.v1+json
ProvisionStateChange application/vnd.akamai.chinacdn.provision-state-changes.v1+json

Service category types

A service category identifies the type of website you’re deploying in China. When you create a property hostname, the serviceCategoryinteger codes you specify correspond to these:

Code Description Chinese Description
1 Instant messenger 即时通信
2 Search engine 搜索引擎
3 Comprehensive web portal 综合门户
4 Online post office 网上邮局
5 News website 新闻网站
6 Blog website 博客/个人网站
7 Internet-based advertising 网络广告/信息
8 Vertical web portal 单位门户网站
9 Shopping website 购物网站
10 Online payment 网上支付
11 Online banking 网上银行
12 Internet-based finance 网上炒股/基金
13 Gaming website 游戏网站
14 Music website 音乐网站
15 Video website 视频网站
16 Picture website 图片网站
17 Software download 软件下载
18 Job search website 求职网站
19 Social or dating website 社交/婚介网站
20 Real estate website 房地产网站
21 Online education 网络教育
22 Website building 网站建设
23 Wireless application 无线应用
24 Other 其他

Business classification types

A business classification identifies the principle function of the ICP holding entity responsible for deploying your web content in China. When you create a property hostname, the businessClassification integer codes you specify correspond to these:

Code Description Chinese Description
1 Military 军队
2 Government agency 政府机关
3 Institution 事业单位
4 Company 企业
5 Individual 个人
6 Organization 社会团体
999 Other 其他

Legal ID types

A legal ID identifies the official documentation of the ICP holding entity. When you Create a property hostname, the legalId integer codes you specify correspond to these:

Code Description Chinese Description
1 Business license 工商营业执照号码
2 ID card 身份证
3 Organization code certificate 组织机构代码证书
4 Institution legal person certificate 事业法人证书
5 Army code 军队代号
6 Organization legal person certificate 社团法人证书
7 Passport 护照
8 Army officer ID card 军官证
9 MTP (mainland travel permit for Taiwan residents) 台湾居民来往大陆通行证
10 Other 其他

Resources

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

API summary

Download the RAML descriptors for this API.

Operation Method Endpoint
ICP holding entities  
List ICP holding entities GET /chinacdn/v1/icp-holding-entities
ICP numbers  
List ICP numbers GET /chinacdn/v1/icp-numbers
Edge hostnames  
List edge hostnames GET /chinacdn/v1/edge-hostnames
Groups  
List groups GET /chinacdn/v1/groups
Property hostnames  
List property hostnames GET /chinacdn/v1/property-hostnames
Get a property hostname GET /chinacdn/v1/property-hostnames/{hostname}
Create or update a property hostname PUT /chinacdn/v1/property-hostnames/{hostname}{?groupId}
Create a new provision state change POST /chinacdn/v1/property-hostnames/{hostname}/provision-state-changes{?forceDeprovision}
Get a provision state change GET /chinacdn/v1/property-hostnames/{hostname}/provision-state-changes/{changeId}
Get the current provision state changes GET /chinacdn/v1/property-hostnames/{hostname}/provision-state-changes/current
Current provision states  
List current provision states GET /chinacdn/v1/current-provision-states{?provisionState}

List ICP holding entities

Returns a list of read-only ICP holding entities available under your account. Use this operation to view compliance information for all ICP holding entities.

GET /chinacdn/v1/icp-holding-entities

Headers:

Accept: application/vnd.akamai.chinacdn.icp-holding-entities.v1+json

Status 200 application/vnd.akamai.chinacdn.icp-holding-entities.v1+json

Headers:

Content-Type: application/vnd.akamai.chinacdn.icp-holding-entities.v1+json

Object type: IcpHoldingEntity

Download schema: icp-holding-entities.json

Response body:

{
    "icpHoldingEntities": [
        {
            "id": 1,
            "name": "My Holding Entity 1",
            "businessClassification": 4,
            "comments": "N/A",
            "createdBy": "fsmith",
            "createdDate": "2019-07-01T12:32:01Z",
            "updatedBy": "gbarker",
            "updatedDate": "2019-11-02T14:03:01Z",
            "legalId": {
                "id": "A23453635",
                "type": 5
            },
            "legalRepresentative": {
                "name": "Fred Smith",
                "phone": "123-456-7890"
            }
        },
        {
            "id": 2,
            "name": "My Holding Entity 2",
            "businessClassification": 4,
            "comments": "N/A",
            "createdBy": "jsmith",
            "createdDate": "2019-07-01T12:32:01Z",
            "updatedBy": "gbarker",
            "updatedDate": "2019-11-02T14:03:01Z",
            "legalId": {
                "id": "L23453635",
                "type": 5
            },
            "legalRepresentative": {
                "name": "Joe Smith",
                "phone": "123-555-7890"
            }
        }
    ]
}

List ICP numbers

Returns a list of read-only ICP numbers available under your account. Use this operation to view information about the ICP numbers and to identify the ICP holding entities associated with these ICP numbers.

GET /chinacdn/v1/icp-numbers

Headers:

Accept: application/vnd.akamai.chinacdn.icp-numbers.v1+json

Status 200 application/vnd.akamai.chinacdn.icp-numbers.v1+json

Headers:

Content-Type: application/vnd.akamai.chinacdn.icp-numbers.v1+json

Object type: IcpNumber

Download schema: icp-numbers.json

Response body:

{
    "icpNumbers": [
        {
            "createdBy": "asmith",
            "createdDate": "2018-01-02T00:00:00.000Z",
            "id": 1,
            "icpNumber": "icpNumber1",
            "icpHoldingEntityId": 1,
            "updatedBy": "gbarker",
            "updatedDate": "2019-11-02T14:03:01Z"
        },
        {
            "createdBy": "asmith",
            "createdDate": "2018-01-02T00:00:00.000Z",
            "id": 2,
            "icpHoldingEntityId": 2,
            "icpNumber": "icpNumber2",
            "updatedBy": "gbarker",
            "updatedDate": "2019-11-02T14:03:01Z"
        }
    ]
}

List edge hostnames

Returns a filtered list of provided edge hostnames available for use on a China CDN enabled contract.

GET /chinacdn/v1/edge-hostnames

Headers:

Accept: application/vnd.akamai.chinacdn.edge-hostnames.v1+json

Status 200 application/vnd.akamai.chinacdn.edge-hostnames.v1+json

Object type: EdgeHostname

Download schema: edge-hostnames.json

Response body:

{
    "edgeHostnames": [
        {
            "edgeHostname": "www.example.com.edgesuite.net",
            "status": "READY"
        },
        {
            "edgeHostname": "www.example.com.edgekey.net",
            "status": "NOT_SUPPORTED"
        },
        {
            "edgeHostname": "www.example2.com.edgesuite.net",
            "status": "NOT_READY"
        }
    ]
}

List groups

Returns a filtered list of groups under your account available for use on a China CDN enabled contract.

GET /chinacdn/v1/groups

Headers:

Accept: application/vnd.akamai.chinacdn.groups.v1+json

Status 200 application/vnd.akamai.chinacdn.groups.v1+json

Object type: Group

Download schema: groups.json

Response body:

{
    "groups": [
        {
            "groupId": 1,
            "groupName": "Group 1"
        },
        {
            "groupId": 2,
            "groupName": "Group 2"
        }
    ]
}

List property hostnames

Returns a list of the property hostnames under your account that are available for deployment on China CDN.

GET /chinacdn/v1/property-hostnames

Headers:

Accept: application/vnd.akamai.chinacdn.property-hostnames.v1+json

Status 200 application/vnd.akamai.chinacdn.property-hostnames.v1+json

Headers:

Content-Type: application/vnd.akamai.chinacdn.property-hostnames.v1+json

Object type: PropertyHostname

Download schema: property-hostnames.json

Response body:

{
    "propertyHostnames": [
        {
            "hostname": "www.example.com",
            "icpNumberId": 456,
            "serviceCategory": 6,
            "comments": "N/A",
            "createdBy": "fsmith",
            "createdDate": "2019-07-01T12:32:01Z",
            "updatedBy": "gbarker",
            "updatedDate": "2019-11-02T14:03:01Z"
        },
        {
            "hostname": "www.example2.com",
            "icpNumberId": 457,
            "serviceCategory": 13,
            "comments": "N/A",
            "createdBy": "fsmith",
            "createdDate": "2019-07-01T12:32:01Z",
            "updatedBy": "gbarker",
            "updatedDate": "2019-11-02T14:03:01Z"
        }
    ]
}

Get a property hostname

Returns a specific property hostname under your account.

GET /chinacdn/v1/property-hostnames/{hostname}

Sample: /chinacdn/v1/property-hostnames/www.example.com

Headers:

Accept: application/vnd.akamai.chinacdn.property-hostname.v1+json
Parameter Type Sample Description
URL path parameters
hostname String www.example.com The fully qualified domain name of the property hostname.

Status 200 application/vnd.akamai.chinacdn.property-hostname.v1+json

Headers:

Content-Type: application/vnd.akamai.chinacdn.property-hostname.v1+json

Object type: PropertyHostname

Download schema: property-hostname.json

Response body:

{
    "hostname": "www.example.com",
    "icpNumberId": 456,
    "serviceCategory": 13,
    "comments": "N/A",
    "createdBy": "fsmith",
    "createdDate": "2019-07-01T12:32:01Z",
    "updatedBy": "gbarker",
    "updatedDate": "2019-11-02T14:03:01Z"
}
  1. Run List property hostnames, then from the propertyHostnames array, store the relevant hostname value.

  2. Make a GET request to /chinacdn/v1/property-hostnames/{hostname}, which responds with a PropertyHostname object.

Create or update a property hostname

This operation lets you create or update a property hostname based on the group for your current account and contract type. The API responds with a 201 code when you create a new property hostname, and a 200 code thereafter when updating it. If the property hostname has a provision status of WHITELISTED or PROVISIONED and you change the icpNumberId, the API creates a China partner re-approval request. If the partner denies the request for any reason, the property hostname’s provisionState changes to DEPROVISIONED.

PUT /chinacdn/v1/property-hostnames/{hostname}{?groupId}

Sample: /chinacdn/v1/property-hostnames/www.example.com?groupId=123

Headers:

Accept: application/vnd.akamai.chinacdn.property-hostname.v1+json
Content-Type: application/vnd.akamai.chinacdn.property-hostname.v1+json

Content-Type: application/vnd.akamai.chinacdn.property-hostname.v1+json

Object type: PropertyHostname

Download schema: property-hostname.json

Request body:

{
    "hostname": "www.example.com",
    "icpNumberId": 456,
    "serviceCategory": 13
}
Parameter Type Sample Description
URL path parameters
hostname String www.example.com The fully qualified domain name of the property hostname.
Optional query parameters
groupId Integer 123 A unique identifier for a group. A unique identifier for a group. This parameter is only needed when creating a property hostname.

Status 200 application/vnd.akamai.chinacdn.property-hostname.v1+json

Headers:

Content-Type: application/vnd.akamai.chinacdn.property-hostname.v1+json

Object type: PropertyHostname

Download schema: property-hostname.json

Response body:

{
    "hostname": "www.example.com",
    "icpNumberId": 456,
    "serviceCategory": 13,
    "comments": "N/A",
    "createdBy": "fsmith",
    "createdDate": "2019-07-01T12:32:01Z",
    "updatedBy": "gbarker",
    "updatedDate": "2019-11-02T14:03:01Z"
}

Status 201 application/vnd.akamai.chinacdn.property-hostname.v1+json

Headers:

Content-Type: application/vnd.akamai.chinacdn.property-hostname.v1+json

Object type: PropertyHostname

Download schema: property-hostname.json

Response body:

{
    "hostname": "www.example.com",
    "icpNumberId": 456,
    "serviceCategory": 13,
    "comments": "N/A",
    "createdBy": "fsmith",
    "createdDate": "2019-07-01T12:32:01Z",
    "updatedBy": "gbarker",
    "updatedDate": "2019-11-02T14:03:01Z"
}
  1. Run List property hostnames.

  2. Decide which of the property hostnames you want to create or modify.

If the hostname doesn’t appear within one of the objects in the response’s propertyHostnames array and you want to create a new propertyHostname:

  1. Run List ICP numbers.

  2. From the icpNumbers array, store the relevant id value for the icpNumberId member.

  3. Run List groups.

  4. From the groups array, store the relevant groupId value for the groupId parameter.

  5. Build a new PropertyHostname object.

  6. PUT the object to /chinacdn/v1/property-hostnames/{hostname}{?groupId}, which responds with the new PropertyHostname object.

If the hostname appears in the response’s propertyHostnames array and you want to modify it:

  1. From the propertyHostnames array, store the relevant hostname value.

  2. Make a GET request to /chinacdn/v1/property-hostnames/{hostname}, which responds with a PropertyHostname object.

  3. Modify the PropertyHostname object.

  4. PUT the object to /chinacdn/v1/property-hostnames/{hostname}{?groupId}.

Create a new provision state change

This operation lets you change your property hostname’s current deployment state. For more information, see the Provision state change workflow, Deployment states, and Manage property hostnames sections.

POST /chinacdn/v1/property-hostnames/{hostname}/provision-state-changes{?forceDeprovision}

Sample: /chinacdn/v1/property-hostnames/www.example.com/provision-state-changes?forceDeprovision=true

Headers:

Accept: application/vnd.akamai.chinacdn.provision-state-changes.v1+json
Content-Type: application/vnd.akamai.chinacdn.provision-state-changes.v1+json

Content-Type: application/vnd.akamai.chinacdn.provision-state-changes.v1+json

Object type: ProvisionStateChange

Download schema: provision-state-change.json

Request body:

{
    "hostname": "www.example.com",
    "targetState": "PROVISIONED",
    "edgeHostname": "www.example.com.edgesuite.net",
    "sendEmail": true
}
Parameter Type Sample Description
URL path parameters
hostname String www.example.com The fully qualified domain name of the property hostname.
Optional query parameters
forceDeprovision Boolean true When deprovisioning a property hostname that’s mapped to a shared edge hostname, the API responds with an edgehostname-shared error. To override the error, set the forceDeprovision value to true. This removes the property hostname from the whitelist without unmapping the edge hostname from it. To avoid a denial in service once the deprovision is complete, change the current CNAME from the property hostname to the shared edge hostname.

Status 202 application/vnd.akamai.chinacdn.provision-state-changes.v1+json

Object type: ProvisionStateChange

Download schema: provision-state-change.json

Response body:

{
    "id": 654,
    "hostname": "www.example.com",
    "targetState": "PROVISIONED",
    "previousState": "DEPROVISIONED",
    "edgeHostname": "www.example.com.edgesuite.net",
    "sendEmail": true,
    "currentStatus": "PENDING",
    "createdDate": "2019-07-01T12:32:01Z",
    "completedDate": null,
    "partnerStatuses": {
        "PARTNER1": {
            "targetState": "PROVISIONED",
            "previousState": "DEPROVISIONED",
            "currentStatus": "PENDING",
            "completedDate": null
        },
        "PARTNER2": {
            "targetState": "PROVISIONED",
            "previousState": "DEPROVISIONED",
            "currentStatus": "PENDING",
            "completedDate": null
        }
    }
}
  1. Run List property hostnames, then from the propertyHostnames array, store the relevant hostname value.

  2. To check if a provision state change is needed or to update the relevant hostname, make a GET request to /chinacdn/v1/property-hostnames/{hostname}/provision-state-changes/current, which responds with a ProvisionStateChange object.

  3. If a provision state change is needed, build a ProvisionStateChange POST object.

  4. Specify the targetState for the provision state change.

  5. If you’re changing the targetState to PROVISIONED, run List edge hostnames and check that the edge hostname’s status is READY. If it isn’t ready and you expect it be, or you want to replace it with an edge hostname that doesn’t appear on the list, contact Akamai Technical Support for assistance.

  6. Update the hostname and edgeHostname if needed.

  7. POST the object to /chinacdn/v1/property-hostnames/{hostname}/provision-state-changes.

  8. The operation responds with a ProvisionStateChange object.

Get a provision state change

Returns details about a specific deployment change for the specified property hostname.

GET /chinacdn/v1/property-hostnames/{hostname}/provision-state-changes/{changeId}

Sample: /chinacdn/v1/property-hostnames/www.example.com/provision-state-changes/654

Headers:

Accept: application/vnd.akamai.chinacdn.provision-state-changes.v1+json
Parameter Type Sample Description
URL path parameters
hostname String www.example.com The fully qualified domain name of the property hostname.
changeId Integer 654 A unique identifier for the property hostname’s current provision state change.

Status 200 application/vnd.akamai.chinacdn.provision-state-changes.v1+json

Object type: ProvisionStateChange

Download schema: provision-state-change.json

Response body:

{
    "id": 654,
    "hostname": "www.example.com",
    "targetState": "WHITELISTED",
    "previousState": "DEPROVISIONED",
    "edgeHostname": "www.example.com.edgesuite.net",
    "sendEmail": true,
    "currentStatus": "COMPLETED",
    "createdDate": "2019-07-01T12:32:01Z",
    "completedDate": "2019-10-01T17:23:44Z",
    "partnerStatuses": {
        "PARTNER1": {
            "targetState": "WHITELISTED",
            "previousState": "DEPROVISIONED",
            "currentStatus": "COMPLETED",
            "completedDate": "2019-10-01T11:21:32Z"
        },
        "PARTNER2": {
            "targetState": "PROVISIONED",
            "previousState": "DEPROVISIONED",
            "currentStatus": "REJECTED",
            "completedDate": "2019-10-01T17:23:44Z",
            "rejection": {
                "reason": "INVALID_ICP_LICENSE",
                "explanation": "Invalid ICP license."
            }
        }
    }
}
  1. Run List property hostnames, then from the propertyHostnames array, store the relevant hostname value.

  2. Make a GET request to /chinacdn/v1/property-hostnames/{hostname}/provision-state-changes/current, which responds with a ProvisionStateChange object.

  3. From the provisionStateChanges array, store the relevant id value as the changeId parameter.

  4. Make a GET request to /chinacdn/v1/property-hostnames/{hostname}/provision-state-changes/{changeId}, which responds with a ProvisionStateChange object.

Get the current provision state changes

Returns details about current deployment changes for the specified property hostname under your account.

GET /chinacdn/v1/property-hostnames/{hostname}/provision-state-changes/current

Sample: /chinacdn/v1/property-hostnames/www.example.com/provision-state-changes/current

Headers:

Accept: application/vnd.akamai.chinacdn.provision-state-changes.v1+json
Parameter Type Sample Description
URL path parameters
hostname String www.example.com The fully qualified domain name of the property hostname.

Status 200 application/vnd.akamai.chinacdn.provision-state-changes.v1+json

Object type: ProvisionStateChange

Download schema: provision-state-changes.json

Response body:

{
    "provisionStateChanges": [
        {
            "id": 654,
            "hostname": "www.example.com",
            "targetState": "WHITELISTED",
            "previousState": "DEPROVISIONED",
            "edgeHostname": "www.example.com.edgesuite.net",
            "sendEmail": true,
            "currentStatus": "COMPLETED",
            "createdDate": "2019-07-01T12:32:01Z",
            "completedDate": "2019-10-01T17:23:44Z",
            "partnerStatuses": {
                "PARTNER1": {
                    "targetState": "WHITELISTED",
                    "previousState": "DEPROVISIONED",
                    "currentStatus": "COMPLETED",
                    "completedDate": "2019-10-01T11:21:32Z"
                },
                "PARTNER2": {
                    "targetState": "PROVISIONED",
                    "previousState": "DEPROVISIONED",
                    "currentStatus": "REJECTED",
                    "completedDate": "2019-10-01T17:23:44Z",
                    "rejection": {
                        "reason": "INVALID_ICP_LICENSE",
                        "explanation": "Invalid ICP license."
                    }
                }
            }
        },
        {
            "id": 655,
            "hostname": "www.example.com",
            "targetState": "WHITELISTED",
            "previousState": "DEPROVISIONED",
            "edgeHostname": "www.example2.com.edgesuite.net",
            "sendEmail": true,
            "currentStatus": "COMPLETED",
            "createdDate": "2019-07-01T12:32:01Z",
            "completedDate": "2019-10-01T17:23:44Z",
            "partnerStatuses": {
                "PARTNER3": {
                    "targetState": "WHITELISTED",
                    "previousState": "DEPROVISIONED",
                    "currentStatus": "COMPLETED",
                    "completedDate": "2019-10-01T11:21:32Z"
                }
            }
        }
    ]
}
  1. Run List property hostnames, then from the propertyHostnames array, store the relevant hostname value.

  2. Make a GET request to /chinacdn/v1/property-hostnames/{hostname}/provision-state-changes/current.

  3. The operation responds with a ProvisionStateChange object.

List current provision states

Returns a list of current provision states for all property hostnames under your account.

GET /chinacdn/v1/current-provision-states{?provisionState}

Sample: /chinacdn/v1/current-provision-states?provisionState=WHITELISTED

Headers:

Accept: application/vnd.akamai.chinacdn.provision-states.v1+json
Parameter Type Sample Description
Optional query parameters
provisionState String WHITELISTED Filter results by the given provision state.

Status 200 application/vnd.akamai.chinacdn.provision-states.v1+json

Object type: ProvisionState

Download schema: current-provision-states.json

Response body:

{
    "provisionStates": [
        {
            "hostname": "www.example.com",
            "provisionState": "WHITELISTED",
            "pendingState": null,
            "partnerStates": {
                "PARTNER1": {
                    "provisionState": "WHITELISTED",
                    "pendingState": null
                },
                "PARTNER2": {
                    "provisionState": "DEPROVISIONED",
                    "pendingState": "WHITELISTED"
                }
            }
        },
        {
            "hostname": "www.example2.com",
            "provisionState": "WHITELISTED",
            "pendingState": "DEPROVISIONED",
            "partnerStates": {
                "PARTNER1": {
                    "provisionState": "WHITELISTED",
                    "pendingState": "DEPROVISIONED"
                },
                "PARTNER2": {
                    "provisionState": "DEPROVISIONED",
                    "pendingState": null
                }
            }
        }
    ]
}

For this operation, you have the option to use the provisionState query parameter to list all property hostnames under your account with a specific provision state. Omitting the provisionState query parameter returns a list of current provision states for all property hostnames under your account. Options for the provisionState parameter include WHITELISTED, PROVISIONED and DEPROVISIONED. For property hostnames that don’t have a provision state change created, the default value is DEPROVISIONED.

Make a GET request to /chinacdn/v1/current-provision-states{?provisionState}, which responds with a ProvisionStateChange object.

Data

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

Download the JSON schemas for this API.

IcpHoldingEntity

Provides information about the ICP holding entity under your account. This information needs to match the information provided when applying for a license to operate in China. Any mismatch can result in Akamai’s China partner rejecting your request to whitelist a property hostname.

Download schema: icp-holding-entity.json

Sample GET response:

{
    "icpHoldingEntities": [
        {
            "id": 1,
            "name": "My Holding Entity 1",
            "businessClassification": 4,
            "comments": "N/A",
            "createdBy": "fsmith",
            "createdDate": "2019-07-01T12:32:01Z",
            "updatedBy": "gbarker",
            "updatedDate": "2019-11-02T14:03:01Z",
            "legalId": {
                "id": "A23453635",
                "type": 5
            },
            "legalRepresentative": {
                "name": "Fred Smith",
                "phone": "123-456-7890"
            }
        },
        {
            "id": 2,
            "name": "My Holding Entity 2",
            "businessClassification": 4,
            "comments": "N/A",
            "createdBy": "jsmith",
            "createdDate": "2019-07-01T12:32:01Z",
            "updatedBy": "gbarker",
            "updatedDate": "2019-11-02T14:03:01Z",
            "legalId": {
                "id": "L23453635",
                "type": 5
            },
            "legalRepresentative": {
                "name": "Joe Smith",
                "phone": "123-555-7890"
            }
        }
    ]
}

IcpHoldingEntity members

Member Type Description
IcpHoldingEntity: Provides information about the ICP holding entity under your account. This information needs to match the information provided when applying for a license to operate in China. Any mismatch can result in Akamai’s China partner rejecting your request to whitelist a property hostname.
businessClassification Integer Identifies the principle function of the ICP holding entity responsible for deploying your web content in China. For available codes, see Business classification types.
comments String A descriptive comment about the ICP holding entity.
createdBy String Read-only. The Akamai username who created the ICP holding entity.
createdDate String Read-only. The time the ICP holding entity was created, in ISO 8601 format.
id Integer A unique identifier for the ICP holding entity.
legalId IcpHoldingEntity.legalId Information that proves the legitimate identity of the ICP holding entity.
legalRepresentative IcpHoldingEntity.legalRepresentative Information about the China technical contact of the ICP holding entity.
name String The name of the ICP holding entity.
updatedBy String Read-only. The Akamai username who last updated the ICP holding entity.
updatedDate String Read-only. The time the ICP holding entity was last updated, in ISO 8601 format.
IcpHoldingEntity.legalId: Information that proves the legitimate identity of the ICP holding entity.
id String The legal identity value that corresponds to the legalRepresentative issued by the Chinese government.
type Integer The legal identity type that corresponds to the legalRepresentative issued by the Chinese government. For available codes, see Legal ID types.
IcpHoldingEntity.legalRepresentative: Information about the China technical contact of the ICP holding entity.
name String The name of your China technical contact. This person works and lives in China.
phone String The mobile phone number for your China technical contact.

IcpNumber

Provides information about the ICP number used to identify the ICP license issued to the ICP holding entity by the Chinese government. Your property hostname needs to reference the ICP number to deploy it in China. List ICP numbers for the ICP numbers available under your account in China.

Download schema: icp-number.json

Sample GET response:

{
    "icpNumbers": [
        {
            "createdBy": "asmith",
            "createdDate": "2018-01-02T00:00:00.000Z",
            "id": 1,
            "icpNumber": "icpNumber1",
            "icpHoldingEntityId": 1,
            "updatedBy": "gbarker",
            "updatedDate": "2019-11-02T14:03:01Z"
        },
        {
            "createdBy": "asmith",
            "createdDate": "2018-01-02T00:00:00.000Z",
            "id": 2,
            "icpHoldingEntityId": 2,
            "icpNumber": "icpNumber2",
            "updatedBy": "gbarker",
            "updatedDate": "2019-11-02T14:03:01Z"
        }
    ]
}

IcpNumber members

Member Type Description
IcpNumber: Provides information about the ICP number used to identify the ICP license issued to the ICP holding entity by the Chinese government. Your property hostname needs to reference the ICP number to deploy it in China. List ICP numbers for the ICP numbers available under your account in China.
comments String A descriptive comment about the ICP number.
createdBy String Read-only. The Akamai username who created the ICP number.
createdDate String Read-only. The time the ICP number was created, in ISO 8601 format.
icpHoldingEntityId Integer A unique identifier for the ICP holding entity that owns the ICP number.
icpNumber String The ICP number that appears in the Chinese government-issued license.
id Integer A unique identifier for the ICP number. On PUT, sets the icpNumberId for the property hostname.
updatedBy String Read-only. The Akamai username who last updated the ICP number.
updatedDate String Read-only. The time the ICP number was last updated, in ISO 8601 format.

EdgeHostname

Provides information about the edge hostnames provided to use on China CDN.

Download schema: edge-hostname.json

Sample GET response:

{
    "edgeHostnames": [
        {
            "edgeHostname": "www.example.com.edgesuite.net",
            "status": "READY"
        },
        {
            "edgeHostname": "www.example.com.edgekey.net",
            "status": "NOT_SUPPORTED"
        },
        {
            "edgeHostname": "www.example2.com.edgesuite.net",
            "status": "NOT_READY"
        }
    ]
}

EdgeHostname members

Member Type Description
EdgeHostname: Provides information about the edge hostnames provided to use on China CDN.
edgeHostname String This hostname is usually your original origin hostname, suffixed with .edgesuite.net or .edgekey.net.
status String, Null Indicates the status of the edge hostname. READY means that you can use the edge hostname to deploy a property hostname in China. NOT_READY means the edge hostname isn’t configured properly. For example, the edge hostname doesn’t have a product ID specified. In this case, the API can’t use the edge hostname until you resolve the issue. Learn more. NOT_SUPPORTED means the API doesn’t automatically manage mapping or unmapping for the DNS zone of the edge hostname. A null value means the edge hostname isn’t needed for the provision state change. For example, if you’re only whitelisting your property hostname.

Group

Provides information about the groups under your account that are available for use on China CDN.

Download schema: group.json

Sample GET response:

{
    "groups": [
        {
            "groupId": 1,
            "groupName": "Group 1"
        },
        {
            "groupId": 2,
            "groupName": "Group 2"
        }
    ]
}

Group members

Member Type Description
Group: Provides information about the groups under your account that are available for use on China CDN.
groupId Integer A unique identifier for the group.
groupName String A descriptive label for the group.

PropertyHostname

Provides information about the property hostname under your account.

Download schema: property-hostname.json

Sample GET response:

{
    "propertyHostnames": [
        {
            "hostname": "www.example.com",
            "icpNumberId": 456,
            "serviceCategory": 6,
            "comments": "N/A",
            "createdBy": "fsmith",
            "createdDate": "2019-07-01T12:32:01Z",
            "updatedBy": "gbarker",
            "updatedDate": "2019-11-02T14:03:01Z"
        },
        {
            "hostname": "www.example2.com",
            "icpNumberId": 457,
            "serviceCategory": 13,
            "comments": "N/A",
            "createdBy": "fsmith",
            "createdDate": "2019-07-01T12:32:01Z",
            "updatedBy": "gbarker",
            "updatedDate": "2019-11-02T14:03:01Z"
        }
    ]
}

PropertyHostname members

Member Type Description
PropertyHostname: Provides information about the property hostname under your account.
comments String A descriptive comment about the property hostname.
createdBy String Read-only. The Akamai username who created the property hostname.
createdDate String Read-only. The time the property hostname was created, in ISO 8601 format.
hostname String The fully qualified domain name of the property hostname.
icpNumberId Integer Identifies the ICP number assigned to the property hostname.
serviceCategory Integer Declares the type of website that you’re deploying to China. For available codes, see Service category types.
updatedBy String Read-only. The Akamai username that last updated the property hostname.
updatedDate String Read-only. The time the property hostname was last updated, in ISO 8601 format..

ProvisionState

Provides information about the current change made to the property hostname’s deployment in China.

Download schema: current-provision-states.json

Sample GET response:

{
    "provisionStates": [
        {
            "hostname": "www.example.com",
            "provisionState": "WHITELISTED",
            "pendingState": null,
            "partnerStates": {
                "PARTNER1": {
                    "provisionState": "WHITELISTED",
                    "pendingState": null
                },
                "PARTNER2": {
                    "provisionState": "DEPROVISIONED",
                    "pendingState": "WHITELISTED"
                }
            }
        },
        {
            "hostname": "www.example2.com",
            "provisionState": "WHITELISTED",
            "pendingState": "DEPROVISIONED",
            "partnerStates": {
                "PARTNER1": {
                    "provisionState": "WHITELISTED",
                    "pendingState": "DEPROVISIONED"
                },
                "PARTNER2": {
                    "provisionState": "DEPROVISIONED",
                    "pendingState": null
                }
            }
        }
    ]
}

ProvisionState members

Member Type Description
ProvisionState: Provides information about the current change made to the property hostname’s deployment in China.
hostname String The property hostname the provision state reflects.
partnerStates ProvisionState.partnerStates Specifies the current provision state for each partner based on the provision state change.
pendingChanges Boolean Indicates if there are any pending changes in progress for the property hostname.
provisionState String The property hostname’s current provision state, either WHITELISTED indicating you’re waiting for approval from the China partner to enable your property hostname in China, PROVISIONED indicating your property hostname is whitelisted and mapped to the provided edge hostname on China CDN, or DEPROVISIONED indicating your property hostname was removed from the whitelist and unmapped from the edge hostname.
ProvisionState.partnerStates: Specifies the current provision state for each partner based on the provision state change.
{partnerId} ProvisionState.partnerStates.{partnerId} Provides information about each partner’s current provision state change.
ProvisionState.partnerStates.{partnerId}: Provides information about each partner’s current provision state change.
pendingState String, Null If a provision state change is in progress, this indicates the awaiting state change, either WHITELISTED indicating you’re waiting for approval from the China partner to enable your property hostname in China, PROVISIONED indicating your property hostname is whitelisted and mapped to the edge hostname, or DEPROVISIONED indicating your property hostname was removed from the whitelist and unmapped from the edge hostname. Otherwise the value is null.
provisionState String The property hostname’s current provision state for the China partner, either WHITELISTED indicating you’re waiting for approval from this China partner to enable your property hostname in China, PROVISIONED indicating your property hostname is whitelisted and mapped to the provided edge hostname on China CDN, or DEPROVISIONED indicating your property hostname was removed from the whitelist and unmapped from the edge hostname on China CDN.

ProvisionStateChange

Provides information about the change made to the property hostname’s deployment in China.

Download schema: provision-state-change.json

Sample GET response:

{
    "id": 654,
    "hostname": "www.example.com",
    "targetState": "WHITELISTED",
    "previousState": "DEPROVISIONED",
    "edgeHostname": "www.example.com.edgesuite.net",
    "sendEmail": true,
    "currentStatus": "COMPLETED",
    "createdDate": "2019-07-01T12:32:01Z",
    "completedDate": "2019-10-01T17:23:44Z",
    "partnerStatuses": {
        "PARTNER1": {
            "targetState": "WHITELISTED",
            "previousState": "DEPROVISIONED",
            "currentStatus": "COMPLETED",
            "completedDate": "2019-10-01T11:21:32Z"
        },
        "PARTNER2": {
            "targetState": "PROVISIONED",
            "previousState": "DEPROVISIONED",
            "currentStatus": "REJECTED",
            "completedDate": "2019-10-01T17:23:44Z",
            "rejection": {
                "reason": "INVALID_ICP_LICENSE",
                "explanation": "Invalid ICP license."
            }
        }
    }
}

ProvisionStateChange members

Member Type Description
ProvisionStateChange: Provides information about the change made to the property hostname’s deployment in China.
completedDate String, Null Read-only. The date when the provision state change completed, in ISO 8601 format.
createdDate String Read-only. The date when the provision state change was created, in ISO 8601 format.
currentStatus String Read-only. The current status of the provision state change, either COMPLETED indicating your property hostname’s deployment was successful, PENDING indicating your property hostname is awaiting deployment, CANCELED indicating your property hostname’s deployment was terminated by the China partner, REJECTED indicating your property hostname’s deployment was denied by the China partner, or FAILED indicating your property hostname’s deployment was unsuccessful. This typically occurs if you create a new provision state change for a property hostname that has a targetState change in progress.
edgeHostname String, Null The provided edge hostname used to map to your property hostname for deployment in China. Use this value only when the targetState is PROVISIONED. A null value means the edge hostname isn’t needed for the provision state change. For example, if you’re only whitelisting your property hostname.
hostname String The hostname that this provision state change affects.
id Integer A unique identifier for the provision state change.
partnerStatuses ProvisionStateChange.partnerStatuses Specifies the provision statuses for each partner based on the provision state change.
previousState String Read-only. The state of the property hostname before this change, either WHITELISTED indicating you’re waiting for approval from the China partner to enable your property hostname in China, PROVISIONED indicating your property hostname is whitelisted and mapped to the provided edge hostname on China CDN, or DEPROVISIONED indicating your property hostname was removed from the whitelist and unmapped from the edge hostname.
sendEmail Boolean Specifies whether email updates are sent for status changes on this provision state change.
targetState String Specifies how you want your property hostname deployed in China. Specify WHITELISTED to enabled your traffic in China and get approval from the China partner. Specify PROVISIONED to whitelist and map your property hostname to the provided edge hostname on China CDN. This optimizes your website or application’s performance in China. Specify DEPROVISIONED to unmap and remove your property hostname from the whitelist. If you mapped a property hostname to a shared edge hostname, deprovisioning it doesn’t unmap the edge hostname from it. It only removes the property hostname from the whitelist. This might result in denial of service if your DNS configuration still assigns the property hostname to the shared edge hostname.
ProvisionStateChange.partnerStatuses: Specifies the provision statuses for each partner based on the provision state change.
{partnerId} ProvisionStateChange.partnerStatuses.{partnerId} Provides information about each partner’s provision state change.
ProvisionStateChange.partnerStatuses.{partnerId}: Provides information about each partner’s provision state change.
completedDate String, Null Read-only. The time the provision state change for this partner completed, in ISO 8601 format.
currentStatus String Read-only. The China partner’s current status, either COMPLETED indicating your property hostname’s deployment was successful, PENDING indicating your property hostname is awaiting deployment, CANCELED indicating your property hostname’s deployment was terminated by the China partner, REJECTED indicating your property hostname’s deployment was denied by the China partner, or FAILED indicating your property hostname’s deployment was unsuccessful. This typically occurs if you create a new provision state change for a property hostname that has a targetState change in progress.
partner String Identifies the partner allowed to deploy the property hostname in China.
previousState String Read-only. The China partner’s previous provision state change, either WHITELISTED indicating you’re waiting for approval from the China partner to enable your property hostname in China, PROVISIONED indicating your property hostname is whitelisted and mapped to the provided edge hostname on China CDN, or DEPROVISIONED indicating your property hostname was removed from the whitelist and unmapped from the edge hostname.
rejection ProvisionStateChange.partnerStatuses.{partnerId}.rejection Provides information on why the partner’s provision change failed.
targetState String Specifies how you want your property hostname deployed in China. Specify WHITELISTED to enabled your traffic in China and get approval from the China partner. Specify PROVISIONED to whitelist and map your property hostname to the edge hostname. This optimizes your website or application’s performance in China. Specify DEPROVISIONED to unmap and remove your property hostname from the whitelist. If you mapped a property hostname to a shared edge hostname, deprovisioning it doesn’t unmap the edge hostname from it. It only removes the property hostname from the whitelist. This might result in denial of service if your DNS configuration still assigns the property hostname to the shared edge hostname.
ProvisionStateChange.partnerStatuses.{partnerId}.rejection: Provides information on why the partner’s provision change failed.
explanation String Describes why the requested change was rejected.
reason String Indicates why the requested change was rejected. INVALID_ICP_LICENSE means the ICP license to provision the property hostname isn’t valid.

Errors

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

Error responses

This API responds with JSON objects that adhere to the HTTP Problem Details standard.

This example shows a response with an invalid HTTP method:

{
  "detail": "HTTP method PUT isn't allowed. Allowed methods: [POST].",
  "status": 405,
  "title": "The HTTP method isn't allowed.",
  "type": "/chinacdn/problem-types/method-not-allowed",
  "unsupportedMethod": "PUT",
  "allowedMethods": [
    "POST"
  ]
}

This example shows a response for an unsupported application/json media type. This API uses a system of versioned objects, and the error response shows the available set of media type values you can specify in Accept and Content-Type headers.

{
  "type": "/chinacdn/problem-types/media-type-not-acceptable",
  "title": "Couldn't find acceptable representation.",
  "status": 406,
  "detail": "Couldn't find acceptable representation. Allowed media types: [application/vnd.akamai.chinacdn.property-hostnames.v1+json;charset=UTF-8].",
  "instance": "/chinacdn/problem-types/media-type-not-acceptable?r=-2928080858679738339",
  "unsupportedMediaType": "application/json",
  "allowedMediaTypes": [
    "application/vnd.akamai.chinacdn.property-hostnames.v1+json;charset=UTF-8"
  ]
}

HTTP status codes

This section lists the full range of response codes the API may generate.

Code Description
200 The operation succeeded.
201 Resource successfully created.
202 Request accepted but not yet processed.
400 Bad Request. This typically occurs due to a problem with the format of request data, such as a non-parsing or invalid body of data, or an invalid set of query parameters or values.
401 API authentication failure. See Get started for guidance on how to correctly set up your API hostname token.
403 No permission to access this resource. This most likely reflects a limitation on the identity of the Control Panel user corresponding to the API client. See Get started to make sure you have permission to access all the functionality you need.
404 Resource not found. This typically occurs when a resource keyed by a URL path parameter no longer exists, or if the request URL is garbled in some other way. For example, when running the Get a property hostname operation, a 404 response indicates a property hostname that hasn’t been created yet.
405 Method not supported. This occurs if you try to access a resource using the wrong HTTP method. For example, using PUT when the resource only supports POST.
406 Not acceptable. This occurs when you request date using an Accept header that’s unsupported. See Data versioning for more information.
408 Request timeout. This typically occurs when sending request data in batches and failing to close out the request before the server timed out.
409 Conflict. The system cannot perform the operation until another operation completes. For example, you can’t change compliance information while a pending partner re-approval is in progress.
412 Precondition failed. This typically occurs if you Create a new provision state change for a property hostname that has a targetState change in progress.
415 Unsupported media type. This typically occurs when you provide data in a write operation using a Content-Type header that’s unsupported. See Data versioning for more information.
500 Internal server error.