Member sites must be turned on for your company by Fluid. Until they are, every member site API request returns
404. To ask for them, contact support.What a member site is
A member site is a small set of pages that a company or one of its members builds. Members open it on your company’s own domain:/accounts/<site-handle>/<page-slug>. A site’s home page is /accounts/<site-handle>.
A site’s pages don’t render in the page you open. Fluid draws its own page around them and loads the site into a sandboxed frame on the same domain. The browser treats the frame as an anonymous origin, so a site’s code can’t use the signed-in member’s login on its own. A site’s JavaScript asks Fluid for the member’s data instead, with fluid.fetch. See Read viewer data in site scripts.
Fluid also draws the account menu outside the frame on every page. A site can’t hide or replace it.
Know who owns a site
Every site has one owner kind.
A member’s credentials build a member’s sites, and a company admin’s build the company’s. The CLI page shows which login to use.
Know a site’s status
A site is in one of three states.Publish a site
Everything you write is a draft until you publish the site. Members see only published copies of pages, layouts, sections, snippets and settings. A file that was never published renders as missing. A few changes have no draft and take effect on a published site as soon as you write them: assets,config/menus.json and page rows. Pages and menus lists each one.
Each publish is saved as a version of the site. You can list a site’s versions and restore one with the API. A company can take a site down, and you can copy a site, try a change on a branch or delete a site. Publish, restore, copy and take down a member site covers each, and List a site’s versions and Restore a site to a version are the operations.
To publish with the CLI, run fluid member-site publish. To publish with the API, see Publish a site for a member’s site and Publish a company site.
Choose who can open a site
A published site isprivate or public. A new site is private.
Sharing opens a private site to the members you choose. A share names one audience and a permission:
- Audience. One member, the sharing member’s downline, or a segment of the company’s members. A segment is a member type, a country, both, or neither, which means every member the sharer can reach.
- Permission.
viewopens the site.copyalso lets the member copy it into a site of their own.
copy permission or must own it. A copy holds the original’s published layouts, sections, snippets, pages, settings, text assets and menus, and starts as a draft that belongs to the member. See Copy a site.
Share a member site covers who can open a site in each case, what a share grants and how the messaging policy limits it. For the operations, see Share a site for members and Share a company site for admins.
Find sites in the account menu
A member’s account menu lists the sites they can open in four groups: the company’s sites, the sites they built, the sites shared with them, and the sites they removed. Read it with Show the member’s account menu. Members can arrange their own menu. None of these changes affects anyone else, and none gives access to a site the member can’t already open.- Remove a site from the menu. The site moves to the removed group. A member can’t remove their own sites or a company site the company requires.
- Pin sites. Pinned sites come first, in an order the member chooses. A member can pin up to 50 sites.
- Choose a home site. The member’s account opens on their home site while they can still open it. The site must be published.
/accounts opens and the limits. For these operations, see Pin a site to the member’s menu, Choose the member’s home site and Feature a site.
Declare what a site’s scripts use
A site’s JavaScript reaches Fluid withwindow.fluid.fetch, which behaves like fetch, and reads the signed-in owner’s data that way. Each path it calls needs a scope, such as profile: read. A site lists the scopes its scripts use in one file, config/access.json. The file is published with the site, and fluid member-site lint checks your scripts against it. Once a site has published a declaration, Fluid refuses a call whose scope the file lacks, and the owner’s code reaches only what the file lists. See Declare what a member site uses.
Build a site
You build a member site in one of two ways. Both write the same files and pages, so you can use them together.The fluid member-site CLI
Pull a site into a folder, edit it with your own tools, preview the draft, lint it, push it and publish it.
The member and company APIs
Create sites, write their files and pages, publish, share and copy them from your own code.
/api/member/v2026-10/sites builds a member’s own sites with the member’s credential. The company API at /api/company/v2026-10/member-sites oversees every site in the company and builds the company’s sites with a company admin’s credential. Build member sites with the APIs covers the credentials and links every operation. Start with Add a site for members and Create a company site for admins.
After you pick a way to build, read these pages in order:
- Build pages with Liquid covers the folder, the Liquid objects and the frame’s rules.
- Pages, menus and settings covers
config/pages.json,config/menus.jsonandconfig/settings.json. - Read viewer data in site scripts covers
window.fluid.fetch. - Declare what a member site uses covers
config/access.json. - Publish, restore, copy and take down a member site covers publishing, versions, copies, branches, take-down and deletion.
- Share a member site covers visibility and shares.
- Member sites in the account menu covers pins, the home site and featured sites.
- Build member sites with the APIs covers building without the CLI.