# API 應用防火牆操作

{% hint style="info" %}
&#x20;**API Token Headers**

以下 API 皆需 API Token 相關 Header

* SKC-RefreshToken
* SKC-AccessToken
  {% endhint %}

## 白名單

### **新增白名單**

* POST /api/v1/user/site/{siteID}/firewall/setting/whitelists
  * 描述：在指定的站點應用防火牆新增白名單
  * cURL範例

    ```bash
    curl --request POST \
    --header 'Content-Type: application/json' \
    --header "SKC-RefreshToken: {Your Refresh Token}" \
    --header "SKC-AccessToken: {Your Access Token}" \
    --data '{
      "data": [
        {
          "ips": [
            "1.1.1.1"
          ],
          "url": "aaa.com",
          "memo": "",
          "methods": {
            "delete": true,
            "get": true,
            "head": true,
            "options": true,
            "patch": true,
            "post": true,
            "put": true
          }
        }
      ]
    }' \
    {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/whitelists
    ```
  * Payload

    ```bash
    {
      "data": [
        {
          "ips": [
            "1.1.1.1"
          ],
          "url": "aaa.com",
          "memo": "",
          "methods": {
            "delete": true,
            "get": true,
            "head": true,
            "options": true,
            "patch": true,
            "post": true,
            "put": true
          }
        }
      ]
    }
    ```
  * Response

    ```json
    { "code": 101001 }
    ```

### **獲取白名單ID**

* GET /api/v1/user/site/{siteID}/firewall/setting/whitelists
  * 描述：獲取已建立的白名單規則 ID
  * cURL範例

    ```bash
    curl --request GET \
    --header "SKC-RefreshToken: {Your Refresh Token}" \
    --header "SKC-AccessToken: {Your Access Token}" \
    {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/whitelists
    ```
  * Response

    ```bash
    {
        "code": 101001,
        "data": [
            {
                "id": 1371,
                "ips": [
                    "0.0.0.0/0"
                ],
                "url": "aaa.com",
                "methods": {
                    "get": true,
                    "post": false,
                    "put": false,
                    "delete": false,
                    "head": false,
                    "patch": false,
                    "options": false
                },
                "memo": ""
            }
        ]
    }
    ```

### **更新白名單**

* PUT /api/v1/user/site/{siteID}/firewall/setting/whitelist
  * 描述：修改已設定的白名單
  * cURL範例

    ```bash
    curl --request PUT \
    --header 'Content-Type: application/json' \
    --header "SKC-RefreshToken: {Your Refresh Token}" \
    --header "SKC-AccessToken: {Your Access Token}" \
    --data '{
      "ips": [
        "0.0.0.0/0"
      ],
      "url": "aaa.com",
      "memo": "",
      "methods": {
        "delete": false,
        "get": true,
        "head": false,
        "options": false,
        "patch": false,
        "post": ture,
        "put": false
      },
      "id": 1371
    }' \
    {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/whitelist
    ```
  * Response

    ```json
    { "code": 101001 }
    ```

### **刪除白名單**

* DELETE /api/v1/user/site/{siteID}/firewall/setting/whitelists
  * 描述：透過ID刪除指定的白名單規則
  * cURL範例

    ```bash
    curl --request DELETE \
    --header 'Content-Type: application/json' \
    --header "SKC-RefreshToken: {Your Refresh Token}" \
    --header "SKC-AccessToken: {Your Access Token}" \
    --data '{"ids": [1371]}' \
    {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/whitelists
    ```
  * Payload

    ```json
    {
      "ids": [
        1371
      ]
    }
    ```
  * Response

    ```json
    {
        "code": 101001
    }
    ```

***

## 黑名單

### **新增黑名單**

