# API Reference

166 route của gateway `https://api.tino.vn/v1` và API của dịch vụ TinoPay, Tino Uptime, TinoPage Builder, theo sản phẩm. Mỗi route một trang: tham số, ví dụ cURL, JavaScript, PHP, SDK, mẫu response. Xác thực, cách gửi tham số và mã lỗi chung: [Gọi API Tino](/docs/api). Bản máy đọc: [/openapi.json](/openapi.json).

## Identity & SSO

### Tài khoản

| Method | Đường dẫn | Tên | Quyền |
| --- | --- | --- | --- |
| `GET` | `/v1/clientarea` | [Tổng quan tài khoản](/docs/api/get-clientarea) | `profile:read` |
| `GET` | `/v1/clientarea/nav/service` | [Danh mục dịch vụ](/docs/api/get-clientarea-nav-service) | `profile:read` |
| `POST` | `/v1/clientarea/search/@query` | [Tìm dịch vụ, sản phẩm](/docs/api/post-clientarea-search-query) | `profile:read` |
| `GET` | `/v1/clientarea/statuses` | [Danh sách trạng thái](/docs/api/get-clientarea-statuses) | `profile:read` |
| `GET` | `/v1/contact` | [Danh sách liên hệ](/docs/api/get-contact) | `profile:read` |
| `GET` | `/v1/contact/@id` | [Chi tiết liên hệ](/docs/api/get-contact-id) | `profile:read` |
| `GET` | `/v1/contact/privileges` | [Quyền có thể cấp cho liên hệ](/docs/api/get-contact-privileges) | `profile:read` |
| `GET` | `/v1/contacts` | [Danh sách liên hệ (contacts)](/docs/api/get-contacts) | `profile:read` |
| `GET` | `/v1/details` | [Thông tin tài khoản](/docs/api/get-details) | `profile:read` |
| `GET` | `/v1/notifications` | [Danh sách thông báo](/docs/api/get-notifications) | `profile:read` |
| `PUT` | `/v1/notifications/@id/ack` | [Đánh dấu đã đọc thông báo](/docs/api/put-notifications-id-ack) | `profile:write` |
| `GET` | `/v1/notifications/new` | [Thông báo chưa đọc](/docs/api/get-notifications-new) | `profile:read` |

## Domains & DNS

### Tên miền

| Method | Đường dẫn | Tên | Quyền |
| --- | --- | --- | --- |
| `GET` | `/v1/domain` | [Danh sách tên miền](/docs/api/get-domain) | `domains:read` |
| `GET` | `/v1/domain/@id` | [Chi tiết tên miền](/docs/api/get-domain-id) | `domains:read` |
| `GET` | `/v1/domain/@id/autorenew` | [Xem tự gia hạn tên miền](/docs/api/get-domain-id-autorenew) | `domains:read` |
| `PUT` | `/v1/domain/@id/autorenew` | [Bật/tắt tự gia hạn tên miền](/docs/api/put-domain-id-autorenew) | `domains:write` |
| `GET` | `/v1/domain/@id/contact` | [Xem liên hệ tên miền](/docs/api/get-domain-id-contact) | `domains:read` |
| `PUT` | `/v1/domain/@id/contact` | [Đổi liên hệ (chủ thể) tên miền](/docs/api/put-domain-id-contact) | `domains:owner` |
| `GET` | `/v1/domain/@id/dnssec` | [Danh sách khoá DNSSEC](/docs/api/get-domain-id-dnssec) | `domains:read` |
| `PUT` | `/v1/domain/@id/dnssec` | [Thêm khoá DNSSEC](/docs/api/put-domain-id-dnssec) | `domains:write` |
| `DELETE` | `/v1/domain/@id/dnssec/@key` | [Xoá khoá DNSSEC](/docs/api/delete-domain-id-dnssec-key) | `domains:write` |
| `GET` | `/v1/domain/@id/dnssec/flags` | [Tham số DNSSEC hỗ trợ](/docs/api/get-domain-id-dnssec-flags) | `domains:read` |
| `GET` | `/v1/domain/@id/emforwarding` | [Xem chuyển tiếp email](/docs/api/get-domain-id-emforwarding) | `domains:read` |
| `PUT` | `/v1/domain/@id/emforwarding` | [Cập nhật chuyển tiếp email](/docs/api/put-domain-id-emforwarding) | `domains:write` |
| `GET` | `/v1/domain/@id/epp` | [Lấy mã chuyển tên miền (EPP)](/docs/api/get-domain-id-epp) | `domains:owner` |
| `PUT` | `/v1/domain/@id/forwarding` | [Cập nhật chuyển hướng tên miền](/docs/api/put-domain-id-forwarding) | `domains:write` |
| `PUT` | `/v1/domain/@id/idprotection` | [Bật/tắt ẩn thông tin chủ thể](/docs/api/put-domain-id-idprotection) | `domains:write` |
| `GET` | `/v1/domain/@id/invoices` | [Hoá đơn của tên miền](/docs/api/get-domain-id-invoices) | `domains:read` |
| `GET` | `/v1/domain/@id/ns` | [Xem nameserver](/docs/api/get-domain-id-ns) | `domains:read` |
| `PUT` | `/v1/domain/@id/ns` | [Đổi nameserver](/docs/api/put-domain-id-ns) | `domains:write` |
| `GET` | `/v1/domain/@id/reg` | [Nameserver riêng đã đăng ký](/docs/api/get-domain-id-reg) | `domains:read` |
| `POST` | `/v1/domain/@id/reg` | [Quản lý nameserver riêng](/docs/api/post-domain-id-reg) | `domains:write` |
| `GET` | `/v1/domain/@id/reglock` | [Xem khoá tên miền](/docs/api/get-domain-id-reglock) | `domains:read` |
| `PUT` | `/v1/domain/@id/reglock` | [Bật/tắt khoá tên miền](/docs/api/put-domain-id-reglock) | `domains:write` |
| `POST` | `/v1/domain/@id/renew` | [Gia hạn tên miền](/docs/api/post-domain-id-renew) | `domains:write` |
| `GET` | `/v1/domain/@id/sync` | [Đồng bộ tên miền](/docs/api/get-domain-id-sync) | `domains:write` |
| `POST` | `/v1/domain/lookup` | [Kiểm tra tên miền còn trống](/docs/api/post-domain-lookup) | `domains:read` |
| `GET` | `/v1/domain/name/@name` | [Chi tiết tên miền theo tên](/docs/api/get-domain-name-name) | `domains:read` |
| `GET` | `/v1/domain/order` | [Đuôi tên miền có thể đăng ký](/docs/api/get-domain-order) | `domains:read` |
| `POST` | `/v1/domain/order` | [Đặt mua tên miền](/docs/api/post-domain-order) | `domains:write` |
| `GET` | `/v1/domain/order/@id/form` | [Thông tin bổ sung theo đuôi tên miền](/docs/api/get-domain-order-id-form) | `domains:read` |
| `GET` | `/v1/domains` | [Danh sách tên miền (phân trang)](/docs/api/get-domains) | `domains:read` |
| `GET` | `/v1/domains/@id/registrant` | [Xem chủ thể tên miền đang chờ](/docs/api/get-domains-id-registrant) | `domains:registrant` |
| `PUT` | `/v1/domains/@id/registrant` | [Lưu chủ thể tên miền đang chờ](/docs/api/put-domains-id-registrant) | `domains:registrant` |
| `GET` | `/v1/domains/pending` | [Tên miền chờ hoàn tất hồ sơ](/docs/api/get-domains-pending) | `domains:registrant` |
| `GET` | `/v1/registrants` | [Chủ thể đã dùng](/docs/api/get-registrants) | `domains:registrant` |
| `GET` | `/v1/whois/@domain` | [Tra whois tên miền (bằng token)](/docs/api/get-v1-whois-domain) | `domains:read` |
| `GET` | `/whois/@domain` | [Tra whois tên miền](/docs/api/get-whois-domain) | — |

