Admin API
General admin settings, email/storage configuration, onboarding, profile links, and course discovery.
Authentication
All admin endpoints are protected by AdminPolicy.
Endpoints
| Method | Path | Edition | Operation | What it does |
|---|---|---|---|---|
GET | /admin/general | Core | Get General Settings | Returns 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/general | Core | Save General Settings | Persists the portal-wide settings record — branding, access level, auth copy and redirects, and the portal slug. |
GET | /admin/email-settings | Core | Get Email Settings | Returns 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-settings | Core | Save Email Settings | Merges the submitted email notification settings over the stored ones and saves the result. |
GET | /admin/storage-settings | Core | Get Storage Settings | Returns the media storage driver configuration, with secrets masked; without the Pro plugin it always reports the local driver. |
POST | /admin/storage-settings | Core | Save Storage Settings | Validates and stores the media storage driver configuration, testing the connection before saving anything for remote drivers. |
GET | /admin/welcome-banner | Core | Get Admin Welcome Banner | Returns the two portal welcome banner variants — one shown to signed-in members, one to logged-out visitors — as stored, before rendering. |
POST | /admin/welcome-banner | Core | Save Admin Welcome Banner | Stores 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-settings | Core | Get Auth Settings | Returns the login and signup configuration together with the resolved form field definitions the auth screens render. |
GET | /admin/on-boardings | Core | Get Onboarding Settings | Returns 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-boardings | Core | Save Onboarding Settings | Applies the setup wizard answers — site title, logo, portal slug and starter content — and kicks off the optional plugin installs. |
POST | /admin/on-boardings/change-slug | Core | Change Portal Slug | Changes the URL segment the portal is served from and rebuilds the WordPress rewrite rules so the new path resolves immediately. |
GET | /admin/profile-link-providers | Core | Get Profile Link Providers | Returns the catalogue of social link providers members can add to their profile, including the ones currently disabled. |
POST | /admin/profile-link-providers | Core | Save Profile Link Providers | Records which social link providers are offered on the profile editor, discarding any submitted key that is not a known provider. |
GET | /admin/all_space_courses | Core | List All Space Courses | Returns every space and course row in serial order, ignoring privacy and membership, for use in admin pickers and mapping screens. |
GET | /admin/managers | PRO | List Admin Managers | Returns the paginated list of members who hold a FluentCommunity management role, with their role set and profile attached. |
POST | /admin/managers | PRO | Save Admin Manager | Grants 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} | PRO | Delete Admin Manager | Revokes every FluentCommunity management role from a user, leaving their WordPress account and community profile intact. |
GET | /admin/users | PRO | Search Admin Users | Searches WordPress users for the admin pickers, returning a paginated list matched on name, login and email. |
POST | /admin/auth-settings | PRO | Save Auth Settings | Normalises and stores the login and signup configuration, then returns it with the recalculated form field definitions. |
GET | /admin/license | PRO | Get License Status | Returns the current Pro licence state, including expiry and a renewal URL when the licence has lapsed. |
POST | /admin/license | PRO | Save License Key | Activates a Pro licence key against the remote licensing service and stores the returned licence data. |
DELETE | /admin/license | PRO | Deactivate License Key | Releases the Pro licence activation for this site so the key can be used elsewhere. |
GET | /admin/messaging-setting | PRO | Get Messaging Settings | Returns the direct-messaging configuration alongside the realtime socket credentials used by the chat client. |
POST | /admin/messaging-setting | PRO | Save Messaging Settings | Merges the submitted messaging settings over the stored ones and saves the realtime socket credentials when realtime chat is switched on. |
GET | /admin/custom-profile-fields | PRO | Get Custom Profile Fields | Returns the custom profile field configuration — the field groups, the field definitions and whether the feature is switched on. |
POST | /admin/custom-profile-fields | PRO | Post Save Custom Profile Fields | Replaces 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/students | PRO | Get Exportable Students | Returns a flattened, spreadsheet-shaped list of a course roster — name, email, username, progress percentage, enrolment date and last activity. |
GET | /admin/topics | PRO | List Topics | Returns the post topics defined for the community, along with every space they can be attached to. |
POST | /admin/topics | PRO | Save Topics | Creates a topic or updates an existing one, and reconciles which spaces the topic is available in. |
POST | /admin/topics/config | PRO | Save Topic Config | Stores 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} | PRO | Delete Topic | Deletes a post topic and every space relation recorded for it. |
GET | /admin/webhooks | PRO | List Webhooks | Returns the paginated list of inbound webhooks, and on the first page also the spaces and courses available as enrolment targets. |
POST | /admin/webhooks | PRO | Save Webhook | Creates 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} | PRO | Delete Webhook | Deletes an inbound webhook so its URL stops accepting calls. |
POST | /admin/links | PRO | Save Sidebar Link | Creates or updates a custom sidebar link inside a space group, including its icon, target and visibility rule. |
DELETE | /admin/links/{id} | PRO | Delete Sidebar Link | Removes a custom sidebar link from the portal navigation. |
GET | /admin/pwa-settings | PRO | Get Settings | Returns the Progressive Web App settings — app name, short name, icon source, theme colour and install prompt position. |
POST | /admin/pwa-settings | PRO | Post Save Settings | Validates and stores the Progressive Web App settings, marking a custom icon as permanent media and recording its pixel dimensions. |
GET | /admin/user-badges | PRO | List User Badges | Returns the badge definitions available to award to member profiles. |
POST | /admin/user-badges | PRO | Save User Badges | Replaces the whole badge catalogue with the submitted list, keying each badge by its slug and marking any uploaded logo as permanent media. |