
com.slack.api.scim.AsyncSCIMClient Maven / Gradle / Ivy
package com.slack.api.scim;
import com.slack.api.RequestConfigurator;
import com.slack.api.scim.request.*;
import com.slack.api.scim.response.*;
import java.util.concurrent.CompletableFuture;
/**
* Slack SCIM API client.
*
* Provision and manage user accounts and groups with the Slack SCIM API.
* SCIM is used by Single Sign-On (SSO) services and identity providers to manage people
* across a variety of tools, including Slack.
*
* It's also possible to write your own apps
* and scripts using the SCIM API to programmatically manage the members of your workspace.
*
* @see Slack SCIM API
*/
public interface AsyncSCIMClient {
String ENDPOINT_URL_PREFIX = "https://api.slack.com/scim/v1/";
String getEndpointUrlPrefix();
void setEndpointUrlPrefix(String endpointUrlPrefix);
// --------------------
// ServiceProviderConfigs
// --------------------
CompletableFuture getServiceProviderConfigs(ServiceProviderConfigsGetRequest req);
CompletableFuture getServiceProviderConfigs(RequestConfigurator req);
// --------------------
// Users
// --------------------
CompletableFuture searchUsers(UsersSearchRequest req);
CompletableFuture searchUsers(RequestConfigurator req);
// ---
CompletableFuture readUser(UsersReadRequest req);
CompletableFuture readUser(RequestConfigurator req);
// ---
CompletableFuture createUser(UsersCreateRequest req);
CompletableFuture createUser(RequestConfigurator req);
// ---
CompletableFuture patchUser(UsersPatchRequest req);
CompletableFuture patchUser(RequestConfigurator req);
// ---
CompletableFuture updateUser(UsersUpdateRequest req);
CompletableFuture updateUser(RequestConfigurator req);
// ---
CompletableFuture deleteUser(UsersDeleteRequest req);
CompletableFuture deleteUser(RequestConfigurator req);
// --------------------
// Groups
// --------------------
CompletableFuture searchGroups(GroupsSearchRequest req);
CompletableFuture searchGroups(RequestConfigurator req);
// ---
CompletableFuture readGroup(GroupsReadRequest req);
CompletableFuture readGroup(RequestConfigurator req);
// ---
CompletableFuture createGroup(GroupsCreateRequest req);
CompletableFuture createGroup(RequestConfigurator req);
// ---
CompletableFuture patchGroup(GroupsPatchRequest req);
CompletableFuture patchGroup(RequestConfigurator req);
// ---
CompletableFuture updateGroup(GroupsUpdateRequest req);
CompletableFuture updateGroup(RequestConfigurator req);
// ---
CompletableFuture deleteGroup(GroupsDeleteRequest req);
CompletableFuture deleteGroup(RequestConfigurator req);
}