# ModifyDomainGeoAcl

## 1. API Description

This interface is used to modify the geographic access control policy of an accelerated domain name.

{% 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                 |
| geo            | Yes      | [GeoAclInfo](https://docs.console.zenlayer.com/api-reference/networking/datastructure#geoaclinfo) | Geographic access control information |

## 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 geographic 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: ModifyDomainGeoAcl
<Common Request Params>

Request:
{
    "domainId": "domainIdxxxxx",
    "geo": {
        "enable": true,
        "type": "WHITE",
        "regions": [
            "UA",
            "CN"
        ]
    }
}


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](https://docs.console.zenlayer.com/api-reference/api-introduction/instruction/commonerrorcode).

| 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\_DOMAIN\_GEO\_ACL\_REGION | The specified geo country or region is invalid.  |
