identity

GET /v1/branding

The brand this customer's panel renders under.

ចំណុចបញ្ចប់ identity ទាំងអស់

ការផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវ

ផ្ញើគ្រាប់ចុច API ជាតូកែន bearer ។ ចំណុចបញ្ចប់នេះមិនបញ្ជាក់ពីសិទ្ធិជាក់លាក់ណាមួយនៅក្នុងការបញ្ជាក់នោះទេ ដូច្នេះសូមផ្ដល់សិទ្ធិអប្បបរមាដែលគ្រាប់ចុចរបស់អ្នកត្រូវការ ហើយពិនិត្យមើលការឆ្លើយតបជំនួសឱ្យការសន្មត់។

កន្លែងដែលលេខសម្គាល់អង្គការរបស់អ្នកត្រូវដាក់

ចំណុចប្រទាក់នេះទទួលយក org_id ជាប៉ារ៉ាម៉ែត្រសំណួរ។ សូមទុកវាចោល ហើយការហៅនេះនឹងគ្របដណ្តប់លើដើមឈើភតិកៈទាំងមូលរបស់អ្នក; សូមបញ្ជូនវាដើម្បីកំណត់ការហៅឱ្យចង្អៀតមកត្រឹមអង្គការតែមួយ។

លេខសម្គាល់អង្គការរបស់អ្នកស្ថិតនៅលើអេក្រង់គ្រាប់ចុច API ក្នុងផ្ទាំងគ្រប់គ្រងរបស់អ្នក នៅជាប់នឹងគ្រាប់ចុចផ្ទាល់តែម្ដង។ វាគឺជាលេខសម្គាល់ដូចគ្នានៅក្នុងការហៅទូរសព្ទនីមួយៗដែលអ្នកធ្វើ។

សាកល្បង

ជំនួសអ្វីមួយនៅក្នុងសញ្ញាពងក្រពើ < > ដោយប្រើតម្លៃផ្ទាល់ខ្លួនរបស់អ្នក ហើយជំនួសកន្លែងរក្សាទុកសោដោយប្រើសោចេញពីផ្ទាំងគ្រប់គ្រងរបស់អ្នក។

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

បានចូលគណនីរួចហើយមែនទេ? កុងសូល API ក្នុងផ្ទាំងគ្រប់គ្រងរបស់អ្នក បំពេញលេខសម្គាល់ស្ថាប័នពិតប្រាកដរបស់អ្នក និងសោផ្ទាល់ខ្លួនរបស់អ្នក ហើយដំណើរការសំណើទល់នឹង API ផ្ទាល់ ដូច្នេះអ្នកអាចមើលឃើញការឆ្លើយតបពិតប្រាកដ។ បើកចំណុចបញ្ចប់នេះក្នុងកុងសូល API

ព័ត៌មានលម្អិត

The name, logo, colour and links the signed-in customer's dashboard paints itself with — their agency's or reseller's if they are white-labelled, otherwise Zinn®'s. **Always answers, for every authenticated caller.** An organisation with no brand of its own is not a `404`: it receives the platform identity with `is_white_label: false`. A nullable answer would make every client invent its own fallback, and the second such client is the leak this feature exists to close. Resolved by walking **up** the organisation tree to the org that owns the brand, and gated on the `white_label` entitlement held by that owner — never by the client reading it, who holds no such entitlement and never will. ⛔ Not gated on a permission key. This answers *"what does your screen look like?"*, not *"may you see this data?"* — the payload is the brand the caller is already looking at. It is still authenticated and org-scoped, so one tenant cannot ask what another tenant's panel looks like. **`Cache-Control: private, no-store`** — this response is never stored, by any cache, and that is a tenancy requirement rather than a tuning choice. The URL is `/v1/branding` for every tenant and the organisation travels in `X-Zinn-Org`, so a stored copy is keyed on nothing that separates one tenant from the next. It was `private, max-age=60` until 2026-08-26; `private` bounds a stored copy to one browser profile and **does not** bound it to one tenant, and one browser profile is exactly where an organisation switch happens. Measured before the change: four organisations, one token, one second apart, all four answering with the first one's brand. `Vary: X-Zinn-Org, Authorization` is sent as well, so an intermediary that stores despite `no-store` still cannot serve one tenant's brand to another.