* POST /api/v1/user/site/{siteID}/firewall/setting/blacklists
  * 描述：在指定的站點應用防火牆新增黑名單
  * cURL範例

    ```bash
    curl --request POST \
    --header 'Content-Type: application/json' \
    --header "SKC-RefreshToken: {Your Refresh Token}" \
    --header "SKC-AccessToken: {Your Access Token}" \
    --data '{
      "data": [
        {
          "blockType": 1,
          "ips": [
            "0.0.0.0/0"
          ],
          "url": "aaa.com",
          "memo": "",
          "methods": {
            "delete": true,
            "get": true,
            "head": true,
            "options": true,
            "patch": true,
            "post": true,
            "put": true
          }
        }
      ]
    }' \
    {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/blacklists
    ```
  * Payload

    <pre class="language-bash"><code class="lang-bash"><strong>{
    </strong>  "data": [
        {
          "blockType": 1,
          "ips": [
            "0.0.0.0/0"
          ],
          "url": "aaa.com",
          "memo": "",
          "methods": {
            "delete": true,
            "get": true,
            "head": true,
            "options": true,
            "patch": true,
            "post": true,
            "put": true
          }
        }
      ]
    }
    </code></pre>
  * Response

    ```json
    { "code": 101001 }
    ```
  * 參數說明

    ```bash
    blocktype：1 = DENY
    blocktype：2 = DROP
    blocktype：3 = DROP+黑名單
    ```

### **獲取黑名單ID**

* GET /api/v1/user/site/{siteID}/firewall/setting/blacklists
  * 描述：獲取已建立的黑名單規則 ID
  * cURL範例

    ```bash
    curl --request GET \
    --header "SKC-RefreshToken: {Your Refresh Token}" \
    --header "SKC-AccessToken: {Your Access Token}" \
    {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/blacklists
    ```
  * Response

    <pre class="language-bash"><code class="lang-bash">{
        "code": 101001,
        "data": [
            {
                "id": 901,
                "ips": [
                    "0.0.0.0/0"
                ],
                "url": "aaa.com",
                "methods": {
                    "get": true,
                    "post": false,
                    "put": false,
                    "delete": false,
                    "head": false,
                    "patch": false,
                    "options": false
                },
                "memo": "",
                "blockType": 1
    <strong>        }
    </strong>    ]
    }
    </code></pre>

### **更新黑名單**

* PUT /api/v1/user/site/{siteID}/firewall/setting/blacklist
  * 描述：修改已設定的黑名單
  * cURL範例

    ```bash
    curl --request PUT \
    --header 'Content-Type: application/json' \
    --header "SKC-RefreshToken: {Your Refresh Token}" \
    --header "SKC-AccessToken: {Your Access Token}" \
    --data '{
      "blockType": 1,
      "ips": [
        "0.0.0.0/0"
      ],
      "url": "bbb.com",
      "memo": "",
      "methods": {
        "delete": false,
        "get": true,
        "head": false,
        "options": false,
        "patch": false,
        "post": false,
        "put": false
      },
      "id": 901
    }' \
    {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/blacklist
    ```
  * Response

    ```json
    { "code": 101001 }
    ```

### **刪除黑名單**

* DELETE /api/v1/user/site/{siteID}/firewall/setting/blacklists
  * 描述：透過ID刪除指定的黑名單規則
  * cURL範例

    ```bash
    curl --request DELETE \
    --header 'Content-Type: application/json' \
    --header "SKC-RefreshToken: {Your Refresh Token}" \
    --header "SKC-AccessToken: {Your Access Token}" \
    --data '{"ids": [901]}' \
    {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/blacklists
    ```
  * Payload

    ```json
    {
      "ids": [
        901
      ]
    }
    ```
  * Response

    ```json
    {
        "code": 101001
    }
    ```

***

## 地區設置

### **新增地區設置**

* POST /api/v1/user/site/{siteID}/firewall/setting/geo
  * 描述：在指定的站點針對設置允許或阻擋來自特定地區的訪問
  * cURL範例

    ```bash
    curl --request POST \
    --header 'Content-Type: application/json' \
    --header "SKC-RefreshToken: {Your Refresh Token}" \
    --header "SKC-AccessToken: {Your Access Token}" \
    --data '{
      "data": [
        {
      "isBlack": true,
      "geoIDs": [
        1,
        66,
        149,
        203,
        245,
        274
      ],
      "urlRegex": "aaa.com",
      "enabled": true,
      "blockType": 1
        }
      ]
    }' \
    {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/geo
    ```
  * Payload

    ```bash
    {
      "isBlack": true,
      "geoIDs": [
        1,
        66,
        149,
        203,
        245,
        274
      ],
      "urlRegex": "aaa.com",
      "enabled": true,
      "blockType": 1
    }
    ```
  * Response

    ```json
    { "code": 101001 }
    ```
  * 參數說明

    ```json
    isBlack：False = 白名單 
    geoIDs = 區域、國家代號(查詢方式請參考"查詢Geo ID")
    blocktype：1 = DENY
    blocktype：2 = DROP
    blocktype：3 = DROP+黑名單
    ```

