Update Profile
Edit name, gender, date of birth, and phone. Email is never editable.
/io/profileUpdates the acting user's editable profile fields. Send only the fields you want to change. Email is never editable — it is managed by auth and is silently ignored if supplied.
Setting both gender and date_of_birth stamps profile_completed_at and flips profile_complete to true in the response.
Body parameters
display_namestring1–100 characters. Must be non-empty when present.
genderstringOne of male, female, non_binary, prefer_not_to_say, other. Mandatory for a complete profile — cannot be set to an empty value.
date_of_birthstringYYYY-MM-DD. Must be a valid past date with resulting age between 13 and 120. Mandatory for a complete profile.
phonestringOptional. 5–30 characters matching [+()\-\s\d]. Send an empty string to clear it to null.
No empty mandatory fields
You cannot clear gender or date_of_birth. Supplying an empty or invalid value returns 400 — the profile must stay completable once it has been completed.
A request that contains no updatable fields returns 400.
PATCH https://api.misar.io/io/profile?user_id=<uuid>
x-profile-service-key: <PROFILE_SERVICE_KEY>
Content-Type: application/json
{
"display_name": "Alice Smith",
"gender": "female",
"date_of_birth": "1994-03-21",
"phone": "+1 555 010 2030"
}
{
"id": "9f1c2e7a-4b6d-4a8e-9c10-2d3f4a5b6c7d",
"email": "[email protected]",
"username": "alice",
"display_name": "Alice Smith",
"avatar_url": null,
"gender": "female",
"date_of_birth": "1994-03-21",
"phone": "+1 555 010 2030",
"profile_complete": true
}{ "error": "Gender is required and must be one of: male, female, non_binary, prefer_not_to_say, other" }{ "error": "No updatable fields provided" }