Update the caller's profile

posthttps://api.expiryedge.com/v1/updateUser
any role (self only)60/minAny method
Request
curl -X POST 'https://api.expiryedge.com/v1/updateUser' \
  -H "Authorization: Bearer $EXPIRYEDGE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "firstName": "Priya",
  "lastName": "Shah-Patel",
  "phone": "+1 312 555 0142",
  "timezone": "America/Chicago"
}'
Response
{
  "message": "User updated successfully",
  "user": {
    "id": "u_71bXq",
    "email": "priya.shah@northwinddental.com",
    "firstName": "Priya",
    "lastName": "Shah-Patel",
    "phone": "+1 312 555 0142",
    "timezone": "America/Chicago",
    "role": "admin",
    "organization_id": "org_northwind",
    "updated_at": "2026-09-27T14:05:00.000Z"
  }
}

Only the listed fields are written; anything else (role, organization_id, email...) is ignored. 412 if the profile has not been provisioned yet.

Body parameters

application/json
  • firstNamestring
  • lastNamestring
  • displayNamestring
  • phonestring
  • addressany
    String or object.
  • avatarstring
  • biostring
  • timezonestring
  • localestring
  • dashboardColumnPrefsobject
  • notificationPrefsobject
  • uiPrefsobject

Returns

200
Profile updated.
  • messagestringrequired
  • userobjectrequired
    A user profile (users/{uid}).

Errors

400
The request is missing required fields or contains invalid values.
401
Missing, expired or invalid bearer token.
412
The user profile does not exist yet (registration incomplete).
429
Too many requests for this endpoint from your IP. Wait Retry-After seconds.