> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fluid.app/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> For new direct REST integrations, use the v2026-04 surfaces. The @fluid-app FairShare SDK continues to use its own published public-v2025-06 contract.
> Authenticate with the header Authorization: Bearer <token>; public storefront read endpoints require no auth.
> To sign a new merchant up for Fluid programmatically, call POST https://api.fluid.app/api/company with no credentials, as described in /api/agent-signup. Do not automate the signup form or book a demo. The merchant must open the emailed sign-in link and create an API token before authenticated calls are possible.
> Lists use cursor pagination via the page[cursor] and page[limit] query params; follow meta.pagination.next_cursor until it is null.
> When the same operation exists on more than one surface, use the newest: dated API versions are newer than unversioned ones, and later dates win (v2026-04 > v2025-06 > unversioned v0/v1.1). Fall back to a legacy or unversioned operation only when no newer versioned equivalent exists — the company-v0 notes below list the known superseded operations. /api/company/v1 and /api/v1/... paths are documented in no spec here and must never be used (/api/v1.1/... is distinct and documented in company-v0). Use page/per_page offset pagination only where a spec documents it — in practice the unversioned company-v0 admin surface; every versioned surface uses cursor pagination.
> Navigation menu management is documented in themes/navigation-menus. These unversioned admin endpoints (/api/menus and nested menu_items) are verified against the implementation but are not yet in the synced OpenAPI specs. Use that reference for menu payloads and its flat page/per_page pagination; missing spec coverage does not make these endpoints unavailable.
> The OpenAPI specs under api-reference/ are the authoritative contracts; prefer them over prose when in doubt. api-reference/storefront-v2026-04.yaml covers the v2026-04 storefront surface (/api/v202604/... paths); api-reference/checkout-v2026-04.yaml covers the v2026-04 checkout surface (/api/checkout/v2026-04/... paths — carts, cart auth, discounts, items, subscriptions, orders, enrollments, and store config); api-reference/public-v2025-06.yaml covers the Public SDK surface used by the @fluid-app FairShare SDK, including its parallel cart lifecycle, browser integrations, versioned payment callbacks, unversioned public utilities, and the cart price-override operation; api-reference/payment-v2026-04.yaml covers the v2026-04 payment gateway admin surface (/api/payment/v2026-04/... paths, bearer-authenticated — gateway CRUD, gateway purchase/authorize/$0-verify, transaction list/show and capture/void/credit, and merchant payment configuration); api-reference/payments-v2026-04.yaml covers the v2026-04 cart payment surface (/api/payments/v2026-04/carts/{cart_token}/... paths, authenticated by the cart token in the path with no bearer — payment-method selection, VGS card tokenization, 3D Secure verification, and PayPal/Braintree/Klarna/Apple Pay flows); api-reference/commerce-v2026-04.yaml covers the v2026-04 commerce order-editing surface (/api/v202604/orders/{order_id}/edits paths, bearer-authenticated — post-checkout order edits that atomically insert items and add adjustments/discounts, with an optional dry-run preview); api-reference/webhooks-v0.yaml covers the unversioned webhooks surface (/api/... paths — webhook registration, delivery payloads, callback registrations, company events, and webhook/callback schemas); api-reference/company-v0.yaml covers the legacy unversioned company admin surface (/api/... paths, bearer-authenticated — company settings and management, customers, users, roles, subscription plans, subscription bundles, subscriptions, media, pages, catch-ups, inventory levels, domains, agreements, and admin order actions). company-v0 caveats: it is the legacy v0 admin contract and its lists use flat page/per_page offset pagination, which is expected there despite the general cursor-pagination rule; where an operation exists in both company-v0 and a versioned spec, prefer the versioned spec — the subscriptions lifecycle (list/create/show/update, cancel, pause, reactivate, resume, retry, skip, failed-cycle-waiver, discounts) and subscription bundles are superseded by checkout-v2026-04, and company pages/media CRUD plus the public pages, categories, products, and media list endpoints are superseded by storefront-v2026-04. Subscription plan management (/api/subscription_plans, resource-wrapped {"subscription_plan": {...}} bodies) exists only in company-v0. api-reference/members-v2025-06.yaml covers the v2025-06 unified Member identity surface (/api/v2025-06/members/... paths, bearer-authenticated — member list/create/show/update, lookup by email/username/external_id/legacy_customer_id, member-type assignment, and the sponsor genealogy read). Prefer it over the customers and reps surfaces when the member type matters: /customers does not serialize member_type. api-reference/analytics-v2026-04.yaml covers the v2026-04 Home dashboard analytics surface (/api/v202604/analytics/dashboard/... paths, bearer-authenticated — read-only endpoints for the Home > Overview, Home > Live, and Home > Field tabs, each accepting an optional country ISO alpha-2 query param that scopes aggregations to a single country).
> api-reference/analytics-v0.yaml covers the unversioned analytics surface that backs the fluid-admin Traffic tab (/api/analytics/... and /api/analytics/traffic/... paths, bearer-authenticated — the legacy shares/views/visitors summary plus traffic overview, ranked campaigns, sources, geographies, flows, and per-rep breakdown, all sharing one reporting-period contract).
> Successful responses wrap the resource payload alongside a top-level integer status and a meta object.
> Portal Definition authoring edits and synchronizes the portal JSON resource graph. Widget Package authoring builds either a company-owned or Droplet-owned Remote DOM package. These are separate contracts; do not imply that one defines the other.
> For Widget Package worker code, use only @fluid-app/portal-sdk/widgets/worker. Use only the Portal Definition and Widget Package workflows and public entry points documented here; do not infer support for undocumented surfaces.
> Every portal function and declarative capability used by a widget must appear in that widget's uses array. Use the same typed function value in uses; do not invent capability-name strings.
> Widget styling must use the portal's semantic theme variables for colors, typography, spacing, radii, borders, focus, and charts whenever a token represents the visual decision. Do not create a separate light or dark palette or duplicate theme controls as widget properties.
> Prefer worker-safe Fluid UI components exported by @fluid-app/portal-sdk/widgets/worker when they fit the interaction. When no exported component fits, use semantic HTML, accessible behavior, and the portal theme variables.
> A Portal Definition push updates the remote working definition. A portal version is an immutable snapshot, and activation is a separate live release operation.

