reseller

PUT /v1/reseller/brand

Set the identity your clients see.

Lahat ng reseller endpoint

Pagpapatotoo

Magpadala ng API key bilang isang bearer token. Kailangang taglayin ng key ang pahintulot na reseller.manage; ang key na wala nito ay tatanggihan gamit ang 403, hindi 404.

Kung saan mapupunta ang id ng iyong organisasyon

Tinatanggap ng endpoint na ito ang org_id bilang parameter ng query. Huwag itong isama at saklaw ng tawag ang buong subtree ng iyong tenancy; ipadala ito para paliitin ang tawag sa isang organisasyon.

Ang id ng iyong organisasyon ay nasa screen ng mga API key sa iyong dashboard, sa tabi mismo ng key. Ito ang parehong id sa bawat tawag na gagawin mo.

Subukan ito

Palitan ang anuman sa loob ng mga panaklong na may anggulo ng iyong sariling mga halaga, at ang placeholder ng key na may key mula sa iyong dashboard.

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

Nakalagda? Ang API console sa iyong dashboard ay awtomatikong naglalagay ng iyong tunay na ID ng organisasyon at sariling susi, at pinapatakbo ang kahilingan laban sa live na API upang makita mo ang aktwal na tugon. Buksan ang endpoint na ito sa console ng API

Mga Detalye

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.

Mga Parameter

PangalanUriKailanganAno ito
org_id (query)UuidHindiThe 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…

Katawan ng kahilingan

PangalanUriKailanganAno ito
namestringOoWhat your clients are told they are using. Never blank.
primary_colourstringHindi
support_urlstringHindi
status_urlstringHindi
paletteobjectHindiNamed 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, >Hindi
font_keystringHindi
font_google_familystringHindiInstall 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, >Hindi
densitystring<comfortable, compact, >Hindi
corner_radiusstring<soft, square, >Hindi
colour_schemestring<system, light, dark, >Hindi
favicon_sha256stringHindi
email_logo_sha256stringHindi
dns_nameserversstring[]HindiYour 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.

Tugon

PangalanUriKailanganAno ito
configuredbooleanOoWhether a brand row exists yet. False renders an empty form, not a 404.
entitledbooleanOoWhether white-label is on this org's plan at all.
namestringOo
logo_urlstringOo
primary_colourstringOo
support_urlstringOo
status_urlstringOo
panel_hostnamestringOoRead-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_activebooleanOoWhether 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_statusstringOoThe edge's own status word, for display. Never branch on it.
panel_hostname_recordsBrandDnsRecord[]Oo
sending_domainstringOoRead-only here — provisioned on `/v1/reseller/brand/sending-domain`, because an unverified domain does not deliver.
sending_domain_verifiedbooleanOoRead-only. The mail provider's answer, not a setting.
sending_domain_statusstringOoThe provider's own status word, for display. Never branch on it.
sending_domain_recordsBrandDnsRecord[]Oo
paletteobjectHindiNamed 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, >Hindi`catalogue` for one of `font_catalogue`, `google` for a family we self-host.
font_keystringHindiThe catalogue key when `font_source` is `catalogue`.
font_google_familystringHindiA 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, >Hindi
densitystring<comfortable, compact, >Hindi
corner_radiusstring<soft, square, >Hindi
colour_schemestring<system, light, dark, >HindiThe 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_sha256stringHindiA 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_urlstringHindi
email_logo_sha256stringHindiThe 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_urlstringHindi
dns_nameserversstring[]HindiYour **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[]HindiThe 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_optionsobjectHindiThe allowed values for each layout choice, keyed by field name.
palette_tokensstring[]HindiThe colour tokens `palette` may name.
accent_contrastBrandAccentContrastHindiHow 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…

Mga error na maibabalik ng endpoint na ito

401 · 403 · 404 · 422 · 429