From 53a9261e7c243421403e1d9aa56adb4619c41d2e Mon Sep 17 00:00:00 2001 From: Tom Milewski Date: Wed, 28 May 2025 15:21:28 -0400 Subject: [PATCH] feat: Add getInstanceOrganizationMembershipList --- .changeset/angry-clouds-prove.md | 5 +++++ .../backend/src/api/endpoints/OrganizationApi.ts | 16 ++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 .changeset/angry-clouds-prove.md diff --git a/.changeset/angry-clouds-prove.md b/.changeset/angry-clouds-prove.md new file mode 100644 index 00000000000..6afe5d90816 --- /dev/null +++ b/.changeset/angry-clouds-prove.md @@ -0,0 +1,5 @@ +--- +'@clerk/backend': minor +--- + +Adds `clerkClient.organizations.getInstanceOrganizationMembershipList` diff --git a/packages/backend/src/api/endpoints/OrganizationApi.ts b/packages/backend/src/api/endpoints/OrganizationApi.ts index 69ffaef5772..d36a905dda9 100644 --- a/packages/backend/src/api/endpoints/OrganizationApi.ts +++ b/packages/backend/src/api/endpoints/OrganizationApi.ts @@ -136,6 +136,14 @@ type GetOrganizationMembershipListParams = ClerkPaginationRequest<{ createdAtAfter?: number; }>; +type GetInstanceOrganizationMembershipListParams = ClerkPaginationRequest<{ + /** + * Sorts organizations memberships by phone_number, email_address, created_at, first_name, last_name or username. + * By prepending one of those values with + or -, we can choose to sort in ascending (ASC) or descending (DESC) order. + */ + orderBy?: WithSign<'phone_number' | 'email_address' | 'created_at' | 'first_name' | 'last_name' | 'username'>; +}>; + type CreateOrganizationMembershipParams = { organizationId: string; userId: string; @@ -303,6 +311,14 @@ export class OrganizationAPI extends AbstractAPI { }); } + public async getInstanceOrganizationMembershipList(params: GetInstanceOrganizationMembershipListParams) { + return this.request>({ + method: 'GET', + path: '/organization_memberships', + queryParams: params, + }); + } + public async createOrganizationMembership(params: CreateOrganizationMembershipParams) { const { organizationId, ...bodyParams } = params; this.requireId(organizationId);