Skip to main content
Docs

Organization management

Use Clerk's Organization resources to manage members, invitations, and Organization settings.

Organization

Organization represents a Clerk Organization and provides member, invitation, and domain management helpers. You can access an Organization from organizationMembership.organization when working with Memberships.

Update Organization

let updatedOrganization = try await organization.update(
  name: "Acme",
  slug: "acme"
)
let deletedOrganization = try await organization.destroy()
let updatedOrganization = try await organization.setLogo(imageData: imageData)
let roles = try await organization.getRoles()
let admin = roles.data.first { $0.key == "org:admin" }
let memberships = try await organization.getMemberships()
let membership = try await organization.addMember(
  userId: userId,
  role: "org:member"
)
let updatedMembership = try await organization.updateMember(
  userId: userId,
  role: "org:admin"
)
let removedMembership = try await organization.removeMember(userId: userId)
let invitations = try await organization.getInvitations()
let organizationInvitation = try await organization.inviteMember(
  emailAddress: "new@acme.com",
  role: "org:member"
)
let organizationDomain = try await organization.createDomain(domainName: "acme.com")
let organizationDomains = try await organization.getDomains()
let organizationDomain = try await organization.getDomain(domainId: domainId)
let organizationMembershipRequests = try await organization.getMembershipRequests()

Organization Membership

OrganizationMembership represents a user's Membership within an Organization. You can access a Membership from user.organizationMemberships or from organization.getMemberships(...).

Update Role

let updatedMembership = try await organizationMembership.update(role: "org:admin")
let deletedMembership = try await organizationMembership.destroy()

Organization invitation

OrganizationInvitation represents an invitation sent to join an Organization. You can access an invitation from organization.getInvitations(...).

Revoke invitation

let revokedInvitation = try await organizationInvitation.revoke()

User Organization invitation

UserOrganizationInvitation represents an invitation sent to the current user. You can access an invitation from user.getOrganizationInvitations(...).

Accept invitation

let acceptedInvitation = try await userOrganizationInvitation.accept()

Organization domain

OrganizationDomain represents a verified email domain for an Organization. You can access a domain from organization.getDomains(...) or organization.getDomain(domainId:).

Send domain verification email

var organizationDomain = try await organization.createDomain(domainName: "acme.com")
organizationDomain = try await organizationDomain.sendEmailCode(affiliationEmailAddress: "admin@acme.com")
organizationDomain = try await organizationDomain.verifyCode("123456")
let deletedDomain = try await organizationDomain.delete()

Membership Request

OrganizationMembershipRequest represents a user's request to join an Organization. You can access a Membership Request from organization.getMembershipRequests(...).

Accept Request

let acceptedRequest = try await organizationMembershipRequest.accept()
let rejectedRequest = try await organizationMembershipRequest.reject()

Organization Suggestion

OrganizationSuggestion represents a suggested Organization the user can join. You can access an Organization Suggestion from user.getOrganizationSuggestions(...).

Accept Suggestion

let acceptedSuggestion = try await organizationSuggestion.accept()

Feedback

What did you think of this content?

Last updated on

GitHubEdit on GitHub