Skip to content

Java SDK Reference

Complete API reference for the Scalekit Java SDK

Reference

ScalekitClient

new ScalekitClient(siteName, clientId, clientSecret) -> ScalekitClient

πŸ“ Description

Creates a new Scalekit client instance configured for your environment, and provides access to all API clients (organizations, users, connections, directories, etc).

πŸ”Œ Usage

import com.scalekit.ScalekitClient;
ScalekitClient client = new ScalekitClient(
"https://<your-env>.scalekit.com",
"<client_id>",
"<client_secret>"
);

βš™οΈ Parameters

siteName: String - Your Scalekit environment URL (for example, https://<your-env>.scalekit.com)

clientId: String - OAuth client ID from your Scalekit dashboard

clientSecret: String - OAuth client secret from your Scalekit dashboard

client.organizations() -> OrganizationClient

πŸ“ Description

Returns an OrganizationClient for managing organizations (tenants).

πŸ”Œ Usage

client.organizations().getById("org_123");

βš™οΈ Parameters

This method takes no parameters.

client.connections() -> ConnectionClient

πŸ“ Description

Returns a ConnectionClient for managing SSO connections.

πŸ”Œ Usage

client.connections().listConnectionsByOrganization("org_123");

βš™οΈ Parameters

This method takes no parameters.

client.users() -> UserClient

πŸ“ Description

Returns a UserClient for managing users and org memberships.

πŸ”Œ Usage

client.users().getUser("user_123");

βš™οΈ Parameters

This method takes no parameters.

client.domains() -> DomainClient

πŸ“ Description

Returns a DomainClient for managing organization domains.

πŸ”Œ Usage

client.domains().listDomainsByOrganizationId("org_123");

βš™οΈ Parameters

This method takes no parameters.

client.directories() -> DirectoryClient

πŸ“ Description

Returns a DirectoryClient for managing directories and directory resources (users/groups).

πŸ”Œ Usage

client.directories().listDirectories("org_123");

βš™οΈ Parameters

This method takes no parameters.

client.sessions() -> SessionClient

πŸ“ Description

Returns a SessionClient for session retrieval and revocation.

πŸ”Œ Usage

client.sessions().getSession("sess_123");

βš™οΈ Parameters

This method takes no parameters.

client.roles() -> RoleClient

πŸ“ Description

Returns a RoleClient for environment and organization role management.

πŸ”Œ Usage

client.roles().listRoles();

βš™οΈ Parameters

This method takes no parameters.

client.permissions() -> PermissionClient

πŸ“ Description

Returns a PermissionClient for permission management and role-permission relationships.

πŸ”Œ Usage

client.permissions().listPermissions();

βš™οΈ Parameters

This method takes no parameters.

client.passwordless() -> PasswordlessClient

πŸ“ Description

Returns a PasswordlessClient for passwordless auth flows (magic links / OTP).

πŸ”Œ Usage

client.passwordless().sendPasswordlessEmail("user@acme.com");

βš™οΈ Parameters

This method takes no parameters.

client.webAuthn() -> WebAuthnClient

πŸ“ Description

Returns a WebAuthnClient for WebAuthn credential management.

πŸ”Œ Usage

client.webAuthn().listCredentials("user_123");

βš™οΈ Parameters

This method takes no parameters.

client.authentication() -> AuthClient

πŸ“ Description

Returns an AuthClient for OAuth flows, token validation, and token exchange.

πŸ”Œ Usage

client.authentication().getClientAccessToken();

βš™οΈ Parameters

This method takes no parameters.

client.webhook() -> Webhook

πŸ“ Description

Returns a Webhook verifier for validating Scalekit webhook payload signatures.

πŸ”Œ Usage

import java.util.Map;
boolean ok = client.webhook().verifyWebhookPayload(
"whsec_...",
headers,
payloadBytes
);

βš™οΈ Parameters

This method takes no parameters.

client.webhook().verifyWebhookPayload(secret, headers, payload) -> boolean

πŸ“ Description

Verifies the authenticity and integrity of webhook payloads from Scalekit.

This validates the HMAC signature and timestamp (5-minute tolerance window) to ensure the webhook was sent by Scalekit and hasn’t been tampered with.

πŸ”Œ Usage

import java.util.Map;
Map<String, String> headers = new java.util.HashMap<>();
headers.put("webhook-id", "<id>");
headers.put("webhook-timestamp", "<epoch_seconds>");
headers.put("webhook-signature", "v1,<base64sig>");
byte[] payload = requestBodyBytes;
boolean isValid = client.webhook().verifyWebhookPayload("whsec_...", headers, payload);

βš™οΈ Parameters

secret: String - Your webhook signing secret from the Scalekit dashboard (format: whsec_...)

headers: Map<String, String> - The HTTP headers from the webhook request (must include webhook-id, webhook-timestamp, webhook-signature)

payload: byte[] - The raw webhook request body bytes

new ScalekitInterceptor().verifyInterceptorPayload(secret, headers, payload) -> boolean

πŸ“ Description

Verifies the authenticity and integrity of interceptor payloads from Scalekit.

This validates the HMAC signature and timestamp (5-minute tolerance window) to ensure the interceptor request was sent by Scalekit and hasn’t been tampered with.

πŸ”Œ Usage

import com.scalekit.webhooks.ScalekitInterceptor;
import java.util.Map;
ScalekitInterceptor interceptor = new ScalekitInterceptor();
Map<String, String> headers = new java.util.HashMap<>();
headers.put("interceptor-id", "<id>");
headers.put("interceptor-timestamp", "<epoch_seconds>");
headers.put("interceptor-signature", "v1,<base64sig>");
byte[] payload = requestBodyBytes;
boolean isValid = interceptor.verifyInterceptorPayload("insec_...", headers, payload);

βš™οΈ Parameters

secret: String - Your interceptor signing secret from the Scalekit dashboard

headers: Map<String, String> - The HTTP headers from the interceptor request (must include interceptor-id, interceptor-timestamp, interceptor-signature)

payload: byte[] - The raw interceptor request body bytes

Organizations

client.organizations().create(organization) -> Organization

πŸ“ Description

Creates a new organization (tenant).

πŸ”Œ Usage

import com.scalekit.grpc.scalekit.v1.organizations.CreateOrganization;
import com.scalekit.grpc.scalekit.v1.organizations.Organization;
CreateOrganization req = CreateOrganization.newBuilder()
.setName("Acme Corporation")
.build();
Organization org = client.organizations().create(req);

βš™οΈ Parameters

organization: CreateOrganization - The organization create request

client.organizations().getById(id) -> Organization

πŸ“ Description

Fetches an organization by its Scalekit organization ID.

πŸ”Œ Usage

client.organizations().getById("org_123");

βš™οΈ Parameters

id: String - The organization ID

client.organizations().getByExternalId(externalId) -> Organization

πŸ“ Description

Fetches an organization by its external ID.

πŸ”Œ Usage

client.organizations().getByExternalId("customer_123");

βš™οΈ Parameters

externalId: String - The external ID associated with the organization

client.organizations().updateById(id, organization) -> Organization

πŸ“ Description

Updates an organization by its Scalekit organization ID.

πŸ”Œ Usage

import com.scalekit.grpc.scalekit.v1.organizations.UpdateOrganization;
UpdateOrganization req = UpdateOrganization.newBuilder()
.setName("Acme Corp (Updated)")
.build();
client.organizations().updateById("org_123", req);

βš™οΈ Parameters

id: String - The organization ID

organization: UpdateOrganization - The organization update request

client.organizations().updateByExternalId(externalId, organization) -> Organization

πŸ“ Description

Updates an organization by its external ID.

πŸ”Œ Usage

import com.scalekit.grpc.scalekit.v1.organizations.UpdateOrganization;
UpdateOrganization req = UpdateOrganization.newBuilder()
.setName("Acme Corp (Updated)")
.build();
client.organizations().updateByExternalId("customer_123", req);

βš™οΈ Parameters

externalId: String - The external ID associated with the organization

organization: UpdateOrganization - The organization update request

client.organizations().deleteById(id) -> void

πŸ“ Description

Deletes an organization by its Scalekit organization ID.

πŸ”Œ Usage

client.organizations().deleteById("org_123");

βš™οΈ Parameters

id: String - The organization ID

client.organizations().deleteByExternalId(externalId) -> void

πŸ“ Description

Deletes an organization by its external ID.

πŸ”Œ Usage

client.organizations().deleteByExternalId("customer_123");

βš™οΈ Parameters

externalId: String - The external ID associated with the organization

client.organizations().listOrganizations(pageSize, pageToken) -> ListOrganizationsResponse

πŸ“ Description

Lists organizations with pagination.

πŸ”Œ Usage

client.organizations().listOrganizations(20, "");

βš™οΈ Parameters

pageSize: int - Number of organizations per page

pageToken: String - Pagination token (empty string for first page)

client.organizations().generatePortalLink(organizationId) -> Link

πŸ“ Description

Generates an admin portal link for an organization.

πŸ”Œ Usage

client.organizations().generatePortalLink("org_123");

βš™οΈ Parameters

organizationId: String - The organization ID

client.organizations().generatePortalLink(organizationId, features) -> Link

πŸ“ Description

Generates an admin portal link for an organization, optionally scoped to specific portal features.

πŸ”Œ Usage

import java.util.Arrays;
import com.scalekit.grpc.scalekit.v1.organizations.Feature;
client.organizations().generatePortalLink(
"org_123",
Arrays.asList(Feature.FEATURE_USERS, Feature.FEATURE_CONNECTIONS)
);

βš™οΈ Parameters

organizationId: String - The organization ID

features: List<Feature> - The portal features to include in the link

client.organizations().updateOrganizationSettings(organizationId, settings) -> Organization

πŸ“ Description

Updates organization settings features.

πŸ”Œ Usage

import java.util.Collections;
import com.scalekit.grpc.scalekit.v1.organizations.OrganizationSettingsFeature;
client.organizations().updateOrganizationSettings(
"org_123",
Collections.emptyList()
);

βš™οΈ Parameters

organizationId: String - The organization ID

settings: List<OrganizationSettingsFeature> - The settings features to apply

client.organizations().upsertUserManagementSettings(organizationId, settings) -> OrganizationUserManagementSettings

πŸ“ Description

Creates or updates user management settings for an organization.

πŸ”Œ Usage

import com.scalekit.grpc.scalekit.v1.organizations.OrganizationUserManagementSettings;
OrganizationUserManagementSettings settings =
OrganizationUserManagementSettings.newBuilder().build();
client.organizations().upsertUserManagementSettings("org_123", settings);

βš™οΈ Parameters

organizationId: String - The organization ID

settings: OrganizationUserManagementSettings - The user management settings to upsert

Connections

client.connections().getConnectionById(connectionId, organizationId) -> Connection

πŸ“ Description

Fetches a connection by ID within an organization.

πŸ”Œ Usage

client.connections().getConnectionById("conn_123", "org_123");

βš™οΈ Parameters

connectionId: String - The connection ID

organizationId: String - The organization ID

client.connections().listConnectionsByDomain(domain) -> ListConnectionsResponse

πŸ“ Description

Lists connections by domain.

πŸ”Œ Usage

client.connections().listConnectionsByDomain("acme.com");

βš™οΈ Parameters

domain: String - The domain name (for example, acme.com)

client.connections().listConnectionsByOrganization(organizationId) -> ListConnectionsResponse

πŸ“ Description

Lists connections for an organization.

πŸ”Œ Usage

client.connections().listConnectionsByOrganization("org_123");

βš™οΈ Parameters

organizationId: String - The organization ID

client.connections().enableConnection(connectionId, organizationId) -> ToggleConnectionResponse

πŸ“ Description

Enables a connection within an organization.

πŸ”Œ Usage

client.connections().enableConnection("conn_123", "org_123");

βš™οΈ Parameters

connectionId: String - The connection ID

organizationId: String - The organization ID

client.connections().disableConnection(connectionId, organizationId) -> ToggleConnectionResponse

πŸ“ Description

Disables a connection within an organization.

πŸ”Œ Usage

client.connections().disableConnection("conn_123", "org_123");

βš™οΈ Parameters

connectionId: String - The connection ID

organizationId: String - The organization ID

client.connections().createConnection(organizationId, connection) -> Connection

πŸ“ Description

Creates a new connection for an organization.

πŸ”Œ Usage

import com.scalekit.grpc.scalekit.v1.connections.CreateConnection;
CreateConnection req = CreateConnection.newBuilder()
.setDisplayName("Acme Okta")
.build();
client.connections().createConnection("org_123", req);

βš™οΈ Parameters

organizationId: String - The organization ID

connection: CreateConnection - The connection create request

client.connections().deleteConnection(connectionId, organizationId) -> void

πŸ“ Description

Deletes a connection within an organization.

πŸ”Œ Usage

client.connections().deleteConnection("conn_123", "org_123");

βš™οΈ Parameters

connectionId: String - The connection ID

organizationId: String - The organization ID

Users

client.users().createUserAndMembership(organizationId, request) -> CreateUserAndMembershipResponse

πŸ“ Description

Creates a user and an organization membership in one call.

πŸ”Œ Usage

import com.scalekit.grpc.scalekit.v1.users.CreateUserAndMembershipRequest;
CreateUserAndMembershipRequest req = CreateUserAndMembershipRequest.newBuilder()
.setEmail("user@acme.com")
.build();
client.users().createUserAndMembership("org_123", req);

βš™οΈ Parameters

organizationId: String - The organization ID

request: CreateUserAndMembershipRequest - Create user + membership request

client.users().getUser(userId) -> GetUserResponse

πŸ“ Description

Gets a user by user ID.

πŸ”Œ Usage

client.users().getUser("user_123");

βš™οΈ Parameters

userId: String - The user ID

client.users().listUsers(request) -> ListUsersResponse

πŸ“ Description

Lists users based on a request filter.

πŸ”Œ Usage

import com.scalekit.grpc.scalekit.v1.users.ListUsersRequest;
ListUsersRequest req = ListUsersRequest.newBuilder()
.setPageSize(20)
.build();
client.users().listUsers(req);

βš™οΈ Parameters

request: ListUsersRequest - List users request (pagination + filters)

client.users().updateUser(userId, request) -> UpdateUserResponse

πŸ“ Description

Updates a user by user ID.

πŸ”Œ Usage

import com.scalekit.grpc.scalekit.v1.users.UpdateUserRequest;
UpdateUserRequest req = UpdateUserRequest.newBuilder()
.setGivenName("Jane")
.build();
client.users().updateUser("user_123", req);

βš™οΈ Parameters

userId: String - The user ID

request: UpdateUserRequest - Update user request

client.users().deleteUser(userId) -> void

πŸ“ Description

Deletes a user by user ID.

πŸ”Œ Usage

client.users().deleteUser("user_123");

βš™οΈ Parameters

userId: String - The user ID

client.users().createMembership(organizationId, userId, request) -> CreateMembershipResponse

πŸ“ Description

Creates an organization membership for a user.

πŸ”Œ Usage

import com.scalekit.grpc.scalekit.v1.users.CreateMembershipRequest;
CreateMembershipRequest req = CreateMembershipRequest.newBuilder().build();
client.users().createMembership("org_123", "user_123", req);

βš™οΈ Parameters

organizationId: String - The organization ID

userId: String - The user ID

request: CreateMembershipRequest - Create membership request

client.users().deleteMembership(organizationId, userId) -> void

πŸ“ Description

Deletes an organization membership for a user.

πŸ”Œ Usage

client.users().deleteMembership("org_123", "user_123");

βš™οΈ Parameters

organizationId: String - The organization ID

userId: String - The user ID

client.users().updateMembership(organizationId, userId, request) -> UpdateMembershipResponse

πŸ“ Description

Updates an organization membership for a user.

πŸ”Œ Usage

import com.scalekit.grpc.scalekit.v1.users.UpdateMembershipRequest;
UpdateMembershipRequest req = UpdateMembershipRequest.newBuilder().build();
client.users().updateMembership("org_123", "user_123", req);

βš™οΈ Parameters

organizationId: String - The organization ID

userId: String - The user ID

request: UpdateMembershipRequest - Update membership request

client.users().listOrganizationUsers(organizationId, request) -> ListOrganizationUsersResponse

πŸ“ Description

Lists users for a given organization.

πŸ”Œ Usage

import com.scalekit.grpc.scalekit.v1.users.ListOrganizationUsersRequest;
ListOrganizationUsersRequest req = ListOrganizationUsersRequest.newBuilder()
.setPageSize(20)
.build();
client.users().listOrganizationUsers("org_123", req);

βš™οΈ Parameters

organizationId: String - The organization ID

request: ListOrganizationUsersRequest - List organization users request

client.users().resendInvite(organizationId, userId) -> ResendInviteResponse

πŸ“ Description

Resends an invite to a user for a given organization.

πŸ”Œ Usage

client.users().resendInvite("org_123", "user_123");

βš™οΈ Parameters

organizationId: String - The organization ID

userId: String - The user ID

Domains

client.domains().createDomain(organizationId, domainName) -> Domain

πŸ“ Description

Creates a domain for an organization.

πŸ”Œ Usage

client.domains().createDomain("org_123", "acme.com");

βš™οΈ Parameters

organizationId: String - The organization ID

domainName: String - The domain name (for example, acme.com)

client.domains().createDomain(organizationId, domainName, domainType) -> Domain

πŸ“ Description

Creates a domain for an organization with a specified domain type.

πŸ”Œ Usage

import com.scalekit.grpc.scalekit.v1.domains.DomainType;
client.domains().createDomain("org_123", "acme.com", DomainType.DOMAIN_TYPE_PRIMARY);

βš™οΈ Parameters

organizationId: String - The organization ID

domainName: String - The domain name

domainType: DomainType - The domain type

client.domains().createDomain(request) -> Domain

πŸ“ Description

Creates a domain using a request object.

πŸ”Œ Usage

import com.scalekit.grpc.scalekit.v1.domains.CreateDomainRequest;
CreateDomainRequest req = CreateDomainRequest.newBuilder()
.setOrganizationId("org_123")
.setDomain("acme.com")
.build();
client.domains().createDomain(req);

βš™οΈ Parameters

request: CreateDomainRequest - The create domain request

client.domains().getDomainById(organizationId, domainId) -> Domain

πŸ“ Description

Gets a domain by ID for an organization.

πŸ”Œ Usage

client.domains().getDomainById("org_123", "dom_123");

βš™οΈ Parameters

organizationId: String - The organization ID

domainId: String - The domain ID

client.domains().listDomainsByOrganizationId(organizationId) -> List<Domain>

πŸ“ Description

Lists domains for an organization.

πŸ”Œ Usage

client.domains().listDomainsByOrganizationId("org_123");

βš™οΈ Parameters

organizationId: String - The organization ID

client.domains().listDomainsByOrganizationId(organizationId, domainType) -> List<Domain>

πŸ“ Description

Lists domains for an organization filtered by domain type.

πŸ”Œ Usage

import com.scalekit.grpc.scalekit.v1.domains.DomainType;
client.domains().listDomainsByOrganizationId("org_123", DomainType.DOMAIN_TYPE_PRIMARY);

βš™οΈ Parameters

organizationId: String - The organization ID

domainType: DomainType - The domain type to filter by

client.domains().deleteDomain(organizationId, domainId) -> void

πŸ“ Description

Deletes a domain by ID for an organization.

πŸ”Œ Usage

client.domains().deleteDomain("org_123", "dom_123");

βš™οΈ Parameters

organizationId: String - The organization ID

domainId: String - The domain ID

Directories

client.directories().getDirectory(directoryId, organizationId) -> Directory

πŸ“ Description

Gets a directory by ID within an organization.

πŸ”Œ Usage

client.directories().getDirectory("dir_123", "org_123");

βš™οΈ Parameters

directoryId: String - The directory ID

organizationId: String - The organization ID

client.directories().listDirectories(organizationId) -> ListDirectoriesResponse

πŸ“ Description

Lists directories for an organization.

πŸ”Œ Usage

client.directories().listDirectories("org_123");

βš™οΈ Parameters

organizationId: String - The organization ID

client.directories().listDirectoryUsers(directoryId, organizationId, options) -> ListDirectoryUserResponse

πŸ“ Description

Lists directory users with pagination and optional filtering, returning a Java-friendly wrapper response.

πŸ”Œ Usage

import com.scalekit.api.util.ListDirectoryResourceOptions;
import com.scalekit.api.util.ListDirectoryUserResponse;
ListDirectoryResourceOptions options = ListDirectoryResourceOptions.builder()
.pageSize(50)
.includeDetail(true)
.build();
ListDirectoryUserResponse res = client.directories().listDirectoryUsers("dir_123", "org_123", options);

βš™οΈ Parameters

directoryId: String - The directory ID

organizationId: String - The organization ID

options: ListDirectoryResourceOptions - Options for listing directory resources

  • pageSize: int - Page size
  • pageToken: String - Page token
  • includeDetail: boolean - Include raw SCIM detail payloads (if available)
  • updatedAfter: Timestamp - Filter resources updated after this time
client.directories().listDirectoryGroups(directoryId, organizationId, options) -> ListDirectoryGroupResponse

πŸ“ Description

Lists directory groups with pagination and optional filtering, returning a Java-friendly wrapper response.

πŸ”Œ Usage

import com.scalekit.api.util.ListDirectoryGroupResponse;
import com.scalekit.api.util.ListDirectoryResourceOptions;
ListDirectoryResourceOptions options = ListDirectoryResourceOptions.builder()
.pageSize(50)
.includeDetail(true)
.build();
ListDirectoryGroupResponse res = client.directories().listDirectoryGroups("dir_123", "org_123", options);

βš™οΈ Parameters

directoryId: String - The directory ID

organizationId: String - The organization ID

options: ListDirectoryResourceOptions - Options for listing directory resources

  • pageSize: int - Page size
  • pageToken: String - Page token
  • includeDetail: boolean - Include raw SCIM detail payloads (if available)
  • updatedAfter: Timestamp - Filter resources updated after this time
client.directories().enableDirectory(directoryId, organizationId) -> ToggleDirectoryResponse

πŸ“ Description

Enables a directory within an organization.

πŸ”Œ Usage

client.directories().enableDirectory("dir_123", "org_123");

βš™οΈ Parameters

directoryId: String - The directory ID

organizationId: String - The organization ID

client.directories().disableDirectory(directoryId, organizationId) -> ToggleDirectoryResponse

πŸ“ Description

Disables a directory within an organization.

πŸ”Œ Usage

client.directories().disableDirectory("dir_123", "org_123");

βš™οΈ Parameters

directoryId: String - The directory ID

organizationId: String - The organization ID

client.directories().getPrimaryDirectoryByOrganizationId(organizationId) -> Directory

πŸ“ Description

Gets the primary directory for an organization.

πŸ”Œ Usage

client.directories().getPrimaryDirectoryByOrganizationId("org_123");

βš™οΈ Parameters

organizationId: String - The organization ID

client.directories().createDirectory(organizationId, directory) -> Directory

πŸ“ Description

Creates a directory for an organization.

πŸ”Œ Usage

import com.scalekit.grpc.scalekit.v1.directories.CreateDirectory;
CreateDirectory req = CreateDirectory.newBuilder()
.setDisplayName("Acme SCIM Directory")
.build();
client.directories().createDirectory("org_123", req);

βš™οΈ Parameters

organizationId: String - The organization ID

directory: CreateDirectory - The directory create request

client.directories().deleteDirectory(directoryId, organizationId) -> void

πŸ“ Description

Deletes a directory within an organization.

πŸ”Œ Usage

client.directories().deleteDirectory("dir_123", "org_123");

βš™οΈ Parameters

directoryId: String - The directory ID

organizationId: String - The organization ID

Sessions

client.sessions().getSession(sessionId) -> SessionDetails

πŸ“ Description

Gets session details by session ID.

πŸ”Œ Usage

client.sessions().getSession("sess_123");

βš™οΈ Parameters

sessionId: String - The session ID

client.sessions().getUserSessions(userId, pageSize, pageToken, filter) -> UserSessionDetails

πŸ“ Description

Lists sessions for a user with pagination and optional filtering.

πŸ”Œ Usage

import com.scalekit.grpc.scalekit.v1.sessions.UserSessionFilter;
UserSessionFilter filter = UserSessionFilter.newBuilder().build();
client.sessions().getUserSessions("user_123", 20, "", filter);

βš™οΈ Parameters

userId: String - The user ID

pageSize: Integer - Number of sessions per page

pageToken: String - Pagination token (empty string for first page)

filter: UserSessionFilter - Optional filter criteria

client.sessions().revokeSession(sessionId) -> RevokeSessionResponse

πŸ“ Description

Revokes a session by session ID.

πŸ”Œ Usage

client.sessions().revokeSession("sess_123");

βš™οΈ Parameters

sessionId: String - The session ID

client.sessions().revokeAllUserSessions(userId) -> RevokeAllUserSessionsResponse

πŸ“ Description

Revokes all sessions for a user.

πŸ”Œ Usage

client.sessions().revokeAllUserSessions("user_123");

βš™οΈ Parameters

userId: String - The user ID

Roles

client.roles().createRole(request) -> CreateRoleResponse

πŸ“ Description

Creates an environment-level role.

πŸ”Œ Usage

import com.scalekit.grpc.scalekit.v1.roles.CreateRoleRequest;
CreateRoleRequest req = CreateRoleRequest.newBuilder().build();
client.roles().createRole(req);

βš™οΈ Parameters

request: CreateRoleRequest - Create role request

client.roles().getRole(roleName) -> GetRoleResponse

πŸ“ Description

Gets an environment-level role by role name.

πŸ”Œ Usage

client.roles().getRole("admin");

βš™οΈ Parameters

roleName: String - Role name

client.roles().listRoles() -> ListRolesResponse

πŸ“ Description

Lists environment-level roles.

πŸ”Œ Usage

client.roles().listRoles();

βš™οΈ Parameters

This method takes no parameters.

client.roles().updateRole(roleName, request) -> UpdateRoleResponse

πŸ“ Description

Updates an environment-level role by role name.

πŸ”Œ Usage

import com.scalekit.grpc.scalekit.v1.roles.UpdateRoleRequest;
UpdateRoleRequest req = UpdateRoleRequest.newBuilder().build();
client.roles().updateRole("admin", req);

βš™οΈ Parameters

roleName: String - Role name

request: UpdateRoleRequest - Update role request

client.roles().deleteRole(roleName) -> void

πŸ“ Description

Deletes an environment-level role by role name.

πŸ”Œ Usage

client.roles().deleteRole("admin");

βš™οΈ Parameters

roleName: String - Role name

client.roles().deleteRole(roleName, reassignRoleName) -> void

πŸ“ Description

Deletes an environment-level role, optionally reassigning users to another role.

πŸ”Œ Usage

client.roles().deleteRole("old_role", "new_role");

βš™οΈ Parameters

roleName: String - Role name to delete

reassignRoleName: String - Role name to reassign users to

client.roles().getRoleUsersCount(roleName) -> GetRoleUsersCountResponse

πŸ“ Description

Gets the number of users assigned to an environment-level role.

πŸ”Œ Usage

client.roles().getRoleUsersCount("admin");

βš™οΈ Parameters

roleName: String - Role name

client.roles().createOrganizationRole(orgId, request) -> CreateOrganizationRoleResponse

πŸ“ Description

Creates an organization-level role.

πŸ”Œ Usage

import com.scalekit.grpc.scalekit.v1.roles.CreateOrganizationRoleRequest;
CreateOrganizationRoleRequest req = CreateOrganizationRoleRequest.newBuilder().build();
client.roles().createOrganizationRole("org_123", req);

βš™οΈ Parameters

orgId: String - The organization ID

request: CreateOrganizationRoleRequest - Create organization role request

client.roles().getOrganizationRole(orgId, roleName) -> GetOrganizationRoleResponse

πŸ“ Description

Gets an organization-level role by name.

πŸ”Œ Usage

client.roles().getOrganizationRole("org_123", "org_admin");

βš™οΈ Parameters

orgId: String - The organization ID

roleName: String - Role name

client.roles().listOrganizationRoles(orgId) -> ListOrganizationRolesResponse

πŸ“ Description

Lists organization-level roles.

πŸ”Œ Usage

client.roles().listOrganizationRoles("org_123");

βš™οΈ Parameters

orgId: String - The organization ID

client.roles().updateOrganizationRole(orgId, roleName, request) -> UpdateOrganizationRoleResponse

πŸ“ Description

Updates an organization-level role by name.

πŸ”Œ Usage

import com.scalekit.grpc.scalekit.v1.roles.UpdateOrganizationRoleRequest;
UpdateOrganizationRoleRequest req = UpdateOrganizationRoleRequest.newBuilder().build();
client.roles().updateOrganizationRole("org_123", "org_admin", req);

βš™οΈ Parameters

orgId: String - The organization ID

roleName: String - Role name

request: UpdateOrganizationRoleRequest - Update organization role request

client.roles().deleteOrganizationRole(orgId, roleName) -> void

πŸ“ Description

Deletes an organization-level role by name.

πŸ”Œ Usage

client.roles().deleteOrganizationRole("org_123", "org_admin");

βš™οΈ Parameters

orgId: String - The organization ID

roleName: String - Role name

client.roles().deleteOrganizationRole(orgId, roleName, reassignRoleName) -> void

πŸ“ Description

Deletes an organization-level role, optionally reassigning users to another role.

πŸ”Œ Usage

client.roles().deleteOrganizationRole("org_123", "old_role", "new_role");

βš™οΈ Parameters

orgId: String - The organization ID

roleName: String - Role name to delete

reassignRoleName: String - Role name to reassign users to

client.roles().updateDefaultOrganizationRoles(orgId, request) -> UpdateDefaultOrganizationRolesResponse

πŸ“ Description

Updates the default organization roles configuration.

πŸ”Œ Usage

import com.scalekit.grpc.scalekit.v1.roles.UpdateDefaultOrganizationRolesRequest;
UpdateDefaultOrganizationRolesRequest req = UpdateDefaultOrganizationRolesRequest.newBuilder().build();
client.roles().updateDefaultOrganizationRoles("org_123", req);

βš™οΈ Parameters

orgId: String - The organization ID

request: UpdateDefaultOrganizationRolesRequest - Update default roles request

client.roles().deleteRoleBase(roleName) -> void

πŸ“ Description

Deletes a role base by role name.

πŸ”Œ Usage

client.roles().deleteRoleBase("admin");

βš™οΈ Parameters

roleName: String - Role name

Permissions

client.permissions().createPermission(request) -> CreatePermissionResponse

πŸ“ Description

Creates a permission.

πŸ”Œ Usage

import com.scalekit.grpc.scalekit.v1.roles.CreatePermissionRequest;
CreatePermissionRequest req = CreatePermissionRequest.newBuilder().build();
client.permissions().createPermission(req);

βš™οΈ Parameters

request: CreatePermissionRequest - Create permission request

client.permissions().getPermission(permissionName) -> GetPermissionResponse

πŸ“ Description

Gets a permission by name.

πŸ”Œ Usage

client.permissions().getPermission("read:documents");

βš™οΈ Parameters

permissionName: String - Permission name

client.permissions().listPermissions() -> ListPermissionsResponse

πŸ“ Description

Lists permissions.

πŸ”Œ Usage

client.permissions().listPermissions();

βš™οΈ Parameters

This method takes no parameters.

client.permissions().listPermissions(pageToken) -> ListPermissionsResponse

πŸ“ Description

Lists permissions using a pagination token.

πŸ”Œ Usage

client.permissions().listPermissions("next_page_token");

βš™οΈ Parameters

pageToken: String - Pagination token

client.permissions().updatePermission(permissionName, request) -> UpdatePermissionResponse

πŸ“ Description

Updates a permission by name.

πŸ”Œ Usage

import com.scalekit.grpc.scalekit.v1.roles.UpdatePermissionRequest;
UpdatePermissionRequest req = UpdatePermissionRequest.newBuilder().build();
client.permissions().updatePermission("read:documents", req);

βš™οΈ Parameters

permissionName: String - Permission name

request: UpdatePermissionRequest - Update permission request

client.permissions().deletePermission(permissionName) -> void

πŸ“ Description

Deletes a permission by name.

πŸ”Œ Usage

client.permissions().deletePermission("read:documents");

βš™οΈ Parameters

permissionName: String - Permission name

client.permissions().listRolePermissions(roleName) -> ListRolePermissionsResponse

πŸ“ Description

Lists permissions directly assigned to a role.

πŸ”Œ Usage

client.permissions().listRolePermissions("admin");

βš™οΈ Parameters

roleName: String - Role name

client.permissions().addPermissionsToRole(roleName, request) -> AddPermissionsToRoleResponse

πŸ“ Description

Adds permissions to a role.

πŸ”Œ Usage

import com.scalekit.grpc.scalekit.v1.roles.AddPermissionsToRoleRequest;
AddPermissionsToRoleRequest req = AddPermissionsToRoleRequest.newBuilder().build();
client.permissions().addPermissionsToRole("admin", req);

βš™οΈ Parameters

roleName: String - Role name

request: AddPermissionsToRoleRequest - Add permissions to role request

client.permissions().removePermissionFromRole(roleName, permissionName) -> void

πŸ“ Description

Removes a permission from a role.

πŸ”Œ Usage

client.permissions().removePermissionFromRole("admin", "read:documents");

βš™οΈ Parameters

roleName: String - Role name

permissionName: String - Permission name

client.permissions().listEffectiveRolePermissions(roleName) -> ListEffectiveRolePermissionsResponse

πŸ“ Description

Lists effective permissions for a role, including inherited permissions.

πŸ”Œ Usage

client.permissions().listEffectiveRolePermissions("admin");

βš™οΈ Parameters

roleName: String - Role name

Passwordless

client.passwordless().sendPasswordlessEmail(email, options) -> SendPasswordlessResponse

πŸ“ Description

Sends a passwordless authentication email (magic link / OTP depending on template).

πŸ”Œ Usage

import com.scalekit.internal.http.SendPasswordlessOptions;
SendPasswordlessOptions options = new SendPasswordlessOptions();
options.setState("opaque-state");
client.passwordless().sendPasswordlessEmail("user@acme.com", options);

βš™οΈ Parameters

email: String - The email address to send the passwordless link to

options: SendPasswordlessOptions - Options for sending the passwordless email

  • template: TemplateType - Email template type
  • state: String - Opaque state value
  • magiclinkAuthUri: String - Magiclink auth URI override
  • expiresIn: Integer - Expiration in seconds
  • templateVariables: Map<String, String> - Template variables
client.passwordless().sendPasswordlessEmail(email) -> SendPasswordlessResponse

πŸ“ Description

Sends a passwordless authentication email with default options.

πŸ”Œ Usage

client.passwordless().sendPasswordlessEmail("user@acme.com");

βš™οΈ Parameters

email: String - The email address to send the passwordless link to

client.passwordless().verifyPasswordlessEmail(credential, authRequestId) -> VerifyPasswordLessResponse

πŸ“ Description

Verifies a passwordless authentication code or link token.

πŸ”Œ Usage

import com.scalekit.internal.http.VerifyPasswordlessOptions;
VerifyPasswordlessOptions credential = new VerifyPasswordlessOptions();
credential.setCode("123456");
client.passwordless().verifyPasswordlessEmail(credential, "authreq_123");

βš™οΈ Parameters

credential: VerifyPasswordlessOptions - Credential payload

  • code: String - One-time code (OTP)
  • linkToken: String - Magic link token
  • authRequestId: String - Optional auth request ID

authRequestId: String - Optional auth request ID from the send response

client.passwordless().verifyPasswordlessEmail(credential) -> VerifyPasswordLessResponse

πŸ“ Description

Verifies a passwordless authentication code or link token without supplying an auth request ID argument.

πŸ”Œ Usage

import com.scalekit.internal.http.VerifyPasswordlessOptions;
VerifyPasswordlessOptions credential = new VerifyPasswordlessOptions();
credential.setLinkToken("<magic_link_token>");
client.passwordless().verifyPasswordlessEmail(credential);

βš™οΈ Parameters

credential: VerifyPasswordlessOptions - Credential payload

  • code: String - One-time code (OTP)
  • linkToken: String - Magic link token
  • authRequestId: String - Optional auth request ID
client.passwordless().resendPasswordlessEmail(authRequestId) -> SendPasswordlessResponse

πŸ“ Description

Resends a passwordless authentication email.

πŸ”Œ Usage

client.passwordless().resendPasswordlessEmail("authreq_123");

βš™οΈ Parameters

authRequestId: String - The auth request ID from the original send response

WebAuthn

client.webAuthn().listCredentials(userId) -> ListCredentialsResponse

πŸ“ Description

Lists all WebAuthn credentials for a user.

πŸ”Œ Usage

client.webAuthn().listCredentials("user_123");

βš™οΈ Parameters

userId: String - The user ID

client.webAuthn().updateCredential(credentialId, displayName) -> UpdateCredentialResponse

πŸ“ Description

Updates a WebAuthn credential’s display name.

πŸ”Œ Usage

client.webAuthn().updateCredential("cred_123", "My laptop key");

βš™οΈ Parameters

credentialId: String - Credential ID

displayName: String - New display name for the credential

client.webAuthn().deleteCredential(credentialId) -> DeleteCredentialResponse

πŸ“ Description

Deletes a WebAuthn credential.

πŸ”Œ Usage

client.webAuthn().deleteCredential("cred_123");

βš™οΈ Parameters

credentialId: String - Credential ID

Auth

client.authentication().getAuthorizationUrl(redirectUri, options) -> URL

πŸ“ Description

Utility method to generate the OAuth 2.0 authorization URL to initiate the SSO authentication flow.

This method doesn’t make any network calls but instead generates a fully formed Authorization URL that you can redirect your users to.

πŸ”Œ Usage

import com.scalekit.internal.http.AuthorizationUrlOptions;
import java.net.URL;
AuthorizationUrlOptions options = new AuthorizationUrlOptions();
options.setOrganizationId("org_123");
options.setState("random-state-value");
URL authUrl = client.authentication().getAuthorizationUrl(
"https://yourapp.com/auth/callback",
options
);

βš™οΈ Parameters

redirectUri: String - The URL where users will be redirected after authentication. Must match one of the redirect URIs configured in your Scalekit dashboard.

options: AuthorizationUrlOptions - Optional configuration for the authorization request

  • connectionId: String - Specific SSO connection ID to use for authentication
  • organizationId: String - Organization ID to authenticate against
  • scopes: List<String> - OAuth scopes to request (default: openid profile email)
  • state: String - Opaque value to maintain state between request and callback
  • nonce: String - String value used to associate a client session with an ID Token
  • domainHint: String - Domain hint to identify which organization’s IdP to use
  • loginHint: String - Hint about the login identifier the user might use
  • codeChallenge: String - PKCE code challenge for enhanced security
  • codeChallengeMethod: String - Method used to generate the code challenge (S256)
  • provider: String - Social login provider (for example, google, github, microsoft)
  • prompt: String - Controls authentication behavior (for example, login, consent, create)
client.authentication().authenticateWithCode(code, redirectUri, options) -> AuthenticationResponse

πŸ“ Description

Exchanges an authorization code for access tokens and ID token information.

πŸ”Œ Usage

import com.scalekit.internal.http.AuthenticationOptions;
import com.scalekit.internal.http.AuthenticationResponse;
AuthenticationResponse result = client.authentication().authenticateWithCode(
"<code>",
"https://yourapp.com/auth/callback",
new AuthenticationOptions()
);
String accessToken = result.getAccessToken();

βš™οΈ Parameters

code: String - The authorization code received in the callback URL after user authentication

redirectUri: String - The same redirect URI used in getAuthorizationUrl(). Must match exactly.

options: AuthenticationOptions - Optional authentication configuration

  • codeVerifier: String - PKCE code verifier (required if PKCE was used)
client.authentication().getIdpInitiatedLoginClaims(idpInitiatedLoginToken) -> IdpInitiatedLoginClaims

πŸ“ Description

Extracts and validates claims from an IdP-initiated login token.

πŸ”Œ Usage

import com.scalekit.internal.http.IdpInitiatedLoginClaims;
IdpInitiatedLoginClaims claims = client.authentication().getIdpInitiatedLoginClaims("<idp_initiated_login_token>");

βš™οΈ Parameters

idpInitiatedLoginToken: String - The IdP initiated login token

client.authentication().refreshAccessToken(refreshToken) -> AuthenticationResponse

πŸ“ Description

Refreshes access credentials using a refresh token.

πŸ”Œ Usage

client.authentication().refreshAccessToken("<refresh_token>");

βš™οΈ Parameters

refreshToken: String - The refresh token

client.authentication().validateAccessToken(jwt) -> boolean

πŸ“ Description

Validates an access token’s signature and expiry.

πŸ”Œ Usage

boolean ok = client.authentication().validateAccessToken("<access_token_jwt>");

βš™οΈ Parameters

jwt: String - The access token JWT

client.authentication().validateAccessTokenAndGetClaims(jwt) -> Map<String, Object>

πŸ“ Description

Validates an access token and returns decoded claims as a map.

πŸ”Œ Usage

import java.util.Map;
Map<String, Object> claims = client.authentication().validateAccessTokenAndGetClaims("<access_token_jwt>");

βš™οΈ Parameters

jwt: String - The access token JWT

client.authentication().getClientAccessToken() -> String

πŸ“ Description

Fetches an access token using the client credentials grant (machine-to-machine).

πŸ”Œ Usage

String token = client.authentication().getClientAccessToken();

βš™οΈ Parameters

This method takes no parameters.