### DNS

| Method | Đường dẫn | Tên | Quyền |
| --- | --- | --- | --- |
| `GET` | `/v1/dns` | [Danh sách vùng DNS](/docs/api/get-dns) | `dns:read` |
| `GET` | `/v1/dns/templates` | [Mẫu bản ghi DNS](/docs/api/get-dns-templates) | `dns:read` |
| `GET` | `/v1/domain/@id/dns` | [Bản ghi DNS của tên miền](/docs/api/get-domain-id-dns) | `dns:read` |
| `POST` | `/v1/domain/@id/dns` | [Thêm bản ghi DNS cho tên miền](/docs/api/post-domain-id-dns) | `dns:write` |
| `PUT` | `/v1/domain/@id/dns/@index` | [Sửa bản ghi DNS của tên miền](/docs/api/put-domain-id-dns-index) | `dns:write` |
| `DELETE` | `/v1/domain/@id/dns/@index` | [Xoá bản ghi DNS của tên miền](/docs/api/delete-domain-id-dns-index) | `dns:write` |
| `GET` | `/v1/domain/@id/dns/types` | [Loại bản ghi DNS hỗ trợ](/docs/api/get-domain-id-dns-types) | `dns:read` |
| `GET` | `/v1/service/@service_id/dns` | [Vùng DNS của dịch vụ](/docs/api/get-service-service-id-dns) | `dns:read` |
| `POST` | `/v1/service/@service_id/dns` | [Thêm vùng DNS](/docs/api/post-service-service-id-dns) | `dns:write` |
| `GET` | `/v1/service/@service_id/dns/@zone_id` | [Chi tiết vùng DNS](/docs/api/get-service-service-id-dns-zone-id) | `dns:read` |
| `PUT` | `/v1/service/@service_id/dns/@zone_id` | [Sửa vùng DNS](/docs/api/put-service-service-id-dns-zone-id) | `dns:write` |
| `DELETE` | `/v1/service/@service_id/dns/@zone_id` | [Xoá vùng DNS](/docs/api/delete-service-service-id-dns-zone-id) | `dns:write` |
| `GET` | `/v1/service/@service_id/dns/@zone_id/dnssec` | [Xem DNSSEC của vùng DNS](/docs/api/get-service-service-id-dns-zone-id-dnssec) | `dns:read` |
| `PUT` | `/v1/service/@service_id/dns/@zone_id/dnssec` | [Bật/tắt DNSSEC của vùng DNS](/docs/api/put-service-service-id-dns-zone-id-dnssec) | `dns:write` |
| `POST` | `/v1/service/@service_id/dns/@zone_id/records` | [Thêm bản ghi DNS](/docs/api/post-service-service-id-dns-zone-id-records) | `dns:write` |
| `PUT` | `/v1/service/@service_id/dns/@zone_id/records/@record_id` | [Sửa bản ghi DNS](/docs/api/put-service-service-id-dns-zone-id-records-record-id) | `dns:write` |
| `DELETE` | `/v1/service/@service_id/dns/@zone_id/records/@record_id` | [Xoá bản ghi DNS](/docs/api/delete-service-service-id-dns-zone-id-records-record-id) | `dns:write` |