### **查詢Geo ID**

* GET /api/v1/user/geoips
  * 描述：查詢地區限制內各種區域及國家ID
  * cURL範例

    ```bash
    curl --request GET \
    --header "SKC-RefreshToken: {Your Refresh Token}" \
    --header "SKC-AccessToken: {Your Access Token}" \
    {CDN API Endpoint}/api/v1/user/geoips
    ```
  * Response

    ```json
    { "code": 101001 }
    ```

### **獲取地區設置 ID**

* GET /api/v1/user/site/{siteID}/firewall/settings
  * 描述：查詢現有地區設置的ID
  * cURL範例

    ```bash
    curl --request GET \
    --header "SKC-RefreshToken: {Your Refresh Token}" \
    --header "SKC-AccessToken: {Your Access Token}" \
    {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/settings
    ```
  * Response

    ```json
    {
        "code": 101001,
        "data": {
            "geos": [
                {
                    "isBlack": false,
                    "urlRegex": "aaa.com",
                    "geoIDs": [
                        1
                    ],
                    "blockType": 0,
                    "enabled": true,
                    "id": 261
                }
            ],
            "frequencies": [],
            "limitReqs": [],
            "userAgents": []
        }
    }
    ```

### **更新地區設置**

* PUT /api/v1/user/site/{siteID}/firewall/setting/geo
  * 描述：修改現有的地區設置
  * cURL範例

    ```bash
    curl --request PUT \
    --header 'Content-Type: application/json' \
    --header "SKC-RefreshToken: {Your Refresh Token}" \
    --header "SKC-AccessToken: {Your Access Token}" \
    --data '{
      "isBlack": true,
      "geoIDs": [
        1
      ],
      "urlRegex": "bbb.com",
      "enabled": true,
      "blockType": 1,
      "id": 263
    }' \
    {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/geo
    ```
  * Payload

    ```bash
    {
      "isBlack": true,
      "geoIDs": [
        1
      ],
      "urlRegex": "aaa.com",
      "enabled": true,
      "blockType": 1,
      "id": 261
    }
    ```
  * Response

    ```json
    {
        "code": 101001
    }
    ```

### **刪除地區設置**

* DELETE /api/v1/user/site/{siteID}/firewall/setting/geos
  * 描述：修改現有的地區設置
  * cURL範例

    ```bash
    curl --request DELETE \
    --header 'Content-Type: application/json' \
    --header "SKC-RefreshToken: {Your Refresh Token}" \
    --header "SKC-AccessToken: {Your Access Token}" \
    --data '{"ids": [261]}' \
    {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/geos
    ```
  * Payload

    ```bash
    {
      "ids": [
        261
      ]
    }
    ```
  * Response

    ```json
    {
        "code": 101001
    }
    ```

***

## CC防護

### **新增防cc設置**

* POST /api/v1/user/site/{siteID}/firewall/setting/anticc
  * 描述：在指定的站點設置防cc設置
  * cURL範例

    ```bash
    curl --request POST \
    --header 'Content-Type: application/json' \
    --header "SKC-RefreshToken: {Your Refresh Token}" \
    --header "SKC-AccessToken: {Your Access Token}" \
    --data '{
      "data": [
        {
      "urls": [
        "aaa.com"
      ],
      "frequency": "529psh",
      "protectMode": 1,
      "request": 0,
      "second": 0,
      "partialValidation": true,
      "priority": 0,
      "enabled": true,
      "limitCount": {
        "blackSec": 100,
        "seconds": 60,
        "times": 30,
        "type": 1
      }
    }
      ]
    }' \
    {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/anticc
    ```
  * Payload

    ```bash
    {
      "urls": [
        "aaa.com"
      ],
      "frequency": "529psh",
      "protectMode": 1,
      "request": 0,
      "second": 0,
      "partialValidation": true,
      "priority": 0,
      "enabled": true,
      "limitCount": {
        "blackSec": 100,
        "seconds": 60,
        "times": 30,
        "type": 1
      }
    }
    ```
  * Response

    ```json
    { "code": 101001 }
    ```
  * 參數說明

    ```json
    protectMode：
    1 = 五秒盾
    2 = 驗證碼
    3 = 點擊驗證
    4 = 重定向
    ```

