# ModifyDomainUaAcl

## 1. API Description

This interface is used to modify the UA access control policy for the accelerated domain.

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

* This is an asynchronous interface. After the interface returns success, the operation of creating the accelerated domain has not been completed immediately. During this period, the status of the accelerated domain will be `Deploying`. You can check the status of the accelerated domain by calling the `DescribeCdnDomains` interface. If the status of the accelerated domain (domainStatus) changes from `Deploying` to `Deployed`, it means the deployment was successful; `Failed` indicates that the configuration failed.
  {% endhint %}

## 2. Request Parameters

The following list of request parameters includes only those required by the interface:

| Parameter Name | Required | Type                                                                  | Description                   |
| -------------- | -------- | --------------------------------------------------------------------- | ----------------------------- |
| domainId       | Yes      | String                                                                | Accelerated domain Id         |
| uaAcl          | Yes      | [UaAclInfo](/api-reference/networking/cdn/datastructure.md#uaaclinfo) | UA access control information |

## 3. Output Parameterss

| 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 UA Access Control Policy of the Accelerated Domain**

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

Request:
{
    "domainId": "domainIdxxxxx",
    "uaAcl": {
        "enable": true,
        "uas": [
            "Chrome/99.0.4844.83 Safari/537.36",
            "firefox2.0",
            ".*(cur|wget).*"
        ]
    }
}


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              | INVALID\_UA\_ACL\_UAS\_EMPTY      | The UA list cannot be empty when enabling UA access control. |


---

# Agent Instructions: 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/networking/cdn/domain/modifydomainuaacl.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.
