JavaScript: updateUserById

Updates the user data. Changes are applied directly without confirmation flows.

Parameters

Examples

Example 1

// Server-side (Edge Function)
const { data, error } = await supabase.auth.admin.updateUserById(
  userId,
  { user_metadata: { preferences: { theme: 'dark' } } }
)

// Client-side (to sync the changes)
const { data, error } = await supabase.auth.refreshSession()
// onAuthStateChange listeners will now be notified with updated user

Updates a user's email

const { data: user, error } = await supabase.auth.admin.updateUserById(
  '11111111-1111-1111-1111-111111111111',
  { email: 'new@email.com' }
)

Updates a user's password

const { data: user, error } = await supabase.auth.admin.updateUserById(
  '6aa5d0d4-2a9f-4483-b6c8-0cf4c6c98ac4',
  { password: 'new_password' }
)

Updates a user's metadata

const { data: user, error } = await supabase.auth.admin.updateUserById(
  '6aa5d0d4-2a9f-4483-b6c8-0cf4c6c98ac4',
  { user_metadata: { hello: 'world' } }
)

Updates a user's app_metadata

const { data: user, error } = await supabase.auth.admin.updateUserById(
  '6aa5d0d4-2a9f-4483-b6c8-0cf4c6c98ac4',
  { app_metadata: { plan: 'trial' } }
)

Confirms a user's email address

const { data: user, error } = await supabase.auth.admin.updateUserById(
  '6aa5d0d4-2a9f-4483-b6c8-0cf4c6c98ac4',
  { email_confirm: true }
)

Confirms a user's phone number

const { data: user, error } = await supabase.auth.admin.updateUserById(
  '6aa5d0d4-2a9f-4483-b6c8-0cf4c6c98ac4',
  { phone_confirm: true }
)

Ban a user for 100 years

const { data: user, error } = await supabase.auth.admin.updateUserById(
  '6aa5d0d4-2a9f-4483-b6c8-0cf4c6c98ac4',
  { ban_duration: '876000h' }
)