reseller

PUT /v1/reseller/brand

Set the identity your clients see.

Vituo vyote vya reseller

Uthibitishaji

Tuma ufunguo wa API kama tokeni ya kubeba. Ufunguo lazima uwe na ruhusa ya reseller.manage; ufunguo usio nayo unakataliwa kwa 403, si 404.

Mahali ambapo kitambulisho cha shirika lako huwekwa

Kigezo hiki kinachukua org_id kama kigezo cha utafutaji. Iache wazi na simu itashughulikia tawi lako lote la wapangaji; itume ili kupunguza simu iwe ya shirika moja tu.

Kitambulisho cha shirika lako kipo kwenye skrini ya funguo za API katika dashibodi yako, kando ya ufunguo wenyewe. Ni kitambulisho kile kile katika kila ombi unalofanya.

Jaribu

Badilisha chochote kilicho ndani ya mabano ya pembe na maadili yako mwenyewe, na kishikiliaji cha ufunguo na ufunguo kutoka kwa dashibodi yako.

curl -X PUT https://api.zinndigital.com/v1/reseller/brand \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "name": <string> }'

Umeingia kwenye akaunti? Dashibodi yako ya kiweko cha API inajaza kitambulisho chako halisi cha shirika na ufunguo wako mwenyewe, na kuendesha ombi dhidi ya API ya moja kwa moja ili uweze kuona jibu halisi. Fungua sehemu hii ya mwisho (endpoint) kwenye konsole ya API

Maelezo

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.

Vigezo

JinaAinaInayohitajikaKilicho hiki
org_id (query)UuidHapanaThe 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…

Mwili wa ombi

JinaAinaInayohitajikaKilicho hiki
namestringNdiyoWhat your clients are told they are using. Never blank.
primary_colourstringHapana
support_urlstringHapana
status_urlstringHapana
paletteobjectHapanaNamed 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_sourcestring<catalogue, google, >Hapana
font_keystringHapana
font_google_familystringHapanaInstall 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_positionstring<side, top, >Hapana
densitystring<comfortable, compact, >Hapana
corner_radiusstring<soft, square, >Hapana
colour_schemestring<system, light, dark, >Hapana
favicon_sha256stringHapana
email_logo_sha256stringHapana
dns_nameserversstring[]HapanaYour 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.

Majibu

JinaAinaInayohitajikaKilicho hiki
configuredbooleanNdiyoWhether a brand row exists yet. False renders an empty form, not a 404.
entitledbooleanNdiyoWhether white-label is on this org's plan at all.
namestringNdiyo
logo_urlstringNdiyo
primary_colourstringNdiyo
support_urlstringNdiyo
status_urlstringNdiyo
panel_hostnamestringNdiyoRead-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_activebooleanNdiyoWhether 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_statusstringNdiyoThe edge's own status word, for display. Never branch on it.
panel_hostname_recordsBrandDnsRecord[]Ndiyo
sending_domainstringNdiyoRead-only here — provisioned on `/v1/reseller/brand/sending-domain`, because an unverified domain does not deliver.
sending_domain_verifiedbooleanNdiyoRead-only. The mail provider's answer, not a setting.
sending_domain_statusstringNdiyoThe provider's own status word, for display. Never branch on it.
sending_domain_recordsBrandDnsRecord[]Ndiyo
paletteobjectHapanaNamed 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_sourcestring<catalogue, google, >Hapana`catalogue` for one of `font_catalogue`, `google` for a family we self-host.
font_keystringHapanaThe catalogue key when `font_source` is `catalogue`.
font_google_familystringHapanaA 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_positionstring<side, top, >Hapana
densitystring<comfortable, compact, >Hapana
corner_radiusstring<soft, square, >Hapana
colour_schemestring<system, light, dark, >HapanaThe 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_sha256stringHapanaA 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_urlstringHapana
email_logo_sha256stringHapanaThe 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_urlstringHapana
dns_nameserversstring[]HapanaYour **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_catalogueobject[]HapanaThe 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_optionsobjectHapanaThe allowed values for each layout choice, keyed by field name.
palette_tokensstring[]HapanaThe colour tokens `palette` may name.
accent_contrastBrandAccentContrastHapanaHow 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…

Hitilafu ambazo mwisho huu unaweza kurudisha

401 · 403 · 404 · 422 · 429