Ìfàṣẹ́pọ̀
Fi bọ́ọ̀lù (bearer token) ranṣẹ gẹ́gẹ́ bí kọ́kọ́rọ́ API. Kọ́kọ́rọ́ náà gbọ́dọ̀ ní ìyọ̀ǹda reseller.manage; a ó kọ̀ ọ́ silẹ pẹlu 403, kii ṣe 404, ti kọ́kọ́rọ́ náà kò bá ní i.
Ibùdó àmì ìdánimọ̀ ilé-iṣẹ́ rẹ sí
Oju-iwọle yii nlo org_id gẹgẹbi ayẹwo ibeere. Fi silẹ ni ita yoo si bo igi iyalo rẹ lapapọ; ranṣẹ si lati dín ibeere naa kù si ajọ kan.
Id àjọ rẹ wa lórí ojú-ìwákòòkò àwọn bọ́tìnnì API nínú daṣibọọdú rẹ, lẹ́gbẹ̀ẹ́ bọ́tìnnì náà gan-an. Ó jẹ́ ìd kan náà nínú gbogbo ìpè tí o bá ṣe.
Gbiyanju rẹ
Rọ́pọ̀ èyíkéyìí nínú àwọn àmì ìtọ́ka < > pẹ̀lú iye tirẹ̀, àti àmì ìdánimọ̀ bọ́tìnnì náà pẹ̀lú bọ́tìnnì kan láti inú dásibọ̀ọ̀dù rẹ.
curl -X PUT https://api.zinndigital.com/v1/reseller/brand \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "name": <string> }'Ṣé o ti wọlé? Iwọ̀n api ní nú ìgbékalẹ̀ rẹ kún id àjọ gidi rẹ ati bọtini tirẹ, o si nṣiṣẹ ibeere na lòdì si api gidi ki o le rii esi gidi na. Ṣí ojú abáná yìí sílẹ̀ nínú kọnsólù API
Àwọn kúlẹ̀kúlẹ̀
Creates or updates your brand. Requires `reseller.manage` — reading your brand is a view permission; changing what every one of your clients sees is not. ⛔ **This endpoint is why white-label was unreachable until 2026-08-16.** The resolver, the entitlement gate, the org-tree walk, the e-mail path and the panel painting were all built and correct, and nothing anywhere could create the row they all read — `Brand` held zero rows across the estate. ⛔ `panel_hostname`, `sending_domain` and `sending_domain_verified` are **refused here, with a sentence saying why**, rather than ignored. All three are facts about the outside world this endpoint cannot establish: a hostname nobody serves is a link to nowhere, an unverified sending domain does not deliver, and a verified flag a customer can set is a wish rather than a verification. Refused with 422 when white-label is not on your plan — storing a brand the resolver would decline to serve is configuration that silently does nothing.
Àwọn ìpìlẹ̀
| Orúkọ | Iru | Tí a nílò | Kini o jẹ |
|---|---|---|---|
org_id (query) | Uuid | Bẹẹkọ | 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… |
Akoonu ibeere naa
| Orúkọ | Iru | Tí a nílò | Kini o jẹ |
|---|---|---|---|
name | string | Bẹẹni | What your clients are told they are using. Never blank. |
primary_colour | string | Bẹẹkọ | — |
support_url | string | Bẹẹkọ | — |
status_url | string | Bẹẹkọ | — |
palette | object | Bẹẹkọ | Named colour tokens, hex values only. An unrecognised token is a **422 naming it**, not a silent drop — a field that is ignored is how somebody comes to believe the platform is… |
font_source | string<catalogue, google, > | Bẹẹkọ | — |
font_key | string | Bẹẹkọ | — |
font_google_family | string | Bẹẹkọ | Install it with `POST /v1/reseller/brand/font` first — this field selects a family we already hold, and setting it alone would name a stylesheet with nothing behind it. |
nav_position | string<side, top, > | Bẹẹkọ | — |
density | string<comfortable, compact, > | Bẹẹkọ | — |
corner_radius | string<soft, square, > | Bẹẹkọ | — |
colour_scheme | string<system, light, dark, > | Bẹẹkọ | — |
favicon_sha256 | string | Bẹẹkọ | — |
email_logo_sha256 | string | Bẹẹkọ | — |
dns_nameservers | string[] | Bẹẹkọ | Your own nameservers. **At least two, or none** — a registrar refuses a single one, and refusing it here with a sentence is better than at the registrar with a code. |
Idahun
| Orúkọ | Iru | Tí a nílò | Kini o jẹ |
|---|---|---|---|
configured | boolean | Bẹẹni | Whether a brand row exists yet. False renders an empty form, not a 404. |
entitled | boolean | Bẹẹni | Whether white-label is on this org's plan at all. |
name | string | Bẹẹni | — |
logo_url | string | Bẹẹni | — |
primary_colour | string | Bẹẹni | — |
support_url | string | Bẹẹni | — |
status_url | string | Bẹẹni | — |
panel_hostname | string | Bẹẹni | 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 | Bẹẹni | 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 | Bẹẹni | The edge's own status word, for display. Never branch on it. |
panel_hostname_records | BrandDnsRecord[] | Bẹẹni | — |
sending_domain | string | Bẹẹni | Read-only here — provisioned on `/v1/reseller/brand/sending-domain`, because an unverified domain does not deliver. |
sending_domain_verified | boolean | Bẹẹni | Read-only. The mail provider's answer, not a setting. |
sending_domain_status | string | Bẹẹni | The provider's own status word, for display. Never branch on it. |
sending_domain_records | BrandDnsRecord[] | Bẹẹni | — |
palette | object | Bẹẹkọ | 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, > | Bẹẹkọ | `catalogue` for one of `font_catalogue`, `google` for a family we self-host. |
font_key | string | Bẹẹkọ | The catalogue key when `font_source` is `catalogue`. |
font_google_family | string | Bẹẹkọ | 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, > | Bẹẹkọ | — |
density | string<comfortable, compact, > | Bẹẹkọ | — |
corner_radius | string<soft, square, > | Bẹẹkọ | — |
colour_scheme | string<system, light, dark, > | Bẹẹkọ | 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 | Bẹẹkọ | 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 | Bẹẹkọ | — |
email_logo_sha256 | string | Bẹẹkọ | 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 | Bẹẹkọ | — |
dns_nameservers | string[] | Bẹẹkọ | 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[] | Bẹẹkọ | 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 | Bẹẹkọ | The allowed values for each layout choice, keyed by field name. |
palette_tokens | string[] | Bẹẹkọ | The colour tokens `palette` may name. |
accent_contrast | BrandAccentContrast | Bẹẹkọ | 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… |
Awọn aṣiṣe ti ibudo ipari yii le da pada
401 · 403 · 404 · 422 · 429