Update Agency Branding
Change the stored branding settings.
PUT
https://api.foxreach.io/ api/ v1/ agency/ brandingRequires an API key with the write scope.
Only API keys of an Agency workspace can call this endpoint (403 agency_required otherwise). The call always runs in the key's own workspace; X-Workspace-Id is ignored. Writes also need a key created by the agency workspace owner (403 agency_owner_required otherwise).
Only the fields you send change. The bring-your-own OpenAI key cannot be set through the API.
Body Parameters#
brandNamestringbodyUp to 100 characters.
logoUrlstringbodyHTTPS URL.
faviconUrlstringbodyHTTPS URL.
primaryColorstringbodyHex color such as
#1a2b3c.accentColorstringbodyHex color.
hideWatermarkbooleanbodyHide the FoxReach watermark.
Response#
Returns the branding after the change.
dataobjectShow data
brandNamestringBrand name shown to clients, or
null.logoUrlstringHTTPS logo URL, or
null.faviconUrlstringHTTPS favicon URL, or
null.primaryColorstringHex color.
accentColorstringHex color.
hideWatermarkbooleanWhether the FoxReach watermark is hidden.
hasOpenaiKeybooleanWhether a bring-your-own OpenAI key is stored. The key itself is never returned.
Errors#
| Status | Description |
|---|---|
401 | Missing, invalid, revoked or expired API key |
403 | API key does not have the required scope: write |
403 | agency_required or agency_owner_required |
422 | A URL is not HTTPS or a color is not a hex code |
Each change is recorded as an audit.agency_branding.updated event with the key as the actor and the names of the fields you sent (not their values), readable through the audit log.
Rate Limit#
- 120 requests per minute, shared by every
writecall in your workspace. Fixed 60-second window. - Every response includes
X-RateLimit-Limit,X-RateLimit-Remaining,X-RateLimit-Reset(unix epoch seconds) andX-RateLimit-Bucket(write). - A
429response includes aRetry-Afterheader (seconds until the bucket resets).
For client-side patterns, see Rate Limiting.
Was this page helpful?
View as MarkdownLast updated November 4, 2026