Update the authenticated user's profile (partial; OTP-gated for sensitive fields)

Department-only payloads apply in a single call (200 user). Payloads containing first_name / last_name / contact_number enter a two-call OTP flow against update_user: empty code returns a challenge (data.type = "challenge", 201) carrying expiration_at/resend_at/factor; populated code verifies the OTP and applies the patch (data.type = "user", 200). Empty strings on contact_number/department clear the column; empty strings on first_name/last_name are rejected (NOT NULL). A non-empty contact_number must be an E.164 number with any country code (e.g. +639171234567) — anything else returns 422. login_notification is intentionally NOT here — see PATCH /v1/users/login_notification.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params

Profile patch payload (any subset of fields; same shape for both OTP calls — only code differs)

data
object
Responses

Language
Credentials
Bearer
JWT
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json