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', }, ], directoryManaged: false, 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/user_management /organization_memberships /:idParameters Returns 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);
GET/user_management /organization_membershipsParameters Returns 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', });
POST/user_management /organization_membershipsReturns 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', }, );
PUT/user_management /organization_memberships /:idParameters Returns 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', );
DELETE/user_management /organization_memberships /:idParameters 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', );
PUT/user_management /organization_memberships /:id /deactivateParameters Returns 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', );
PUT/user_management /organization_memberships /:id /reactivateParameters Returns