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

val updatedOrganization = organization.update(
    name = "Acme",
    slug = "acme"
)
val deletedOrganization = organization.destroy()
val updatedOrganization = organization.setLogo(imageData = imageData)
val roles = organization.getRoles()
val admin = roles.data.firstOrNull { it.key == "org:admin" }
val memberships = organization.getMemberships()
val membership = organization.addMember(
    userId = userId,
    role = "org:member"
)
val updatedMembership = organization.updateMember(
    userId = userId,
    role = "org:admin"
)
val removedMembership = organization.removeMember(userId = userId)
val invitations = organization.getInvitations()
val invitation = organization.inviteMember(
    emailAddress = "new@acme.com",
    role = "org:member"
)
val domain = organization.createDomain(domainName = "acme.com")
val domains = organization.getDomains()
val domain = organization.getDomain(domainId)
val requests = 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

val updatedMembership = membership.update(role = "org:admin")
val deletedMembership = membership.destroy()

Organization invitation

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

Revoke invitation

val revokedInvitation = organizationInvitation.revoke()

User Organization invitation

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

Accept invitation

val acceptedInvitation = 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 = organization.createDomain(domainName = "acme.com")
organizationDomain = organizationDomain.sendEmailCode(affiliationEmailAddress = "admin@acme.com")
organizationDomain = organizationDomain.verifyCode("123456")
val deletedDomain = 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

val acceptedRequest = membershipRequest.accept()
val rejectedRequest = membershipRequest.reject()

Organization Suggestion

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

Accept Suggestion

val acceptedSuggestion = organizationSuggestion.accept()

Feedback

What did you think of this content?

Last updated on

GitHubEdit on GitHub