Skip to content

Admin API

General admin settings, email/storage configuration, onboarding, profile links, and course discovery.

Authentication

All admin endpoints are protected by AdminPolicy.

Endpoints

MethodPathEditionOperationWhat it does
GET/admin/generalCoreGet General SettingsReturns the portal-wide settings record together with the list of WordPress roles that can be granted portal access and whether open registration is enabled on the site.
POST/admin/generalCoreSave General SettingsPersists the portal-wide settings record — branding, access level, auth copy and redirects, and the portal slug.
GET/admin/email-settingsCoreGet Email SettingsReturns the global email notification settings — digest schedule, sender details and template branding — falling back to the portal logo when no email-specific logo is set.
POST/admin/email-settingsCoreSave Email SettingsMerges the submitted email notification settings over the stored ones and saves the result.
GET/admin/storage-settingsCoreGet Storage SettingsReturns the media storage driver configuration, with secrets masked; without the Pro plugin it always reports the local driver.
POST/admin/storage-settingsCoreSave Storage SettingsValidates and stores the media storage driver configuration, testing the connection before saving anything for remote drivers.
GET/admin/welcome-bannerCoreGet Admin Welcome BannerReturns the two portal welcome banner variants — one shown to signed-in members, one to logged-out visitors — as stored, before rendering.
POST/admin/welcome-bannerCoreSave Admin Welcome BannerStores both welcome banner variants and pre-renders their Markdown descriptions to HTML so the portal does not have to parse them per request.
GET/admin/auth-settingsCoreGet Auth SettingsReturns the login and signup configuration together with the resolved form field definitions the auth screens render.
GET/admin/on-boardingsCoreGet Onboarding SettingsReturns the general settings plus everything the setup wizard needs: which sibling Fluent plugins are already installed and the current user name and email to prefill.
POST/admin/on-boardingsCoreSave Onboarding SettingsApplies the setup wizard answers — site title, logo, portal slug and starter content — and kicks off the optional plugin installs.
POST/admin/on-boardings/change-slugCoreChange Portal SlugChanges the URL segment the portal is served from and rebuilds the WordPress rewrite rules so the new path resolves immediately.
GET/admin/profile-link-providersCoreGet Profile Link ProvidersReturns the catalogue of social link providers members can add to their profile, including the ones currently disabled.
POST/admin/profile-link-providersCoreSave Profile Link ProvidersRecords which social link providers are offered on the profile editor, discarding any submitted key that is not a known provider.
GET/admin/all_space_coursesCoreList All Space CoursesReturns every space and course row in serial order, ignoring privacy and membership, for use in admin pickers and mapping screens.
GET/admin/managersPROList Admin ManagersReturns the paginated list of members who hold a FluentCommunity management role, with their role set and profile attached.
POST/admin/managersPROSave Admin ManagerGrants or replaces the FluentCommunity role set for one WordPress user, creating their community profile if they do not have one yet.
DELETE/admin/managers/{user_id}PRODelete Admin ManagerRevokes every FluentCommunity management role from a user, leaving their WordPress account and community profile intact.
GET/admin/usersPROSearch Admin UsersSearches WordPress users for the admin pickers, returning a paginated list matched on name, login and email.
POST/admin/auth-settingsPROSave Auth SettingsNormalises and stores the login and signup configuration, then returns it with the recalculated form field definitions.
GET/admin/licensePROGet License StatusReturns the current Pro licence state, including expiry and a renewal URL when the licence has lapsed.
POST/admin/licensePROSave License KeyActivates a Pro licence key against the remote licensing service and stores the returned licence data.
DELETE/admin/licensePRODeactivate License KeyReleases the Pro licence activation for this site so the key can be used elsewhere.
GET/admin/messaging-settingPROGet Messaging SettingsReturns the direct-messaging configuration alongside the realtime socket credentials used by the chat client.
POST/admin/messaging-settingPROSave Messaging SettingsMerges the submitted messaging settings over the stored ones and saves the realtime socket credentials when realtime chat is switched on.
GET/admin/custom-profile-fieldsPROGet Custom Profile FieldsReturns the custom profile field configuration — the field groups, the field definitions and whether the feature is switched on.
POST/admin/custom-profile-fieldsPROPost Save Custom Profile FieldsReplaces the whole custom profile field configuration and keeps the `custom_profile_fields` feature flag in step with the submitted `is_enabled` value.
GET/admin/courses/{course_id}/export/studentsPROGet Exportable StudentsReturns a flattened, spreadsheet-shaped list of a course roster — name, email, username, progress percentage, enrolment date and last activity.
GET/admin/topicsPROList TopicsReturns the post topics defined for the community, along with every space they can be attached to.
POST/admin/topicsPROSave TopicsCreates a topic or updates an existing one, and reconciles which spaces the topic is available in.
POST/admin/topics/configPROSave Topic ConfigStores the community-wide topic limits — how many topics a post and a space may carry, and whether topics appear on post cards.
DELETE/admin/topics/{topic_id}PRODelete TopicDeletes a post topic and every space relation recorded for it.
GET/admin/webhooksPROList WebhooksReturns the paginated list of inbound webhooks, and on the first page also the spaces and courses available as enrolment targets.
POST/admin/webhooksPROSave WebhookCreates or updates an inbound webhook that adds or removes the resolved user from a set of spaces and courses when it is called.
DELETE/admin/webhooks/{id}PRODelete WebhookDeletes an inbound webhook so its URL stops accepting calls.
POST/admin/linksPROSave Sidebar LinkCreates or updates a custom sidebar link inside a space group, including its icon, target and visibility rule.
DELETE/admin/links/{id}PRODelete Sidebar LinkRemoves a custom sidebar link from the portal navigation.
GET/admin/pwa-settingsPROGet SettingsReturns the Progressive Web App settings — app name, short name, icon source, theme colour and install prompt position.
POST/admin/pwa-settingsPROPost Save SettingsValidates and stores the Progressive Web App settings, marking a custom icon as permanent media and recording its pixel dimensions.
GET/admin/user-badgesPROList User BadgesReturns the badge definitions available to award to member profiles.
POST/admin/user-badgesPROSave User BadgesReplaces the whole badge catalogue with the submitted list, keying each badge by its slug and marking any uploaded logo as permanent media.

FluentCommunity developer documentation