Skip to content
masterclassBuddyTech Buzz5 fresh blogs · 5:00 AM IST

Clerk · Module

organizations.updateOrganization

Updates an existing Clerk organization by ID and returns the updated Organization. Pass optional organization attributes in the params object.

How it works

Call the backend organization method with the organization ID and an object containing only the attributes to change. The method returns a promise for the updated organization; use the dedicated metadata methods instead of passing metadata to this method.

Syntax

function updateOrganization(organizationId: string, params: { adminDeleteEnabled?: boolean; maxAllowedMemberships?: number; name?: string; privateMetadata?: OrganizationPrivateMetadata; publicMetadata?: OrganizationPublicMetadata; slug?: string }): Promise<Organization>

Parameters

NameTypeDescription
organizationIdstringThe ID of the Organization to update.
params{ adminDeleteEnabled?: boolean; maxAllowedMemberships?: number; name?: string; privateMetadata?: OrganizationPrivateMetadata; publicMetadata?: OrganizationPublicMetadata; slug?: string }Optional values to update: adminDeleteEnabled, maxAllowedMemberships, name, privateMetadata, publicMetadata, or slug.

Returns

Promise<Organization>

Key points

  • The method updates an existing organization and returns its revised representation.
  • organizationId is a string identifying which organization receives the update.
  • The params object contains the optional organization attributes that should change.
  • adminDeleteEnabled controls whether organization administrators may delete users.
  • maxAllowedMemberships sets the organization's membership capacity.
  • slug changes the organization's URL-friendly identifier.

Common mistakes

  • Do not use this method for metadata updates; use the dedicated metadata methods instead.
  • A maxAllowedMemberships value of zero removes the membership limit.
  • The SDK method is a wrapper around Clerk's backend API endpoint, so it is intended for backend use.

Example: Update an organization name

import { clerkClient } from '@clerk/express'

const organization = await clerkClient.organizations.updateOrganization(
  'org_123',
  { name: 'Test Updated' },
)

console.log(organization.name)

Updates an organization name through Clerk's backend SDK and receives the updated organization.

When to use it

Rename an organization

Change the display name of an existing organization.

Control membership capacity

Set or remove the maximum number of memberships.

Configure administrator deletion

Modify whether administrators can delete users.

Update the organization slug

Change an organization's URL-friendly identifier.

Interview questions

QWhat does organizations.updateOrganization return and what can it update?

It accepts an organization ID and an update-parameter object, then returns a Promise resolving to the updated Organization. The available updates include the name, slug, membership limit, admin deletion setting, and metadata fields.

Follow-up: How should metadata be changed? Use updateOrganizationMetadata() for partial deep-merge updates or replaceOrganizationMetadata() for full replacement.

QHow does maxAllowedMemberships behave?

maxAllowedMemberships controls the maximum number of memberships allowed in the organization. A value of 0 means there is no membership limit.

Follow-up: What would you choose when changing only organization metadata? Use updateOrganizationMetadata() so the metadata update is handled by the dedicated endpoint.

QWhat is the method signature and how are its arguments used?

The method is available as clerkClient.organizations.updateOrganization(organizationId, params). The organizationId identifies the target organization, while params contains the optional attributes to modify.

Follow-up: What API operation does the SDK wrap? It wraps PATCH /organizations/{organization_id}.

  • updateOrganizationMetadata()
  • replaceOrganizationMetadata()
  • Organization
  • clerkClient

Source: updateOrganization() - Organizations | Clerk Docs. Checked 2026-10-15.