### **獲取防cc設置ID**

* GET /api/v1/user/site/{siteID}/firewall/setting/anticcs

  * 描述：查詢已設置的防cc設置ID
  * cURL範例

    ```bash
    curl --request GET \
    --header "SKC-RefreshToken: {Your Refresh Token}" \
    --header "SKC-AccessToken: {Your Access Token}" \
    {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/anticcs
    ```
  * Response

    ```bash
    {
        "code": 101001,
        "data": [
            {
                "id": 812,
                "frequency": "529psh",
                "request": 0,
                "second": 0,
                "protectMode": 1,
                "url": "aaa.com",
                "priority": 0,
                "partialValidation": true,
                "limitCount": {
                    "seconds": 0,
                    "times": 0,
                    "blackSec": 0,
                    "type": 0
                },
                "enabled": true
            }
        ]
    }
    ```

### **更新防cc設置**

* PUT /api/v1/user/site/{siteID}/firewall/setting/anticcs
  * 描述：修改已設置的防cc設置
  * cURL範例

    ```bash
    curl --request PUT \
    --header 'Content-Type: application/json' \
    --header "SKC-RefreshToken: {Your Refresh Token}" \
    --header "SKC-AccessToken: {Your Access Token}" \
    --data '{
      "data": [
               {
      "url": "aaa.com",
      "frequency": "529psh",
      "protectMode": 2,
      "request": 0,
      "second": 0,
      "partialValidation": true,
      "priority": 0,
      "enabled": true,
      "limitCount": {
        "seconds": 0,
        "times": 0,
        "blackSec": 0,
        "type": 0
        },
      "id": 812
       }
      ]
    }' \
    {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/anticcs
    ```
  * Payload

    ```bash
    {
      "url": "aaa.com",
      "frequency": "529psh",
      "protectMode": 2,
      "request": 0,
      "second": 0,
      "partialValidation": true,
      "priority": 0,
      "enabled": true,
      "limitCount": {
        "seconds": 0,
        "times": 0,
        "blackSec": 0,
        "type": 0
      },
      "id": 812
    }
    ```

    * Response

      ```bash
      {"code":101001}
      ```

### **刪除防cc設置**

* DELETE /api/v1/user/site/{siteID}/firewall/setting/anticcs
  * 描述：刪除現有的地區設置
  * cURL範例

    ```bash
    curl --request DELETE \
    --header 'Content-Type: application/json' \
    --header "SKC-RefreshToken: {Your Refresh Token}" \
    --header "SKC-AccessToken: {Your Access Token}" \
    --data '{"ids": [812]}' \
    {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/anticcs
    ```
  * Payload

    ```bash
    {
      "ids": [
        812
      ]
    }
    ```
  * Response

    ```json
    {
        "code": 101001
    }
    ```

***

## 區域頻率限制

### **新增區域頻率限制**

* POST /api/v1/user/site/{siteID}/firewall/setting/frequencies
  * 描述：在指定的站點新增區域頻率限制
  * cURL範例

    ```bash
    curl --request POST \
    --header 'Content-Type: application/json' \
    --header "SKC-RefreshToken: {Your Refresh Token}" \
    --header "SKC-AccessToken: {Your Access Token}" \
    --data '{
      "Items": [
        {
          "urlRegex": "bbb.com",
          "blackSec": 600,
          "seconds": 60,
          "times": 30,
          "type": 1,
          "id": 0,
          "enabled": true,
          "priority": 1
        }
      ]
    }' \
    {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/frequencies
    ```
  * Payload

    ```bash
    {
      "Items": [
        {
          "urlRegex": "bbb.com",
          "blackSec": 600,
          "seconds": 60,
          "times": 30,
          "type": 1,
          "id": 0,
          "enabled": true,
          "priority": 1
        }
      ]
    }
    ```
  * Response

    ```json
    { "code": 101001 }
    ```
  * 參數說明

    ```json
    type：1 = DENY
    type：2 = DROP
    type：3 = DROP+黑名單
    ```

### **查看區域頻率限制ID**