## Cloud & Hosting

### Dịch vụ

| Method | Đường dẫn | Tên | Quyền |
| --- | --- | --- | --- |
| `GET` | `/v1/service` | [Danh sách dịch vụ](/docs/api/get-service) | `services:read` |
| `GET` | `/v1/service/@id` | [Chi tiết dịch vụ](/docs/api/get-service-id) | `services:read` |
| `POST` | `/v1/service/@id/cancel` | [Yêu cầu huỷ dịch vụ](/docs/api/post-service-id-cancel) | `services:write` |
| `GET` | `/v1/service/@id/cycle` | [Các chu kỳ thanh toán](/docs/api/get-service-id-cycle) | `services:read` |
| `POST` | `/v1/service/@id/cycle` | [Đổi chu kỳ thanh toán](/docs/api/post-service-id-cycle) | `services:write` |
| `GET` | `/v1/service/@id/emails` | [Tài khoản email của hosting](/docs/api/get-service-id-emails) | `services:read` |
| `GET` | `/v1/service/@id/invoices` | [Hoá đơn của dịch vụ](/docs/api/get-service-id-invoices) | `services:read` |
| `GET` | `/v1/service/@id/label` | [Xem nhãn dịch vụ](/docs/api/get-service-id-label) | `services:read` |
| `POST` | `/v1/service/@id/label` | [Đặt nhãn dịch vụ](/docs/api/post-service-id-label) | `services:write` |
| `POST` | `/v1/service/@id/manualrenew` | [Tạo hoá đơn gia hạn dịch vụ](/docs/api/post-service-id-manualrenew) | `services:write` |
| `GET` | `/v1/service/@id/methods` | [Thao tác hỗ trợ của dịch vụ](/docs/api/get-service-id-methods) | `services:read` |
| `POST` | `/v1/service/@id/renew` | [Gia hạn dịch vụ](/docs/api/post-service-id-renew) | `services:write` |
| `GET` | `/v1/service/@id/upgrade` | [Tuỳ chọn nâng cấp](/docs/api/get-service-id-upgrade) | `services:read` |
| `POST` | `/v1/service/@id/upgrade` | [Báo giá hoặc yêu cầu nâng cấp](/docs/api/post-service-id-upgrade) | `services:write` |
| `GET` | `/v1/service/@id/widgets` | [Tiện ích của dịch vụ](/docs/api/get-service-id-widgets) | `services:read` |
| `GET` | `/v1/service/cpanel2/@id/statistics` | [Thống kê cPanel](/docs/api/get-service-cpanel2-id-statistics) | `services:read` |
| `POST` | `/v1/service/cpanel2/@id/unblock` | [Gỡ chặn IP trên cPanel](/docs/api/post-service-cpanel2-id-unblock) | `services:write` |
| `GET` | `/v1/services/@cid` | [Dịch vụ theo danh mục](/docs/api/get-services-cid) | `services:read` |
| `GET` | `/v1/services/active` | [Dịch vụ đang hoạt động](/docs/api/get-services-active) | `services:read` |

### Máy chủ VPS

| Method | Đường dẫn | Tên | Quyền |
| --- | --- | --- | --- |
| `GET` | `/v1/service/@id/networks` | [Mạng và dải IP](/docs/api/get-service-id-networks) | `services:read` |
| `GET` | `/v1/service/@id/resources` | [Tài nguyên VPS](/docs/api/get-service-id-resources) | `services:read` |
| `GET` | `/v1/service/@id/templates` | [Mẫu hệ điều hành](/docs/api/get-service-id-templates) | `services:read` |
| `GET` | `/v1/service/@id/vms` | [Danh sách máy ảo](/docs/api/get-service-id-vms) | `services:read` |
| `GET` | `/v1/service/@id/vms/@vmid` | [Chi tiết máy ảo](/docs/api/get-service-id-vms-vmid) | `services:read` |
| `POST` | `/v1/service/@id/vms/@vmid/hostname` | [Đổi hostname máy ảo](/docs/api/post-service-id-vms-vmid-hostname) | `services:write` |
| `GET` | `/v1/service/@id/vms/@vmid/interfaces` | [Card mạng của máy ảo](/docs/api/get-service-id-vms-vmid-interfaces) | `services:read` |
| `GET` | `/v1/service/@id/vms/@vmid/interfaces/@iface` | [Chi tiết card mạng](/docs/api/get-service-id-vms-vmid-interfaces-iface) | `services:read` |
| `GET` | `/v1/service/@id/vms/@vmid/ippool` | [Dải IP của máy ảo](/docs/api/get-service-id-vms-vmid-ippool) | `services:read` |
| `GET` | `/v1/service/@id/vms/@vmid/ips` | [IP của máy ảo](/docs/api/get-service-id-vms-vmid-ips) | `services:read` |
| `POST` | `/v1/service/@id/vms/@vmid/reboot` | [Khởi động lại máy ảo](/docs/api/post-service-id-vms-vmid-reboot) | `services:write` |
| `POST` | `/v1/service/@id/vms/@vmid/reset` | [Reset máy ảo](/docs/api/post-service-id-vms-vmid-reset) | `services:write` |
| `POST` | `/v1/service/@id/vms/@vmid/shutdown` | [Tắt máy ảo](/docs/api/post-service-id-vms-vmid-shutdown) | `services:write` |
| `POST` | `/v1/service/@id/vms/@vmid/start` | [Bật máy ảo](/docs/api/post-service-id-vms-vmid-start) | `services:write` |
| `POST` | `/v1/service/@id/vms/@vmid/stop` | [Dừng máy ảo](/docs/api/post-service-id-vms-vmid-stop) | `services:write` |
| `GET` | `/v1/service/@id/vms/@vmid/traffic` | [Lưu lượng mạng của máy ảo](/docs/api/get-service-id-vms-vmid-traffic) | `services:read` |