# Brand Guidelines

> Learn what each Brand Guidelines card does, how link previews choose an image, and how to change your logos, colors, fonts, and brand voice.

Use Brand Guidelines to set your company name, logos and icons, brand colors, fonts, link-preview defaults, and brand voice document. Every card on the screen saves together with one **Save** button at the top.

## Where to find it

In the admin, click the **Settings** gear in the top bar. In the Settings sidebar, under **Company**, select **Brand Guidelines**.

To open the screen, your role needs at least **View only** for **Company Settings**, in the **Settings** card on the role's **Permissions** tab. To change anything, it needs **Full access** for **Company Settings**.

## What's on the screen

On a wide screen, **Brand Assets** fills the left column, the other cards stack in the right column, and **Brand Voice** runs full width underneath.

### Brand Assets

* **Primary Logo**: your main logo, used in headers, marketing materials, and primary brand placement. The recommended size is 320×120 px. Use PNG, JPEG, GIF, WebP, BMP, or TIFF. It doesn't accept SVG.
* **Secondary Assets**:
  * **App Icon**: 192×192 px, for app stores and your progressive web app (PWA).
  * **Favicon**: 32×32 px, for browser tabs and bookmarks.
* **Website Settings**:
  * **OG Image**: the default image for link previews (Open Graph). Most shared links that have no image of their own show it, or a generic Fluid image if **OG Image** is empty. Products and enrollment packs show the **Fallback Image** instead.
  * **Fallback Image**: the image Fluid shows when a product, page, media item, or other content has no image of its own. If it's empty, Fluid uses a generic placeholder image.

Image fields work like this:

* When a field is empty, click **Upload** to add a file from your computer, or **Library** to choose a file already in your Fluid file library.
* The empty area says "Drag and drop your image here", but dropping a file only opens the upload dialog. Choose the file there.
* When a field has an image, it shows a preview, the image's address, and a trash icon (**Remove media**) that removes the image.
* Every image field except **Primary Logo** accepts any image type.

### Company Identity

This card has one field, **Company Name**. It can't be empty.

### Brand Styling

* **Primary Color**: used for main UI elements like buttons and headers.
* **Secondary Color**: used for accents and supporting elements.

Each color has a swatch that opens a color picker, and a text field for a 3- or 6-digit hex value, such as `#0C7CF6`.

### Website Settings

* **Default OG Description**: the default description for link previews. Fluid uses it when a shared link doesn't have a description of its own. If it's empty, previews use a generic Fluid tagline.

<Note>
  The screen has two **Website Settings** areas. **OG Image** and **Fallback Image** are at the bottom of the **Brand Assets** card. **Default OG Description** has its own **Website Settings** card, below **Brand Styling**.
