Skip to content

Update Agency Branding

Change the stored branding settings.

PUT/api/v1/agency/branding

Requires 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#

brandNamestringbody
Up to 100 characters.
logoUrlstringbody
HTTPS URL.
faviconUrlstringbody
HTTPS URL.
primaryColorstringbody
Hex color such as #1a2b3c.
accentColorstringbody
Hex color.
hideWatermarkbooleanbody
Hide the FoxReach watermark.

Response#

Returns the branding after the change.

dataobject
Show data
brandNamestring
Brand name shown to clients, or null.
logoUrlstring
HTTPS logo URL, or null.
faviconUrlstring
HTTPS favicon URL, or null.
primaryColorstring
Hex color.
accentColorstring
Hex color.
hideWatermarkboolean
Whether the FoxReach watermark is hidden.
hasOpenaiKeyboolean
Whether a bring-your-own OpenAI key is stored. The key itself is never returned.

Errors#

StatusDescription
401Missing, invalid, revoked or expired API key
403API key does not have the required scope: write
403agency_required or agency_owner_required
422A 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 write call in your workspace. Fixed 60-second window.
  • Every response includes X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset (unix epoch seconds) and X-RateLimit-Bucket (write).
  • A 429 response includes a Retry-After header (seconds until the bucket resets).

For client-side patterns, see Rate Limiting.

Was this page helpful?
View as MarkdownLast updated November 4, 2026