> ## 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.
> After signup, to launch a merchant's store (back-office sync, payments onboarding, store setup, a theme copied from their current site, and a preview link before billing), follow /api/agent-launch.
> 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. The same applies to /api/company/v1 and /api/v1/... paths: prefer a newer documented equivalent, and use one only when none exists (/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.
> The Help Center (/help/...) is for merchants, admins and reps using Fluid. Its admin pages mirror the admin's routes: the screen at admin.fluid.app/settings/taxes is documented at /help/admin/settings/taxes. Use the Help Center for how-to questions about the admin, and the Developer Platform and API Reference for building integrations.
> Help Center pages describe what a company admin sees. A reader's role can hide screens and actions; admins manage roles on Settings > Roles (/help/admin/settings/roles). If someone can't find a screen or button, their role's permissions are the first thing to check.
> Send people who need Fluid support to /help/getting-help. Don't invent support email addresses, phone numbers or response times.

# Member Types

> Create and edit member types, set each type's pricing tier and whether its members can act as a rep, and archive the types you no longer use.

Use the Member Types screen to manage your company's member types. For each type, you set the pricing tier its members price at and whether they can act as a rep.

## Where to find it

In the admin, click the **Settings** gear in the top bar. In the Settings sidebar, under **Commerce**, select **Member Types**.

To open the screen, your role needs at least **View only** for **Member Types**, in the **Other** card on the role's **Permissions** tab. To create, edit or archive member types, your role needs **Full access** for **Member Types**.

## What's on the screen

The **Create Member Type** button is in the page header.

The table lists one row per member type, including archived types. System member types come first. Within each group, types are sorted by name.

* **Name**: the member type's name. A **System** badge marks a system member type, and an **Archived** badge marks an archived one.
* **Slug**: the type's slug, set from its name when the type is created.
* **Pricing tier**: the pricing tier that members of this type price at. **Company default** means the type has no tier set, so it uses your company's default pricing tier.
* **Can act as rep**: **Yes** or **No**.

Each row has an **Edit** button, and each row that isn't a system member type has an **Archive** button. **Archive** is disabled for a type that's already archived.

If your company has no member types, you see **No member types found**. If the list can't load, you see an error such as **Couldn't load member types.** and a **Try again** button.

### Member type panel fields

**Create Member Type** and **Edit** open a side panel titled **Create Member Type** or **Edit Member Type**. In order, it has:

* **Name** (required). A new member type can't reuse the name of an existing one, even with different capitalization or if that type is archived.
* **Slug**: shown read-only when you edit a type. When you create a type, the panel tells you the slug is generated automatically from the name. Renaming a type doesn't change its slug.
* **Pricing tier**: the tier that members of this type price at. Choose **Company default** or one of the standard pricing tiers. As the panel notes, only system price types can be assigned today, so custom price types aren't listed. **Company default** leaves the tier unset, so the type uses your company's default pricing tier. The option shows that tier's name, for example **Company default (Retail)**. A new type starts on **Company default**.
* **Can act as rep**: turn this on to let members of this type act as a rep. It's off for a new type.

The panel has **Cancel** and **Save** buttons. If you leave **Name** empty, you see **Name is required** when you click **Save**.

## Create a member type

<Steps>
  <Step title="Open the panel">
    Click **Create Member Type**.
  </Step>

  <Step title="Enter the details">
    Enter a **Name**, for example `Ambassador`. Choose a **Pricing tier**, or leave it on **Company default**. To let members of this type act as a rep, turn on **Can act as rep**.
  </Step>

  <Step title="Save">
    Click **Save**. You see **Member type created**, and the new type appears in the table.
  </Step>
</Steps>

## Edit a member type

You can also edit system member types, for example to change their pricing tier.

<Steps>
  <Step title="Open the panel">
    In the member type's row, click **Edit**. The **Edit Member Type** panel opens with the current details.
  </Step>

  <Step title="Change the details">
    Change the **Name**, the **Pricing tier** or the **Can act as rep** setting. The slug stays the same.
  </Step>

  <Step title="Save">
    Click **Save**. You see **Member type updated**.
  </Step>
</Steps>

## Archive a member type

Archive a member type you no longer use. Members who already have the type keep it. The type stays in the table with an **Archived** badge. You can't archive a system member type.

<Warning>
  You can't unarchive a member type from this screen. Archive a type only when you're sure you no longer need it.
</Warning>

<Steps>
  <Step title="Choose Archive">
    In the member type's row, click **Archive**.
  </Step>

  <Step title="Confirm">
    The **Archive member type** dialog asks you to confirm. Click **Archive**. You see **Member type archived**.
  </Step>
</Steps>

## Frequently asked questions

<AccordionGroup>
  <Accordion title="What's the difference between Company default and choosing the default tier itself?" id="company-default-vs-retail">
    Members of the type price the same either way. **Company default** leaves the type without a tier, and the **Pricing tier** column shows **Company default**. Choosing the default tier itself, such as Retail, sets it on the type, and the column shows the tier's name.
  </Accordion>

  <Accordion title="Why can't I choose a pricing tier or click Save?" id="pricing-tiers-unavailable">
    The panel loads your company's pricing tiers when it opens. Until they load, the **Pricing tier** list shows **Loading pricing tiers...** and **Save** is disabled. If they can't load, you see **Pricing tiers could not be loaded.** Click **Try again**.
  </Accordion>

  <Accordion title="What happens if a save fails?" id="save-failed">
    You see an error with the reason, for example **A member type named "Ambassador" already exists**. The panel stays open with your entries, so you can fix them and click **Save** again.
  </Accordion>

  <Accordion title="Why can't I see Member Types in the Settings sidebar?" id="member-types-missing-from-settings">
    The **Member Types** item appears only if your role can view member types. Ask an admin who manages roles to edit your role's permissions: open the **Other** card, then set **Member Types** to **View only** or **Full access**. See [Roles](/help/admin/settings/roles).
  </Accordion>

  <Accordion title="Why can't I create, edit or archive member types?" id="member-type-actions-missing">
    The **Create Member Type**, **Edit** and **Archive** buttons appear only if your role has **Full access** for **Member Types**. With **View only**, you can see the table but not change it. Ask an admin who manages roles to open the **Other** card and set **Member Types** to **Full access**. See [Roles](/help/admin/settings/roles).
  </Accordion>
</AccordionGroup>

## Related pages

* [Settings](/help/admin/settings)
* [Roles](/help/admin/settings/roles)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.