# Tino Developers > Tino integration docs for apps: Sign in with Tino (OAuth 2.0 Authorization Code + PKCE, OpenID Connect), the MCP server for Claude and ChatGPT, personal API tokens, official SDKs, and 242 routes to call the Tino API on behalf of a customer through the gateway https://api.tino.vn/v1. Issuer: https://api.tino.vn. Sign-in and consent page: https://auth.tino.vn/oauth/consent. Discovery (source of truth for endpoints, scopes, claims): https://api.tino.vn/.well-known/openid-configuration. Every API route: `Authorization: Bearer `; a route outside the token's scopes returns 403 `insufficient_scope`. ## Docs - [Using the docs with AI](https://developers.tino.vn/en/docs/ai.md): llms.txt, llms-full.txt, a Markdown version of every page, OpenAPI for coding agents; the MCP server for assistants to call the Tino API - [Calling the Tino API](https://developers.tino.vn/en/docs/api.md): Quickstart: gateway https://api.tino.vn/v1, app tokens and personal tokens, sending parameters, pagination, personal data, error codes - [Getting started with TinoPage Builder](https://developers.tino.vn/en/docs/builder-start.md): TinoPage Builder builds websites with AI; call the service API with a sign-in token, find the TinoPage Builder service, limits of the purchased service, AI website creation, publishing and pausing, custom domains, contacts and orders, sign-in tickets, safe retries, responses, error codes - [Domain registrant dossier](https://developers.tino.vn/en/docs/domain-registrant.md): paid domains whose registrant is not complete yet (eKYC, declaration): see what is missing, read and update the registrant, reuse an earlier registrant; scopes, data, errors - [Sign in with Tino (OAuth 2.0, OpenID Connect)](https://developers.tino.vn/en/docs/oauth.md): endpoints, flow, consent page parameters, exchanging the code for tokens, refresh and revocation, ID token, UserInfo, scopes and /v1 routes, error codes - [Getting started with TinoPay](https://developers.tino.vn/en/docs/tinopay-start.md): TinoPay receives bank transfers through linked bank accounts and virtual accounts; setup, calling the merchant API with a sign-in token, timeouts, identifying the TinoPay service, merchant status, API tokens, response shape, error codes and handling - [Getting started with Tino Uptime](https://developers.tino.vn/en/docs/uptime-start.md): Tino Uptime monitors websites, servers, ports, DNS, SSL and domains; call the service API with a sign-in token, find the Tino Uptime service, plan limits, monitor types, alert channels, pagination, safe retries, responses, error codes - [Connect Claude, ChatGPT to Tino (MCP)](https://developers.tino.vn/en/docs/mcp.md): MCP server https://api.tino.vn/mcp: connect Claude, Claude Code, ChatGPT, other MCP apps with OAuth (client self-registration) or a personal token; scopes and tools, limits, revocation, troubleshooting, JSON-RPC for developers - [Personal API tokens](https://developers.tino.vn/en/docs/personal-tokens.md): customers create tinopat_ tokens at auth.tino.vn for their own software: scopes, expiry, IP restriction, domains:owner, revocation, errors - [Test environment](https://developers.tino.vn/en/docs/sandbox.md): Tino has no separate API sandbox yet; how to test safely on a real account: read-only tokens, IP restriction, write routes with real effects, mocks from OpenAPI - [Receiving TinoPay webhooks](https://developers.tino.vn/en/docs/tinopay-webhook.md): TinoPay sends a JSON POST for every transaction to your URL; flow, creating a webhook, events, payload, verifying the token (Authorization: Apikey), deduplication, responses and retries, logs and resends, sample Node.js and PHP receivers - [Sign in from a CLI or an app without a backend](https://developers.tino.vn/en/docs/cli-login.md): automatic app registration (RFC 7591), device code sign-in (RFC 8628) for CLIs, polling for the token, refresh, examples in bash, Node.js, Python - [SDKs & examples](https://developers.tino.vn/en/docs/sdk.md): official Python, Node.js, PHP SDKs (tinovn/tino-sdk): installation, calling the /v1 gateway with a token, calling routes, routes without a dedicated function, typed errors, practical examples - [Telegram, Zalo and Lark notifications](https://developers.tino.vn/en/docs/tinopay-notifications.md): TinoPay posts a notification for every transaction to a Telegram, Zalo or Lark chat; shared and own bots, the 4-step add flow (check the token, find a chat, send a test, save), editing and changing the token - [Changelog](https://developers.tino.vn/en/docs/changelog.md): changes to the API, MCP server, SDKs and developer documentation, newest first - [TinoPay public API](https://developers.tino.vn/en/docs/tinopay-api.md): TinoPay's API at https://pay.tino.vn; API token authentication, transaction history (GET /api/transactions), bank list (GET /api/banks), VietQR code images (GET /img-qr); parameters, response samples, errors - [No-code integrations](https://developers.tino.vn/en/docs/tinopay-integrations.md): TinoPay integrations configured in the web app, no programming; Google Sheets writes transactions to a spreadsheet; the WordPress / WooCommerce plugin, the HostBill module and Sapo show a VietQR code and confirm orders and invoices automatically when the customer pays; setup, options, troubleshooting - [API Reference](https://developers.tino.vn/en/docs/reference.md): index of every /v1 gateway route by product and group: method, path, name, scope - [Identity & SSO](https://developers.tino.vn/en/docs/identity.md): Sign in with Tino (OAuth 2.0, OpenID Connect), personal API tokens, account details. - [Domains & DNS](https://developers.tino.vn/en/docs/domains.md): Look up, order and renew domains; nameservers, DNSSEC; DNS zones and records. - [Cloud & Hosting](https://developers.tino.vn/en/docs/cloud.md): Hosting services, VPS servers (power, networks, IPs), SSL certificates. - [Billing](https://developers.tino.vn/en/docs/billing.md): Invoices, estimates, balance, top-ups and payments. - [TinoPay](https://developers.tino.vn/en/docs/tinopay.md): Receive bank transfers through linked bank accounts and virtual accounts (VA); webhooks and Telegram, Zalo, Lark notifications for each transaction; API tokens. - [Tino Uptime](https://developers.tino.vn/en/docs/uptime.md): Monitor websites, servers, ports, DNS, SSL and domains; uptime, incidents, alerts by email, Telegram, Discord, Slack, webhook, Zalo. - [TinoPage Builder](https://developers.tino.vn/en/docs/builder.md): AI-built websites: limits of the purchased service, AI website creation, publishing, pausing, deleting, custom domains, contacts and orders, one-time sign-in. - [TinoWAF](https://developers.tino.vn/en/docs/waf.md): Website firewall: add websites, protection level, emergency anti-attack mode, domain names and DNS records, origin servers, event log, IP block/allow list. - [Tickets & support](https://developers.tino.vn/en/docs/tickets.md): Tickets, departments, knowledgebase and news. ## API - [Account overview](https://developers.tino.vn/en/docs/api/get-clientarea.md): Account; GET /v1/clientarea, scope profile:read - [Service categories](https://developers.tino.vn/en/docs/api/get-clientarea-nav-service.md): Account; GET /v1/clientarea/nav/service, scope profile:read - [Search services and products](https://developers.tino.vn/en/docs/api/post-clientarea-search-query.md): Account; POST /v1/clientarea/search/@query, scope profile:read - [List statuses](https://developers.tino.vn/en/docs/api/get-clientarea-statuses.md): Account; GET /v1/clientarea/statuses, scope profile:read - [List contacts](https://developers.tino.vn/en/docs/api/get-contact.md): Account; GET /v1/contact, scope profile:read - [Contact details](https://developers.tino.vn/en/docs/api/get-contact-id.md): Account; GET /v1/contact/@id, scope profile:read - [Permissions available for contacts](https://developers.tino.vn/en/docs/api/get-contact-privileges.md): Account; GET /v1/contact/privileges, scope profile:read - [List contacts (contacts)](https://developers.tino.vn/en/docs/api/get-contacts.md): Account; GET /v1/contacts, scope profile:read - [Account details](https://developers.tino.vn/en/docs/api/get-details.md): Account; GET /v1/details, scope profile:read - [List notifications](https://developers.tino.vn/en/docs/api/get-notifications.md): Account; GET /v1/notifications, scope profile:read - [Mark notification as read](https://developers.tino.vn/en/docs/api/put-notifications-id-ack.md): Account; PUT /v1/notifications/@id/ack, scope profile:write - [Unread notifications](https://developers.tino.vn/en/docs/api/get-notifications-new.md): Account; GET /v1/notifications/new, scope profile:read - [List services](https://developers.tino.vn/en/docs/api/get-service.md): Services; GET /v1/service, scope services:read - [Service details](https://developers.tino.vn/en/docs/api/get-service-id.md): Services; GET /v1/service/@id, scope services:read - [Request service cancellation](https://developers.tino.vn/en/docs/api/post-service-id-cancel.md): Services; POST /v1/service/@id/cancel, scope services:write - [Billing cycles](https://developers.tino.vn/en/docs/api/get-service-id-cycle.md): Services; GET /v1/service/@id/cycle, scope services:read - [Change billing cycle](https://developers.tino.vn/en/docs/api/post-service-id-cycle.md): Services; POST /v1/service/@id/cycle, scope services:write - [Hosting email accounts](https://developers.tino.vn/en/docs/api/get-service-id-emails.md): Services; GET /v1/service/@id/emails, scope services:read - [Service invoices](https://developers.tino.vn/en/docs/api/get-service-id-invoices.md): Services; GET /v1/service/@id/invoices, scope services:read - [Get service label](https://developers.tino.vn/en/docs/api/get-service-id-label.md): Services; GET /v1/service/@id/label, scope services:read - [Set service label](https://developers.tino.vn/en/docs/api/post-service-id-label.md): Services; POST /v1/service/@id/label, scope services:write - [Create service renewal invoice](https://developers.tino.vn/en/docs/api/post-service-id-manualrenew.md): Services; POST /v1/service/@id/manualrenew, scope services:write - [Supported service actions](https://developers.tino.vn/en/docs/api/get-service-id-methods.md): Services; GET /v1/service/@id/methods, scope services:read - [Renew service](https://developers.tino.vn/en/docs/api/post-service-id-renew.md): Services; POST /v1/service/@id/renew, scope services:write - [Upgrade options](https://developers.tino.vn/en/docs/api/get-service-id-upgrade.md): Services; GET /v1/service/@id/upgrade, scope services:read - [Upgrade quote or request](https://developers.tino.vn/en/docs/api/post-service-id-upgrade.md): Services; POST /v1/service/@id/upgrade, scope services:write - [Service widgets](https://developers.tino.vn/en/docs/api/get-service-id-widgets.md): Services; GET /v1/service/@id/widgets, scope services:read - [cPanel statistics](https://developers.tino.vn/en/docs/api/get-service-cpanel2-id-statistics.md): Services; GET /v1/service/cpanel2/@id/statistics, scope services:read - [Unblock IP on cPanel](https://developers.tino.vn/en/docs/api/post-service-cpanel2-id-unblock.md): Services; POST /v1/service/cpanel2/@id/unblock, scope services:write - [Services by category](https://developers.tino.vn/en/docs/api/get-services-cid.md): Services; GET /v1/services/@cid, scope services:read - [Active services](https://developers.tino.vn/en/docs/api/get-services-active.md): Services; GET /v1/services/active, scope services:read - [Networks and IP ranges](https://developers.tino.vn/en/docs/api/get-service-id-networks.md): VPS servers; GET /v1/service/@id/networks, scope services:read - [VPS resources](https://developers.tino.vn/en/docs/api/get-service-id-resources.md): VPS servers; GET /v1/service/@id/resources, scope services:read - [OS templates](https://developers.tino.vn/en/docs/api/get-service-id-templates.md): VPS servers; GET /v1/service/@id/templates, scope services:read - [List virtual machines](https://developers.tino.vn/en/docs/api/get-service-id-vms.md): VPS servers; GET /v1/service/@id/vms, scope services:read - [Virtual machine details](https://developers.tino.vn/en/docs/api/get-service-id-vms-vmid.md): VPS servers; GET /v1/service/@id/vms/@vmid, scope services:read - [Change VM hostname](https://developers.tino.vn/en/docs/api/post-service-id-vms-vmid-hostname.md): VPS servers; POST /v1/service/@id/vms/@vmid/hostname, scope services:write - [VM network interfaces](https://developers.tino.vn/en/docs/api/get-service-id-vms-vmid-interfaces.md): VPS servers; GET /v1/service/@id/vms/@vmid/interfaces, scope services:read - [Network interface details](https://developers.tino.vn/en/docs/api/get-service-id-vms-vmid-interfaces-iface.md): VPS servers; GET /v1/service/@id/vms/@vmid/interfaces/@iface, scope services:read - [VM IP pools](https://developers.tino.vn/en/docs/api/get-service-id-vms-vmid-ippool.md): VPS servers; GET /v1/service/@id/vms/@vmid/ippool, scope services:read - [VM IP addresses](https://developers.tino.vn/en/docs/api/get-service-id-vms-vmid-ips.md): VPS servers; GET /v1/service/@id/vms/@vmid/ips, scope services:read - [Restart VM](https://developers.tino.vn/en/docs/api/post-service-id-vms-vmid-reboot.md): VPS servers; POST /v1/service/@id/vms/@vmid/reboot, scope services:write - [Reset VM](https://developers.tino.vn/en/docs/api/post-service-id-vms-vmid-reset.md): VPS servers; POST /v1/service/@id/vms/@vmid/reset, scope services:write - [Shut down VM](https://developers.tino.vn/en/docs/api/post-service-id-vms-vmid-shutdown.md): VPS servers; POST /v1/service/@id/vms/@vmid/shutdown, scope services:write - [Start VM](https://developers.tino.vn/en/docs/api/post-service-id-vms-vmid-start.md): VPS servers; POST /v1/service/@id/vms/@vmid/start, scope services:write - [Stop VM](https://developers.tino.vn/en/docs/api/post-service-id-vms-vmid-stop.md): VPS servers; POST /v1/service/@id/vms/@vmid/stop, scope services:write - [VM network traffic](https://developers.tino.vn/en/docs/api/get-service-id-vms-vmid-traffic.md): VPS servers; GET /v1/service/@id/vms/@vmid/traffic, scope services:read - [List SSL certificates](https://developers.tino.vn/en/docs/api/get-certificate.md): SSL certificates; GET /v1/certificate, scope services:read - [SSL certificate details](https://developers.tino.vn/en/docs/api/get-certificate-id.md): SSL certificates; GET /v1/certificate/@id, scope services:read - [Download certificate](https://developers.tino.vn/en/docs/api/get-certificate-id-crt.md): SSL certificates; GET /v1/certificate/@id/crt, scope services:read - [Certificates available to order](https://developers.tino.vn/en/docs/api/get-certificate-order.md): SSL certificates; GET /v1/certificate/order, scope services:read - [Order SSL certificate](https://developers.tino.vn/en/docs/api/post-certificate-order.md): SSL certificates; POST /v1/certificate/order, scope services:write - [Server software for certificates](https://developers.tino.vn/en/docs/api/get-certificate-order-product-id-software.md): SSL certificates; GET /v1/certificate/order/@product_id/software, scope services:read - [List SSL services (certificates)](https://developers.tino.vn/en/docs/api/get-certificates.md): SSL certificates; GET /v1/certificates, scope services:read - [List domains](https://developers.tino.vn/en/docs/api/get-domain.md): Domains; GET /v1/domain, scope domains:read - [Domain details](https://developers.tino.vn/en/docs/api/get-domain-id.md): Domains; GET /v1/domain/@id, scope domains:read - [Get domain auto-renewal](https://developers.tino.vn/en/docs/api/get-domain-id-autorenew.md): Domains; GET /v1/domain/@id/autorenew, scope domains:read - [Turn domain auto-renewal on or off](https://developers.tino.vn/en/docs/api/put-domain-id-autorenew.md): Domains; PUT /v1/domain/@id/autorenew, scope domains:write - [Get domain contacts](https://developers.tino.vn/en/docs/api/get-domain-id-contact.md): Domains; GET /v1/domain/@id/contact, scope domains:read - [Change domain contacts (registrant)](https://developers.tino.vn/en/docs/api/put-domain-id-contact.md): Domains; PUT /v1/domain/@id/contact, scope domains:owner - [List DNSSEC keys](https://developers.tino.vn/en/docs/api/get-domain-id-dnssec.md): Domains; GET /v1/domain/@id/dnssec, scope domains:read - [Add DNSSEC key](https://developers.tino.vn/en/docs/api/put-domain-id-dnssec.md): Domains; PUT /v1/domain/@id/dnssec, scope domains:write - [Delete DNSSEC key](https://developers.tino.vn/en/docs/api/delete-domain-id-dnssec-key.md): Domains; DELETE /v1/domain/@id/dnssec/@key, scope domains:write - [Supported DNSSEC parameters](https://developers.tino.vn/en/docs/api/get-domain-id-dnssec-flags.md): Domains; GET /v1/domain/@id/dnssec/flags, scope domains:read - [Get email forwarding](https://developers.tino.vn/en/docs/api/get-domain-id-emforwarding.md): Domains; GET /v1/domain/@id/emforwarding, scope domains:read - [Update email forwarding](https://developers.tino.vn/en/docs/api/put-domain-id-emforwarding.md): Domains; PUT /v1/domain/@id/emforwarding, scope domains:write - [Get domain transfer code (EPP)](https://developers.tino.vn/en/docs/api/get-domain-id-epp.md): Domains; GET /v1/domain/@id/epp, scope domains:owner - [Update domain forwarding](https://developers.tino.vn/en/docs/api/put-domain-id-forwarding.md): Domains; PUT /v1/domain/@id/forwarding, scope domains:write - [Turn registrant privacy on or off](https://developers.tino.vn/en/docs/api/put-domain-id-idprotection.md): Domains; PUT /v1/domain/@id/idprotection, scope domains:write - [Domain invoices](https://developers.tino.vn/en/docs/api/get-domain-id-invoices.md): Domains; GET /v1/domain/@id/invoices, scope domains:read - [Get nameservers](https://developers.tino.vn/en/docs/api/get-domain-id-ns.md): Domains; GET /v1/domain/@id/ns, scope domains:read - [Change nameservers](https://developers.tino.vn/en/docs/api/put-domain-id-ns.md): Domains; PUT /v1/domain/@id/ns, scope domains:write - [Registered private nameservers](https://developers.tino.vn/en/docs/api/get-domain-id-reg.md): Domains; GET /v1/domain/@id/reg, scope domains:read - [Manage private nameservers](https://developers.tino.vn/en/docs/api/post-domain-id-reg.md): Domains; POST /v1/domain/@id/reg, scope domains:write - [Get domain lock](https://developers.tino.vn/en/docs/api/get-domain-id-reglock.md): Domains; GET /v1/domain/@id/reglock, scope domains:read - [Turn domain lock on or off](https://developers.tino.vn/en/docs/api/put-domain-id-reglock.md): Domains; PUT /v1/domain/@id/reglock, scope domains:write - [Renew domain](https://developers.tino.vn/en/docs/api/post-domain-id-renew.md): Domains; POST /v1/domain/@id/renew, scope domains:write - [Sync domain](https://developers.tino.vn/en/docs/api/get-domain-id-sync.md): Domains; GET /v1/domain/@id/sync, scope domains:write - [Check domain availability](https://developers.tino.vn/en/docs/api/post-domain-lookup.md): Domains; POST /v1/domain/lookup, scope domains:read - [Domain details by name](https://developers.tino.vn/en/docs/api/get-domain-name-name.md): Domains; GET /v1/domain/name/@name, scope domains:read - [Available domain extensions](https://developers.tino.vn/en/docs/api/get-domain-order.md): Domains; GET /v1/domain/order, scope domains:read - [Order domain](https://developers.tino.vn/en/docs/api/post-domain-order.md): Domains; POST /v1/domain/order, scope domains:write - [Extra fields per domain extension](https://developers.tino.vn/en/docs/api/get-domain-order-id-form.md): Domains; GET /v1/domain/order/@id/form, scope domains:read - [List domains (paginated)](https://developers.tino.vn/en/docs/api/get-domains.md): Domains; GET /v1/domains, scope domains:read - [Read a waiting domain's registrant](https://developers.tino.vn/en/docs/api/get-domains-id-registrant.md): Domains; GET /v1/domains/@id/registrant, scope domains:registrant - [Save a waiting domain's registrant](https://developers.tino.vn/en/docs/api/put-domains-id-registrant.md): Domains; PUT /v1/domains/@id/registrant, scope domains:registrant - [Domains awaiting their dossier](https://developers.tino.vn/en/docs/api/get-domains-pending.md): Domains; GET /v1/domains/pending, scope domains:registrant - [Registrants used before](https://developers.tino.vn/en/docs/api/get-registrants.md): Domains; GET /v1/registrants, scope domains:registrant - [Domain whois lookup (with a token)](https://developers.tino.vn/en/docs/api/get-v1-whois-domain.md): Domains; GET /v1/whois/@domain, scope domains:read - [List DNS zones](https://developers.tino.vn/en/docs/api/get-dns.md): DNS; GET /v1/dns, scope dns:read - [DNS record templates](https://developers.tino.vn/en/docs/api/get-dns-templates.md): DNS; GET /v1/dns/templates, scope dns:read - [Domain DNS records](https://developers.tino.vn/en/docs/api/get-domain-id-dns.md): DNS; GET /v1/domain/@id/dns, scope dns:read - [Add DNS record to domain](https://developers.tino.vn/en/docs/api/post-domain-id-dns.md): DNS; POST /v1/domain/@id/dns, scope dns:write - [Edit domain DNS record](https://developers.tino.vn/en/docs/api/put-domain-id-dns-index.md): DNS; PUT /v1/domain/@id/dns/@index, scope dns:write - [Delete domain DNS record](https://developers.tino.vn/en/docs/api/delete-domain-id-dns-index.md): DNS; DELETE /v1/domain/@id/dns/@index, scope dns:write - [Supported DNS record types](https://developers.tino.vn/en/docs/api/get-domain-id-dns-types.md): DNS; GET /v1/domain/@id/dns/types, scope dns:read - [DNS zones of a service](https://developers.tino.vn/en/docs/api/get-service-service-id-dns.md): DNS; GET /v1/service/@service_id/dns, scope dns:read - [Add DNS zone](https://developers.tino.vn/en/docs/api/post-service-service-id-dns.md): DNS; POST /v1/service/@service_id/dns, scope dns:write - [DNS zone details](https://developers.tino.vn/en/docs/api/get-service-service-id-dns-zone-id.md): DNS; GET /v1/service/@service_id/dns/@zone_id, scope dns:read - [Edit DNS zone](https://developers.tino.vn/en/docs/api/put-service-service-id-dns-zone-id.md): DNS; PUT /v1/service/@service_id/dns/@zone_id, scope dns:write - [Delete DNS zone](https://developers.tino.vn/en/docs/api/delete-service-service-id-dns-zone-id.md): DNS; DELETE /v1/service/@service_id/dns/@zone_id, scope dns:write - [Get DNS zone DNSSEC](https://developers.tino.vn/en/docs/api/get-service-service-id-dns-zone-id-dnssec.md): DNS; GET /v1/service/@service_id/dns/@zone_id/dnssec, scope dns:read - [Turn DNS zone DNSSEC on or off](https://developers.tino.vn/en/docs/api/put-service-service-id-dns-zone-id-dnssec.md): DNS; PUT /v1/service/@service_id/dns/@zone_id/dnssec, scope dns:write - [Add DNS record](https://developers.tino.vn/en/docs/api/post-service-service-id-dns-zone-id-records.md): DNS; POST /v1/service/@service_id/dns/@zone_id/records, scope dns:write - [Edit DNS record](https://developers.tino.vn/en/docs/api/put-service-service-id-dns-zone-id-records-record-id.md): DNS; PUT /v1/service/@service_id/dns/@zone_id/records/@record_id, scope dns:write - [Delete DNS record](https://developers.tino.vn/en/docs/api/delete-service-service-id-dns-zone-id-records-record-id.md): DNS; DELETE /v1/service/@service_id/dns/@zone_id/records/@record_id, scope dns:write - [Top-up information](https://developers.tino.vn/en/docs/api/get-addfunds.md): Invoices & payments; GET /v1/addfunds, scope billing:read - [Top up](https://developers.tino.vn/en/docs/api/post-addfunds.md): Invoices & payments; POST /v1/addfunds, scope billing:write - [Account balance](https://developers.tino.vn/en/docs/api/get-balance.md): Invoices & payments; GET /v1/balance, scope billing:read - [Invoice payment link](https://developers.tino.vn/en/docs/api/get-billing-invoice-id-pay-gateway-id.md): Invoices & payments; GET /v1/billing/@invoice_id/pay/@gateway_id, scope billing:write - [Top up (billing)](https://developers.tino.vn/en/docs/api/post-billing-addfunds.md): Invoices & payments; POST /v1/billing/addfunds, scope billing:write - [Credit balance history](https://developers.tino.vn/en/docs/api/get-billing-creditlogs.md): Invoices & payments; GET /v1/billing/creditlogs, scope billing:read - [Redeem top-up code](https://developers.tino.vn/en/docs/api/post-billing-creditvoucher.md): Invoices & payments; POST /v1/billing/creditvoucher, scope billing:write - [Download estimate PDF](https://developers.tino.vn/en/docs/api/get-estimate-id-pdf.md): Invoices & payments; GET /v1/estimate/@id/pdf, scope billing:read - [List estimates](https://developers.tino.vn/en/docs/api/get-estimates.md): Invoices & payments; GET /v1/estimates, scope billing:read - [Estimate details](https://developers.tino.vn/en/docs/api/get-estimates-id.md): Invoices & payments; GET /v1/estimates/@id, scope billing:read - [List invoices](https://developers.tino.vn/en/docs/api/get-invoice.md): Invoices & payments; GET /v1/invoice, scope billing:read - [Invoice details](https://developers.tino.vn/en/docs/api/get-invoice-id.md): Invoices & payments; GET /v1/invoice/@id, scope billing:read - [Delete invoice](https://developers.tino.vn/en/docs/api/delete-invoice-id.md): Invoices & payments; DELETE /v1/invoice/@id, scope billing:write - [Pay invoice with balance](https://developers.tino.vn/en/docs/api/post-invoice-id-credit.md): Invoices & payments; POST /v1/invoice/@id/credit, scope billing:write - [Download invoice PDF](https://developers.tino.vn/en/docs/api/get-invoice-id-pdf.md): Invoices & payments; GET /v1/invoice/@id/pdf, scope billing:read - [List invoices (paginated)](https://developers.tino.vn/en/docs/api/get-invoices.md): Invoices & payments; GET /v1/invoices, scope billing:read - [Due invoices](https://developers.tino.vn/en/docs/api/get-invoices-due.md): Invoices & payments; GET /v1/invoices/due, scope billing:read - [Pay invoices together](https://developers.tino.vn/en/docs/api/post-invoices-payall.md): Invoices & payments; POST /v1/invoices/payall, scope billing:write - [Payment methods](https://developers.tino.vn/en/docs/api/get-payment.md): Invoices & payments; GET /v1/payment, scope billing:read - [Payment method fees](https://developers.tino.vn/en/docs/api/get-payment-fees.md): Invoices & payments; GET /v1/payment/fees, scope billing:read - [Create a cart](https://developers.tino.vn/en/docs/api/post-carts.md): Orders; POST /v1/carts, scope orders:write - [Get a cart](https://developers.tino.vn/en/docs/api/get-carts-uuid.md): Orders; GET /v1/carts/@uuid, scope orders:write - [Update a cart](https://developers.tino.vn/en/docs/api/put-carts-uuid.md): Orders; PUT /v1/carts/@uuid, scope orders:write - [Place the order from a cart](https://developers.tino.vn/en/docs/api/post-carts-uuid-confirm.md): Orders; POST /v1/carts/@uuid/confirm, scope orders:write - [Latest cart](https://developers.tino.vn/en/docs/api/get-carts-latest.md): Orders; GET /v1/carts/latest, scope orders:write - [Order several services](https://developers.tino.vn/en/docs/api/post-order.md): Orders; POST /v1/order, scope orders:write - [Order one service](https://developers.tino.vn/en/docs/api/post-order-product-id.md): Orders; POST /v1/order/@product_id, scope orders:write - [Get an order quote](https://developers.tino.vn/en/docs/api/post-quote.md): Orders; POST /v1/quote, scope orders:write - [Knowledge base categories](https://developers.tino.vn/en/docs/api/get-knowledgebase.md): Tickets & support; GET /v1/knowledgebase, scope tickets:read - [Articles in a category](https://developers.tino.vn/en/docs/api/get-knowledgebase-category-id.md): Tickets & support; GET /v1/knowledgebase/@category_id, scope tickets:read - [Knowledge base article](https://developers.tino.vn/en/docs/api/get-knowledgebase-article-article-id.md): Tickets & support; GET /v1/knowledgebase/article/@article_id, scope tickets:read - [List news](https://developers.tino.vn/en/docs/api/get-news.md): Tickets & support; GET /v1/news, scope tickets:read - [News details](https://developers.tino.vn/en/docs/api/get-news-news-id.md): Tickets & support; GET /v1/news/@news_id, scope tickets:read - [Download ticket attachment](https://developers.tino.vn/en/docs/api/get-ticket-attachment-file.md): Tickets & support; GET /v1/ticket/attachment/@file, scope tickets:read - [Support departments](https://developers.tino.vn/en/docs/api/get-ticket-departments.md): Tickets & support; GET /v1/ticket/departments, scope tickets:read - [List tickets](https://developers.tino.vn/en/docs/api/get-tickets.md): Tickets & support; GET /v1/tickets, scope tickets:read - [Create ticket](https://developers.tino.vn/en/docs/api/post-tickets.md): Tickets & support; POST /v1/tickets, scope tickets:write - [Ticket details](https://developers.tino.vn/en/docs/api/get-tickets-number.md): Tickets & support; GET /v1/tickets/@number, scope tickets:read - [Reply to ticket](https://developers.tino.vn/en/docs/api/post-tickets-number.md): Tickets & support; POST /v1/tickets/@number, scope tickets:write - [Close ticket](https://developers.tino.vn/en/docs/api/put-tickets-number-close.md): Tickets & support; PUT /v1/tickets/@number/close, scope tickets:write - [Reopen ticket](https://developers.tino.vn/en/docs/api/put-tickets-number-open.md): Tickets & support; PUT /v1/tickets/@number/open, scope tickets:write - [Event summary](https://developers.tino.vn/en/docs/api/get-service-id-waf-events.md): TinoWAF; GET /v1/service/@id/waf/events, scope waf:read - [List IP rules](https://developers.tino.vn/en/docs/api/get-service-id-waf-ip-rules.md): TinoWAF; GET /v1/service/@id/waf/ip-rules, scope waf:read - [Block or allow an IP](https://developers.tino.vn/en/docs/api/post-service-id-waf-ip-rules.md): TinoWAF; POST /v1/service/@id/waf/ip-rules, scope waf:write - [Delete an IP rule](https://developers.tino.vn/en/docs/api/delete-service-id-waf-ip-rules-rule.md): TinoWAF; DELETE /v1/service/@id/waf/ip-rules/@rule, scope waf:write - [Re-apply IP rules](https://developers.tino.vn/en/docs/api/post-service-id-waf-ip-rules-apply.md): TinoWAF; POST /v1/service/@id/waf/ip-rules/apply, scope waf:write - [TinoWAF overview](https://developers.tino.vn/en/docs/api/get-service-id-waf-overview.md): TinoWAF; GET /v1/service/@id/waf/overview, scope waf:read - [List websites](https://developers.tino.vn/en/docs/api/get-service-id-waf-zones.md): TinoWAF; GET /v1/service/@id/waf/zones, scope waf:read - [Add a website](https://developers.tino.vn/en/docs/api/post-service-id-waf-zones.md): TinoWAF; POST /v1/service/@id/waf/zones, scope waf:write - [Get a website](https://developers.tino.vn/en/docs/api/get-service-id-waf-zones-zone.md): TinoWAF; GET /v1/service/@id/waf/zones/@zone, scope waf:read - [Delete a website](https://developers.tino.vn/en/docs/api/delete-service-id-waf-zones-zone.md): TinoWAF; DELETE /v1/service/@id/waf/zones/@zone, scope waf:write - [Check DNS now](https://developers.tino.vn/en/docs/api/post-service-id-waf-zones-zone-check.md): TinoWAF; POST /v1/service/@id/waf/zones/@zone/check, scope waf:write - [List a website's events](https://developers.tino.vn/en/docs/api/get-service-id-waf-zones-zone-events.md): TinoWAF; GET /v1/service/@id/waf/zones/@zone/events, scope waf:read - [List a website's domain names](https://developers.tino.vn/en/docs/api/get-service-id-waf-zones-zone-hostnames.md): TinoWAF; GET /v1/service/@id/waf/zones/@zone/hostnames, scope waf:read - [Add a domain name to a website](https://developers.tino.vn/en/docs/api/post-service-id-waf-zones-zone-hostnames.md): TinoWAF; POST /v1/service/@id/waf/zones/@zone/hostnames, scope waf:write - [Remove a domain name from a website](https://developers.tino.vn/en/docs/api/delete-service-id-waf-zones-zone-hostnames-hostname.md): TinoWAF; DELETE /v1/service/@id/waf/zones/@zone/hostnames/@hostname, scope waf:write - [Get a website's origin servers](https://developers.tino.vn/en/docs/api/get-service-id-waf-zones-zone-origin.md): TinoWAF; GET /v1/service/@id/waf/zones/@zone/origin, scope waf:read - [Update origin servers](https://developers.tino.vn/en/docs/api/put-service-id-waf-zones-zone-origin.md): TinoWAF; PUT /v1/service/@id/waf/zones/@zone/origin, scope waf:write - [Turn emergency anti-attack mode on or off](https://developers.tino.vn/en/docs/api/put-service-id-waf-zones-zone-under-attack.md): TinoWAF; PUT /v1/service/@id/waf/zones/@zone/under-attack, scope waf:write - [Change the protection level](https://developers.tino.vn/en/docs/api/put-service-id-waf-zones-zone-waf-mode.md): TinoWAF; PUT /v1/service/@id/waf/zones/@zone/waf-mode, scope waf:write - [Merchant details](https://developers.tino.vn/en/docs/api/tinopay-get-merchant.md): Merchant; GET /service/@id/tinopay, TinoPay - [Update merchant details](https://developers.tino.vn/en/docs/api/tinopay-patch-merchant.md): Merchant; PATCH /service/@id/tinopay, TinoPay - [Payment code patterns](https://developers.tino.vn/en/docs/api/tinopay-get-pay-codes.md): Merchant; GET /service/@id/tinopay/pay-codes, TinoPay - [Save payment code patterns](https://developers.tino.vn/en/docs/api/tinopay-put-pay-codes.md): Merchant; PUT /service/@id/tinopay/pay-codes, TinoPay - [List bank accounts](https://developers.tino.vn/en/docs/api/tinopay-get-bank-accounts.md): Bank accounts; GET /service/@id/tinopay/bank-accounts, TinoPay - [Bank account details](https://developers.tino.vn/en/docs/api/tinopay-get-bank-accounts-bank.md): Bank accounts; GET /service/@id/tinopay/bank-accounts/@bank, TinoPay - [Request a BIDV business link](https://developers.tino.vn/en/docs/api/tinopay-post-bank-links-bidv-business.md): Bank accounts; POST /service/@id/tinopay/bank-links/bidv-business, TinoPay - [List virtual accounts (VA)](https://developers.tino.vn/en/docs/api/tinopay-get-bank-accounts-bank-virtual-accounts.md): Virtual accounts; GET /service/@id/tinopay/bank-accounts/@bank/virtual-accounts, TinoPay - [Create a virtual account](https://developers.tino.vn/en/docs/api/tinopay-post-bank-accounts-bank-virtual-accounts.md): Virtual accounts; POST /service/@id/tinopay/bank-accounts/@bank/virtual-accounts, TinoPay - [Activate a virtual account](https://developers.tino.vn/en/docs/api/tinopay-post-bank-accounts-bank-virtual-accounts-va-activate.md): Virtual accounts; POST /service/@id/tinopay/bank-accounts/@bank/virtual-accounts/@va/activate, TinoPay - [Deactivate a virtual account](https://developers.tino.vn/en/docs/api/tinopay-post-bank-accounts-bank-virtual-accounts-va-deactivate.md): Virtual accounts; POST /service/@id/tinopay/bank-accounts/@bank/virtual-accounts/@va/deactivate, TinoPay - [Delete a virtual account](https://developers.tino.vn/en/docs/api/tinopay-delete-bank-accounts-bank-virtual-accounts-va.md): Virtual accounts; DELETE /service/@id/tinopay/bank-accounts/@bank/virtual-accounts/@va, TinoPay - [List webhooks](https://developers.tino.vn/en/docs/api/tinopay-get-webhooks.md): Webhooks; GET /service/@id/tinopay/webhooks, TinoPay - [Create a webhook](https://developers.tino.vn/en/docs/api/tinopay-post-webhooks.md): Webhooks; POST /service/@id/tinopay/webhooks, TinoPay - [Webhook details](https://developers.tino.vn/en/docs/api/tinopay-get-webhooks-webhook.md): Webhooks; GET /service/@id/tinopay/webhooks/@webhook, TinoPay - [Update a webhook](https://developers.tino.vn/en/docs/api/tinopay-patch-webhooks-webhook.md): Webhooks; PATCH /service/@id/tinopay/webhooks/@webhook, TinoPay - [Delete a webhook](https://developers.tino.vn/en/docs/api/tinopay-delete-webhooks-webhook.md): Webhooks; DELETE /service/@id/tinopay/webhooks/@webhook, TinoPay - [Webhook logs](https://developers.tino.vn/en/docs/api/tinopay-get-webhook-logs.md): Webhooks; GET /service/@id/tinopay/webhook-logs, TinoPay - [Resend a webhook log](https://developers.tino.vn/en/docs/api/tinopay-post-webhook-logs-log-resend.md): Webhooks; POST /service/@id/tinopay/webhook-logs/@log/resend, TinoPay - [Transaction history](https://developers.tino.vn/en/docs/api/tinopay-get-transactions.md): Transactions; GET /service/@id/tinopay/transactions, TinoPay - [Transaction summary](https://developers.tino.vn/en/docs/api/tinopay-get-transactions-summary.md): Transactions; GET /service/@id/tinopay/transactions/summary, TinoPay - [Transaction details](https://developers.tino.vn/en/docs/api/tinopay-get-transactions-transaction.md): Transactions; GET /service/@id/tinopay/transactions/@transaction, TinoPay - [Resend webhooks for a transaction](https://developers.tino.vn/en/docs/api/tinopay-post-transactions-transaction-resend-webhook.md): Transactions; POST /service/@id/tinopay/transactions/@transaction/resend-webhook, TinoPay - [Check a bot token](https://developers.tino.vn/en/docs/api/tinopay-post-notification-apps-bot-info.md): Notifications; POST /service/@id/tinopay/notification-apps/bot-info, TinoPay - [Find a bot's chats](https://developers.tino.vn/en/docs/api/tinopay-post-notification-apps-find-chats.md): Notifications; POST /service/@id/tinopay/notification-apps/find-chats, TinoPay - [Send a test message](https://developers.tino.vn/en/docs/api/tinopay-post-notification-apps-test.md): Notifications; POST /service/@id/tinopay/notification-apps/test, TinoPay - [List notification apps](https://developers.tino.vn/en/docs/api/tinopay-get-notification-apps.md): Notifications; GET /service/@id/tinopay/notification-apps, TinoPay - [Create a notification app](https://developers.tino.vn/en/docs/api/tinopay-post-notification-apps.md): Notifications; POST /service/@id/tinopay/notification-apps, TinoPay - [Notification app details](https://developers.tino.vn/en/docs/api/tinopay-get-notification-apps-app.md): Notifications; GET /service/@id/tinopay/notification-apps/@app, TinoPay - [Update a notification app](https://developers.tino.vn/en/docs/api/tinopay-patch-notification-apps-app.md): Notifications; PATCH /service/@id/tinopay/notification-apps/@app, TinoPay - [Delete a notification app](https://developers.tino.vn/en/docs/api/tinopay-delete-notification-apps-app.md): Notifications; DELETE /service/@id/tinopay/notification-apps/@app, TinoPay - [Test the Sapo connection](https://developers.tino.vn/en/docs/api/tinopay-post-sapo-integrations-test.md): Sapo integration; POST /service/@id/tinopay/sapo-integrations/test, TinoPay - [List Sapo integrations](https://developers.tino.vn/en/docs/api/tinopay-get-sapo-integrations.md): Sapo integration; GET /service/@id/tinopay/sapo-integrations, TinoPay - [Create a Sapo integration](https://developers.tino.vn/en/docs/api/tinopay-post-sapo-integrations.md): Sapo integration; POST /service/@id/tinopay/sapo-integrations, TinoPay - [Get a Sapo integration](https://developers.tino.vn/en/docs/api/tinopay-get-sapo-integrations-integration.md): Sapo integration; GET /service/@id/tinopay/sapo-integrations/@integration, TinoPay - [Update a Sapo integration](https://developers.tino.vn/en/docs/api/tinopay-patch-sapo-integrations-integration.md): Sapo integration; PATCH /service/@id/tinopay/sapo-integrations/@integration, TinoPay - [Delete a Sapo integration](https://developers.tino.vn/en/docs/api/tinopay-delete-sapo-integrations-integration.md): Sapo integration; DELETE /service/@id/tinopay/sapo-integrations/@integration, TinoPay - [Sapo reconciliation log](https://developers.tino.vn/en/docs/api/tinopay-get-sapo-order-logs.md): Sapo integration; GET /service/@id/tinopay/sapo-order-logs, TinoPay - [List API tokens](https://developers.tino.vn/en/docs/api/tinopay-get-api-tokens.md): API tokens; GET /service/@id/tinopay/api-tokens, TinoPay - [Create an API token](https://developers.tino.vn/en/docs/api/tinopay-post-api-tokens.md): API tokens; POST /service/@id/tinopay/api-tokens, TinoPay - [Revoke an API token](https://developers.tino.vn/en/docs/api/tinopay-delete-api-tokens-token.md): API tokens; DELETE /service/@id/tinopay/api-tokens/@token, TinoPay - [Tino Uptime plan overview](https://developers.tino.vn/en/docs/api/uptime-get-overview.md): Uptime plan; GET /service/@id/uptime, Tino Uptime - [Usage against plan limits](https://developers.tino.vn/en/docs/api/uptime-get-usage.md): Uptime plan; GET /service/@id/uptime/usage, Tino Uptime - [List monitors](https://developers.tino.vn/en/docs/api/uptime-get-monitors.md): Monitors; GET /service/@id/uptime/monitors, Tino Uptime - [Create a monitor](https://developers.tino.vn/en/docs/api/uptime-post-monitors.md): Monitors; POST /service/@id/uptime/monitors, Tino Uptime - [Monitor details](https://developers.tino.vn/en/docs/api/uptime-get-monitors-monitor.md): Monitors; GET /service/@id/uptime/monitors/@monitor, Tino Uptime - [Update a monitor](https://developers.tino.vn/en/docs/api/uptime-put-monitors-monitor.md): Monitors; PUT /service/@id/uptime/monitors/@monitor, Tino Uptime - [Delete a monitor](https://developers.tino.vn/en/docs/api/uptime-delete-monitors-monitor.md): Monitors; DELETE /service/@id/uptime/monitors/@monitor, Tino Uptime - [Pause a monitor](https://developers.tino.vn/en/docs/api/uptime-post-monitors-monitor-pause.md): Monitors; POST /service/@id/uptime/monitors/@monitor/pause, Tino Uptime - [Resume a monitor](https://developers.tino.vn/en/docs/api/uptime-post-monitors-monitor-resume.md): Monitors; POST /service/@id/uptime/monitors/@monitor/resume, Tino Uptime - [Monitor uptime](https://developers.tino.vn/en/docs/api/uptime-get-monitors-monitor-uptime.md): Monitors; GET /service/@id/uptime/monitors/@monitor/uptime, Tino Uptime - [Monitor check results](https://developers.tino.vn/en/docs/api/uptime-get-monitors-monitor-results.md): Monitors; GET /service/@id/uptime/monitors/@monitor/results, Tino Uptime - [Monitor incidents](https://developers.tino.vn/en/docs/api/uptime-get-monitors-monitor-incidents.md): Monitors; GET /service/@id/uptime/monitors/@monitor/incidents, Tino Uptime - [List incidents](https://developers.tino.vn/en/docs/api/uptime-get-incidents.md): Incidents; GET /service/@id/uptime/incidents, Tino Uptime - [Incident details](https://developers.tino.vn/en/docs/api/uptime-get-incidents-incident.md): Incidents; GET /service/@id/uptime/incidents/@incident, Tino Uptime - [Acknowledge an incident](https://developers.tino.vn/en/docs/api/uptime-post-incidents-incident-ack.md): Incidents; POST /service/@id/uptime/incidents/@incident/ack, Tino Uptime - [List alert channels](https://developers.tino.vn/en/docs/api/uptime-get-channels.md): Alert channels; GET /service/@id/uptime/channels, Tino Uptime - [Create an alert channel](https://developers.tino.vn/en/docs/api/uptime-post-channels.md): Alert channels; POST /service/@id/uptime/channels, Tino Uptime - [Verify an alert channel](https://developers.tino.vn/en/docs/api/uptime-post-channels-channel-verify.md): Alert channels; POST /service/@id/uptime/channels/@channel/verify, Tino Uptime - [Send a test message](https://developers.tino.vn/en/docs/api/uptime-post-channels-channel-test.md): Alert channels; POST /service/@id/uptime/channels/@channel/test, Tino Uptime - [Delete an alert channel](https://developers.tino.vn/en/docs/api/uptime-delete-channels-channel.md): Alert channels; DELETE /service/@id/uptime/channels/@channel, Tino Uptime - [TinoPage Builder account overview](https://developers.tino.vn/en/docs/api/builder-get-overview.md): Builder account; GET /service/@id/builder/overview, TinoPage Builder - [One-time sign-in ticket](https://developers.tino.vn/en/docs/api/builder-post-login.md): Builder account; POST /service/@id/builder/login, TinoPage Builder - [List websites](https://developers.tino.vn/en/docs/api/builder-get-sites.md): Websites; GET /service/@id/builder/sites, TinoPage Builder - [Website details](https://developers.tino.vn/en/docs/api/builder-get-sites-site.md): Websites; GET /service/@id/builder/sites/@site, TinoPage Builder - [Create a website with AI](https://developers.tino.vn/en/docs/api/builder-post-sites.md): Websites; POST /service/@id/builder/sites, TinoPage Builder - [Website creation progress](https://developers.tino.vn/en/docs/api/builder-get-site-creation.md): Websites; GET /service/@id/builder/site-creation, TinoPage Builder - [Publish a website](https://developers.tino.vn/en/docs/api/builder-post-sites-site-publish.md): Websites; POST /service/@id/builder/sites/@site/publish, TinoPage Builder - [Pause a website](https://developers.tino.vn/en/docs/api/builder-post-sites-site-unpublish.md): Websites; POST /service/@id/builder/sites/@site/unpublish, TinoPage Builder - [Delete a website](https://developers.tino.vn/en/docs/api/builder-delete-sites-site.md): Websites; DELETE /service/@id/builder/sites/@site, TinoPage Builder - [Custom domains of a website](https://developers.tino.vn/en/docs/api/builder-get-sites-site-domains.md): Custom domains; GET /service/@id/builder/sites/@site/domains, TinoPage Builder - [Add a custom domain](https://developers.tino.vn/en/docs/api/builder-post-sites-site-domains.md): Custom domains; POST /service/@id/builder/sites/@site/domains, TinoPage Builder - [Check DNS again](https://developers.tino.vn/en/docs/api/builder-post-sites-site-domains-hostname-verify.md): Custom domains; POST /service/@id/builder/sites/@site/domains/@hostname/verify, TinoPage Builder - [Remove a custom domain](https://developers.tino.vn/en/docs/api/builder-delete-sites-site-domains-hostname.md): Custom domains; DELETE /service/@id/builder/sites/@site/domains/@hostname, TinoPage Builder - [Contacts and orders](https://developers.tino.vn/en/docs/api/builder-get-sites-site-leads.md): Contacts & orders; GET /service/@id/builder/sites/@site/leads, TinoPage Builder - [Domain whois lookup](https://developers.tino.vn/en/docs/api/get-whois-domain.md): Domains; GET /whois/@domain, public, no token ## Optional - [OpenAPI 3.1](https://developers.tino.vn/en/openapi.json): every /v1 route, scopes, parameters, response samples - [Identity & SSO](https://developers.tino.vn/en/llms/identity): context bundle, every page of the product in one file - [Domains & DNS](https://developers.tino.vn/en/llms/domains): context bundle, every page of the product in one file - [Cloud & Hosting](https://developers.tino.vn/en/llms/cloud): context bundle, every page of the product in one file - [Billing](https://developers.tino.vn/en/llms/billing): context bundle, every page of the product in one file - [TinoPay](https://developers.tino.vn/en/llms/tinopay): context bundle, every page of the product in one file - [Tino Uptime](https://developers.tino.vn/en/llms/uptime): context bundle, every page of the product in one file - [TinoPage Builder](https://developers.tino.vn/en/llms/builder): context bundle, every page of the product in one file - [TinoWAF](https://developers.tino.vn/en/llms/waf): context bundle, every page of the product in one file - [Tickets & support](https://developers.tino.vn/en/llms/tickets): context bundle, every page of the product in one file - [AI & MCP](https://developers.tino.vn/en/llms/ai): context bundle, every page of the product in one file - [OpenID discovery](https://api.tino.vn/.well-known/openid-configuration): JSON metadata running in production - [JWKS](https://api.tino.vn/oauth/jwks): public keys to verify ID tokens - [Protected resource metadata](https://api.tino.vn/.well-known/oauth-protected-resource): RFC 9728, for MCP clients - [All docs in one file](https://developers.tino.vn/en/llms-full.txt)