diff --git a/packages/better-auth/src/plugins/organization/adapter.ts b/packages/better-auth/src/plugins/organization/adapter.ts index b4fed8ae68..32bcb61320 100644 --- a/packages/better-auth/src/plugins/organization/adapter.ts +++ b/packages/better-auth/src/plugins/organization/adapter.ts @@ -237,7 +237,10 @@ export const getOrgAdapter = ( value: organizationId, }, ], - update: data, + update: { + ...data, + metadata: data.metadata ? JSON.stringify(data.metadata) : undefined, + }, }); return organization; }, diff --git a/packages/better-auth/src/plugins/organization/routes/crud-org.ts b/packages/better-auth/src/plugins/organization/routes/crud-org.ts index ba8cc12ae1..1c9da86ac1 100644 --- a/packages/better-auth/src/plugins/organization/routes/crud-org.ts +++ b/packages/better-auth/src/plugins/organization/routes/crud-org.ts @@ -140,6 +140,11 @@ export const updateOrganization = createAuthEndpoint( description: "The logo of the organization", }) .optional(), + metadata: z + .record(z.string(), z.any(), { + description: "The metadata of the organization", + }) + .optional(), }) .partial(), organizationId: z.string().optional(),