Skip to content

Saves the editable profile fields — names, bio, headline, website and social links — and mirrors the display name onto the WordPress user record.

first_name is required. The bio is capped at 5000 characters and the headline at 60, both adjustable by filter. Social links whose key is not a registered provider are dropped. Changing the username is allowed for moderators, or for the owner when can_customize_username is on, and returns a redirect_url because the profile URL changes. Changing the email address is only offered when the caller has edit_users or the can_change_email privacy setting permits it on their own profile; in the latter case the change is held pending a confirmation email rather than applied.

Endpoint

  • Method: POST

  • Path: /profile/{username}

  • Edition: Core

  • Controller: ProfileController@updateProfile

  • Route source: fluent-community/app/Http/Routes/api.php:87

  • Controller source: fluent-community/app/Http/Controllers/ProfileController.php

  • Editing someone else profile requires community-moderator access; only moderators may set is_verified, status or badge slugs.

Live sample

The request and response below were recorded against a running FluentCommunity install and then anonymised — member names, emails, avatars and post content are fictional, and long collections are trimmed to a few entries.

POST Update Profile

POST
/profile/{username}

Saves the editable profile fields — names, bio, headline, website and social links — and mirrors the display name onto the WordPress user record.

Controller: ProfileController@updateProfile
Route source: fluent-community/app/Http/Routes/api.php:87

Authorizations

ApplicationPasswords

WordPress Application Passwords — use Basic auth with username:application_password.

Type
API Key (header: Authorization)

Parameters

Path Parameters

username*

Username extracted from the URL path.

Type
string
Required

Request Body

application/json
JSON
{
  
"data": {
  
  
"is_verified": "string",
  
  
"status": "string",
  
  
"username": "string",
  
  
"badge_slugs": [
  
  
  
"string"
  
  
],
  
  
"first_name": "string",
  
  
"last_name": "string",
  
  
"short_description": "string",
  
  
"website": "string",
  
  
"headline": "string",
  
  
"social_links": [
  
  
  
"string"
  
  
],
  
  
"email": "string"
  
}
}

Responses

Successful response

application/json
JSON
{
  
"message": "string",
  
"profile": {
  
  
"avatar": "string",
  
  
"badge": "string",
  
  
"compilation_score": 0,
  
  
"created_at": "string",
  
  
"display_name": "string",
  
  
"id": "string",
  
  
"is_verified": 0,
  
  
"last_activity": "string",
  
  
"meta": {
  
  
  
"badge_slug": [
  
  
  
  
{
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
}
  
  
  
],
  
  
  
"cover_photo": "string",
  
  
  
"headline": "string",
  
  
  
"short_description_rendered": "string",
  
  
  
"website": "string"
  
  
},
  
  
"permalink": "string",
  
  
"short_description": "string",
  
  
"status": "string",
  
  
"total_points": 0,
  
  
"updated_at": "string",
  
  
"user": {
  
  
  
"ID": 0,
  
  
  
"display_name": "string",
  
  
  
"photo": "string",
  
  
  
"user_email": "string",
  
  
  
"user_login": "string",
  
  
  
"user_nicename": "string",
  
  
  
"user_registered": "string",
  
  
  
"user_status": "string",
  
  
  
"user_url": "string"
  
  
},
  
  
"user_id": 0,
  
  
"username": "string"
  
}
}

Playground

Authorization
Variables
Key
Value
Body

Samples

Powered by VitePress OpenAPI

FluentCommunity developer documentation