### Chứng chỉ SSL

| Method | Đường dẫn | Tên | Quyền |
| --- | --- | --- | --- |
| `GET` | `/v1/certificate` | [Danh sách chứng chỉ SSL](/docs/api/get-certificate) | `services:read` |
| `GET` | `/v1/certificate/@id` | [Chi tiết chứng chỉ SSL](/docs/api/get-certificate-id) | `services:read` |
| `GET` | `/v1/certificate/@id/crt` | [Tải chứng chỉ](/docs/api/get-certificate-id-crt) | `services:read` |
| `GET` | `/v1/certificate/order` | [Chứng chỉ có thể mua](/docs/api/get-certificate-order) | `services:read` |
| `POST` | `/v1/certificate/order` | [Đặt mua chứng chỉ SSL](/docs/api/post-certificate-order) | `services:write` |
| `GET` | `/v1/certificate/order/@product_id/software` | [Phần mềm máy chủ cho chứng chỉ](/docs/api/get-certificate-order-product-id-software) | `services:read` |
| `GET` | `/v1/certificates` | [Danh sách dịch vụ SSL (certificates)](/docs/api/get-certificates) | `services:read` |

## Billing

### Hoá đơn & thanh toán

| Method | Đường dẫn | Tên | Quyền |
| --- | --- | --- | --- |
| `GET` | `/v1/addfunds` | [Thông tin nạp tiền](/docs/api/get-addfunds) | `billing:read` |
| `POST` | `/v1/addfunds` | [Nạp tiền](/docs/api/post-addfunds) | `billing:write` |
| `GET` | `/v1/balance` | [Số dư tài khoản](/docs/api/get-balance) | `billing:read` |
| `GET` | `/v1/billing/@invoice_id/pay/@gateway_id` | [Link thanh toán hoá đơn](/docs/api/get-billing-invoice-id-pay-gateway-id) | `billing:write` |
| `POST` | `/v1/billing/addfunds` | [Nạp tiền (billing)](/docs/api/post-billing-addfunds) | `billing:write` |
| `GET` | `/v1/billing/creditlogs` | [Lịch sử số dư tín dụng](/docs/api/get-billing-creditlogs) | `billing:read` |
| `POST` | `/v1/billing/creditvoucher` | [Dùng mã nạp tiền](/docs/api/post-billing-creditvoucher) | `billing:write` |
| `GET` | `/v1/estimate/@id/pdf` | [Tải PDF báo giá](/docs/api/get-estimate-id-pdf) | `billing:read` |
| `GET` | `/v1/estimates` | [Danh sách báo giá](/docs/api/get-estimates) | `billing:read` |
| `GET` | `/v1/estimates/@id` | [Chi tiết báo giá](/docs/api/get-estimates-id) | `billing:read` |
| `GET` | `/v1/invoice` | [Danh sách hoá đơn](/docs/api/get-invoice) | `billing:read` |
| `GET` | `/v1/invoice/@id` | [Chi tiết hoá đơn](/docs/api/get-invoice-id) | `billing:read` |
| `DELETE` | `/v1/invoice/@id` | [Xoá hoá đơn](/docs/api/delete-invoice-id) | `billing:write` |
| `POST` | `/v1/invoice/@id/credit` | [Trả hoá đơn bằng số dư](/docs/api/post-invoice-id-credit) | `billing:write` |
| `GET` | `/v1/invoice/@id/pdf` | [Tải PDF hoá đơn](/docs/api/get-invoice-id-pdf) | `billing:read` |
| `GET` | `/v1/invoices` | [Danh sách hoá đơn (phân trang)](/docs/api/get-invoices) | `billing:read` |
| `GET` | `/v1/invoices/due` | [Hoá đơn đến hạn](/docs/api/get-invoices-due) | `billing:read` |
| `POST` | `/v1/invoices/payall` | [Thanh toán gộp hoá đơn](/docs/api/post-invoices-payall) | `billing:write` |
| `GET` | `/v1/payment` | [Phương thức thanh toán](/docs/api/get-payment) | `billing:read` |
| `GET` | `/v1/payment/fees` | [Phí phương thức thanh toán](/docs/api/get-payment-fees) | `billing:read` |

