> 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/networking/cdn/domain/modifydomaincertificate.md).

# ModifyDomainCertificate

## 1. API Description

This interface is used to modify the SSL certificate of an accelerated domain name.

#### Preparation

* Create Certificate: If the certificate to be modified has not been uploaded, you need to first call [`CreateCertificate`](https://github.com/zenlayer/zenlayercloud-api-doc-en/blob/main/zenlayer-global-accelerator/certificate/createcertificate.md) to upload the certificate and key.

{% hint style="info" %}
**Notes**

* This interface is asynchronous. After the interface returns successfully, the operation of creating or modifying the accelerated domain has not yet been completed. During this period, the status of the accelerated domain will be `Deploying`. You can query the status of the accelerated domain by calling the `DescribeCdnDomains` interface. If the domain status changes from `Deploying` (deploying) to `Deployed` (deployed successfully), the deployment is successful; `Failed` indicates that the configuration failed.
  {% endhint %}

## 2. Request Parameters

The following request parameter list includes only the necessary parameters for the interface

| Parameter Name | Required | Type   | Description                                                                                                                                                                              |
| -------------- | -------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| domainId       | Yes      | String | Accelerated domain Id                                                                                                                                                                    |
| certificateId  | Yes      | String | <p>Certificate Id<br>This parameter can be obtained from the <code>certificateId</code> field in the return value of <a href="/pages/5Ft1qW26bHvThmDvwJ2m">DescribeCertificates</a>.</p> |

## 3. Output Parameters

| Parameter Name | Type   | Description                                                                                 |
| -------------- | ------ | ------------------------------------------------------------------------------------------- |
| requestId      | String | Unique request ID, returned with each request. Provide this requestId when locating issues. |

## 4. Code Example

{% tabs %}
{% tab title="Example" %}

1. **Modify the SSL certificate of the accelerated domain**

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

Request:
{
    "domainId": "domainIdxxxxx",
    "certificateId": "f0864***66c6fa"
}


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

{% endtab %}
{% endtabs %}

## 5. Error Codes

The following includes error codes encountered in business logic. For other error codes, see [Common Error Codes](/api-reference/api-introduction/instruction/commonerrorcode.md).

| HTTP Status Code | Error Code                            | Description                                       |
| ---------------- | ------------------------------------- | ------------------------------------------------- |
| 404              | INVALID\_DOMAIN\_NOT\_FOUND           | The specified accelerated domain does not exist.  |
| 403              | DOMAIN\_OPERATION\_NO\_PERMISSION     | Operation denied due to lack of permission.       |
| 400              | CERT\_NOT\_MATCH\_DOMAIN\_OR\_EXPIRED | Certificate expired or does not match the domain. |
| 404              | INVALID\_CERTIFICATE\_NOT\_FOUND      | The specified certificate was not found.          |


---

# 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, and the optional `goal` query parameter:

```
GET https://docs.console.zenlayer.com/api-reference/networking/cdn/domain/modifydomaincertificate.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