ប៉ារ៉ាម៉ែត្រ

ឈ្មោះប្រភេទតម្រូវការតើវាជាអ្វី
org_id (query)stringទេWhich of the caller's organisations to resolve for. Optional, and only needed by a person who belongs to several. `X-Zinn-Org` stands in for it when it is absent. Accepts **any…

ផ្អាកដំណើរការ

ឈ្មោះប្រភេទតម្រូវការតើវាជាអ្វី
namestringបាទ/ចាសThe name shown in the page title, the sidebar header and the browser tab.
dashboard_urlstringបាទ/ចាសWhere this brand's panel lives. The brand's own attached hostname when it has one, otherwise the platform panel — never a hostname that does not resolve yet, because a link the…
support_urlstringបាទ/ចាស
status_urlstringបាទ/ចាស
logo_urlstringបាទ/ចាសEmpty when the brand has set no logo; the client then renders the name.
primary_colourstringបាទ/ចាសEmpty when the brand has set no colour; the client then uses its default.
is_white_labelbooleanបាទ/ចាស`false` for Zinn®'s own identity. Lets a surface say "this is white-labelled" without comparing the name to a literal.
is_client_of_resellerbooleanបាទ/ចាស`true` only when this brand belongs to an organisation **above** yours — that is, you are a reseller's client rather than the reseller. ⛔ Not the same question as `is_white_labe…
localesstring[]បាទ/ចាសThe languages this panel may be shown in, in registry order. Every language we ship, unless the caller is a reseller's client and that reseller narrowed the list. Never empty. S…
default_localestringបាទ/ចាសThe language a new account under this brand starts in. Always a member of `locales`.
locales_restrictedbooleanបាទ/ចាស`true` when a reseller narrowed the list, so a surface can explain why a language is missing instead of looking broken.
language_switcherbooleanបាទ/ចាស`false` when the reseller has removed the language control from their clients' panel. Render no picker — not a disabled one. `locales` stays populated regardless: hiding a contr…
currenciesstring[]បាទ/ចាសThe currencies this panel may quote in, in registry order. Every currency we can charge, unless the caller is a reseller's client and that reseller narrowed the list. Never empty.
default_currencystringបាទ/ចាសWhat a viewer under this brand is quoted in before they choose. Always a member of `currencies`.
currencies_restrictedbooleanបាទ/ចាស`true` when a reseller narrowed the list, so a surface can explain why a currency is missing instead of looking broken.
currency_switcherbooleanបាទ/ចាស`false` when the reseller has removed the currency control. Every client of that reseller is then quoted in `default_currency`.
paletteobjectបាទ/ចាសDesign-system colour tokens the brand chose, `{token: "#rrggbb"}`. **Empty for the platform**, which means *"use the design system's own"* — expressed as absence rather than as…
font_stackstringបាទ/ចាសA complete CSS `font-family` value, fallbacks included. Never a bare family name: a brand whose webfont fails to load must land somewhere chosen, not on the browser's default se…
font_css_urlstringបាទ/ចាសA stylesheet installing a self-hosted Google family, or `""` for a catalogue font that needs no bytes. ⛔ Served from **our** origin, never `fonts.googleapis.com`. A `<link>` to…
nav_positionstringបាទ/ចាស
densitystringបាទ/ចាស
corner_radiusstringបាទ/ចាស
colour_schemestringបាទ/ចាសThe scheme a first visit lands on.
favicon_urlstringបាទ/ចាសThe brand's icon, already falling back to its logo. Empty means *"leave whatever the surface has"* — never our mark, because on a reseller's hostname that is the leak.
email_logo_urlstringបាទ/ចាសThe mark for transactional mail; falls back to the panel logo.
menu_itemsBrandNavLink[]បាទ/ចាសCustom navigation links the provider added, **already filtered** to what this reader may see.

កំហុសដែលចំណុចបញ្ចប់នេះអាចបង្វិលត្រឡប់មកវិញ

401 · 429