# Linking an Experience

To fully utilize **Sentinel**’s moderation tools, you’ll need to link your Roblox experiences to your Workspace. This enables seamless moderation across your games and Discord server. Follow these steps to link a game and bind the necessary API key.

## Step 1: Link Your Roblox Experience

To begin linking a game (place) to your **Workspace**, use the following command in your Discord server where the bot is active:

```
/addplace {placeid} {placename}
```

* Replace `placeid` with your game's Place ID (Not the universe or experience Id, the id you see on the games page as a player).
* Replace `placename` with the name of your game.

### For example:

```
/addplace 1234567890 Pet Simulator X
```

This command adds your Roblox game under your Workspace for global moderation and analytics.

## Step 2: Create and Bind an Open Cloud API Key

Next, you need to create a **Roblox Open Cloud API (OCAPI)** key for the group or Roblox profile that owns the game. This key is required to enable communication between Sentinel and your game for features like publishing messages.

{% hint style="warning" %}
API key has to be under the Group that owns the game; if a group does not own the experience then the owner of the game must make the key!
{% endhint %}

1. Log in to your **Roblox** account and create an **Open Cloud API** key.
2. Ensure that the key has the following permissions:
   * **messaging-service: publish**
   * **user-restrictions: write & read**
3. Set the **accepted IP addresses** field to:

   ```
   0.0.0.0/0
   ```
4. Set the Expiration date as: **No Expiration**

Once you’ve created the key, bind it to your experience by running the following command in Discord:

```
/bindapikey {placeid} {key}
```

* Replace `{placeid}` with the ID of the place you are binding the API key to.
* Replace `{key}` with the API key you generated.

Additionally you can set the Global API Key (we call it the G-API Key or GAK) using the same key.

```
/bindgapikey {key}
```

{% hint style="warning" %}
The **Global API Key** is **not** used for managing bans. Instead, it is specifically designated for:

* **Ranking API** (Scope: `groups:write`) – This key is used to modify group ranks and requires the appropriate permissions.

To manage bans, you must assign a separate **API Key per experience**. This per-experience API Key must include the `user-restrictions` scope, allowing the bot to utilize **Roblox's BanAsync API** for handling bans effectively. Experiences can share the same API key if they are owned by the same API key owner.
{% endhint %}

### For example:

```
/bindapikey 1234567890 ABCDEFGHIJKLMNOPQRSTUVWXYZ
```

## Step 3: Key Security and Storage

{% hint style="danger" %}
Rest assured, your API key is stored securely within **Sentinel**. We use **AES-256 encryption** (**Military Grade**) to protect your key, meaning **no one can access it** without the proper decryption key. Not even **Sentinel** employees have access to production secrets—only **Metatable**, the CEO, holds the necessary credentials to decrypt the sensitive information. This ensures that your key is safe from abuse or protentional leaks.
{% endhint %}

## That’s It!

Once the key is bound, your experience will be fully linked to your **Workspace**, allowing you to leverage Sentinel’s advanced moderation tools. Enjoy seamless integration and powerful control over your Roblox and Discord communities.
