localization

GET /v1/i18n/slugs

Get translated URL slugs for every locale.

Svi localization krajnji točke

Autentifikacija

Pošaljite API ključ kao bearer token. Ova krajnja točka ne navodi određenu dozvolu u specifikaciji, stoga dajte svom ključu najmanje što mu je potrebno i provjerite odgovor umjesto da pretpostavljate.

Ova krajnja točka ne prihvaća ID organizacije. Vaš ključ već identificira organizaciju kojoj pripada, a odgovor je ograničen na nju.

Isprobajte

Zamijenite sve unutar šiljastih zagrada svojim vlastitim vrijednostima, a rezervirano mjesto za ključ s ključem iz vaše nadzorne ploče.

curl -X GET https://api.zinndigital.com/v1/i18n/slugs \
  -H "Authorization: Bearer zdk_live_…"

Prijavljeni ste? API konzola na vašoj nadzornoj ploči automatski unosi stvarni ID vaše organizacije i vaš vlastiti ključ te šalje zahtjev prema aktivnom API-ju kako biste mogli vidjeti stvarni odgovor. Otvori ovu krajnju točku u API konzoli

Pojedinosti

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.

Parametri

NazivVrstaObaveznoŠto je to
object_ref_prefix (query)stringNeOnly include slugs whose canonical id starts with this prefix.

Odgovor

NazivVrstaObaveznoŠto je to
slugsobjectDaCanonical `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 canon…

Pogreške koje ova krajnja točka može vratiti

401 · 403 · 422 · 429