> ## 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.
> Fluid has three navigation APIs; don't mix them up. Storefront website menus (navigation bars, footers) are /api/menus and nested menu_items, in api-reference/content-v0.yaml (API Reference: Website > Navigation menus), with a how-to in themes/navigation-menus; their list uses flat page/per_page pagination. The Fluid mobile app's navigation is /api/v2/mobile_navigations, in api-reference/mobile-v2.yaml (API Reference: Mobile app > Navigation); its list also uses page/per_page. Portal navigations belong to a portal definition (Fluid OS), in api-reference/fluid-os-v0.yaml (API Reference: Portal > Portal navigation), and each has a platform of web or mobile.
> 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.

# Contacts

> Add, import and group your contacts, and keep notes, tasks and activity for each person in the app.

The **Contacts** tab keeps the people you work with in one place. You can text, email or call a contact, sort contacts into groups, and keep notes and tasks for each person.

## Where to find it

In the app, tap the **Contacts** tab.

## What's on the screen

The top bar has:

* **+**, which opens **Add New**: **Create Contact** and **Create Group**.
* A three-dots menu with **Import Contacts** and **Export Contacts**, when your company offers them, and **Bulk Delete**.

Below it are the **Contacts** tab and, if your app shows it, the **Groups** tab.

### Contacts tab

* Search by name, email address or phone number.
* Filter by group with the chips. If you select several, you see only the contacts in all of them. **All** clears the filter.
* Contacts are listed alphabetically. Tap a letter on the right edge to jump to it.
* Each row shows the contact's name and up to two of their groups, plus a count such as **+2** for the rest.
* Swipe right on a contact for **Add to Group**, or left for a delete button.
* Pull down to refresh.

An empty list offers **Sync Phone Contacts**.

### Groups tab

Each group shows its avatar, its name and how many contacts it has. Tap a group to open it, or swipe left on it to delete it.

### A contact's page

Tap a contact to open their page. **+** offers **New Task** and **New Note**. The menu has **Edit Contact**, **Edit Group** and **Delete Contact**.

* **Call** opens your phone app. **Text** opens a **New Text Message** menu and **Mail** opens a **New Email** menu. Tap **Open in Messages** or **Open in Mail** there to continue in your phone's messaging or email app. If your company has turned these menus off, **Text** and **Mail** open the apps directly. A grayed-out button with a **+** means a phone number or email address is missing. Tap it to add one.
* If the contact is in any groups, **Groups** lists them. Tap it to change them.
* The tabs:
  * **Activity**, if your app shows it: the contact's activity, newest first. Tap an entry for details.
  * **Tasks**: the contact's tasks.
  * **Notes**: pinned notes first, then the rest by date.
  * **Profile**: phone numbers and email addresses, each with a copy button.

## Add and edit contacts

<Steps>
  <Step title="Open the form">
    Tap **+**, then **Create Contact**.
  </Step>

  <Step title="Enter the details">
    Fill in what you know:

    * **Upload your contact photo**.
    * **Profile Information**: **First Name**, **Last Name**, **Primary Email Address**, **Secondary Email Address**, **Primary Phone Number** and **Secondary Phone Number**. Enter phone numbers as digits only, with an optional `+` at the start.
    * **Address**: **Country**, **Address Line 1**, **Address Line 2**, **State**, **City** and **Zip Code**. Choose the country first, because the **State** list depends on it.
  </Step>

  <Step title="Save">
    Tap **Save**. A contact needs at least a name, an email address or a phone number.
  </Step>
</Steps>

To change a contact, open their page and choose **Edit Contact** from the menu.

## Notes

Notes belong to a contact.

<Steps>
  <Step title="Start a note">
    On the contact's page, tap **+**, then **New Note**.
  </Step>

  <Step title="Write it">
    Enter a **Note Title** and the note's text. Both are required. To attach a photo or file, tap the paperclip.
  </Step>

  <Step title="Save">
    Tap **Save Note**. The note stays open, so tap the back arrow when you're done.
  </Step>
</Steps>

On the **Notes** tab, tap a note to edit it. Swipe left on a note to **Pin**, **Unpin** or **Delete** it. Pinned notes stay at the top.

## Tasks

A task (to-do) can be linked to a contact or stand alone. A contact's tasks are on the **Tasks** tab of their page. All your tasks are on the **To-Do List** screen. If your **Home** tab has a **To-Do List** widget, tap it to open that screen. See [Getting around the app](/help/mobile/getting-around).

The **To-Do List** screen has **Open** and **Done** tabs, and **+** for a new task. Each task shows its title, its contact and its due date. Overdue dates are red.

### Add a task

<Steps>
  <Step title="Start it">
    On the **To-Do List** screen, tap **+**. For a contact's task, tap **+** on their page, then **New Task**.
  </Step>

  <Step title="Fill it in">
    Enter a **Task Title**. It's required. Optionally, tap the person button to link a contact, or the calendar button to pick a due date and time in the future. A task started from a contact's page is already linked to them.
  </Step>

  <Step title="Save">
    Tap **Save Task**.
  </Step>
</Steps>

### Complete, edit or delete a task

* Tap the checkbox next to a task to mark it done. Tap it again to reopen it. The **Done** tab lists finished tasks.
* Swipe left on a task and tap **Edit** to change it, or **Delete** to remove it. **Delete** doesn't ask you to confirm.

## Groups

### Create a group

<Steps>
  <Step title="Open the form">
    Tap **+**, then **Create Group**.
  </Step>

  <Step title="Name it">
    Enter a **Group Name** that none of your other groups uses. Optionally, pick an emoji on **Change Emoji** and a background color on **Change Color**.
  </Step>

  <Step title="Save">
    Tap **Save**. It appears once you've made a change.
  </Step>
