• RKGMS
• SDK GUIDES
• SDK Configuration

# RelationalAI SDK Configuration

This guide presents the configuration of the RelationalAI SDK, which is used to interact with RelationalAI’s Relational Knowledge Graph Management System (RKGMS).

## The Configuration File

To connect to the RAI Server using any of the available RelationalAI SDKs, you need a configuration file with RAICredentials, i.e., an ID and a secret key provided to you by an admin. No specific extension is needed for the file. Typically, ~/.rai/config is used as the default configuration file for Linux and MacOS, but you can use any other file by providing the file path in the respective SDK function.

To get RAICredentials, follow these steps:

1. The Organization/Team/Person requests an account from RAI. Once the account is set up, an admin user is assigned to the account.
2. This admin uses the RAI Console to create OAuth clients. For more information on OAuth clients, see Managing OAuth Clients. Each client is identified by a client_id and a client_secret.
3. The SDK user adds the client_id and client_secret to their configuration file (for example, ~/.rai/config), which should look like this:
[default]
host = azure.relationalai.com
client_id = ################ [from RelationalAI admin]
client_secret = ############## [from RelationalAI admin]


Note that in place of ######### the actual OAuth user credentials should appear. Here, [default] is the profile name. You will refer to this profile name when using the SDK.

Within the configuration file, you can also specify some optional parameters, with the following default values:

[default]
region = us-east
port = 443
scheme = https
client_credentials_url = https://login.relationalai.com/oauth/token

### Multiple Profiles (Optional)

You can specify other profiles in addition to [default], such as [my-profile], in separate sections of the config file. This is useful, for instance, if you have configurations for different regions.

### Permissions

Each OAuth client has its own set of permissions, which determine the operations it can execute. Depending on the permissions, some operations, such as listing other users or creating or deleting compute engines, may fail.