Org and user metadata replacement added; partial updates preferred
@clerk/backend@3.7.0
Minor Changes
-
Add
clerkClient.organizations.replaceOrganizationMetadata(organizationId, params)for replacing an organization's metadata fields in full. (#8787) by @brunol95Use
replaceOrganizationMetadatawhen the provided metadata should become the complete value for that metadata field:await clerkClient.organizations.replaceOrganizationMetadata(organizationId, { publicMetadata: { plan: 'pro' }, });Use
clerkClient.organizations.updateOrganizationMetadata(organizationId, params)when you want to partially update metadata with deep-merge semantics:await clerkClient.organizations.updateOrganizationMetadata(organizationId, { publicMetadata: { onboardingComplete: true }, });The
publicMetadataandprivateMetadataparameters onclerkClient.organizations.updateOrganization()are now deprecated. They continue to work, but new code should useupdateOrganizationMetadata()for partial updates orreplaceOrganizationMetadata()for full replacement. -
Add
clerkClient.users.replaceUserMetadata(userId, params)for replacing a user's metadata fields in full. (#8587) by @brunol95Use
replaceUserMetadatawhen the provided metadata should become the complete value for that metadata field:await clerkClient.users.replaceUserMetadata(userId, { publicMetadata: { plan: 'pro' }, });Use
clerkClient.users.updateUserMetadata(userId, params)when you want to partially update metadata with deep-merge semantics:await clerkClient.users.updateUserMetadata(userId, { publicMetadata: { onboardingComplete: true }, });The
publicMetadata,privateMetadata, andunsafeMetadataparameters onclerkClient.users.updateUser()are now deprecated. They continue to work, but new code should useupdateUserMetadata()for partial updates orreplaceUserMetadata()for full replacement.
Patch Changes
Fetched June 11, 2026