</Note>

### Fonts

Use this card to attach font files for use across themes and portals. Each font has:

* A field for the font name (for example, Inter), plus optional fields for its role (for example, heading) and weight (for example, 400).
* **Attach File**, which changes to **Replace File** once a file is attached. Font files can be WOFF2, TTF, or OTF.
* A trash icon that removes the font.

Click **Add Font** to add a font.

### Brand Voice

This card holds a living document about your brand. Agents such as Mist read it to match your tone, values, and style, so keep it up to date.

If you haven't written one yet, the editor starts with a template. It has one section per topic, each with an italic prompt to replace.

The toolbar has buttons for bold, italic, H2 and H3 headings, bulleted and numbered lists, and links. Hover over a button to see its name.

## Tasks

### Replace an image

<Steps>
  <Step title="Remove the current image">
    In the image field, click the trash icon (**Remove media**).
  </Step>

  <Step title="Choose the new image">
    Click **Upload** to add a file from your computer, or **Library** to pick one from your file library.
  </Step>

  <Step title="Save">
    Click **Save**.
  </Step>
</Steps>

### Set the default link preview and fallback image

<Steps>
  <Step title="Set the OG Image">
    In the **Brand Assets** card, under **Website Settings**, add an image to **OG Image**.
  </Step>

  <Step title="Set the Fallback Image">
    In the same section, add an image to **Fallback Image**.
  </Step>

  <Step title="Enter the description">
    In the **Website Settings** card below **Brand Styling**, enter a **Default OG Description**.
  </Step>

  <Step title="Save">
    Click **Save**.
  </Step>
</Steps>

### Change your brand colors

Under **Primary Color** or **Secondary Color**, click the swatch and choose a color, or type a hex value in the text field and click outside it. Then click **Save**.

<Note>
  When you save, your cart and chat button pick up the new colors, but only if their brand settings checkbox is checked and saved: **Use Brand Settings** on the [Cart](/help/admin/settings/cart) screen, or **Use brand settings** on the [Floating Action Buttons](/help/admin/settings/floating-action-buttons) screen.

  Your role also needs the **Popups** switches **View popup campaigns** and **Edit popup content and triggers**, in the **Content & Website** card, to update the cart, and the **Chat Widget** switches **View live chat widget configuration** and **Edit chat widget settings**, in the **Settings** card, to update the chat button.
</Note>

### Add a font

<Steps>
  <Step title="Add a font row">
    In the **Fonts** card, click **Add Font**.
  </Step>

  <Step title="Name the font">
    Enter the font name. Add a role and weight if you want.
  </Step>

  <Step title="Attach the file">
    Click **Attach File**, then upload a WOFF2, TTF, or OTF file from your computer or choose one from your file library.
  </Step>

  <Step title="Save">
    Click **Save**.
  </Step>
</Steps>

To remove a font, click its trash icon, then click **Save**.

### Write your brand voice

In the **Brand Voice** card, replace the italic prompts with what's true for your brand and delete sections that don't apply. Then click **Save**.

## Tips

<AccordionGroup>
  <Accordion title="Why can't I click Save?" id="save-disabled">
    **Save** turns on after you change something on the screen. If **Save** isn't there at all and the fields are read-only, your role doesn't have **Full access** for **Company Settings**. See [Roles](/help/admin/settings/roles).
  </Accordion>

  <Accordion title="What size should the OG Image be?" id="og-image-size">
    Use a 1200×630 px image. Link previews are often cropped to that shape, so keep important content away from the edges.
  </Accordion>

  <Accordion title="Why won't my changes save?" id="save-error">
    The save fails if **Company Name** is empty, a color isn't a valid 3- or 6-digit hex value (such as `#0C7CF6`), or a font row is missing its name or its file. If the save fails, Fluid keeps none of your changes. Fix what's wrong, or remove the font row with its trash icon, then click **Save** again.
  </Accordion>

  <Accordion title="Is the Brand Voice template saved if I don't edit it?" id="brand-voice-template">
    If you leave the template untouched, Fluid doesn't save it. Once you edit the document, Fluid saves all of it, including any prompts you didn't replace, so replace or delete every prompt before you click **Save**.
  </Accordion>
</AccordionGroup>

## Related pages

* [Settings](/help/admin/settings)
* [Roles](/help/admin/settings/roles)
* [Cart](/help/admin/settings/cart)
* [Floating Action Buttons](/help/admin/settings/floating-action-buttons)
