Autentificare
Trimiteți o cheie API ca token de tip bearer. Cheia trebuie să aibă permisiunea reseller.view; o cheie care nu o are va fi respinsă cu 403, nu 404.
Unde merge ID-ul organizației tale
Acest punct final acceptă org_id ca parametru de interogare. Omiteți-l și apelul va acoperi întregul subarbore al chiriașului dvs.; trimiteți-l pentru a restrânge apelul la o singură organizație.
ID-ul organizației tale se află pe ecranul cheilor API din panoul de control, lângă cheia însăși. Este același ID în fiecare apel pe care îl faci.
Încearcă
Înlocuiți tot ce se află între paranteze unghiulare cu propriile valori și substituentul cheie cu o cheie din tabloul de bord.
curl -X GET https://api.zinndigital.com/v1/reseller/brand \
-H "Authorization: Bearer zdk_live_…"Autentificat? Consola API din panoul de control îți completează ID-ul real al organizației și propria cheie și rulează cererea în API-ul live, astfel încât să poți vedea răspunsul efectiv. Deschideți acest punct final în consola API
Detalii
Your brand as your clients see it — the name on their panel, the logo, the accent colour and the help links. Requires `reseller.view`. ⛔ A brand you have not set up yet is a **200 with `configured: false`**, never a 404: the screen renders an empty form either way, and a 404 would make the app decide what "no brand" means. `entitled` reports whether white-label is on your plan at all.
Parametri
| Nume | Tip | Obligatoriu | Ce este |
|---|---|---|---|
org_id (query) | Uuid | Nu | The organization this call acts on. Optional for a caller with exactly one direct membership; **required** for anyone with more than one — which is every reseller and every agen… |
Răspuns
| Nume | Tip | Obligatoriu | Ce este |
|---|---|---|---|
configured | boolean | Da | Whether a brand row exists yet. False renders an empty form, not a 404. |
entitled | boolean | Da | Whether white-label is on this org's plan at all. |
name | string | Da | — |
logo_url | string | Da | — |
primary_colour | string | Da | — |
support_url | string | Da | — |
status_url | string | Da | — |
panel_hostname | string | Da | Read-only here — provisioned on `/v1/reseller/brand/panel-hostname`, because a hostname you merely typed is a link to nowhere on every client's screen. |
panel_hostname_active | boolean | Da | Whether the edge is actually **serving** it. ⛔ Measured, not the edge's status word: a custom hostname can be `active` with a valid certificate and still answer 522, so the engi… |
panel_hostname_status | string | Da | The edge's own status word, for display. Never branch on it. |
panel_hostname_records | BrandDnsRecord[] | Da | — |
sending_domain | string | Da | Read-only here — provisioned on `/v1/reseller/brand/sending-domain`, because an unverified domain does not deliver. |
sending_domain_verified | boolean | Da | Read-only. The mail provider's answer, not a setting. |
sending_domain_status | string | Da | The provider's own status word, for display. Never branch on it. |
sending_domain_records | BrandDnsRecord[] | Da | — |
palette | object | Nu | Named design-system colour tokens, `{token: "#rrggbb"}`, over the closed set in `palette_tokens`. ⛔ Hex only, and that is a security boundary rather than a formatting rule: a CS… |
font_source | string<catalogue, google, > | Nu | `catalogue` for one of `font_catalogue`, `google` for a family we self-host. |
font_key | string | Nu | The catalogue key when `font_source` is `catalogue`. |
font_google_family | string | Nu | A Google family NAME, never a URL. ⛔ We fetch the family once, server-side, and serve the woff2 files from our own origin — so your clients never make a request to Google and th… |
nav_position | string<side, top, > | Nu | — |
density | string<comfortable, compact, > | Nu | — |
corner_radius | string<soft, square, > | Nu | — |
colour_scheme | string<system, light, dark, > | Nu | The scheme a client's **first** visit lands on. ⛔ A default, never a lock — the panel's own theme toggle still works, because removing a visitor's dark mode is an accessibility… |
favicon_sha256 | string | Nu | A favicon distinct from the panel logo. Upload it with `POST /v1/branding/logo` and `purpose=favicon`. Empty falls back to the logo — a 32px render of a wordmark beats somebody… |
favicon_url | string | Nu | — |
email_logo_sha256 | string | Nu | The mark used in transactional mail (`purpose=email`). Separate because the constraints differ: mail clients render on a light background whatever the reader's theme, block SVG,… |
email_logo_url | string | Nu | — |
dns_nameservers | string[] | Nu | Your **own** authoritative nameservers, so a client typing them into a registrar never reads ours. Empty means ours. ⛔ At least two, or none — registrars refuse a single nameser… |
font_catalogue | object[] | Nu | The typefaces you may pick, served **with** the value so a new one appears in your picker on deploy rather than when somebody remembers to update the app too. |
layout_options | object | Nu | The allowed values for each layout choice, keyed by field name. |
palette_tokens | string[] | Nu | The colour tokens `palette` may name. |
accent_contrast | BrandAccentContrast | Nu | How readable your accent colour is, and the ink we will paint on it. ⚠️ **Reported, never enforced.** A legitimate corporate colour can be mid-grey, and refusing to save it woul… |
Erori pe care le poate returna acest punct final
401 · 403 · 404 · 429