### Đặt hàng

| Method | Đường dẫn | Tên | Quyền |
| --- | --- | --- | --- |
| `POST` | `/v1/carts` | [Tạo giỏ hàng](/docs/api/post-carts) | `orders:write` |
| `GET` | `/v1/carts/@uuid` | [Xem giỏ hàng](/docs/api/get-carts-uuid) | `orders:write` |
| `PUT` | `/v1/carts/@uuid` | [Sửa giỏ hàng](/docs/api/put-carts-uuid) | `orders:write` |
| `POST` | `/v1/carts/@uuid/confirm` | [Chốt đơn từ giỏ](/docs/api/post-carts-uuid-confirm) | `orders:write` |
| `GET` | `/v1/carts/latest` | [Giỏ hàng gần nhất](/docs/api/get-carts-latest) | `orders:write` |
| `POST` | `/v1/order` | [Đặt mua nhiều dịch vụ](/docs/api/post-order) | `orders:write` |
| `POST` | `/v1/order/@product_id` | [Đặt mua một dịch vụ](/docs/api/post-order-product-id) | `orders:write` |
| `POST` | `/v1/quote` | [Báo giá đơn hàng](/docs/api/post-quote) | `orders:write` |

## TinoPay

### Merchant

| Method | Đường dẫn | Tên | Quyền |
| --- | --- | --- | --- |
| `GET` | `/service/@id/tinopay` | [Thông tin merchant](/docs/api/tinopay-get-merchant) | — |
| `PATCH` | `/service/@id/tinopay` | [Sửa thông tin merchant](/docs/api/tinopay-patch-merchant) | — |
| `GET` | `/service/@id/tinopay/pay-codes` | [Cấu trúc mã thanh toán](/docs/api/tinopay-get-pay-codes) | — |
| `PUT` | `/service/@id/tinopay/pay-codes` | [Lưu cấu trúc mã thanh toán](/docs/api/tinopay-put-pay-codes) | — |

### Tài khoản ngân hàng

| Method | Đường dẫn | Tên | Quyền |
| --- | --- | --- | --- |
| `GET` | `/service/@id/tinopay/bank-accounts` | [Danh sách tài khoản ngân hàng](/docs/api/tinopay-get-bank-accounts) | — |
| `GET` | `/service/@id/tinopay/bank-accounts/@bank` | [Chi tiết tài khoản ngân hàng](/docs/api/tinopay-get-bank-accounts-bank) | — |
| `POST` | `/service/@id/tinopay/bank-links/bidv-business` | [Yêu cầu liên kết BIDV doanh nghiệp](/docs/api/tinopay-post-bank-links-bidv-business) | — |

### Tài khoản ảo

| Method | Đường dẫn | Tên | Quyền |
| --- | --- | --- | --- |
| `GET` | `/service/@id/tinopay/bank-accounts/@bank/virtual-accounts` | [Danh sách tài khoản ảo (VA)](/docs/api/tinopay-get-bank-accounts-bank-virtual-accounts) | — |
| `POST` | `/service/@id/tinopay/bank-accounts/@bank/virtual-accounts` | [Tạo tài khoản ảo](/docs/api/tinopay-post-bank-accounts-bank-virtual-accounts) | — |
| `POST` | `/service/@id/tinopay/bank-accounts/@bank/virtual-accounts/@va/activate` | [Mở tài khoản ảo](/docs/api/tinopay-post-bank-accounts-bank-virtual-accounts-va-activate) | — |
| `POST` | `/service/@id/tinopay/bank-accounts/@bank/virtual-accounts/@va/deactivate` | [Khoá tài khoản ảo](/docs/api/tinopay-post-bank-accounts-bank-virtual-accounts-va-deactivate) | — |
| `DELETE` | `/service/@id/tinopay/bank-accounts/@bank/virtual-accounts/@va` | [Xoá tài khoản ảo](/docs/api/tinopay-delete-bank-accounts-bank-virtual-accounts-va) | — |

### Webhook

| Method | Đường dẫn | Tên | Quyền |
| --- | --- | --- | --- |
| `GET` | `/service/@id/tinopay/webhooks` | [Danh sách webhook](/docs/api/tinopay-get-webhooks) | — |
| `POST` | `/service/@id/tinopay/webhooks` | [Tạo webhook](/docs/api/tinopay-post-webhooks) | — |
| `GET` | `/service/@id/tinopay/webhooks/@webhook` | [Chi tiết webhook](/docs/api/tinopay-get-webhooks-webhook) | — |
| `PATCH` | `/service/@id/tinopay/webhooks/@webhook` | [Sửa webhook](/docs/api/tinopay-patch-webhooks-webhook) | — |
| `DELETE` | `/service/@id/tinopay/webhooks/@webhook` | [Xoá webhook](/docs/api/tinopay-delete-webhooks-webhook) | — |
| `GET` | `/service/@id/tinopay/webhook-logs` | [Log webhook](/docs/api/tinopay-get-webhook-logs) | — |
| `POST` | `/service/@id/tinopay/webhook-logs/@log/resend` | [Gửi lại log webhook](/docs/api/tinopay-post-webhook-logs-log-resend) | — |

### Giao dịch

