Tino Developers
POST/service/@id/builder/sites/@site/domains

Add a custom domain

Adds a domain to the website: HTTP 201, the domain is pending with the DNS records the customer must set (dns). For an apex domain, dns also has a CNAME for www. An unpublished website answers 409 SITE_NOT_PUBLISHED; no domains left: 409 LIMIT_EXCEEDED (details.key: domains_per_site); domain in use by another website: 409 DOMAIN_TAKEN; not a domain: 422 VALIDATION_FAILED.

TinoPage Builder API · Updated 2026-10-26View .md

A TinoPage Builder service route: call it with the service owner's sign-in token; the /v1 gateway (app tokens, personal tokens) does not expose TinoPage Builder yet. See Getting started with TinoPage Builder.

Authentication

Send the token in the header Authorization:

Authorization: Bearer <token>

Tokens that can call it: the TinoPage Builder service owner's sign-in token (the tino.vn client area token).

Parameters

Path parameters

NameTypeRequiredDescription
idintRequiredTinoPage Builder service ID
sitestringRequiredWebsite ID (UUID, `id` in the website list)

Body (JSON)

NameTypeRequiredDescription
hostnamestringRequiredDomain to add (1–253 characters), e.g. `example.vn` or `banhang.example.vn`; TinoPage Builder strips `https://`, paths and upper case
idempotency_keystringOptional8–64 characters `A-Za-z0-9._:-`: resending the same key and content returns the earlier result instead of running again

Response

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

Error codes

Error codeDescription
404 · SERVICE_NOT_FOUND, invalid methodThe service does not belong to the signed-in account, or is not TinoPage Builder.
400 · INVALID_REQUESTAn ID, domain, query or body has the wrong shape; details.field names the field.
403 · ACCOUNT_SUSPENDEDThe service is suspended: writes are blocked, GET still works.
404 · RESOURCE_NOT_FOUNDThe website or domain is not in the account.
409 · LIMIT_EXCEEDEDA limit of the purchased service is used up; details.key names the limit.
422 · VALIDATION_FAILEDInvalid data; details lists the fields.
502, 503 · NETWORK_ERROR, NOT_CONFIGURED…The connection between Tino and TinoPage Builder is interrupted: a Tino-side error, not a token problem. Retry later.

Errors look like {"error": ["<CODE>"], "message", "details", "request_id"}; every code is in Getting started with TinoPage Builder.