Members are the site's customers (visitors who sign in with an emailed link), not the team that edits the site (list_site_members / invite_site_member are that team).
- Plans:
list_membership_plans,set_membership_plan({ slug, name, … })(the slug is permanent). Paid:stripePriceIds(Stripe price ids orpd:<rowId>);accessDayslimits a one-time price (omit = lifetime); free:selfSignup: truewith no prices;archivedstops selling but members keep it. Pro and up. - People:
list_members(filter plan, status, q),set_member({ action })add(+sendInvite),grant,revoke,extend,block,unblock,rename. Applies on their next page load; never cancels Stripe billing. - In a page the member is
customer.me | first, nevercustomeritself:me.plans['pro']is true while they hold the plan andme.planDays['pro']is the whole days since they got it (drip). Signed in at all iscustomer.signed_in.
HTML + Liquid
- Whole pages:
update_page({ policy: { access } })(seepages). Whole collections or single rows: seecollections. Files: seedownloads. Library blocks to start from:members-plan-gateandcustomer-account(the sign-in and account page). Customer accounts need a paid plan.