| Method | Đường dẫn | Tên | Quyền |
| --- | --- | --- | --- |
| `GET` | `/service/@id/tinopay/transactions` | [Lịch sử giao dịch](/docs/api/tinopay-get-transactions) | — |
| `GET` | `/service/@id/tinopay/transactions/summary` | [Tổng hợp giao dịch](/docs/api/tinopay-get-transactions-summary) | — |
| `GET` | `/service/@id/tinopay/transactions/@transaction` | [Chi tiết giao dịch](/docs/api/tinopay-get-transactions-transaction) | — |
| `POST` | `/service/@id/tinopay/transactions/@transaction/resend-webhook` | [Bắn lại webhook cho giao dịch](/docs/api/tinopay-post-transactions-transaction-resend-webhook) | — |

### Thông báo

| Method | Đường dẫn | Tên | Quyền |
| --- | --- | --- | --- |
| `POST` | `/service/@id/tinopay/notification-apps/bot-info` | [Kiểm token bot](/docs/api/tinopay-post-notification-apps-bot-info) | — |
| `POST` | `/service/@id/tinopay/notification-apps/find-chats` | [Tìm nơi nhận của bot](/docs/api/tinopay-post-notification-apps-find-chats) | — |
| `POST` | `/service/@id/tinopay/notification-apps/test` | [Gửi tin thử](/docs/api/tinopay-post-notification-apps-test) | — |
| `GET` | `/service/@id/tinopay/notification-apps` | [Danh sách ứng dụng thông báo](/docs/api/tinopay-get-notification-apps) | — |
| `POST` | `/service/@id/tinopay/notification-apps` | [Tạo ứng dụng thông báo](/docs/api/tinopay-post-notification-apps) | — |
| `GET` | `/service/@id/tinopay/notification-apps/@app` | [Chi tiết ứng dụng thông báo](/docs/api/tinopay-get-notification-apps-app) | — |
| `PATCH` | `/service/@id/tinopay/notification-apps/@app` | [Sửa ứng dụng thông báo](/docs/api/tinopay-patch-notification-apps-app) | — |
| `DELETE` | `/service/@id/tinopay/notification-apps/@app` | [Xoá ứng dụng thông báo](/docs/api/tinopay-delete-notification-apps-app) | — |

### Tích hợp Sapo

| Method | Đường dẫn | Tên | Quyền |
| --- | --- | --- | --- |
| `POST` | `/service/@id/tinopay/sapo-integrations/test` | [Thử kết nối Sapo](/docs/api/tinopay-post-sapo-integrations-test) | — |
| `GET` | `/service/@id/tinopay/sapo-integrations` | [Danh sách tích hợp Sapo](/docs/api/tinopay-get-sapo-integrations) | — |
| `POST` | `/service/@id/tinopay/sapo-integrations` | [Tạo tích hợp Sapo](/docs/api/tinopay-post-sapo-integrations) | — |
| `GET` | `/service/@id/tinopay/sapo-integrations/@integration` | [Chi tiết tích hợp Sapo](/docs/api/tinopay-get-sapo-integrations-integration) | — |
| `PATCH` | `/service/@id/tinopay/sapo-integrations/@integration` | [Sửa tích hợp Sapo](/docs/api/tinopay-patch-sapo-integrations-integration) | — |
| `DELETE` | `/service/@id/tinopay/sapo-integrations/@integration` | [Xoá tích hợp Sapo](/docs/api/tinopay-delete-sapo-integrations-integration) | — |
| `GET` | `/service/@id/tinopay/sapo-order-logs` | [Nhật ký đối soát Sapo](/docs/api/tinopay-get-sapo-order-logs) | — |

### API token

| Method | Đường dẫn | Tên | Quyền |
| --- | --- | --- | --- |
| `GET` | `/service/@id/tinopay/api-tokens` | [Danh sách API token](/docs/api/tinopay-get-api-tokens) | — |
| `POST` | `/service/@id/tinopay/api-tokens` | [Tạo API token](/docs/api/tinopay-post-api-tokens) | — |
| `DELETE` | `/service/@id/tinopay/api-tokens/@token` | [Thu hồi API token](/docs/api/tinopay-delete-api-tokens-token) | — |

## Tino Uptime

### Gói Uptime

| Method | Đường dẫn | Tên | Quyền |
| --- | --- | --- | --- |
| `GET` | `/service/@id/uptime` | [Tổng quan gói Tino Uptime](/docs/api/uptime-get-overview) | — |
| `GET` | `/service/@id/uptime/usage` | [Mức dùng so với hạn mức](/docs/api/uptime-get-usage) | — |

### Monitor

