hosting

PATCH /v1/sites/{site_id}/translation

Choose which languages this site serves to visitors.

所有 hosting 端点

身份验证

请将 API 密钥作为 bearer 令牌发送。该密钥必须具有 sites.manage 权限;缺少该权限的密钥将被拒绝并返回 403 状态码,而非 404。

此端点不需要组织 ID。您的密钥已用于识别其所属的组织,且响应范围也仅限于该组织。

免费试用

将尖括号中的内容替换为您自己的值,并将键占位符替换为您仪表板中的一个键。

curl -X PATCH https://api.zinndigital.com/v1/sites/{site_id}/translation \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "served_locales": <LocaleCode[]> }'

已登录?您仪表板中的 API 控制台会自动填入您真实的组织 ID 和您自己的密钥,并针对实时 API 运行请求,以便您查看实际的响应。 在 API 控制台中打开此端点

详细信息

Sets `served_locales` — the languages whose URLs the site publishes. **This does not buy or spend anything.** Every language is translated already: the tier includes all of them and the words were paid for at extraction, so switching one on is instant and switching one off costs nothing and destroys nothing. It is a publishing decision, not a purchase, which is why it needs `sites.manage` and not a billing scope. ⛔ An empty list means the site serves **no** translated URLs — it does not mean "all". Publishing 57 new indexed URL trees on someone's domain because a field was empty is an SEO event they did not ask for and cannot easily undo. A locale that is not in the platform's registry is a `422` naming it, never a silent drop: a typo that vanishes is how a customer waits a week for a language they believe they enabled. Requires `sites.manage`.

参数

名称类型必填内容简介
site_id (path)Uuid

请求正文

名称类型必填内容简介
served_localesLocaleCode[]The languages this site publishes. An empty list means none — never "all".

响应

名称类型必填内容简介
site_idUuidUUIDv7 identifier — sortable by creation time (docs/02 §8).
statestring<disabled, active, paused_standing, over_allowance>⛔ `paused_standing` is its own state, not a flavour of `disabled` — the remedies differ and only one of them is the customer's to act on.
tierSiteTranslationTier
available_tiersSiteTranslationTier[]The ladder, so the screen never hardcodes a price.
word_countintegerTranslatable words measured at the last read.
document_countinteger
last_extracted_atstringWhen we last successfully read the site. ⛔ Distinct from the attempt cursor the sweep keeps: a failed pass advances that and must not move this, or the screen would report a sit…
last_errorstringWhy the last pass did nothing, in words the customer can act on.
localesSiteTranslationLocale[]

此端点可能返回的错误

401 · 403 · 404 · 422