Update User
User Endpoints
Update User
Update a user’s profile fields, including avatar and banner images
PATCH
Update User
Updates one or more profile fields for the specified user. The requesting user must own the account, or use a service or master token to update any user.
Supports direct image uploads for the avatar and banner via
multipart/form-data. Uploaded images are processed, stored in Supabase, and the old files are automatically cleaned up after a successful update.
Send
application/json for text-only updates. Use multipart/form-data
when uploading image files.Authentication
Requires a valid user auth token. The authenticated user must match:userId, or the request must carry a service/master token.
Path Parameters
string
required
The Sublay user ID (UUID) to update.
Body Parameters
All fields are optional. Only the fields provided are updated.string
Display name.
string
New username. Automatically lowercased and sanitized. Returns 409 if already
taken by another user.
string
URL of the user’s avatar image. Ignored if
avatarFile is also provided.string
Short bio text.
string
ISO 8601 datetime string for the user’s date of birth (e.g.
"1990-06-15T00:00:00.000Z").object
Geographic location stored as a PostGIS point.
object
Public custom key-value data. Replaces the existing value.
object
Private custom key-value data. Not returned to other users. Replaces the
existing value.
file
Avatar image file (multipart). Maximum 50 MB. Must be a valid image.
Requires
avatarFile.options to be present in the same request.file
Banner image file (multipart). Maximum 50 MB. Must be a valid image.
Requires
bannerFile.options to be present in the same request.Response
On success, returns HTTP200 with the updated user’s authenticated profile:
string
Unique user ID (UUID).
string | null
External identifier from your system.
string
User role (e.g.,
"visitor").string | null
User’s email address.
string | null
Updated display name.
string | null
Updated username.
string | null
Avatar URL.
string | null
Bio text.
object | null
Public custom key-value data.
number | null
Reputation score.
boolean | null
Whether the user’s email has been verified.
boolean | null
Whether the user account is active.
string | null
ISO timestamp of the user’s last activity.
array
Active suspensions on the account.
object | null
Processed avatar image with variants.
object | null
Processed banner image with variants.
string[]
Active auth methods (e.g.,
["password", "google"]).string
ISO timestamp of account creation.
When
name, username, or bio changes, the user’s semantic search
embedding is automatically updated asynchronously.Error Responses
User Not Found — 404
User Not Found — 404
File Too Large — 413
File Too Large — 413
Invalid Image — 422
Invalid Image — 422
Missing Image Options — 400
Missing Image Options — 400
Validation Failed — 400
Validation Failed — 400
Invalid Params — 400
Invalid Params — 400
See Also
useUserActionshook —updateUser- Storage: Upload Image
- User data model

