Skip to main content
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 HTTP 200 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

See Also