# Custom domains of a website

`GET /service/@id/builder/sites/@site/domains` · TinoPage Builder, service owner's sign-in token

`items`: domains added, each with a status (`status`: `pending` waiting for DNS, `active`), HTTPS certificate (`ssl_status`: `pending`, `active`, `error`), records to set (`dns`: CNAME to `dns_target`, TXT `_tino-verify` proving ownership), and the latest check (`cname_ok`, `txt_ok`, `error`, `checked_at`); `limit` (domains per website, `-1` means unlimited) and `used`.

## HTTP request

| Item | Value |
| --- | --- |
| URL | `https://api.tino.vn/service/@id/builder/sites/@site/domains` |
| Method | `GET` |
| Authentication | the TinoPage Builder service owner's sign-in token (`Authorization: Bearer <token>`); the `/v1` gateway does not expose TinoPage Builder yet |
| Content-Type | — (no body) |

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | int | yes | TinoPage Builder service ID |
| `site` | path | string | yes | Website ID (UUID, `id` in the website list) |

## Example request

```bash
curl "https://api.tino.vn/service/100003/builder/sites/5b1e2c3d-4f5a-4b6c-8d7e-9f0a1b2c3d4e/domains" \
  -H "Authorization: Bearer $TINO_TOKEN"
```

`$TINO_TOKEN` is the TinoPage Builder service owner's sign-in token. Path parameters in the example are sample values.

SDK ([SDK & examples](/en/docs/sdk)): no dedicated function yet, use `client.request("GET", "/service/@id/builder/sites/@site/domains")`.

## Example response

```json
{
 "data": {
  "items": [
   {
    "hostname": "example.vn",
    "status": "active",
    "ssl_status": "active",
    "txt_ok": true,
    "cname_ok": true,
    "dns": [
     {
      "type": "CNAME",
      "name": "@",
      "value": "dns.tino.page"
     },
     {
      "type": "CNAME",
      "name": "www",
      "value": "dns.tino.page"
     },
     {
      "type": "TXT",
      "name": "_tino-verify",
      "value": "tino-site-verify=8f3a2c1d9e7b4a6c0d5e1f2a3b4c5d6e"
     }
    ],
    "error": "",
    "checked_at": "2026-10-26T03:00:00Z",
    "url": "https://example.vn",
    "owner_verified": false,
    "check_count": 0
   },
   {
    "hostname": "banhang.example.vn",
    "status": "pending",
    "ssl_status": "pending",
    "txt_ok": false,
    "cname_ok": false,
    "dns": [
     {
      "type": "CNAME",
      "name": "banhang",
      "value": "dns.tino.page"
     },
     {
      "type": "TXT",
      "name": "_tino-verify.banhang",
      "value": "tino-site-verify=4b6d0e2a7c914f3e8a5b1c2d9e0f7a6b"
     }
    ],
    "error": "thiếu bản ghi TXT _tino-verify; CNAME chưa trỏ về dns.tino.page",
    "checked_at": "2026-10-26T03:30:00Z",
    "url": "https://banhang.example.vn",
    "owner_verified": false,
    "check_count": 1,
    "next_check_at": "2026-10-26T03:35:00Z"
   }
  ],
  "dns_target": "dns.tino.page",
  "limit": 2,
  "used": 2
 }
}
```

Sample built from the TinoPage Builder API (Tino relays the answer as is inside `data`); values are examples.
