
- Overview
- Resources
- API summary
- List ICP holding entities
- List ICP numbers
- List edge hostnames
- Get deprovision policy
- Specify a deprovision policy
- List groups
- List property hostnames
- Get a property hostname
- Create or update a property hostname
- Create a new provision state change
- Get a provision state change
- Get the current provision state changes
- List current provision states
- Data
- Errors
China CDN Manager API v1
Manage the lifecycle and monitor the status of your property hostnames on Akamai's China CDN.
Learn more:
- Download this API’s RAML and JSON schema descriptors.
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 propertyhostname
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 thetargetState
to initiate your property hostname’s deployment on China CDN. See the Provision state change workflow for details.Deprovision policy. The deprovision policy controls how your hostnames are deprovisioned or deactivated if they share an edge hostname. There are two deprovision policies. One unmaps the shared edge hostname from the property hostname before de-whitelisting it. The other doesn’t unmap the shared edge hostname but still de-whitelists the property hostname. If you have selected the deprovision policy that does not unmap the shared edge hostname any deactivation request for an associated property hostname fails. If you have a shared edge hostname make sure to Select the deprovision policy.
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 propertyhostname
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 propertyhostname
to improve performance in China, you can activate it to start the mapping process. When mapping completes, the property hostname’sprovisionState
changes toPROVISIONED
.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’sprovisionState
changes toWHITELISTED
.Deprovision. If you chose to activate your property hostname and its
provisionState
isPROVISIONED
, you can unmap the property hostname, and remove it from the whitelist. When deprovision completes, the property hostname’sprovisionState
changes toDEPROVISIONED
. If you deprovision a propertyhostname
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 thetargetState
change is complete.Target State. The
targetState
member specifies how you want your propertyhostname
deployed in China. For example, settingtargetState
toPROVISIONED
, whitelists your propertyhostname
and maps it to the provided edge hostname on China CDN.Pending state. The
pendingState
member indicates thetargetState
change is in progress based on the China partners’ approval.Partner states. The
partnerStates
array includes the property hostname’sprovisionState
andpendingState
for the China partner.Current status. The
currentStatus
member indicates the progress of the provision state change. For example, if the China partner approved thetargetState
change and the system successfully completed the change, thecurrentStatus
value isCOMPLETED
.
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:
Use the List ICP numbers operation if you want to see all ICP numbers under your account.
Use the List edge hostnames operation if you want to find out if an edge hostname is provided on China CDN.
Use the List groups operation if you want to find out to which property hostnames existing groups are assigned.
Use the Property hostnames interface if you want a list of available property hostnames or create or update a property hostname.
Follow these basic workflows to deploy, manage, and maintain your property hostnames on China CDN. To whitelist your property hostname on China CDN:
Run the List property hostnames operation for a list of property hostnames under your account.
Use the
hostname
to run the Create a new provision state change operation, which responds with a ProvisionStateChange object.When you build the new ProvisionStateChange object, set the
targetState
toWHITELISTED
, then POST a Create a new provision state change object.The operation responds with a ProvisionStateChange object.
To track the property hostname’s
currentStatus
, Get a provision state change.
To activate your property hostname on China CDN:
Run the List property hostnames operation for a list of property hostnames under your account.
Use the
hostname
to run the Create a new provision state change operation, which responds with a ProvisionStateChange object.When you build the new ProvisionStateChange object, set the
targetState
toPROVISIONED
, then POST a Create a new provision state change object.The operation responds with a ProvisionStateChange object.
To track the property hostname’s
currentStatus
, Get a provision state change.
To deactivate your property hostname on China CDN:
Run the List property hostnames operation for a list of property hostnames under your account.
Use the
hostname
to run the Create a new provision state change operation, which responds with a ProvisionStateChange object.When you build a new ProvisionStateChange object, set the
targetState
toWHITELISTED
, then POST a Create a new provision state change object.The operation responds with a ProvisionStateChange object.
To track the property hostname’s
currentStatus
, Get a provision state change.
To deprovision your property hostname on China CDN:
Run the List property hostnames operation for a list of property hostnames under your account.
Use the
hostname
to run the Create a new provision state change operation, which responds with a ProvisionStateChange object.When you build a new ProvisionStateChange object, set the
targetState
toDEPROVISIONED
, then POST a Create a new provision state change object.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 , application/vnd.akamai.chinacdn.edge-hostnames.v2+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 serviceCategory
integer 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/ |
ICP numbers | ||
List ICP numbers | GET | /chinacdn/ |
Edge hostnames | ||
List edge hostnames | GET | /chinacdn/ |
Get deprovision policy | GET | /chinacdn/ |
Specify a deprovision policy | PUT | /chinacdn/ |
Groups | ||
List groups | GET | /chinacdn/ |
Property hostnames | ||
List property hostnames | GET | /chinacdn/ |
Get a property hostname | GET | /chinacdn/ |
Create or update a property hostname | PUT | /chinacdn/ |
Create a new provision state change | POST | /chinacdn/ |
Get a provision state change | GET | /chinacdn/ |
Get the current provision state changes | GET | /chinacdn/ |
Current provision states | ||
List current provision states | GET | /chinacdn/ |
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. Note that some of the ID-type information is returned in a masked format where only the last four characters are displayed. The other characters are disguised by asterisks.
GET /chinacdn/
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/
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/
Headers:
Accept: application/vnd.akamai.chinacdn.edge-hostnames.v2+json
Status 200
application/vnd.akamai.chinacdn.edge-hostnames.v2+json
Headers:
Content-Type: application/vnd.akamai.chinacdn.edge-hostnames.v2+json
Object type: EdgeHostname
Download schema: edge-hostnames-v2.json
Response body:
{
"edgeHostnames": [
{
"edgeHostname": "www.example.com.edgesuite.net",
"status": "READY",
"propertyHostnames": 10,
"unmapSharedEdgeHostname": true
},
{
"edgeHostname": "www.example.com.edgekey.net",
"status": "NOT_SUPPORTED",
"propertyHostnames": 0,
"unmapSharedEdgeHostname": false
},
{
"edgeHostname": "www.example2.com.edgesuite.net",
"status": "NOT_READY",
"propertyHostnames": 7,
"unmapSharedEdgeHostname": true
}
]
}
Get deprovision policy
Returns the deprovision policy for the provided edge hostname.
GET /chinacdn/
Sample: /chinacdn/
Headers:
Accept: application/vnd.akamai.chinacdn.deprovision-policy.v1+json
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
edgeHostname |
String | www.example.com.edgesuite.net |
The edge hostname available for use on a China CDN enabled contract. |
Status 200
application/vnd.akamai.chinacdn.deprovision-policy.v1+json
Headers:
Content-Type: application/vnd.akamai.chinacdn.deprovision-policy.v1+json
Object type: DeprovisionPolicy
Download schema: deprovision-policy.json
Response body:
{
"unmapSharedEdgeHostname": true,
"createdBy": "asmith",
"createdDate": "2019-07-01T12:32:01Z",
"updatedBy": "gbarker",
"updatedDate": "2019-11-02T14:03:01Z"
}
Specify a deprovision policy
Specify a deprovision policy for the provided edge hostname.
PUT /chinacdn/
Sample: /chinacdn/
Headers:
Accept: application/vnd.akamai.chinacdn.deprovision-policy.v1+json
Content-Type: application/vnd.akamai.chinacdn.deprovision-policy.v1+json
Parameter | Type | Sample | Description |
---|---|---|---|
URL path parameters | |||
edgeHostname |
String | www.example.com.edgesuite.net |
The edge hostname available for use on a China CDN enabled contract. |
Status 200
application/vnd.akamai.chinacdn.deprovision-policy.v1+json
Headers:
Content-Type: application/vnd.akamai.chinacdn.deprovision-policy.v1+json
Object type: DeprovisionPolicy
Download schema: deprovision-policy.json
Response body:
{
"unmapSharedEdgeHostname": true,
"createdBy": "asmith",
"createdDate": "2019-07-01T12:32:01Z",
"updatedBy": "gbarker",
"updatedDate": "2019-11-02T14:03:01Z"
}
List groups
Returns a filtered list of groups under your account available for use on a China CDN enabled contract.
GET /chinacdn/
Headers:
Accept: application/vnd.akamai.chinacdn.groups.v1+json
Status 200
application/vnd.akamai.chinacdn.groups.v1+json
Headers:
Content-Type: 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/
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/
Sample: /chinacdn/
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"
}
Run List property hostnames, then from the
propertyHostnames
array, store the relevanthostname
value.Make a GET request to
/chinacdn/
, which responds with a PropertyHostname object.v1/ property-hostnames/ {hostname}
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/
Sample: /chinacdn/
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. 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"
}
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
:
Run List ICP numbers.
From the
icpNumbers
array, store the relevantid
value for theicpNumberId
member.Run List groups.
From the
groups
array, store the relevantgroupId
value for thegroupId
parameter.Build a new PropertyHostname object.
PUT the object to
/chinacdn/
, which responds with the new PropertyHostname object.v1/ property-hostnames/ {hostname}{?groupId}
If the hostname
appears in the response’s propertyHostnames
array and you want to modify it:
From the
propertyHostnames
array, store the relevanthostname
value.Make a GET request to
/chinacdn/
, which responds with a PropertyHostname object.v1/ property-hostnames/ {hostname} Modify the PropertyHostname object.
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/
Sample: /chinacdn/
Headers:
Accept: application/vnd.akamai.chinacdn.provision-state-change.v1+json
Content-Type: application/vnd.akamai.chinacdn.provision-state-change.v1+json
Content-Type: application/vnd.akamai.chinacdn.provision-state-change.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-change.v1+json
Headers:
Content-Type: application/vnd.akamai.chinacdn.provision-state-change.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
}
}
}
Run List property hostnames, then from the
propertyHostnames
array, store the relevanthostname
value.To check if a provision state change is needed or to update the relevant
hostname
, make a GET request to/chinacdn/
, which responds with a ProvisionStateChange object.v1/ property-hostnames/ {hostname}/ provision-state-changes/ current If a provision state change is needed, build a ProvisionStateChange POST object.
Specify the
targetState
for the provision state change.If you’re changing the
targetState
toPROVISIONED
, run List edge hostnames and check that the edge hostname’sstatus
isREADY
. 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.Update the
hostname
andedgeHostname
if needed.POST the object to
/chinacdn/
.v1/ property-hostnames/ {hostname}/ provision-state-changes 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/
Sample: /chinacdn/
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-change.v1+json
Headers:
Content-Type: application/vnd.akamai.chinacdn.provision-state-change.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."
}
}
}
}
Run List property hostnames, then from the
propertyHostnames
array, store the relevanthostname
value.Make a GET request to
/chinacdn/
, which responds with a ProvisionStateChange object.v1/ property-hostnames/ {hostname}/ provision-state-changes/ current From the
provisionStateChanges
array, store the relevantid
value as thechangeId
parameter.Make a GET request to
/chinacdn/
, which responds with a ProvisionStateChange object.v1/ property-hostnames/ {hostname}/ provision-state-changes/ {changeId}
Get the current provision state changes
Returns details about current deployment changes for the specified property hostname
under your account.
GET /chinacdn/
Sample: /chinacdn/
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
Headers:
Content-Type: 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"
}
}
}
]
}
Run List property hostnames, then from the
propertyHostnames
array, store the relevanthostname
value.Make a GET request to
/chinacdn/
.v1/ property-hostnames/ {hostname}/ provision-state-changes/ current 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/
Sample: /chinacdn/
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
Headers:
Content-Type: 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/
,
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 . |
|||
business |
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 |
Icp |
Information that proves the legitimate identity of the ICP holding entity. | |
legal |
Icp |
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. |
icp |
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-v1.json
, edge-hostname-v2.json
Sample GET response:
{
"edgeHostnames": [
{
"edgeHostname": "www.example.com.edgesuite.net",
"status": "READY",
"propertyHostnames": 10,
"unmapSharedEdgeHostname": true
},
{
"edgeHostname": "www.example.com.edgekey.net",
"status": "NOT_SUPPORTED",
"propertyHostnames": 0,
"unmapSharedEdgeHostname": false
},
{
"edgeHostname": "www.example2.com.edgesuite.net",
"status": "NOT_READY",
"propertyHostnames": 7,
"unmapSharedEdgeHostname": true
}
]
}
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 . |
property |
Integer | v2. The number of property hostnames which use this edge hostname. |
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. |
unmap |
Boolean | v2. Whether the deprovision policy unmaps the shared edge hostname during the deprovision process. |
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 |
Provision |
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} |
Provision |
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 |
Provision |
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} |
Provision |
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 |
Provision |
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. |
DeprovisionPolicy
Contains information about the deprovision policy assigned to the edge hostname.
Download schema:
deprovision-policy.json
Sample GET response:
{
"unmapSharedEdgeHostname": true,
"createdBy": "asmith",
"createdDate": "2019-07-01T12:32:01Z",
"updatedBy": "gbarker",
"updatedDate": "2019-11-02T14:03:01Z"
}
DeprovisionPolicy members
Member | Type | Description |
---|---|---|
DeprovisionPolicy : Contains information about the deprovision policy assigned to the edge hostname. |
||
createdBy |
String, Null | Username that created this policy. |
createdDate |
String, Null | ISO 8601 timestamp of when this policy was created. |
unmap |
Boolean | Whether to unmap the shared edge hostname before de-whitelisting the property hostname during the deprovision process. |
updatedBy |
String, Null | Username that last updated this policy. |
updatedDate |
String, Null | ISO 8601 timestamp of when this policy was last updated. |
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. |