* GET /api/v1/user/site/{siteID}/firewall/settings

  * 描述：查詢已設定的區域頻率限制ID
  * cURL範例
  * ```bash
    curl --request GET \
    --header "SKC-RefreshToken: {Your Refresh Token}" \
    --header "SKC-AccessToken: {Your Access Token}" \
    {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/settings
    ```
  * Response

    ```bash
    {
        "code": 101001,
        "data": {
            "geos": [],
            "frequencies": [
                {
                    "urlRegex": "aaa.com",
                    "seconds": 60,
                    "times": 30,
                    "blackSec": 600,
                    "type": 1,
                    "enabled": true,
                    "priority": 1,
                    "id": 1029
                }
            ],
            "limitReqs": [],
            "userAgents": []
        }
    }
    ```

### **更新區域頻率限制**

* PUT /api/v1/user/site/{siteID}/firewall/setting/frequency
  * 描述：修改已設定的區域頻率限制
  * cURL範例
  * ```bash
    curl --request PUT \
    --header 'Content-Type: application/json' \
    --header "SKC-RefreshToken: {Your Refresh Token}" \
    --header "SKC-AccessToken: {Your Access Token}" \
    --data '{
      "urlRegex": "aaa.com",
      "blackSec": 600,
      "seconds": 60,
      "times": 30,
      "type": 2,
      "id": 1029,
      "enabled": true,
      "priority": 1
    }' \
    {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/frequency
    ```
  * Response

    ```bash
    {
        "code": 101001
    }
    ```

### **刪除區域頻率設置**

* DELETE /api/v1/user/site/{siteID}/firewall/setting/frequencies
  * 描述：刪除現有的地區設置
  * cURL範例

    ```bash
    curl --request DELETE \
    --header 'Content-Type: application/json' \
    --header "SKC-RefreshToken: {Your Refresh Token}" \
    --header "SKC-AccessToken: {Your Access Token}" \
    --data '{"ids": [1029]}' \
    {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/frequencies
    ```
  * Payload

    ```bash
    {
      "ids": [
        1029
      ]
    }
    ```
  * Response

    ```json
    {
        "code": 101001
    }
    ```

***

## 秒級頻率限制

### **新增秒級頻率設置**

* POST /api/v1/user/site/{siteID}/firewall/setting/limitReqs
  * 描述：在指定的站點下新增秒級頻率設置
  * cURL範例

    ```bash
    curl --request POST \
    --header 'Content-Type: application/json' \
    --header "SKC-RefreshToken: {Your Refresh Token}" \
    --header "SKC-AccessToken: {Your Access Token}" \
    --data '{
      "items": [
        {
          "urlRegex": "aaa.com",
          "rate": 5,
          "burst": 1,
          "priority": 1,
          "blackSec": 1,
          "type": 1,
          "enabled": true
        }
      ]
    }' \
    {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/limitReqs
    ```
  * Payload

    ```bash
    {
      "items": [
        {
          "urlRegex": "aaa.com",
          "rate": 5,
          "burst": 1,
          "priority": 1,
          "blackSec": 1,
          "type": 1,
          "enabled": true
        }
      ]
    }
    ```
  * Response

    ```json
    { "code": 101001 }
    ```
  * 參數說明

    ```json
    type：1 = DENY
    type：2 = DROP
    type：3 = DROP+黑名單
    ```

### **獲取秒級頻率設置ID**

* GET /api/v1/user/site/{siteID}/firewall/settings
  * 描述：查詢已設定的秒級頻率設置ID
  * cURL範例

    ```bash
    curl --request GET \
    --header "SKC-RefreshToken: {Your Refresh Token}" \
    --header "SKC-AccessToken: {Your Access Token}" \
    {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/settings
    ```
  * Response

    ```bash
    {
        "code": 101001,
        "data": {
            "geos": [],
            "frequencies": [],
            "limitReqs": [
                {
                    "urlRegex": "aaa.com",
                    "rate": 5,
                    "burst": 1,
                    "blackSec": 1,
                    "type": 1,
                    "enabled": true,
                    "priority": 1,
                    "id": 52
                }
            ],
            "userAgents": []
        }
    }
    ```

### **更新秒級頻率設置**

* PUT /api/v1/user/site/{siteID}/firewall/setting/limitReq
  * 描述：修改已設定的秒級頻率設置
  * cURL範例

    ```bash
    curl --request PUT \
    --header 'Content-Type: application/json' \
    --header "SKC-RefreshToken: {Your Refresh Token}" \
    --header "SKC-AccessToken: {Your Access Token}" \
    --data '{
                    "urlRegex": "aaa.com",
                    "rate": 5,
                    "burst": 1,
                    "blackSec": 1,
                    "type": 3,
                    "enabled": true,
                    "priority": 1,
                    "id": 52
    }' \
    {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/limitReq
    ```
  * Response

    ```bash
    {
        "code": 101001
    }
    ```

