POST /functions/v1/api with resource: "branding".
Access control
All branding actions require authentication. The user must belong to a team. Branding is stored at the team level.
| Action | Any user | Team member | Team owner | Admin |
|---|---|---|---|---|
get / all | No | Yes | Yes | Yes |
update | No | No | Yes | Yes |
clear | No | No | Yes | Yes |
generate-logo | No | Yes | Yes | Yes |
Get branding
Retrieves the team’s branding configuration.Must be
"branding"Must be
"get" or "all"Team object with
id, name, brandingThe branding object, or
null if no branding is set. Contains primaryColor, secondaryColor, logoUrl, gradientEnabled, gradientAngle, qrCodeStyle, embedStyle, extractedPalette, etc.Update branding
Updates the team’s branding configuration.Must be
"branding"Must be
"update"The branding object to set. Replaces the entire branding configuration.
Optional team name update (applied alongside branding).
Clear branding
Resets the team’s branding tonull (removes all custom branding).
Must be
"branding"Must be
"clear"Generate logo
Generate a professional AI logo icon. Returns a transparent PNG uploaded to storage. The logo is an icon/symbol only (no text). Generation takes 15-60 seconds.Must be
"branding"Must be
"generate-logo"Brand or business name. Used as a thematic hint to inspire the icon design (not rendered as text in the logo).
Short business description for prompt context. Example:
"A residential plumbing business in Austin, TX"Style preset. One of:
modern (default), classic, bold, friendly, tech, luxury.Industry context for relevant iconography. One of:
automotive, marine, appliances, office-equipment, home-builders, travel-hospitality, manufacturing, industrial, trades, plumbing, electrical, hvac, landscaping, real-estate, healthcare, fitness, restaurant, retail, technology, education, finance, legal.Public URL of the generated logo PNG (transparent background). Can be used directly as the
logoUrl in a branding update.Supabase Storage path:
generated-logos/{filename}.pngReplicate prediction ID for debugging/tracking.
The generated logo is a transparent PNG icon/symbol with no text. To apply it to your branding, take the returned
image_url and pass it as logoUrl in a subsequent update call.
