> For the complete documentation index, see [llms.txt](https://docs.console.zenlayer.com/api-reference/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.console.zenlayer.com/api-reference/cn/networking/cdn/domain/createdomain.md).

# CreateDomain

## 1. 接口描述

调用本接口用于创建加速域名。

#### 准备工作

* 查询加速域名的业务类型：调用[`DescribeBusinessTypes`](/api-reference/cn/networking/cdn/common/describebusinesstypes.md)。
* 查询加速域名的加速区域：调用[`DescribeAccelerationRegions`](/api-reference/cn/networking/cdn/common/describeaccelerationregions.md)。

{% hint style="info" %}
**注意事项**

* domain全局唯一，不允许创建相同的domain。
* domainName不允许和origin相同，否则会形成回环，使加速无法使用。
* 本接口为异步接口，接口返回成功后，此时创建加速域名操作并未立即完成。在此期间加速域名的状态将会处于`Deploying`，加速域名状态可以通过调用`DescribeCdnDomains` 接口查询，如果加速域名状态(domainStatus)由`Deploying`(部署中)变为`Deployed`(部署成功），则代表部署成功，`Failed`代表配置失败。
  {% endhint %}

## 2. 请求参数

以下请求参数列表仅列出了接口中需要的请求参数

| 参数名称                 | 必选 | 类型                                                                 | 描述                                                           |
| -------------------- | -- | ------------------------------------------------------------------ | ------------------------------------------------------------ |
| domainName           | 是  | String                                                             | <p>加速域名</p><p>域名全局唯一，不允许重复。</p><p>domain不允许和源站地址相同，会导致回环</p> |
| businessTypeId       | 是  | String                                                             | 业务类型ID                                                       |
| resourceGroupId      | 否  | String                                                             | <p>资源组的ID。</p><p>如果不传，则使用默认资源组</p>                           |
| accelerationRegionId | 是  | String                                                             | 加速区域ID                                                       |
| origin               | 是  | [Origin](/api-reference/cn/networking/cdn/datastructure.md#origin) | 源站信息                                                         |

## 3. 响应结果

| 参数名称      | 类型     | 描述                                         |
| --------- | ------ | ------------------------------------------ |
| requestId | String | 唯一请求 ID，每次请求都会返回。定位问题时需要提供该次请求的 requestId。 |
| domainId  | String | 加速域名Id                                     |

## 4. 代码示例

{% tabs %}
{% tab title="示例" %}

1. **创建加速域名**

```json
POST / HTTP/1.1
Host: console.zenlayer.com/api/v2/cdn
Content-Type: application/json
X-ZC-Action: CreateDomain
<Common Request Params>

Request:
{
    "domainName": "cdntest.zenlayer.com",
    "businessTypeId": "xxx-xx",
    "accelerationRegionId": "xxx-xx",
    "resourceGroupId":"xxx-xx",
    "origin": {
        "masterSource": "1.1.1.1",
        "slaverSource": "2.2.2.2",
        "originPort": "80",
        "originPortHttps": "443"
    }
}


Response:
{
    "requestId": "TEEFDCA5B-76FB-4E91-A18E-DF7F5D2CE41F",
    "response": {
        "requestId": "TEEFDCA5B-76FB-4E91-A18E-DF7F5D2CE41F",
        "domainId": "domainIdxxxxx",
    }
}
```

{% endtab %}
{% endtabs %}

## 5. 错误码

下面包含业务逻辑中遇到的错误码，其他错误码见[公共错误码](/api-reference/cn/api-introduction/instruction/commonerrorcode.md)

| HTTP状态码 | 错误码                                       | 说明          |
| ------- | ----------------------------------------- | ----------- |
| 404     | INVALID\_ACCELERATION\_REGION\_NOT\_FOUND | 未找到指定的加速区域  |
| 404     | INVALID\_BUSINESS\_TYPE\_NOT\_FOUND       | 未找到指定的加速类型  |
| 404     | INVALID\_RESOURCE\_GROUP\_NOT\_FOUND      | 未找到指定的资源组   |
| 400     | INVALID\_ORIGIN\_MASTER\_SOURCE           | 主源格式不正确     |
| 400     | INVALID\_ORIGIN\_SLAVER\_SOURCE           | 备源格式不正确     |
| 400     | INVALID\_ORIGIN\_SOURCE\_SAME\_AS\_DOMAIN | 源站不能与加速域名相同 |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.console.zenlayer.com/api-reference/cn/networking/cdn/domain/createdomain.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
