npm package: @reltio/oauth-api-beta3
Description: The Reltio Authentication APIs perform authentication operations for a user.<br>Customers use the Reltio Auth API to get the access token to access their tenant. The access token permits the customer to request protected information by calling other Relti
Latest version: 2020.2.0

# authentication_ap_is

AuthenticationApIs - JavaScript client for authentication_ap_is
The Reltio Authentication APIs perform authentication operations for a user.<br>Customers use the Reltio Auth API to get the access token to access their tenant. The access token permits the customer to request protected information by calling other Reltio Platform APIs. It is implemented by using the OAuth2 protocol.</br><br>If your tenant is configured to use SSO, you must obtain an access token from your SSO Auth server. Since the third-party access tokens aren't known to the Reltio Auth server, some modifications must be made to the default configuration. </br>
This SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:

- API version: 2020.2.0.0.1-SNAPSHOT
- Package version: 2020.2.0.0.1-SNAPSHOT
- Build package: org.openapitools.codegen.languages.JavascriptClientCodegen
For more information, please visit [http://www.reltio.com](http://www.reltio.com)

## Installation

### For [Node.js](https://nodejs.org/)

#### npm

To publish the library as a [npm](https://www.npmjs.com/), please follow the procedure in ["Publishing npm packages"](https://docs.npmjs.com/getting-started/publishing-npm-packages).

Then install it via:

```shell
npm install authentication_ap_is --save
```

Finally, you need to build the module:

```shell
npm run build
```

##### Local development

To use the library locally without publishing to a remote npm registry, first install the dependencies by changing into the directory containing `package.json` (and this README). Let's call this `JAVASCRIPT_CLIENT_DIR`. Then run:

```shell
npm install
```

Next, [link](https://docs.npmjs.com/cli/link) it globally in npm with the following, also from `JAVASCRIPT_CLIENT_DIR`:

```shell
npm link
```

To use the link you just defined in your project, switch to the directory you want to use your authentication_ap_is from, and run:

```shell
npm link /path/to/<JAVASCRIPT_CLIENT_DIR>
```

Finally, you need to build the module:

```shell
npm run build
```

#### git

If the library is hosted at a git repository, e.g.https://github.com/GIT_USER_ID/GIT_REPO_ID
then install it via:

```shell
    npm install GIT_USER_ID/GIT_REPO_ID --save
```

### For browser

The library also works in the browser environment via npm and [browserify](http://browserify.org/). After following
the above steps with Node.js and installing browserify with `npm install -g browserify`,
perform the following (assuming *main.js* is your entry file):

```shell
browserify main.js > bundle.js
```

Then include *bundle.js* in the HTML pages.

### Webpack Configuration

Using Webpack you may encounter the following error: "Module not found: Error:
Cannot resolve module", most certainly you should disable AMD loader. Add/merge
the following section to your webpack config:

```javascript
module: {
  rules: [
    {
      parser: {
        amd: false
      }
    }
  ]
}
```

## Getting Started

Please follow the [installation](#installation) instruction and execute the following JS code:

```javascript
var AuthenticationApIs = require('authentication_ap_is');

var defaultClient = AuthenticationApIs.ApiClient.instance;
// Configure OAuth2 access token for authorization: reltio_auth
var reltio_auth = defaultClient.authentications['reltio_auth'];
reltio_auth.accessToken = "YOUR ACCESS TOKEN"

var api = new AuthenticationApIs.CheckAccessTokenApi()
var token = "token_example"; // {String} 
var opts = {
  'serviceId': "serviceId_example", // {String} 
  'tenantId': "tenantId_example" // {String} 
};
api.getAuthorizationInfo(token, opts).then(function(data) {
  console.log('API called successfully. Returned data: ' + data);
}, function(error) {
  console.error(error);
});


```

## Documentation for API Endpoints

All URIs are relative to *http://localhost*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*AuthenticationApIs.CheckAccessTokenApi* | [**getAuthorizationInfo**](docs/CheckAccessTokenApi.md#getAuthorizationInfo) | **POST** /oauth/checkToken | 
*AuthenticationApIs.ComReltioAuthDbSyncupControllerDBSyncupControllerApi* | [**getSyncStatus**](docs/ComReltioAuthDbSyncupControllerDBSyncupControllerApi.md#getSyncStatus) | **GET** /admin/*/sync/status | 
*AuthenticationApIs.ComReltioAuthRestV2controllersGlobalRolePermissionControllerV2Api* | [**getByRoleName**](docs/ComReltioAuthRestV2controllersGlobalRolePermissionControllerV2Api.md#getByRoleName) | **GET** /oauth/*/roles/permissions/v2/{roleName} | 
*AuthenticationApIs.CustomerRolePermissionsApi* | [**callDelete**](docs/CustomerRolePermissionsApi.md#callDelete) | **DELETE** /oauth/*/customers/{customerId}/roles/permissions/{roleName} | 
*AuthenticationApIs.CustomerRolePermissionsApi* | [**create**](docs/CustomerRolePermissionsApi.md#create) | **POST** /oauth/*/customers/{customerId}/roles/permissions | This API creates permissions for the existing customer-specific roles. 
*AuthenticationApIs.CustomerRolePermissionsApi* | [**getAll**](docs/CustomerRolePermissionsApi.md#getAll) | **GET** /oauth/*/customers/{customerId}/roles/permissions | This API request returns the details of all the roles and permissions configured for a customer, based on the Customer ID mentioned in the request.
*AuthenticationApIs.CustomerRolePermissionsApi* | [**getByRoleName**](docs/CustomerRolePermissionsApi.md#getByRoleName) | **GET** /oauth/*/customers/{customerId}/roles/permissions/{roleName} | This API returns all the permissions configured for the specified role under the particular customer.
*AuthenticationApIs.CustomerRolePermissionsApi* | [**override**](docs/CustomerRolePermissionsApi.md#override) | **PUT** /oauth/*/customers/{customerId}/roles/permissions/{roleName} | This API request overrides the permissions of a customer specific role permissions object specified in the request body. 
*AuthenticationApIs.CustomersApi* | [**addCustomerSpecificRoles**](docs/CustomersApi.md#addCustomerSpecificRoles) | **POST** /oauth/*/customers/{id}/roles | This API allows you to add customer specific roles.
*AuthenticationApIs.CustomersApi* | [**createCustomers**](docs/CustomersApi.md#createCustomers) | **POST** /oauth/*/customers | This API request creates a customer record based on the details provided in the request body. 
*AuthenticationApIs.CustomersApi* | [**createGroups**](docs/CustomersApi.md#createGroups) | **POST** /oauth/*/customers/{customerId}/groups | This API creates the groups with the tenant specific roles configured for the customer.
*AuthenticationApIs.CustomersApi* | [**createSSOConfigurationForTenant**](docs/CustomersApi.md#createSSOConfigurationForTenant) | **PUT** /oauth/*/customers/{id}/externalProviderConfig/{tenant} | 
*AuthenticationApIs.CustomersApi* | [**deleteCustomer**](docs/CustomersApi.md#deleteCustomer) | **DELETE** /oauth/*/customers/{id} | 
*AuthenticationApIs.CustomersApi* | [**deleteGroup**](docs/CustomersApi.md#deleteGroup) | **DELETE** /oauth/*/customers/{customerId}/groups/{groupId} | This API request deletes the group for the specified customer.
*AuthenticationApIs.CustomersApi* | [**deleteSSOConfigurationForTenant**](docs/CustomersApi.md#deleteSSOConfigurationForTenant) | **DELETE** /oauth/*/customers/{id}/externalProviderConfig/{tenant} | 
*AuthenticationApIs.CustomersApi* | [**deleteShieldConfig**](docs/CustomersApi.md#deleteShieldConfig) | **DELETE** /oauth/*/customers/{id}/shieldConfig | 
*AuthenticationApIs.CustomersApi* | [**getCustomer**](docs/CustomersApi.md#getCustomer) | **GET** /oauth/*/customers/{id} | This API request displays the details of the customer based on the Customer ID provided in the request body. 
*AuthenticationApIs.CustomersApi* | [**getCustomers**](docs/CustomersApi.md#getCustomers) | **GET** /oauth/*/customers | This API allows to to get Customers API.
*AuthenticationApIs.CustomersApi* | [**getGroup**](docs/CustomersApi.md#getGroup) | **GET** /oauth/*/customers/{customerId}/groups/{groupId} | This API request displays the details of a Group for a specific customer, based on the Group ID and Customer ID mentioned in the request.
*AuthenticationApIs.CustomersApi* | [**getGroups**](docs/CustomersApi.md#getGroups) | **GET** /oauth/*/customers/{customerId}/groups | This API creates the groups with the tenant specific roles configured for the customer. The request body must be an array with group details.
*AuthenticationApIs.CustomersApi* | [**getSSOConfigurationForTenant**](docs/CustomersApi.md#getSSOConfigurationForTenant) | **GET** /oauth/*/customers/{id}/externalProviderConfig/{tenant} | 
*AuthenticationApIs.CustomersApi* | [**getShieldConfig**](docs/CustomersApi.md#getShieldConfig) | **GET** /oauth/*/customers/{id}/shieldConfig | 
*AuthenticationApIs.CustomersApi* | [**getUsersForCustomer**](docs/CustomersApi.md#getUsersForCustomer) | **GET** /oauth/*/customers/{id}/users | This API request allows you to display the details of all the users belonging to a specific customer specified in the request body.
*AuthenticationApIs.CustomersApi* | [**updateCustomer**](docs/CustomersApi.md#updateCustomer) | **PUT** /oauth/*/customers/{id} | This API request allows you to modify the customer&#39;s details, based on the Customer ID specified in the request body.
*AuthenticationApIs.CustomersApi* | [**updateCustomerPasswordPolicy**](docs/CustomersApi.md#updateCustomerPasswordPolicy) | **PUT** /oauth/*/customers/{id}/passwordPolicy | 
*AuthenticationApIs.CustomersApi* | [**updateCustomerSpecificRoles**](docs/CustomersApi.md#updateCustomerSpecificRoles) | **PUT** /oauth/*/customers/{id}/roles | This API request updates the customer-specific roles to the list of roles sent in the body.
*AuthenticationApIs.CustomersApi* | [**updateGroup**](docs/CustomersApi.md#updateGroup) | **PUT** /oauth/*/customers/{customerId}/groups/{groupId} | API request updates the group with the JSON object send in the request body.
*AuthenticationApIs.CustomersApi* | [**updateShieldConfig**](docs/CustomersApi.md#updateShieldConfig) | **PUT** /oauth/*/customers/{id}/shieldConfig | 
*AuthenticationApIs.GlobalRolePermissionsApi* | [**getAll**](docs/GlobalRolePermissionsApi.md#getAll) | **GET** /oauth/*/roles/permissions | 
*AuthenticationApIs.GlobalRolePermissionsApi* | [**getByRoleName**](docs/GlobalRolePermissionsApi.md#getByRoleName) | **GET** /oauth/*/roles/permissions/{roleName} | This API returns the permissions JSON of the System role sent in the request.
*AuthenticationApIs.LoginApi* | [**login**](docs/LoginApi.md#login) | **POST** /oauth/token | 
*AuthenticationApIs.ReltioServiceApi* | [**getAllReltioServices**](docs/ReltioServiceApi.md#getAllReltioServices) | **GET** /oauth/*/reltioservices | 
*AuthenticationApIs.ReltioServiceApi* | [**getReltioServiceByID**](docs/ReltioServiceApi.md#getReltioServiceByID) | **GET** /oauth/*/reltioservices/{serviceId} | 
*AuthenticationApIs.RevokeTokenApi* | [**revokeToken**](docs/RevokeTokenApi.md#revokeToken) | **POST** /oauth/revoke | This API request is used to revoke an access or refresh token and the data associated with it.
*AuthenticationApIs.UsersApi* | [**addUserExternalTokens**](docs/UsersApi.md#addUserExternalTokens) | **POST** /oauth/*/users/{username}/externalTokens | This API request is used to add an external token for the user specified in the request.
*AuthenticationApIs.UsersApi* | [**addUsersToCollection**](docs/UsersApi.md#addUsersToCollection) | **POST** /oauth/*/users | This API request creates a user as specified in the request body. You can specify the roles and tenants by using the userPermissions property. 
*AuthenticationApIs.UsersApi* | [**deleteUser**](docs/UsersApi.md#deleteUser) | **DELETE** /oauth/*/users/{username} | This API deletes the users.
*AuthenticationApIs.UsersApi* | [**getCustomerForUser**](docs/UsersApi.md#getCustomerForUser) | **GET** /oauth/*/users/customers | 
*AuthenticationApIs.UsersApi* | [**getExternalTokens**](docs/UsersApi.md#getExternalTokens) | **GET** /oauth/*/users/{username}/externalTokens | This API returns the external tokens for the specified username.
*AuthenticationApIs.UsersApi* | [**getGroupsForUser**](docs/UsersApi.md#getGroupsForUser) | **GET** /oauth/*/users/{username}/groups | 
*AuthenticationApIs.UsersApi* | [**getUsers**](docs/UsersApi.md#getUsers) | **GET** /oauth/*/users | This API fetches the list of users.
*AuthenticationApIs.UsersApi* | [**getUsersByGroup**](docs/UsersApi.md#getUsersByGroup) | **GET** /oauth/*/users/groups/{groupId} | 
*AuthenticationApIs.UsersApi* | [**listTokensForUser**](docs/UsersApi.md#listTokensForUser) | **GET** /oauth/users/{user}/tokens | 
*AuthenticationApIs.UsersApi* | [**removeExternalToken**](docs/UsersApi.md#removeExternalToken) | **DELETE** /oauth/*/users/{username}/externalTokens/{systemId} | 
*AuthenticationApIs.UsersApi* | [**resetPassword**](docs/UsersApi.md#resetPassword) | **POST** /oauth/*/users/_resetPassword | This API allows changing of the user password using temporary reset link.
*AuthenticationApIs.UsersApi* | [**revokeTokens**](docs/UsersApi.md#revokeTokens) | **PUT** /oauth/*/users/{username}/revoketokens | 
*AuthenticationApIs.UsersApi* | [**sendResetPasswordLink**](docs/UsersApi.md#sendResetPasswordLink) | **POST** /oauth/*/users/_sendResetPasswordLink | This API requests for a temporary password link.
*AuthenticationApIs.UsersApi* | [**updateUser**](docs/UsersApi.md#updateUser) | **PUT** /oauth/*/users/{username} | This API overrides the users completely with the data sent in the request body.
*AuthenticationApIs.UsersApi* | [**updateUserEmail**](docs/UsersApi.md#updateUserEmail) | **PUT** /oauth/*/users/{username}/email | 
*AuthenticationApIs.UsersApi* | [**updateUserEntityId**](docs/UsersApi.md#updateUserEntityId) | **PUT** /oauth/*/users/{username}/entity | This API request is used to update an entity associated with a user.
*AuthenticationApIs.UsersApi* | [**updateUserExternalToken**](docs/UsersApi.md#updateUserExternalToken) | **PUT** /oauth/*/users/{username}/externalTokens/{systemId} | 
*AuthenticationApIs.UsersApi* | [**updateUserGroups**](docs/UsersApi.md#updateUserGroups) | **PUT** /oauth/*/users/{username}/groups | 
*AuthenticationApIs.UsersApi* | [**updateUserPassword**](docs/UsersApi.md#updateUserPassword) | **PUT** /oauth/*/users/{username}/password | This API updates the password for the specified username.
*AuthenticationApIs.UsersApi* | [**updateUserRoles**](docs/UsersApi.md#updateUserRoles) | **PUT** /oauth/*/users/{username}/tenantRoles | 
*AuthenticationApIs.UsersApi* | [**updateUserRolesRemoved**](docs/UsersApi.md#updateUserRolesRemoved) | **PUT** /oauth/*/users/{username}/roles | 
*AuthenticationApIs.UsersApi* | [**updateUserTenantsRemoved**](docs/UsersApi.md#updateUserTenantsRemoved) | **PUT** /oauth/*/users/{username}/tenants | 
*AuthenticationApIs.UsersApi* | [**updateUser_0**](docs/UsersApi.md#updateUser_0) | **PUT** /oauth/*/users/{username}/_unlock | 
*AuthenticationApIs.UsersApi* | [**viewUser**](docs/UsersApi.md#viewUser) | **GET** /oauth/*/users/{username} | This API request displays the details of a particular user, based on the User Name specified in the request body. 
*AuthenticationApIs.UsersApi* | [**viewUsersForTenant**](docs/UsersApi.md#viewUsersForTenant) | **GET** /oauth/*/users/permissions/tenant/{tenantId} | 
*AuthenticationApIs.UsersApi* | [**viewUsersForTenant_0**](docs/UsersApi.md#viewUsersForTenant_0) | **GET** /oauth/*/users/tenant/{tenantId} | This API request displays the list of all the users for a tenant, based on the Tenant ID specified in the request body.


## Documentation for Models

 - [AuthenticationApIs.AuthCredentials](docs/AuthCredentials.md)
 - [AuthenticationApIs.AuthorizationInfo](docs/AuthorizationInfo.md)
 - [AuthenticationApIs.ClientDetailsWrapper](docs/ClientDetailsWrapper.md)
 - [AuthenticationApIs.ClientRole](docs/ClientRole.md)
 - [AuthenticationApIs.Customer](docs/Customer.md)
 - [AuthenticationApIs.EmailContainer](docs/EmailContainer.md)
 - [AuthenticationApIs.ExternalProviderConfig](docs/ExternalProviderConfig.md)
 - [AuthenticationApIs.ExternalToken](docs/ExternalToken.md)
 - [AuthenticationApIs.GroupsContainer](docs/GroupsContainer.md)
 - [AuthenticationApIs.JWTSignatureConfig](docs/JWTSignatureConfig.md)
 - [AuthenticationApIs.JsonNodeFactory](docs/JsonNodeFactory.md)
 - [AuthenticationApIs.ModelAndView](docs/ModelAndView.md)
 - [AuthenticationApIs.MoveRolesDTO](docs/MoveRolesDTO.md)
 - [AuthenticationApIs.ObjectNode](docs/ObjectNode.md)
 - [AuthenticationApIs.OldPassword](docs/OldPassword.md)
 - [AuthenticationApIs.OperationStatus](docs/OperationStatus.md)
 - [AuthenticationApIs.PagableReltioUser](docs/PagableReltioUser.md)
 - [AuthenticationApIs.PasswordContainer](docs/PasswordContainer.md)
 - [AuthenticationApIs.PasswordPolicy](docs/PasswordPolicy.md)
 - [AuthenticationApIs.ReltioServiceResource](docs/ReltioServiceResource.md)
 - [AuthenticationApIs.ReltioServiceResourcePermissions](docs/ReltioServiceResourcePermissions.md)
 - [AuthenticationApIs.ReltioUser](docs/ReltioUser.md)
 - [AuthenticationApIs.ReltioUserGroup](docs/ReltioUserGroup.md)
 - [AuthenticationApIs.ReltioUserInternal](docs/ReltioUserInternal.md)
 - [AuthenticationApIs.ReltioUserPermissions](docs/ReltioUserPermissions.md)
 - [AuthenticationApIs.Role](docs/Role.md)
 - [AuthenticationApIs.RolesContainer](docs/RolesContainer.md)
 - [AuthenticationApIs.RolesPermissions](docs/RolesPermissions.md)
 - [AuthenticationApIs.ShieldConfig](docs/ShieldConfig.md)
 - [AuthenticationApIs.Status](docs/Status.md)
 - [AuthenticationApIs.SyncStatus](docs/SyncStatus.md)
 - [AuthenticationApIs.TenantsContainer](docs/TenantsContainer.md)
 - [AuthenticationApIs.TenantsRolesContainer](docs/TenantsRolesContainer.md)
 - [AuthenticationApIs.UserEntity](docs/UserEntity.md)
 - [AuthenticationApIs.UserRole](docs/UserRole.md)


## Documentation for Authorization



### reltio_auth


- **Type**: OAuth
- **Flow**: password
- **Authorization URL**: 
- **Scopes**: 
  - write: Grant write-only access
  - read: Grant read-only access