/service/@id/builder/sitesCreate a website with AI
JSON body {intake}: the AI picks a template and writes the content from the business details. HTTP 202: creation runs in the background for 1–5 minutes; poll Website creation progress until state is done (site_id is the new website) or failed. One creation per account at a time: 409 CREATION_IN_PROGRESS; no websites left: 409 LIMIT_EXCEEDED (details.key: sites); missing or invalid fields: 422 VALIDATION_FAILED per intake.<field>; AI paused: 503 AI_UNAVAILABLE.
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
| Name | Type | Required | Description |
|---|---|---|---|
id | int | Required | TinoPage Builder service ID |
Body (JSON)
| Name | Type | Required | Description |
|---|---|---|---|
intake | object | Required | Business details the AI uses to pick a template and write the content: `business_name`, `industry`, `phone` required; `address`, `city`, `services`, `hours`, `zalo`, `email` optional; maximum lengths in [Getting started with TinoPage Builder](/en/docs/builder-start#create-a-website-with-ai) |
idempotency_key | string | Optional | 8–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 code | Description |
|---|---|
404 · SERVICE_NOT_FOUND, invalid method | The service does not belong to the signed-in account, or is not TinoPage Builder. |
400 · INVALID_REQUEST | An ID, domain, query or body has the wrong shape; details.field names the field. |
403 · ACCOUNT_SUSPENDED | The service is suspended: writes are blocked, GET still works. |
404 · RESOURCE_NOT_FOUND | The website or domain is not in the account. |
409 · LIMIT_EXCEEDED | A limit of the purchased service is used up; details.key names the limit. |
422 · VALIDATION_FAILED | Invalid 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.