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

# Entities

> Add your company's legal entities, set the default entity, and manage each entity's operating countries and bank accounts.

An entity is a legal company you do business through. This screen keeps each entity's registration details, the countries it operates in and its bank accounts, and lets you mark one entity as your default.

## Where to find it

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

To open the screen, your role needs at least **View only** for **Business Entities**, in the **Commerce** card on the role's **Permissions** tab. To add entities or change them, including their countries and bank accounts, it needs **Full access** for **Business Entities**. Some parts of the screen also need other permissions. See [Which other permissions do the entity screens use?](#related-permissions).

## What's on the screen

The **Add Entity** button is in the page header.

The table lists one row per entity:

* **Entity Name**: the entity's legal company name. A **Primary** badge marks your default entity.
* **Headquarters**: the city and state or province of the registered office. If both are empty, it shows the country code.
* **Countries Served**: a flag for each of the entity's operating countries. After four flags, the rest are counted, for example **+2 more**.
* **Status**: **Draft**, **Active**, **Inactive** or **Archived**.

Click a row to open the entity. Each row's three-dot menu has **Edit**, which also opens the entity, plus one of these:

* **Remove**, for a **Draft** entity that isn't your default and has no operating countries.
* **Archive**, for any other entity that isn't archived.
* **Restore**, for an archived entity.

If you have no entities yet, the table shows **Nothing to show**.

### Entity statuses

A new entity starts as **Inactive**.

* **Draft**: not yet put into service.
* **Active** and **Inactive**: only an entity with one of these statuses can be your default entity, have operating countries or be assigned to a gateway.
* **Archived**: taken out of service. It keeps its bank accounts, owners and history, and you can restore it.

### Entity details

The **New Entity** page and an entity's **Entity Information** tab show the same fields, in this order.

**Basic Information**

* **Legal Company Name** (required).
* **Trading Name**.
* **Billing Descriptor**: a name your customers will recognize. It can be up to 22 characters long and use letters, numbers, spaces and `& , . ' # * -`.

**Registered Office Address**

* **Country** (required).
* **Street Address** (required) and **Address Line 2**.
* **City**, **State/Province** and **Postal Code** (all required).
* **Registered office address and principal place of business are the same**: ticked by default. If the entity's principal place of business is at another address, untick it and fill in the **Principal Place of Business** section that appears. It has the same address fields.

**Additional Information**

* **Classification** (required): **Corporation**, **LLC**, **Partnership** or **Sole Proprietorship**.
* **Primary Merchant Category Code (MCC)** (required) and **Secondary Merchant Category Code (MCC)**. Each option shows the code and its name.
* **Phone**.
* **Website**: a full web address, such as `https://shop.example.com`.

**Tax Information & Registration**

* **Registration Number** and **Tax ID**.
* **Date of Incorporation** (required).

### The entity's page

When you open an entity, its legal company name is the page title, and the header has **Save** and an **Actions** menu. The page has two tabs, **Entity Information** and **Bank Accounts**.

The **Entity Information** tab shows the entity's details, then **Operating Countries**. Beside them, a **Settings** panel has:

* **Status**: choose **Draft**, **Active** or **Inactive**. Your default entity can't be moved to **Draft**. For an archived entity, the menu shows **Archived** and offers **Restore to Active** and **Restore to Inactive**. You can change the status only once all required fields are filled in.
* **Default Entity**: makes this entity the main and fallback entity for billing and tax.

**Status** and **Default Entity** save as soon as you change them. **Save** saves the entity's details, and it appears only on the **Entity Information** tab.

### Operating countries

**Operating Countries** lists the countries the entity operates in. A country can belong to only one entity. **Add Country** is above the table, which has these columns:

* **Country**.
* **Currency** and **Settlement Currency**.
* **Warehouse**.
* **Legally Registered**: **Yes** or **No**.
* **Default**: shows **Default** for the country set as the default.

Each row's three-dot menu has **Edit** and **Remove**.

**Add Country** and **Edit** open a side panel titled **Add Country** or **Edit Country**, with the entity's name under the title. Under **Country & Market Configuration**, it has:

* **Country** (required): where the entity operates and processes payments. Choose a country that isn't already on the **Countries** screen. Countries already on this entity aren't listed. A country that belongs to another entity is greyed out and shows **Assigned to** with that entity's name.
* **Warehouse** (required): the warehouse that fulfills orders for the country.
* **Currency Configuration**: **Auth Currency** (required) is the currency customers see at checkout and authorization. **Settlement Currency** (required) is the currency funds settle to your account in. When you choose a country, the auth currency is filled in with that country's currency, unless you've already picked one. Tick **Auth and Settlement currencies are the same** to set both with a single **Currency** field. When you set them separately, a note says that currency conversion happens automatically at settlement and that fees and exchange rates may apply.
* **Entity is legally registered in this country**: tick it to confirm the entity is registered and authorized to do business in the country.
* **Set as default country**: uses this country as the default for new configurations. Your company has one default country. Ticking this replaces the current one, which the **Countries** screen marks **Default**.