### **刪除秒級頻率設置**

* DELETE /api/v1/user/site/{siteID}/firewall/setting/limitReqs
  * 描述：刪除現有的地區設置
  * cURL範例

    ```bash
    curl --request DELETE \
    --header 'Content-Type: application/json' \
    --header "SKC-RefreshToken: {Your Refresh Token}" \
    --header "SKC-AccessToken: {Your Access Token}" \
    --data '{"ids": [52]}' \
    {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/limitReqs
    ```
  * Payload

    ```bash
    {
      "ids": [
        52
      ]
    }
    ```
  * Response

    ```json
    {
        "code": 101001
    }
    ```

***

## User-Agent限制

### **新增User-Agent限制**

* POST /api/v1/user/site/{siteID}/firewall/setting/userAgents&#x20;
  * 描述：在指定的站點針對特定User-Agent阻擋
  * cURL範例

    ```bash
    curl --request POST \
    --header 'Content-Type: application/json' \
    --header "SKC-RefreshToken: {Your Refresh Token}" \
    --header "SKC-AccessToken: {Your Access Token}" \
    --data '{
      "items": [
        {
          "urlRegex": "ccc.com",
          "userAgentRegex": "123",
          "blockType": 1,
          "id": 0,
          "enabled": true
        }
      ]
    }' \
    {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/userAgents 
    ```
  * Payload

    ```bash
    {
      "items": [
        {
          "urlRegex": "ccc.com",
          "userAgentRegex": "123",
          "blockType": 1,
          "id": 0,
          "enabled": true
        }
      ]
    }
    ```
  * Response

    ```json
    { "code": 101001 }
    ```
  * 參數說明

    ```json
    blockType：1 = DENY
    blockType：2 = DROP
    blockType：3 = DROP+黑名單
    ```

### **查詢User-Agent 限制 ID**

* GET /api/v1/user/site/{siteID}/firewall/settings
  * 描述：查詢已設置的User-Agent 設置ID
  * cURL範例

    ```bash
    curl --request GET \
    --header "SKC-RefreshToken: {Your Refresh Token}" \
    --header "SKC-AccessToken: {Your Access Token}" \
    {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/settings
    ```
  * Response

    ```bash
    {
        "code": 101001,
        "data": {
            "geos": [],
            "frequencies": [],
            "limitReqs": [],
            "userAgents": [
                {
                    "urlRegex": "ccc.com",
                    "userAgentRegex": "123",
                    "blockType": 1,
                    "enabled": true,
                    "id": 919
                }
            ]
        }
    }
    ```

### **更新User-Agent限制**

* PUT /api/v1/user/site/{siteID}/firewall/setting/userAgent
  * 描述：修改已經設置好User-Agent設置
  * cURL範例

    ```bash
    curl --request PUT \
    --header 'Content-Type: application/json' \
    --header "SKC-RefreshToken: {Your Refresh Token}" \
    --header "SKC-AccessToken: {Your Access Token}" \
    --data '{
      "urlRegex": "ccc.com",
      "userAgentRegex": "123",
      "blockType": 2,
      "id": 919,
      "enabled": false
    }' \
    {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/userAgent
    ```
  * Response

    ```bash
    {
        "code": 101001
    }
    ```

### **刪除User-Agent設置**

* DELETE /api/v1/user/site/{siteID}/firewall/setting/userAgents
  * 描述：刪除已設定的user-agent設置
  * cURL範例

    ```bash
    curl --request DELETE \
    --header 'Content-Type: application/json' \
    --header "SKC-RefreshToken: {Your Refresh Token}" \
    --header "SKC-AccessToken: {Your Access Token}" \
    --data '{"ids": [919]}' \
    {CDN API Endpoint}/api/v1/user/site/{siteID}/firewall/setting/userAgents
    ```
  * Payload

    ```bash
    {
      "ids": [
        919
      ]
    }
    ```
  * Response

    ```json
    {
        "code": 101001
    }
    ```


---

# 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://doc.user.cdnray.net/api-wen-dang/api-ying-yong-fang-huo-qiang-cao-zuo.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.
