com.slack.api.scim2.SCIM2Client Maven / Gradle / Ivy
package com.slack.api.scim2;
import com.slack.api.RequestConfigurator;
import com.slack.api.scim2.request.*;
import com.slack.api.scim2.response.*;
import java.io.IOException;
/**
* 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 2.0 API
*/
public interface SCIM2Client {
String ENDPOINT_URL_PREFIX = "https://api.slack.com/scim/v2/";
String getEndpointUrlPrefix();
void setEndpointUrlPrefix(String endpointUrlPrefix);
// --------------------
// ServiceProviderConfigs
// --------------------
ServiceProviderConfigsGetResponse getServiceProviderConfigs(ServiceProviderConfigsGetRequest req) throws IOException, SCIM2ApiException;
ServiceProviderConfigsGetResponse getServiceProviderConfigs(RequestConfigurator req) throws IOException, SCIM2ApiException;
// --------------------
// ResourceTypes
// --------------------
ResourceTypesGetResponse getResourceTypes(ResourceTypesGetRequest req) throws IOException, SCIM2ApiException;
ResourceTypesGetResponse getResourceTypes(RequestConfigurator req) throws IOException, SCIM2ApiException;
// --------------------
// Users
// --------------------
UsersSearchResponse searchUsers(UsersSearchRequest req) throws IOException, SCIM2ApiException;
UsersSearchResponse searchUsers(RequestConfigurator req) throws IOException, SCIM2ApiException;
// ---
UsersReadResponse readUser(UsersReadRequest req) throws IOException, SCIM2ApiException;
UsersReadResponse readUser(RequestConfigurator req) throws IOException, SCIM2ApiException;
// ---
UsersCreateResponse createUser(UsersCreateRequest req) throws IOException, SCIM2ApiException;
UsersCreateResponse createUser(RequestConfigurator req) throws IOException, SCIM2ApiException;
// ---
UsersPatchResponse patchUser(UsersPatchRequest req) throws IOException, SCIM2ApiException;
UsersPatchResponse patchUser(RequestConfigurator req) throws IOException, SCIM2ApiException;
// ---
UsersUpdateResponse updateUser(UsersUpdateRequest req) throws IOException, SCIM2ApiException;
UsersUpdateResponse updateUser(RequestConfigurator req) throws IOException, SCIM2ApiException;
// ---
UsersDeleteResponse deleteUser(UsersDeleteRequest req) throws IOException, SCIM2ApiException;
UsersDeleteResponse deleteUser(RequestConfigurator req) throws IOException, SCIM2ApiException;
// --------------------
// Groups
// --------------------
GroupsSearchResponse searchGroups(GroupsSearchRequest req) throws IOException, SCIM2ApiException;
GroupsSearchResponse searchGroups(RequestConfigurator req) throws IOException, SCIM2ApiException;
// ---
GroupsReadResponse readGroup(GroupsReadRequest req) throws IOException, SCIM2ApiException;
GroupsReadResponse readGroup(RequestConfigurator req) throws IOException, SCIM2ApiException;
// ---
GroupsCreateResponse createGroup(GroupsCreateRequest req) throws IOException, SCIM2ApiException;
GroupsCreateResponse createGroup(RequestConfigurator req) throws IOException, SCIM2ApiException;
// ---
GroupsPatchResponse patchGroup(GroupsPatchRequest req) throws IOException, SCIM2ApiException;
GroupsPatchResponse patchGroup(RequestConfigurator req) throws IOException, SCIM2ApiException;
// ---
GroupsUpdateResponse updateGroup(GroupsUpdateRequest req) throws IOException, SCIM2ApiException;
GroupsUpdateResponse updateGroup(RequestConfigurator req) throws IOException, SCIM2ApiException;
// ---
GroupsDeleteResponse deleteGroup(GroupsDeleteRequest req) throws IOException, SCIM2ApiException;
GroupsDeleteResponse deleteGroup(RequestConfigurator req) throws IOException, SCIM2ApiException;
}