The panel ends with **Cancel** and **Save**.

### Bank Accounts tab

The **Bank Accounts** tab lists the entity's bank accounts. The **Add Bank Account** button is on the tab row. The table has these columns:

* **Bank Name**. A **Payout** badge marks your default payout account.
* **Account Holder**.
* **Account Number**: masked, so only the last four digits show.
* **Currency** and **Country**.
* **Status**: **Active** or **Inactive**.

Each row's three-dot menu has **Edit** and **Remove**.

**Add Bank Account** and **Edit** open a side panel titled **Add Bank Account** or **Edit Bank Account**. Under **Bank Information**, it has:

* **Bank Name** (required): the official name of the bank that holds the account.
* **Country** (required) and **City**.
* **Account Holder Name** (required): the legal name on the account, business or personal.
* **Currency** (required): the currency payouts are deposited in.
* **Account Number** (required), as your bank provides it.
* **Confirm Account Number** (required): appears only when you add an account. Type the account number again. It has to match.
* **Routing Number**: the bank identifier for domestic transfers. It appears when **Country** is the United States, Canada or Australia, and it's required for the United States.
* **SWIFT/BIC** (required): the international bank identifier for cross-border transfers. It appears for every country except the United States.

Under **Account Settings**, it has:

* **Legal Entity** (required): starts as the entity you're viewing. The list shows your **Active** and **Inactive** entities and the entity you're viewing.
* **Default Payout Account**: payouts settle to this account. Your company can have only one default payout account, so turning this on replaces the current one, even if it's on another entity.
* **Active**: on by default. Inactive accounts are hidden from payout selection.

The panel ends with **Cancel** and **Save**. When you edit an account, its account and routing numbers appear masked. Leave them as they are to keep the stored numbers.

## Add an entity

<Steps>
  <Step title="Open the form">
    Click **Add Entity**. The **New Entity** page opens.
  </Step>

  <Step title="Enter the entity's details">
    Fill in the required fields. If the principal place of business is at another address, untick **Registered office address and principal place of business are the same** and fill in that address too.
  </Step>

  <Step title="Create the entity">
    Click **Create Entity**. The button stays unavailable until all required fields are valid. You see **Entity created successfully**, and the list opens. The new entity is **Inactive**.
  </Step>
</Steps>

To add bank accounts, or countries that aren't already on the **Countries** screen, open the new entity from the list.

## Edit an entity

<Steps>
  <Step title="Open the entity">
    Click its row, or choose **Edit** from its three-dot menu.
  </Step>

  <Step title="Change the details">
    On the **Entity Information** tab, change the fields you need.
  </Step>

  <Step title="Save">
    Click **Save** in the header. You see **Entity updated successfully**.
  </Step>
</Steps>

## Change the default entity

The default entity has to be **Active** or **Inactive**. To make an entity the default, open it and turn on **Default Entity**. The previous default stops being the default.

You can also start from the current default:

<Steps>
  <Step title="Turn off Default Entity">
    Open the current default entity and turn off **Default Entity**. The **Choose a new default entity** dialog opens and lists your other **Active** and **Inactive** entities.
  </Step>

  <Step title="Choose the new default">
    Select the entity to take over and click **Set as Default**. You see **Default entity updated**.
  </Step>
</Steps>

If no other entity is **Active** or **Inactive**, you can't turn off **Default Entity** on the current default.

## Add an operating country

You can add countries only to an **Active** or **Inactive** entity, and only countries that aren't already on the **Countries** screen. A country you add here also appears on the **Countries** screen.

<Steps>
  <Step title="Open the panel">
    On the entity's **Entity Information** tab, click **Add Country**.
  </Step>

  <Step title="Choose the country and warehouse">
    Choose a **Country** that isn't already on the **Countries** screen, then the **Warehouse** that fulfills its orders.
  </Step>

  <Step title="Set the currencies">
    Check the **Auth Currency** and choose a **Settlement Currency**. If they're the same, you can tick **Auth and Settlement currencies are the same** instead.
  </Step>

  <Step title="Save">
    Tick **Entity is legally registered in this country** if it applies, and **Set as default country** if you want this country as the default. Click **Save**. You see **Country created successfully**.
  </Step>
</Steps>

To change a country, choose **Edit** from its three-dot menu, make your changes and click **Save**. You see **Country updated successfully**.

## Remove an operating country

<Warning>
  Removing a country removes it from your company, not just from this entity, along with its settings and its links to gateways and agreements. It also disappears from the **Countries** screen. This can't be undone.
</Warning>

<Steps>
  <Step title="Choose Remove">
    In the country's three-dot menu, choose **Remove**.
  </Step>

  <Step title="Confirm">
    In the **Delete Country** dialog, click **Delete**. You see **Country deleted successfully**.
  </Step>
