Skip to content
Scalekit Docs
Talk to an EngineerDashboard

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.

clientUsershttps://github.com/scalekit-inc/scalekit-sdk-go/blob/main/users.go
#asyncListUsers

ListUsers retrieves all users across the environment with optional pagination.

paramctxcontext.Context

Request context

paramoptionsListUsersOptions

Optional request settings.

returnsListUsersResponse

Paginated results.

users, err := scalekitClient.User().ListUsers(ctx, &scalekit.ListUsersOptions{
PageSize: 50,
PageToken: "",
})
if err != nil {
// handle
}
for _, u := range users.Users {
_ = u
}
clientUsershttps://github.com/scalekit-inc/scalekit-sdk-go/blob/main/users.go
#asyncListOrganizationUsers

ListOrganizationUsers retrieves a list of users in the organization

paramctxcontext.Context

Request context

paramorganizationIdstring

Organization ID.

paramoptionsListUsersOptions

Optional request settings.

returnsListOrganizationUsersResponse

Paginated results.

users, err := scalekitClient.User().ListOrganizationUsers(ctx, "org_123", &scalekit.ListUsersOptions{
PageSize: 10,
PageToken: "",
})
if err != nil {
// handle
}
_ = users.Users
clientUsershttps://github.com/scalekit-inc/scalekit-sdk-go/blob/main/users.go
#asyncGetUser

GetUser retrieves a user by ID

paramctxcontext.Context

Request context

paramuserIdstring

Scalekit user ID (usr_...).

returnsGetUserResponse

The response payload for this operation.

user, err := scalekitClient.User().GetUser(ctx, "usr_123")
if err != nil {
// handle
}
_ = user.User
clientUsershttps://github.com/scalekit-inc/scalekit-sdk-go/blob/main/users.go
#asyncUpdateUser

UpdateUser updates an existing user

paramctxcontext.Context

Request context

paramuserIdstring

Scalekit user ID (usr_...).

paramupdateUserusersv1.UpdateUser

Update user.

returnsUpdateUserResponse

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.User
clientUsershttps://github.com/scalekit-inc/scalekit-sdk-go/blob/main/users.go
#asyncCreateUserAndMembership

CreateUserAndMembership creates a new user with membership in the organization

paramctxcontext.Context

Request context

paramorganizationIdstring

Organization ID.

paramuserusersv1.CreateUser

User fields.

paramsendInvitationEmailbool

Send invitation email.

returnsCreateUserAndMembershipResponse

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.Id
clientUsershttps://github.com/scalekit-inc/scalekit-sdk-go/blob/main/users.go
#asyncDeleteUser

DeleteUser deletes a user

paramctxcontext.Context

Request context

paramuserIdstring

Scalekit user ID (usr_...).

returnserror

error

if err := scalekitClient.User().DeleteUser(ctx, "usr_123"); err != nil {
// handle
}
clientUsershttps://github.com/scalekit-inc/scalekit-sdk-go/blob/main/users.go
#asyncCreateMembership

CreateMembership creates a membership for a user in an organization

paramctxcontext.Context

Request context

paramorganizationIdstring

Organization ID.

paramuserIdstring

Scalekit user ID (usr_...).

parammembershipusersv1.CreateMembership

Membership.

paramsendInvitationEmailbool

Send invitation email.

returnsCreateMembershipResponse

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.User
clientUsershttps://github.com/scalekit-inc/scalekit-sdk-go/blob/main/users.go
#asyncUpdateMembership

UpdateMembership updates a user’s membership in an organization

paramctxcontext.Context

Request context

paramorganizationIdstring

Organization ID.

paramuserIdstring

Scalekit user ID (usr_...).

parammembershipusersv1.UpdateMembership

Membership.

returnsUpdateMembershipResponse

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.User
clientUsershttps://github.com/scalekit-inc/scalekit-sdk-go/blob/main/users.go
#asyncDeleteMembership

DeleteMembership deletes a user’s membership from an organization.

paramctxcontext.Context

Request context

