# Thêm website

`POST /v1/service/@id/waf/zones` · quyền `waf:write`

Thêm website, được cả hoặc không gì: body `apex` (tên miền chính), `hostnames` (tên miền con, không bắt buộc), `origins` (máy chủ gốc). Trả về website, tên miền, bản ghi DNS cần trỏ, máy chủ gốc và cảnh báo.

## HTTP request

| Mục | Giá trị |
| --- | --- |
| URL | `https://api.tino.vn/v1/service/@id/waf/zones` |
| Method | `POST` |
| Quyền (scope) | `waf:write` |
| Header | `Authorization: Bearer <token>` |
| Content-Type | `application/json` |
| Token gọi được | token ứng dụng (`tinoat_`), token API cá nhân (`tinopat_`) |

## Tham số

| Tên | Vị trí | Kiểu | Bắt buộc | Mô tả |
| --- | --- | --- | --- | --- |
| `id` | đường dẫn | int | có | ID dịch vụ |
| `apex` | body | string | có | Main domain of the website, e.g. `example.com`. |
| `hostnames` | body | array | không | Subdomains to protect as well, e.g. `["www.example.com"]`. |
| `origins` | body | array | có | Origin servers: `[{address, port, tls_mode}]`, `address` an IP or host name; `tls_mode` is `verify` (HTTPS, certificate checked), `no_verify` (HTTPS, self-signed certificate) or `plain` (HTTP), among `tls_modes` of the origin route. |

## Example request

```bash
curl -X POST "https://api.tino.vn/v1/service/100001/waf/zones" \
  -H "Authorization: Bearer $TINO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "apex": "example.com",
  "hostnames": [
    "www.example.com"
  ],
  "origins": [
    {
      "address": "203.0.113.10",
      "port": 443,
      "tls_mode": "verify"
    }
  ]
}'
```

`$TINO_TOKEN` là token có quyền `waf:write`. Tham số đường dẫn trong ví dụ là giá trị mẫu.

SDK ([SDK & Ví dụ](/docs/sdk)): chưa có hàm riêng, dùng `client.request("POST", "/service/@id/waf/zones")`.

## Example response

Chưa có mẫu thật: route thay đổi dữ liệu thật hoặc tài khoản thử không có dữ liệu cho route này. Câu trả lời là một đối tượng JSON; lỗi theo dạng chung ở [Gọi API Tino](/docs/api#loi).
