Docs

updateOrganizationMetadata()

Updates the metadata attributes of an Organization by merging existing values with the provided parameters. Metadata values will be updated via a "deep" merge - "deep" meaning that any nested JSON objects will be merged as well. You can remove metadata keys at any level by setting their value to null.

function updateOrganizationMetadata(
  organizationId: string,
  params: UpdateOrganizationMetadataParams,
): Promise<Organization>

Example

In the following example, you can see that the returned Organization object has its publicMetadata property updated with the new metadata provided.

const organizationId = 'org_123'

const response = await clerkClient.organizations.updateOrganizationMetadata(organizationId, {
  publicMetadata: {
    example: 'metadata',
  },
})

console.log(response)
/*
_Organization {
  id: 'org_123',
  name: 'test',
  slug: 'test',
  imageUrl: 'https://img.clerk.com/eyJ...',
  hasImage: false,
  createdBy: 'user_123',
  createdAt: 1702488558853,
  updatedAt: 1706722339338,
  publicMetadata: { example: 'metadata' },
  privateMetadata: {},
  maxAllowedMemberships: 3,
  adminDeleteEnabled: true,
  members_count: undefined
}
*/

Backend API (BAPI) endpoint

This method in the SDK is a wrapper around the BAPI endpoint PATCH/organizations/{organization_id}/metadata. See the BAPI reference for more information.

Feedback

What did you think of this content?

Last updated on