| Method | Đường dẫn | Tên | Quyền |
| --- | --- | --- | --- |
| `GET` | `/service/@id/uptime/monitors` | [Danh sách monitor](/docs/api/uptime-get-monitors) | — |
| `POST` | `/service/@id/uptime/monitors` | [Tạo monitor](/docs/api/uptime-post-monitors) | — |
| `GET` | `/service/@id/uptime/monitors/@monitor` | [Chi tiết monitor](/docs/api/uptime-get-monitors-monitor) | — |
| `PUT` | `/service/@id/uptime/monitors/@monitor` | [Sửa monitor](/docs/api/uptime-put-monitors-monitor) | — |
| `DELETE` | `/service/@id/uptime/monitors/@monitor` | [Xoá monitor](/docs/api/uptime-delete-monitors-monitor) | — |
| `POST` | `/service/@id/uptime/monitors/@monitor/pause` | [Tạm dừng monitor](/docs/api/uptime-post-monitors-monitor-pause) | — |
| `POST` | `/service/@id/uptime/monitors/@monitor/resume` | [Chạy lại monitor](/docs/api/uptime-post-monitors-monitor-resume) | — |
| `GET` | `/service/@id/uptime/monitors/@monitor/uptime` | [Uptime của monitor](/docs/api/uptime-get-monitors-monitor-uptime) | — |
| `GET` | `/service/@id/uptime/monitors/@monitor/results` | [Kết quả kiểm của monitor](/docs/api/uptime-get-monitors-monitor-results) | — |
| `GET` | `/service/@id/uptime/monitors/@monitor/incidents` | [Sự cố của monitor](/docs/api/uptime-get-monitors-monitor-incidents) | — |

### Sự cố

| Method | Đường dẫn | Tên | Quyền |
| --- | --- | --- | --- |
| `GET` | `/service/@id/uptime/incidents` | [Danh sách sự cố](/docs/api/uptime-get-incidents) | — |
| `GET` | `/service/@id/uptime/incidents/@incident` | [Chi tiết sự cố](/docs/api/uptime-get-incidents-incident) | — |
| `POST` | `/service/@id/uptime/incidents/@incident/ack` | [Xác nhận sự cố](/docs/api/uptime-post-incidents-incident-ack) | — |

### Kênh cảnh báo

| Method | Đường dẫn | Tên | Quyền |
| --- | --- | --- | --- |
| `GET` | `/service/@id/uptime/channels` | [Danh sách kênh cảnh báo](/docs/api/uptime-get-channels) | — |
| `POST` | `/service/@id/uptime/channels` | [Tạo kênh cảnh báo](/docs/api/uptime-post-channels) | — |
| `POST` | `/service/@id/uptime/channels/@channel/verify` | [Xác minh kênh cảnh báo](/docs/api/uptime-post-channels-channel-verify) | — |
| `POST` | `/service/@id/uptime/channels/@channel/test` | [Gửi tin thử](/docs/api/uptime-post-channels-channel-test) | — |
| `DELETE` | `/service/@id/uptime/channels/@channel` | [Xoá kênh cảnh báo](/docs/api/uptime-delete-channels-channel) | — |

## TinoPage Builder

### Tài khoản Builder

| Method | Đường dẫn | Tên | Quyền |
| --- | --- | --- | --- |
| `GET` | `/service/@id/builder/overview` | [Tổng quan tài khoản TinoPage Builder](/docs/api/builder-get-overview) | — |
| `POST` | `/service/@id/builder/login` | [Vé đăng nhập một lần](/docs/api/builder-post-login) | — |

### Website

| Method | Đường dẫn | Tên | Quyền |
| --- | --- | --- | --- |
| `GET` | `/service/@id/builder/sites` | [Danh sách website](/docs/api/builder-get-sites) | — |
| `GET` | `/service/@id/builder/sites/@site` | [Chi tiết website](/docs/api/builder-get-sites-site) | — |
| `POST` | `/service/@id/builder/sites` | [Tạo website bằng AI](/docs/api/builder-post-sites) | — |
| `GET` | `/service/@id/builder/site-creation` | [Tiến độ tạo website](/docs/api/builder-get-site-creation) | — |
| `POST` | `/service/@id/builder/sites/@site/publish` | [Đăng website](/docs/api/builder-post-sites-site-publish) | — |
| `POST` | `/service/@id/builder/sites/@site/unpublish` | [Tạm ngưng website](/docs/api/builder-post-sites-site-unpublish) | — |
| `DELETE` | `/service/@id/builder/sites/@site` | [Xoá website](/docs/api/builder-delete-sites-site) | — |

### Tên miền riêng

| Method | Đường dẫn | Tên | Quyền |
| --- | --- | --- | --- |
| `GET` | `/service/@id/builder/sites/@site/domains` | [Tên miền riêng của website](/docs/api/builder-get-sites-site-domains) | — |
| `POST` | `/service/@id/builder/sites/@site/domains` | [Gắn tên miền riêng](/docs/api/builder-post-sites-site-domains) | — |
| `POST` | `/service/@id/builder/sites/@site/domains/@hostname/verify` | [Kiểm tra lại DNS](/docs/api/builder-post-sites-site-domains-hostname-verify) | — |
| `DELETE` | `/service/@id/builder/sites/@site/domains/@hostname` | [Gỡ tên miền riêng](/docs/api/builder-delete-sites-site-domains-hostname) | — |

### Liên hệ & đơn hàng

| Method | Đường dẫn | Tên | Quyền |
| --- | --- | --- | --- |
| `GET` | `/service/@id/builder/sites/@site/leads` | [Liên hệ và đơn hàng](/docs/api/builder-get-sites-site-leads) | — |

## TinoWAF

### TinoWAF

