Skip to content
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.