</Steps>

If something still ties your company to the country, the removal is refused and the message says why.

## Add a bank account

<Steps>
  <Step title="Open the panel">
    On the entity's **Bank Accounts** tab, click **Add Bank Account**.
  </Step>

  <Step title="Enter the account details">
    Choose the **Country** first, because it decides which of **Routing Number** and **SWIFT/BIC** appear. Fill in the other bank and account fields, and type the account number again in **Confirm Account Number**.
  </Step>

  <Step title="Choose the account settings">
    To have payouts settle to this account, turn on **Default Payout Account**. To add the account as inactive, turn off **Active**.
  </Step>

  <Step title="Save">
    Click **Save**. You see **Bank account created successfully**.
  </Step>
</Steps>

To change an account, choose **Edit** from its three-dot menu, make your changes and click **Save**. You see **Bank account updated successfully**. To delete an account, choose **Remove**, then click **Delete** in the **Delete Bank Account** dialog. You see **Bank account deleted successfully**.

## Archive or restore an entity

Archive an entity to retire it. It keeps its bank accounts, owners and history, but it can no longer be the default entity, take new payment accounts or have countries assigned.

Archiving is refused while the entity is still the default, still has live payment accounts, such as a gateway, or still has operating countries. The message names what to move or resolve first. The same rules apply when you move an entity to **Draft**.

<Steps>
  <Step title="Choose Archive">
    In the list, choose **Archive** from the entity's three-dot menu. Or, on the entity's page, open **Actions** and choose **Archive Entity**.
  </Step>

  <Step title="Confirm">
    In the **Archive Entity** dialog, click **Archive Entity**. You see **Entity archived**.
  </Step>
</Steps>

To restore an archived entity, choose **Restore** from its three-dot menu, or **Restore Entity** from **Actions** on its page. It becomes **Active**, and you see **Entity restored**. To bring it back as **Inactive** instead, open it and choose **Restore to Inactive** under **Status**.

## Delete a draft entity

You can delete only a **Draft** entity that isn't your default and has no operating countries. To retire any other entity, archive it.

<Warning>
  Deleting an entity can't be undone. Its bank accounts and owners are deleted with it.
</Warning>

<Steps>
  <Step title="Choose Delete Entity">
    On the entity's page, open **Actions** and choose **Delete Entity**.
  </Step>

  <Step title="Confirm">
    In the **Delete Entity** dialog, type `DELETE` and click **Delete Entity**. You see **Entity deleted successfully**, and the list opens.
  </Step>
</Steps>

You can also choose **Remove** from the entity's three-dot menu in the list, then click **Delete** in the **Delete Entity** dialog. If something still depends on the entity, such as a live payment account, the delete is refused and the message says what to move or resolve first.

## Frequently asked questions

<AccordionGroup>
  <Accordion title="How do entities affect gateways?" id="entities-and-gateways">
    On the **Gateways** screen, you can assign an **Entity** to a gateway. Only an **Active** or **Inactive** entity can be assigned. For a gateway that supports 3DS, its 3DS merchant info comes from that entity: the **Legal Company Name**, the registered office **Country**, the **Primary Merchant Category Code (MCC)** and the **Website**. Anything the entity leaves blank comes from your company settings, and so does all of it when the gateway has no entity. See [Gateways](/help/admin/settings/gateways).
  </Accordion>

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

  <Accordion title="Why can't I add or change entities?" id="entity-actions-missing">
    Changes need **Full access** for **Business Entities**. With **View only**, the **Add Entity** button and the three-dot menus don't appear, and an entity's page is read-only. It has no **Save** or **Actions**, you can't change **Status** or **Default Entity**, and **Add Country** and **Add Bank Account** don't appear. Ask an admin who manages roles to set **Business Entities** to **Full access**, in the **Commerce** card. See [Roles](/help/admin/settings/roles).
  </Accordion>

  <Accordion title="Which other permissions do the entity screens use?" id="related-permissions">
    Parts of the screen depend on other areas of your role:

    * **MCC Codes**, in the **Commerce** card: **View only** or **Full access**, to load the merchant category code lists.
    * **Bank Accounts**, in the **Commerce** card: **View only** to see an entity's bank accounts, and **Full access** to add, edit or remove them.
    * **Company Countries**, in the **Settings** card: **View only** to see operating countries, and **Full access** to add, edit or remove them.
    * **Warehouses**, in the **Settings** card: at least **View only**, to load the **Warehouse** list when you add a country.
  </Accordion>
</AccordionGroup>

## Related pages

* [Settings](/help/admin/settings)
* [Gateways](/help/admin/settings/gateways)
* [Countries](/help/admin/settings/countries)
* [Warehouses](/help/admin/settings/warehouses)
* [Roles](/help/admin/settings/roles)


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