An organization membership is a top-level resource that represents a user’s relationship with an organization. A user may be a member of zero, one, or many organizations.
See the events reference documentation for the organization membership events.
const organizationMembership = { object: 'organization_membership', id: 'om_01E4ZCR3C56J083X43JQXF3JK5', userId: 'user_01E4ZCR3C5A4QZ2Z2JQXGKZJ9E', organizationId: 'org_01E4ZCR3C56J083X43JQXF3JK5', organizationName: 'Foo Corp', role: { slug: 'admin', }, roles: [ { slug: 'admin', }, ], status: 'active', createdAt: '2021-06-25T19:07:33.155Z', updatedAt: '2021-06-25T19:07:33.155Z', };
interface OrganizationMembershipGet the details of an existing organization membership.
import { WorkOS } from '@workos-inc/node'; const workos = new WorkOS('sk_example_123456789'); const organizationMembership = await workos.userManagement.getOrganizationMembership( 'om_01E4ZCR3C56J083X43JQXF3JK5', );
Get a list of all organization memberships matching the criteria specified. At least one of user_id or organization_id must be provided. By default only active memberships are returned. Use the statuses parameter to filter by other statuses.
import { WorkOS } from '@workos-inc/node'; const workos = new WorkOS('sk_example_123456789'); const organizationMemberships = await workos.userManagement.listOrganizationMemberships({ userId: 'user_01E4ZCR3C5A4QZ2Z2JQXGKZJ9E', }); console.log(organizationMemberships.data);
userManagement .listOrganizationMemberships()Parameters objectReturns objectCreates a new active organization membership for the given organization and user.
Calling this API with an organization and user that match an inactive organization membership will activate the membership with the specified role(s).
import { WorkOS } from '@workos-inc/node'; const workos = new WorkOS('sk_example_123456789'); const organizationMembership = await workos.userManagement.createOrganizationMembership({ organizationId: 'org_01E4ZCR3C56J083X43JQXF3JK5', userId: 'user_01E4ZCR3C5A4QZ2Z2JQXGKZJ9E', roleSlug: 'admin', });
Update the details of an existing organization membership.
import { WorkOS } from '@workos-inc/node'; const workos = new WorkOS('sk_example_123456789'); const organizationMembership = await workos.userManagement.updateOrganizationMembership( 'om_01E4ZCR3C56J083X43JQXF3JK5', { roleSlug: 'admin', }, );
Permanently deletes an existing organization membership. It cannot be undone.
import { WorkOS } from '@workos-inc/node'; const workos = new WorkOS('sk_example_123456789'); await workos.userManagement.deleteOrganizationMembership( 'om_01E4ZCR3C56J083X43JQXF3JK5', );
userManagement .deleteOrganizationMembership()Parameters Deactivates an active organization membership. Emits an organization_membership.updated event upon successful deactivation.
inactive membership is a no-op and does not emit an event.pending membership returns an error. This membership should be deleted instead.See the membership management documentation for additional details.
import { WorkOS } from '@workos-inc/node'; const workos = new WorkOS('sk_example_123456789'); const organizationMembership = await workos.userManagement.deactivateOrganizationMembership( 'om_01E4ZCR3C56J083X43JQXF3JK5', );
Reactivates an inactive organization membership, retaining the pre-existing role(s). Emits an organization_membership.updated event upon successful reactivation.
active membership is a no-op and does not emit an event.pending membership returns an error. The user needs to accept the invitation instead.See the membership management documentation for additional details.
import { WorkOS } from '@workos-inc/node'; const workos = new WorkOS('sk_example_123456789'); const organizationMembership = await workos.userManagement.reactivateOrganizationMembership( 'om_01E4ZCR3C56J083X43JQXF3JK5', );