</Steps>

### Add contacts to a group

* Swipe right on a contact, tap **Add to Group**, then tap a group.
* On a contact's page, choose **Edit Group** from the menu. Tap a group to add the contact, or tap a checked group to take them out.
* On a group's page, choose **Add New Contacts** from the menu. Check the contacts you want, then tap **Add** with the count, such as **Add (3)**.

### Manage a group

Tap a group on the **Groups** tab to open its page, which lists its members.

* To create a contact in the group, tap **+**, then **Create Contact**.
* To take someone out of the group, swipe left on them, tap the delete button, then **Remove**. The contact stays in your list.
* The menu has **Edit group info**, for the name, emoji and color, and **Delete Group**.

## Import and export

### Sync your phone contacts

<Steps>
  <Step title="Open phone import">
    From the menu, choose **Import Contacts**, then **Add Phone Contact(s)**, and tap **Sync Phone Contacts**. On an empty list, tap **Sync Phone Contacts** instead.
  </Step>

  <Step title="Start the sync">
    In the panel that opens, tap **Sync Phone Contacts**.
  </Step>

  <Step title="Allow access">
    If the app asks to access your contacts, allow it. If you turned access off before, your phone's settings open so you can turn it on.
  </Step>
</Steps>

The app adds phone contacts that have a name and an email address or phone number, and skips ones already in your list. A **Syncing contacts** banner shows while it works. If you've shared only some of your phone's contacts with the app, a message may offer **Choose Contacts** so you can share more. **Manage Contacts Access** opens your phone's settings for the app.

### Import a CSV file

<Steps>
  <Step title="Open CSV import">
    From the menu, choose **Import Contacts**, then **Import .CSV**.
  </Step>

  <Step title="Get the template">
    Tap **Download .CSV Template** and fill it in. On iOS, the share sheet opens so you can save the file. On Android, choose a folder to save it in.
  </Step>

  <Step title="Import the file">
    Tap **Import Contacts** and choose your file. Your contacts appear shortly.
  </Step>
</Steps>

Keep the template's columns: `First Name`, `Last Name`, `Email`, `Phone` and `Status`. Each row needs an email address or a phone number, and rows with an invalid email address are skipped. For a second email address or phone number, add it to the same cell after a comma. List the contact's groups in the `Status` column.

### Export your contacts

<Steps>
  <Step title="Open export">
    From the menu, choose **Export Contacts**, then tap **Export Contacts**.
  </Step>

  <Step title="Confirm and save">
    The message shows how many contacts you're exporting. Tap **Export**. On iOS, the share sheet opens so you can save or send the file. On Android, choose a folder to save it in.
  </Step>
</Steps>

The file has `First Name`, `Last Name`, `Phone`, `Email` and `Status` columns. `Status` lists each contact's groups.

## Delete contacts

To delete one contact, swipe left on them, tap the delete button, then **Remove**. Or open their page, choose **Delete Contact** from the menu, then tap **Delete**.

To delete several at once:

<Steps>
  <Step title="Start bulk delete">
    From the menu, choose **Bulk Delete**.
  </Step>

  <Step title="Select contacts">
    Tap each contact you want to delete, or tap **Select All** to select all your contacts.
  </Step>

  <Step title="Delete">
    Tap **Delete** with the count, such as **Delete (5)**, then tap **Delete** again to confirm. To leave without deleting, tap **Cancel**.
  </Step>
</Steps>

<Warning>
  Before you confirm, check that the number of contacts in the message is what you expect.
</Warning>

## Tips

* Start every CSV import from **Download .CSV Template**, so your columns match what the app expects.
* To add a missing phone number or email address quickly, tap the grayed-out **Text**, **Mail** or **Call** button on the contact's page.

## Frequently asked questions

<AccordionGroup>
  <Accordion title="What can I see in a contact's activity?" id="what-information-can-i-see-about-my-contacts-activity">
    If your app shows the **Activity** tab on a contact's page, it lists their activity, newest first and grouped by day. Each entry has a title, a short description and the time. Tap an entry for details. Activity appears as you share with the contact and they engage. See [Sharing content](/help/mobile/sharing).
  </Accordion>

  <Accordion title="How do I create and manage contact groups?" id="how-do-i-create-and-manage-contact-groups">
    Tap **+**, then **Create Group**, and name the group. To add contacts, swipe right on a contact, use **Edit Group** on a contact's page, or use **Add New Contacts** on the group's page. See [Groups](#groups).
  </Accordion>

  <Accordion title="How do I manage tasks for a contact?" id="how-do-i-manage-tasks-for-my-contacts">
    Open the contact's page and go to the **Tasks** tab. To add a task, tap **+**, then **New Task**. See [Tasks](#tasks).
  </Accordion>

  <Accordion title="How do I import or export contacts?" id="mobile-app-importing-and-exporting-contacts">
    From the menu on the **Contacts** tab, choose **Import Contacts** to sync your phone's contacts or import a CSV file, or **Export Contacts** to save your list as a CSV file. See [Import and export](#import-and-export).
  </Accordion>

  <Accordion title="How do I get back contacts I deleted?" id="restore-deleted-phone-contacts">
    If they're still in your phone's contacts, run a force sync. From the menu, choose **Import Contacts**, then **Add Phone Contact(s)**, and tap **Sync Phone Contacts**. Tap **Force Contacts Sync**, then **Yes**. Your phone's contacts sync again, including ones you deleted from the app.
  </Accordion>
</AccordionGroup>

## Related pages

* [Getting around the app](/help/mobile/getting-around)
* [Sharing content](/help/mobile/sharing)
* [Getting help](/help/getting-help)


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