Users
Provision and manage users and memberships
Use the User client to provision people, manage organization memberships, and assign roles.
Common flows: invite or create a user, attach them to an organization, update profile fields, and look up users by Scalekit ID or your external ID.
ListUsers
Section titled “ListUsers”#asyncListUsers
ListUsers retrieves all users across the environment with optional pagination.
Request context
Optional request settings.
Paginated results.
users, err := scalekitClient.User().ListUsers(ctx, &scalekit.ListUsersOptions{ PageSize: 50, PageToken: "",})if err != nil { // handle}for _, u := range users.Users { _ = u}ListOrganizationUsers
Section titled “ListOrganizationUsers”#asyncListOrganizationUsers
ListOrganizationUsers retrieves a list of users in the organization
Request context
Organization ID.
Optional request settings.
Paginated results.
users, err := scalekitClient.User().ListOrganizationUsers(ctx, "org_123", &scalekit.ListUsersOptions{ PageSize: 10, PageToken: "",})if err != nil { // handle}_ = users.UsersGetUser
Section titled “GetUser”#asyncGetUser
GetUser retrieves a user by ID
Request context
Scalekit user ID (usr_...).
The response payload for this operation.
user, err := scalekitClient.User().GetUser(ctx, "usr_123")if err != nil { // handle}_ = user.UserUpdateUser
Section titled “UpdateUser”#asyncUpdateUser
UpdateUser updates an existing user
Request context
Scalekit user ID (usr_...).
Update user.
The updated resource.
firstName := "Test"lastName := "User"name := "Test User"locale := "en-US"
updated, err := scalekitClient.User().UpdateUser(ctx, "usr_123", &users.UpdateUser{ UserProfile: &users.UpdateUserProfile{ FirstName: &firstName, LastName: &lastName, Name: &name, Locale: &locale, },})if err != nil { // handle}_ = updated.UserCreateUserAndMembership
Section titled “CreateUserAndMembership”#asyncCreateUserAndMembership
CreateUserAndMembership creates a new user with membership in the organization
Request context
Organization ID.
User fields.
Send invitation email.
The created resource.
created, err := scalekitClient.User().CreateUserAndMembership(ctx, "org_123", &users.CreateUser{ Email: "test.user@example.com", Metadata: map[string]string{ "source": "test", },}, true)if err != nil { // handle}_ = created.User.IdDeleteUser
Section titled “DeleteUser”#asyncDeleteUser
DeleteUser deletes a user
Request context
Scalekit user ID (usr_...).
error
if err := scalekitClient.User().DeleteUser(ctx, "usr_123"); err != nil { // handle}CreateMembership
Section titled “CreateMembership”#asyncCreateMembership
CreateMembership creates a membership for a user in an organization
Request context
Organization ID.
Scalekit user ID (usr_...).
Membership.
Send invitation email.
The created resource.
resp, err := scalekitClient.User().CreateMembership(ctx, "org_123", "usr_123", &users.CreateMembership{ Roles: []*commons.Role{{Name: "admin"}}, Metadata: map[string]string{ "membership_type": "test", },}, false)if err != nil { // handle}_ = resp.UserUpdateMembership
Section titled “UpdateMembership”#asyncUpdateMembership
UpdateMembership updates a user’s membership in an organization
Request context
Organization ID.
Scalekit user ID (usr_...).
Membership.
The updated resource.
resp, err := scalekitClient.User().UpdateMembership(ctx, "org_123", "usr_123", &users.UpdateMembership{ Roles: []*commons.Role{{Name: "member"}},})if err != nil { // handle}_ = resp.UserDeleteMembership
Section titled “DeleteMembership”#asyncDeleteMembership
DeleteMembership deletes a user’s membership from an organization.
Request context
Organization ID.
Scalekit user ID (usr_...).
Cascade.
error
if err := scalekitClient.User().DeleteMembership(ctx, "org_123", "usr_123", false); err != nil { // handle}ResendInvite
Section titled “ResendInvite”#asyncResendInvite
ResendInvite resends an invitation email to a user who has a pending invitation
Request context
Organization ID.
Scalekit user ID (usr_...).
usersv1.ResendInviteResponse
resp, err := scalekitClient.User().ResendInvite(ctx, "org_123", "usr_123")if err != nil { // handle}_ = resp.InviteGetUserByExternalId
Section titled “GetUserByExternalId”#asyncGetUserByExternalId
GetUserByExternalId retrieves a user by their external ID
Request context
External ID.
The response payload for this operation.
UpdateUserByExternalId
Section titled “UpdateUserByExternalId”#asyncUpdateUserByExternalId
UpdateUserByExternalId updates an existing user identified by their external ID
Request context
External ID.
Update user.
The updated resource.
DeleteUserByExternalId
Section titled “DeleteUserByExternalId”#asyncDeleteUserByExternalId
DeleteUserByExternalId deletes a user identified by their external ID
Request context
External ID.
error
CreateMembershipByExternalId
Section titled “CreateMembershipByExternalId”#asyncCreateMembershipByExternalId
CreateMembershipByExternalId creates a membership for a user (identified by external ID) in an organization
Request context
Organization ID.
External ID.
Membership.
Send invitation email.
The created resource.
UpdateMembershipByExternalId
Section titled “UpdateMembershipByExternalId”#asyncUpdateMembershipByExternalId
UpdateMembershipByExternalId updates a user’s membership (identified by external ID) in an organization
Request context
Organization ID.
External ID.
Membership.
The updated resource.
DeleteMembershipByExternalId
Section titled “DeleteMembershipByExternalId”#asyncDeleteMembershipByExternalId
DeleteMembershipByExternalId deletes a user’s membership (identified by external ID) from an organization.
Request context
Organization ID.
External ID.
Cascade.
error
ListUserRoles
Section titled “ListUserRoles”#asyncListUserRoles
ListUserRoles returns all roles assigned to the specified user within the given organization
Request context
Organization ID.
Scalekit user ID (usr_...).
Paginated results.
ListUserPermissions
Section titled “ListUserPermissions”#asyncListUserPermissions
ListUserPermissions returns all permissions granted to the specified user within the given organization
Request context
Organization ID.
Scalekit user ID (usr_...).
Paginated results.