| Method | Đường dẫn | Tên | Quyền |
| --- | --- | --- | --- |
| `GET` | `/v1/service/@id/waf/events` | [Tóm tắt sự kiện](/docs/api/get-service-id-waf-events) | `waf:read` |
| `GET` | `/v1/service/@id/waf/ip-rules` | [Danh sách IP chặn, cho phép](/docs/api/get-service-id-waf-ip-rules) | `waf:read` |
| `POST` | `/v1/service/@id/waf/ip-rules` | [Chặn hoặc cho phép IP](/docs/api/post-service-id-waf-ip-rules) | `waf:write` |
| `DELETE` | `/v1/service/@id/waf/ip-rules/@rule` | [Xoá mục IP](/docs/api/delete-service-id-waf-ip-rules-rule) | `waf:write` |
| `POST` | `/v1/service/@id/waf/ip-rules/apply` | [Áp lại luật IP](/docs/api/post-service-id-waf-ip-rules-apply) | `waf:write` |
| `GET` | `/v1/service/@id/waf/overview` | [Tổng quan TinoWAF](/docs/api/get-service-id-waf-overview) | `waf:read` |
| `GET` | `/v1/service/@id/waf/zones` | [Danh sách website](/docs/api/get-service-id-waf-zones) | `waf:read` |
| `POST` | `/v1/service/@id/waf/zones` | [Thêm website](/docs/api/post-service-id-waf-zones) | `waf:write` |
| `GET` | `/v1/service/@id/waf/zones/@zone` | [Chi tiết website](/docs/api/get-service-id-waf-zones-zone) | `waf:read` |
| `DELETE` | `/v1/service/@id/waf/zones/@zone` | [Xoá website](/docs/api/delete-service-id-waf-zones-zone) | `waf:write` |
| `POST` | `/v1/service/@id/waf/zones/@zone/check` | [Kiểm tra DNS ngay](/docs/api/post-service-id-waf-zones-zone-check) | `waf:write` |
| `GET` | `/v1/service/@id/waf/zones/@zone/events` | [Nhật ký sự kiện của website](/docs/api/get-service-id-waf-zones-zone-events) | `waf:read` |
| `GET` | `/v1/service/@id/waf/zones/@zone/hostnames` | [Tên miền của website](/docs/api/get-service-id-waf-zones-zone-hostnames) | `waf:read` |
| `POST` | `/v1/service/@id/waf/zones/@zone/hostnames` | [Thêm tên miền vào website](/docs/api/post-service-id-waf-zones-zone-hostnames) | `waf:write` |
| `DELETE` | `/v1/service/@id/waf/zones/@zone/hostnames/@hostname` | [Gỡ tên miền khỏi website](/docs/api/delete-service-id-waf-zones-zone-hostnames-hostname) | `waf:write` |
| `GET` | `/v1/service/@id/waf/zones/@zone/origin` | [Máy chủ gốc của website](/docs/api/get-service-id-waf-zones-zone-origin) | `waf:read` |
| `PUT` | `/v1/service/@id/waf/zones/@zone/origin` | [Sửa máy chủ gốc](/docs/api/put-service-id-waf-zones-zone-origin) | `waf:write` |
| `PUT` | `/v1/service/@id/waf/zones/@zone/under-attack` | [Bật, tắt chống tấn công khẩn cấp](/docs/api/put-service-id-waf-zones-zone-under-attack) | `waf:write` |
| `PUT` | `/v1/service/@id/waf/zones/@zone/waf-mode` | [Đổi mức bảo vệ](/docs/api/put-service-id-waf-zones-zone-waf-mode) | `waf:write` |

## Ticket & hỗ trợ

### Ticket & hỗ trợ

| Method | Đường dẫn | Tên | Quyền |
| --- | --- | --- | --- |
| `GET` | `/v1/knowledgebase` | [Danh mục bài hướng dẫn](/docs/api/get-knowledgebase) | `tickets:read` |
| `GET` | `/v1/knowledgebase/@category_id` | [Bài hướng dẫn trong danh mục](/docs/api/get-knowledgebase-category-id) | `tickets:read` |
| `GET` | `/v1/knowledgebase/article/@article_id` | [Chi tiết bài hướng dẫn](/docs/api/get-knowledgebase-article-article-id) | `tickets:read` |
| `GET` | `/v1/news` | [Danh sách tin tức](/docs/api/get-news) | `tickets:read` |
| `GET` | `/v1/news/@news_id` | [Chi tiết tin tức](/docs/api/get-news-news-id) | `tickets:read` |
| `GET` | `/v1/ticket/attachment/@file` | [Tải tệp đính kèm ticket](/docs/api/get-ticket-attachment-file) | `tickets:read` |
| `GET` | `/v1/ticket/departments` | [Phòng ban hỗ trợ](/docs/api/get-ticket-departments) | `tickets:read` |
| `GET` | `/v1/tickets` | [Danh sách ticket](/docs/api/get-tickets) | `tickets:read` |
| `POST` | `/v1/tickets` | [Tạo ticket](/docs/api/post-tickets) | `tickets:write` |
| `GET` | `/v1/tickets/@number` | [Chi tiết ticket](/docs/api/get-tickets-number) | `tickets:read` |
| `POST` | `/v1/tickets/@number` | [Trả lời ticket](/docs/api/post-tickets-number) | `tickets:write` |
| `PUT` | `/v1/tickets/@number/close` | [Đóng ticket](/docs/api/put-tickets-number-close) | `tickets:write` |
| `PUT` | `/v1/tickets/@number/open` | [Mở lại ticket](/docs/api/put-tickets-number-open) | `tickets:write` |
