localization
GET /v1/i18n/slugs
Get translated URL slugs for every locale.
Аутентификация
Передайте API-ключ в качестве маркера носителя (bearer token). Эта конечная точка не указывает конкретное разрешение в спецификации, поэтому предоставьте своему ключу минимум необходимых прав и проверьте ответ, вместо того чтобы делать предположения.
Этот эндпоинт не принимает идентификатор организации. Ваш ключ уже определяет организацию, к которой он принадлежит, и ответ ограничивается ее рамками.
Попробовать
Замените всё в угловых скобках на собственные значения, а плейсхолдер ключа — на ключ из вашей панели управления.
curl -X GET https://api.zinndigital.com/v1/i18n/slugs \
-H "Authorization: Bearer zdk_live_…"Вошли в систему? Консоль API в вашей панели управления автоматически подставляет реальный идентификатор вашей организации и ваш собственный ключ, а также выполняет запрос к работающему API, чтобы вы могли увидеть актуальный ответ. Откройте эту конечную точку в API-консоли
Подробнее
Returns the calling organization's translated public URL slugs, keyed by the canonical (source-locale) identifier then by locale — what the public frontend needs to build locale-routed URLs and hreflang alternates (CLAUDE.md §2.19, docs/28, docs/30). Reads the slug surface only. Every emitted value is a valid URL path. The stored translation is normalised on the way out — case-folded to lower case, inner whitespace and underscores collapsed to single hyphens, NFC — and a value that is still not a usable path after that (most often a model answer that lost one of the source's / separators, so it names a different route) is omitted rather than emitted broken. The caller then falls back to the canonical URL, which is a live, indexable page; publishing the broken form would advertise a URL the router cannot resolve. This was added by W24-B on 2026-08-20 (docs/72 D12010) after measuring that 694 of 4,043 settled page slugs were values the public site's own validator refused — "Über uns", "Относно" — every one up_to_date, every one counted complete on the admin Translation Status dashboard, and not one of them reachable by any reader in any language. A locale's slug is emitted ONLY when its status is up_to_date. This is stricter than GET /v1/i18n/bundles/{locale}, and deliberately so: a URL is not a string on a page, it is an identity. Publishing a slug that is still stale/translating means publishing a URL that will change again within minutes — every link, share and crawl against the interim URL then 404s or bounces through a redirect, which costs real link equity and manufactures redirect churn on exactly the pages SEO cares about. A locale whose slug is not yet settled is simply absent from the response, and the caller falls back to the canonical URL until it is.
Параметры
| Имя | Тип | Обязательно | Что это |
|---|---|---|---|
object_ref_prefix (query) | string | Нет | Only include slugs whose canonical id starts with this prefix. |
Ответ
| Имя | Тип | Обязательно | Что это |
|---|---|---|---|
slugs | object | Да | Canonical object_ref -> locale -> translated slug. A locale appears only when its slug is up_to_date; anything less settled is omitted and the caller falls back to the… |
Ошибки, которые может возвращать этот эндпоинт
401 · 403 · 422 · 429