paramorganizationIdstring

Organization ID.

paramuserIdstring

Scalekit user ID (usr_...).

paramcascadebool

Cascade.

returnserror

error

if err := scalekitClient.User().DeleteMembership(ctx, "org_123", "usr_123", false); err != nil {
// handle
}
clientUsershttps://github.com/scalekit-inc/scalekit-sdk-go/blob/main/users.go
#asyncResendInvite

ResendInvite resends an invitation email to a user who has a pending invitation

paramctxcontext.Context

Request context

paramorganizationIdstring

Organization ID.

paramuserIdstring

Scalekit user ID (usr_...).

returnsusersv1.ResendInviteResponse

usersv1.ResendInviteResponse

resp, err := scalekitClient.User().ResendInvite(ctx, "org_123", "usr_123")
if err != nil {
// handle
}
_ = resp.Invite
clientUsershttps://github.com/scalekit-inc/scalekit-sdk-go/blob/main/users.go
#asyncGetUserByExternalId

GetUserByExternalId retrieves a user by their external ID

paramctxcontext.Context

Request context

paramexternalIdstring

External ID.

returnsGetUserResponse

The response payload for this operation.

clientUsershttps://github.com/scalekit-inc/scalekit-sdk-go/blob/main/users.go
#asyncUpdateUserByExternalId

UpdateUserByExternalId updates an existing user identified by their external ID

paramctxcontext.Context

Request context

paramexternalIdstring

External ID.

paramupdateUserusersv1.UpdateUser

Update user.

returnsUpdateUserResponse

The updated resource.

clientUsershttps://github.com/scalekit-inc/scalekit-sdk-go/blob/main/users.go
#asyncDeleteUserByExternalId

DeleteUserByExternalId deletes a user identified by their external ID

paramctxcontext.Context

Request context

paramexternalIdstring

External ID.

returnserror

error

clientUsershttps://github.com/scalekit-inc/scalekit-sdk-go/blob/main/users.go
#asyncCreateMembershipByExternalId

CreateMembershipByExternalId creates a membership for a user (identified by external ID) in an organization

paramctxcontext.Context

Request context

paramorganizationIdstring

Organization ID.

paramexternalIdstring

External ID.

parammembershipusersv1.CreateMembership

Membership.

paramsendInvitationEmailbool

Send invitation email.

returnsCreateMembershipResponse

The created resource.

clientUsershttps://github.com/scalekit-inc/scalekit-sdk-go/blob/main/users.go
#asyncUpdateMembershipByExternalId

UpdateMembershipByExternalId updates a user’s membership (identified by external ID) in an organization

paramctxcontext.Context

Request context

paramorganizationIdstring

Organization ID.

paramexternalIdstring

External ID.

parammembershipusersv1.UpdateMembership

Membership.

returnsUpdateMembershipResponse

The updated resource.

clientUsershttps://github.com/scalekit-inc/scalekit-sdk-go/blob/main/users.go
#asyncDeleteMembershipByExternalId

DeleteMembershipByExternalId deletes a user’s membership (identified by external ID) from an organization.

paramctxcontext.Context

Request context

paramorganizationIdstring

Organization ID.

paramexternalIdstring

External ID.

paramcascadebool

Cascade.

returnserror

error

clientUsershttps://github.com/scalekit-inc/scalekit-sdk-go/blob/main/users.go
#asyncListUserRoles

ListUserRoles returns all roles assigned to the specified user within the given organization

paramctxcontext.Context

Request context

paramorganizationIdstring

Organization ID.

paramuserIdstring

Scalekit user ID (usr_...).

returnsListUserRolesResponse

Paginated results.

clientUsershttps://github.com/scalekit-inc/scalekit-sdk-go/blob/main/users.go
#asyncListUserPermissions

ListUserPermissions returns all permissions granted to the specified user within the given organization

paramctxcontext.Context

Request context

paramorganizationIdstring

Organization ID.

paramuserIdstring

Scalekit user ID (usr_...).

returnsListUserPermissionsResponse

Paginated results.