This Settings page is not live in production yet. Until it is turned on, your hub’s Settings page shows a single General settings form instead of the sections below. Create a hub describes that form.
The Settings page
The page is titled Settings. It is one scrolling page of seven sections, each with its own heading and one-line description, and no separate pages to open. Under the title, a line says “Only what the API holds today. Most of it saves in one call; Domain and Email have their own verify and test steps.”
A link such as
/hubs/{hub}/settings/basics opens the page scrolled to that section. The older addresses /settings/email, /settings/privacy, and /settings/redirects still work and scroll to Email, Sign-up, and Tracking & footer.
Most sections have Save and Discard buttons that appear once you change something. A confirmation, such as Settings saved., appears after a save. Some switches, such as Social sign-in, Enforce policies, and Mio watermark, save as soon as you flip them. The Registration switch under Sign-up is different: it needs Save.
Basics
Changing the slug changes the hub’s address, so links that use the old slug stop working. If another hub already uses the slug, the field shows That slug is already taken. The admin does not add a suffix for you here, unlike when you create a hub.
Sign-up
Registration controls whether anyone with the link can join the hub for free. Turn it off to make joining invite-only. While the hub is private, the switch has no effect until you make the hub public (see Visibility under Basics). Social sign-in (“Let members sign in with an account they already have.”) lists the sign-in providers set up for this hub, such as Google, each with a switch and a line that says “Members can sign in with it.” or “Turned off.” Turning a switch on lets members sign in with that account; turning it off hides it. A switch saves as soon as you flip it, and the admin confirms with a message such asGoogle turned on. If the hub has no providers, the section says No social sign-in providers are set up for this hub. The admin cannot add providers yet. To register one, see Register external sign-in providers.
For how members register and sign in, see Member authentication.
Domain
Every hub has a default address,{slug}.membership.io, which always works. The Domain section adds one custom domain of your own, such as www.yourdomain.com. A hub can have one live custom domain at a time.
- Select Add custom domain, type the hostname, and select Connect. The admin confirms with “Custom domain added”.
- The domain shows a Not verified badge, and the CNAME and TXT records to create appear below it, each with a copy button. Add them where you bought the domain.
- Select Verify. The Verify dialog repeats the records and says changes can take a few minutes to show up. When the records are found, the badge becomes Connected and the admin says “Domain verified”.
Sending (“Your mail server”) sends this hub’s email through your own SMTP server instead of Membership.io. Sequences only run on Membership.io’s sending, so they pause while this is on. A Status row shows Not set up until you save a server. Fill in Server address, Port, Encryption (STARTTLS, SSL/TLS, or None), Username, and Password, then the Sender group: From name, From address, and an optional Reply-to address. The password is stored encrypted and never shown again; leave the field empty to keep the saved one. Select Test and turn on. The admin sends a test email to your own address first and saves the server only if it goes through (“Mail server saved”). Once it is on, Send test sends another, and Turn off goes back to Membership.io’s sending.
Deliverability shows the hub’s sending Status (Sending normally, Warned, Slowed down, Suspended, or Not sending yet) and, for the last 24 hours, Sent, Delivered, Bounced (with hard and soft counts), Spam reports, Unsubscribes, Hard bounce rate, and Spam report rate.
Blocked addresses lists the addresses your hub never emails: unsubscribes, spam reports, and addresses you block. Block address asks for an Email address and the admin confirms with “Address blocked”. Each row says why the address is blocked. A block you added (Blocked by you) can be lifted with Remove block. The others (unsubscribes, spam reports, bounces, or a block by Membership.io) cannot be removed here, and the row says what to do. With none, the list says No blocked addresses.
Sending and Blocked addresses are for the team owner. Anyone else sees “Only the team owner can manage …” and “Ask the owner of this team if something here needs to change.”
Policies
Enforce policies decides whether members see the Terms of Service and Privacy Policy and must accept them to join. It saves as soon as you flip it.- On a private hub, switching it on makes members accept the policies.
- On a public hub, the Terms and Privacy Policy always show. The switch takes effect if you later make the hub private.
- Write the text in Markdown. Raw HTML is not allowed.
- The text cannot be empty and can be at most 64 KB.
- Select Save to publish it. The saved text is the version members see.
- The box’s options menu has Preview, which opens the public page in a new tab, and Reset to default, which asks you to confirm and then replaces your text with the standard one.
Tracking & footer
This section holds Magic-link redirect origins, the Mio watermark, and Custom CSS.Redirect origins
When a member signs in with a magic link, the hub can send them back to a site you list here, such as your own website. This list is the allowlist: a redirect to any other site is rejected. A new hub has none, so the section says “No redirect origins yet. Magic-link redirects are rejected until you add one.” An origin is the scheme, host, and optional port of a site, likehttps://yourwebsite.com. To add one, type it into Add an origin and select Add origin. To remove one, select the remove button on its row. Each add or remove saves right away.
The rules for an origin:
- It must start with
https://. Plainhttp://is allowed only forlocalhost,127.0.0.1, and[::1]. - Give only the origin: no path, query, or fragment. A single trailing
/is fine. - No username or password, so nothing before an
@. - No wildcards, and no spaces or control characters.
- A port is kept as you type it, including
:80and:443. It must be a number from 0 to 65535. - The host must be a plain ASCII domain name. For a Unicode domain, enter its punycode form, like
https://xn--bcher-kva.example. - At most 512 characters.
- An origin already in the list is not added twice.
Watermark and custom CSS
Mio watermark (“Shows a small Made with Mio badge in the footer of every hub page.”) is a switch that saves as soon as you flip it. Custom CSS is loaded on every hub page after your theme, for small tweaks the editor cannot make. Select Save to apply it.Delete hub
Delete hub removes the hub: members lose access and the files stay in the Library. It works as described in Delete a hub.Google Tag Manager through the API
The admin has no Google Tag Manager field yet, but a hub already stores its GTM container ID atsettings.tracking.gtm_container_id, and you can set it with the Admin API. The accepted value is GTM- followed by 1–20 uppercase ASCII letters or digits, for example GTM-1A2BCDEFG. Send a JSON:API PATCH to the hub:
PATCH preserves the hub’s other settings, so omit tracking when you are changing something else. To leave the container ID as it is, omit settings or settings.tracking. If you include tracking, send the gtm_container_id leaf: an empty object such as {"tracking": {}} is invalid. To clear the setting, send an explicit null; the hub then reads back null, which means no container is configured.
The tracking value must be an object containing only gtm_container_id. The API answers 422 to a null or non-object tracking value, an empty object, extra keys, an empty or malformed ID, lowercase characters, and suffixes longer than 20 characters. Errors point at the invalid setting with source.pointer, for example /data/attributes/settings/tracking/gtm_container_id. Validation happens before the update, so a rejected value is never saved. The API stores the ID only; it does not make any analytics request itself.
Not available yet
These settings are not in the admin yet:- Google Tag Manager, analytics, and pixel fields. The GTM container ID can be set through the API.
- Adding a social sign-in provider (see Register external sign-in providers).
Related guides
- Create a hub: create, manage, and delete a hub.
- Register external sign-in providers: the providers behind Social sign-in.
- Member authentication: registration and magic links.
- Login with your hub: use a hub as an identity provider for your own apps.