# How to handle user credentials in Ctrl

When a new Ctrl account or bookmaker is created, the first user automatically becomes the account owner. The owner holds full access rights and may choose to share their credentials with others at their own discretion.

To support collaboration, additional users can be created within Ctrl, ensuring that each individual has their own secure set of credentials rather than relying on shared access.

### Prerequisites

Before handling or creating user credentials in Ctrl, make sure you have:

* An active Ctrl account with owner-level access.
* Permission to manage users and credentials.
* A secure method for storing and sharing credentials (e.g., environment variables, password manager, or secrets manager).

### Getting Started

When your account is created, the account owner will receive an email with the **initial login credentials**.

* **First login to Integration**: You’ll be prompted to change your password. This change only applies to the **Integration environment**.
* **First login to Production**: Use the original credentials from the email again. After logging in for the first time, it is recommended to change your Production password.

There are two ways of creating and managing users in Ctrl:

1. **Integration Environment** – used for testing and non-production purposes.
2. **Production Environment** – used for live operations and real customer data.

#### User Roles&#x20;

When creating a new user in Ctrl, you must assign them a **role**. Each role has a specific set of permissions tailored to their responsibilities.

<table data-view="cards"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><strong>Junior Trader</strong></td><td>Entry-level role for assisting in trading operations. Can monitor, follow events, and perform basic actions but with limited control over odds or system-wide settings.</td></tr><tr><td><strong>Trader</strong></td><td>Standard trading role with authority to control odds, monitor markets, and manage live events in day-to-day operations.</td></tr><tr><td><strong>Senior Trader</strong></td><td>Experienced role with full trading rights. Can publish/suspend events, adjust odds in manual/semi-automated modes, and manage trading strategies.</td></tr><tr><td><strong>Head of Trading</strong></td><td>Leadership role with both trading rights and <strong>administrative powers</strong> (e.g., creating users, assigning roles, configuring templates, and managing bookmakers).</td></tr><tr><td><strong>Junior Trader (Live Booker)</strong></td><td>Specialized junior role focused only on <strong>live booking of matches</strong>. Useful for delegating live operations without granting broader trading permissions.</td></tr><tr><td><strong>Technical</strong></td><td>Technical support/developer role. Provides system configuration, integration testing, cache/template management, and troubleshooting. Typically does not manage trading operations directly.</td></tr><tr><td><strong>Compliance User Service</strong></td><td>Oversight role dedicated to <strong>compliance and auditing</strong>. Has visibility and limited permissions to monitor activity but cannot influence odds or trading decisions.</td></tr></tbody></table>

#### User Roles and Rights Table

<details>

<summary>Click to see the table that outlines which actions each role is allowed to perform:</summary>

| Rights / Role                  | Senior Trader | Head of Trading | Trader | Junior Trader | Junior Trader (Live Booker) | Technical | Compliance User Service | Comments / Description                                             |
| ------------------------------ | ------------- | --------------- | ------ | ------------- | --------------------------- | --------- | ----------------------- | ------------------------------------------------------------------ |
| **General**                    |               |                 |        |               |                             |           |                         |                                                                    |
| Hotlist Events                 | ✔️            | ✔️              | ✔️     | ✔️            | ✔️                          | ✔️        | ✔️                      | `match.hotlist`                                                    |
| Add Comments                   | ✔️            | ✔️              | ✔️     |               |                             | ✔️        | ✔️                      | Add comments in matches (`match.comment`)                          |
| Publish / Suspend              | ✔️            | ✔️              | ✔️     | ✔️            | ✔️                          | ✔️        | ✔️                      | `match.publish / match.suspend`                                    |
| **Monitoring**                 |               |                 |        |               |                             |           |                         |                                                                    |
| Create Tabs                    | ✔️            | ✔️              | ✔️     | ✔️            | ✔️                          | ✔️        | ✔️                      | Create tabs in monitoring (`monitoring.tabs.create`)               |
| **Match Up**                   |               |                 |        |               |                             |           |                         |                                                                    |
| Odds Control Semi Automated    | ✔️            | ✔️              | ✔️     |               |                             | ✔️        |                         | Semi-automated trading mode (`market.control.semiAuto`)            |
| Odds Control Manual            | ✔️            | ✔️              | ✔️     |               |                             | ✔️        |                         | Manual trading mode (`market.control.manual`)                      |
| Change Odds Key                | ✔️            | ✔️              | ✔️     |               |                             | ✔️        |                         | Adjust margin/odds key (`market.control.keyChange`)                |
| **Alert Console**              |               |                 |        |               |                             |           |                         |                                                                    |
| Mute Alerts                    | ✔️            | ✔️              | ✔️     |               |                             | ✔️        |                         | Disable alerts (`alerts.mute`)                                     |
| View Users                     | ✔️            | ✔️              | ✔️     | ✔️            | ✔️                          | ✔️        |                         | `alerts.users`                                                     |
| **Configuration**              |               |                 |        |               |                             |           |                         |                                                                    |
| Template Configuration         | ✔️            | ✔️              |        |               |                             | ✔️        |                         | Manage odds keys, lines, publication time (`config.keyTemplate`)   |
| Template Assignment / Creation | ✔️            | ✔️              |        |               |                             | ✔️        |                         | Assign tournaments to templates (`config.keyTemplate`)             |
| Configure Bookmakers           | ✔️            | ✔️              |        |               |                             | ✔️        |                         | Manage bookmakers, config levels (`config.bookmakerList`)          |
| Remove Bookmaker Instance      | ✔️            | ✔️              |        |               |                             | ✔️        |                         | Change tournament ranking (`config.bookmakerList`)                 |
| Change Alert Rating            | ✔️            | ✔️              |        |               |                             | ✔️        |                         | Update alert ranking (`config.alerts`)                             |
| User Rights Configuration      |               | ✔️              |        |               |                             | ✔️        |                         | Create/assign/deactivate users (`user.create`, `user.role.assign`) |
| All User Preferences Change    |               | ✔️              |        |               |                             | ✔️        |                         | Modify preferences of any user (`user.update.all`)                 |
| Own User Preference Change     | ✔️            | ✔️              | ✔️     | ✔️            | ✔️                          | ✔️        |                         | Update own preferences (`user.update.own`)                         |
| **Live Booking Calendar**      |               |                 |        |               |                             |           |                         |                                                                    |
| Book Live Matches              | ✔️            | ✔️              |        |               | ✔️                          | ✔️        |                         | Book matches in Live Booking Calendar                              |

</details>

> By carefully assigning these roles, you can ensure the right people have the right permissions in both **Integration** and **Production** environments.

<mark style="color:red;">**Click through the demo to experience the create a user in just a few minutes.**</mark>

{% @storylane/embed subdomain="app" linkValue="ybfdfkf0o9b8" url="<https://app.storylane.io/share/ybfdfkf0o9b8>" %}

{% stepper %}
{% step %}

#### **Create** a New Use&#x72;**:**&#x20;

{% tabs %}
{% tab title="Integration Environment Access" %}
The integration environment is designed for testing and validation. It allows you to simulate workflows without affecting your live production data.

* Log in with your credentials at <https://integration.portal.betradar.com/configuration/users> to view the list of users.
  {% endtab %}

{% tab title="Production Environment Access" %}
The production environment is used for live operations and contains real data. Any user created here will have access to your actual bookmaker operations, so permissions should be assigned carefully.

Who can create users:

* Account Owner only

{% hint style="warning" %}
Users created in the production environment are automatically reflected in the integration environment as well.
{% endhint %}

How to create a user:

* Log in at <https://portal.betradar.com/configuration/users>&#x20;
  {% endtab %}
  {% endtabs %}

User creation is only available in the **Production environment**.

Every Betradar user has access to the following pages:

* in.betradar.com
* integration.portal.betradar.com
* portal.betradar.com

This means that users connected to Bookmaker accounts that have access only to Integration UOF, can also access Portal production.

1. **After Log in**&#x20;
2. Click the **New User** button.
3. A modal window will appear with a form. Fill in the required details:
   * **Username**
   * **Role** (refer to the [Role Table above for guidance on role permissions](#user-roles-and-rights-table))
   * **Email**
4. Once all fields are completed, click **Create**.

The new user will now be added with the specified role and access rights.

<figure><img src="/files/1AVvRx8XZqE2FwBF3CFv" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
**Note:**&#x20;

The interface for the integration and production look same&#x20;
{% endhint %}
{% endstep %}

{% step %}

### Resetting a User’s Password

If you need to reset a user’s password, follow these steps:

1. **Navigate to the User List**
   * A list of all existing users will be displayed.
2. **Select the User**
   * Locate the user whose password you want to reset.
   * Click on the user entry.
   * A pop-up window will appear with options to manage that user’s details.

<figure><img src="/files/fcyJGEj5IjeE0zuFr17p" alt=""><figcaption></figcaption></figure>

1. **Enter Password Details**\
   In the pop-up window, you will find three fields related to password reset:

* **Your own current password** – Enter your administrator password to authorize the change.
* **New password** – Type in the new password for the selected user.
* **Confirm new password** – Re-enter the new password to ensure it matches.

{% hint style="info" %}
**Important**

The new password must meet the system’s security requirements (e.g., minimum length, use of special characters, numbers, and uppercase letters).
{% endhint %}

4. **Save the New Password**

* Once all fields are filled correctly, click **Save Password**.
* The user’s password will be updated, and they can now log in using the new credentials.

<figure><img src="/files/wHeY9N4Zh5kEWWxtofq7" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}

#### ⚠️ Warning

If you attempt to change a user’s password **without entering the user’s first name, last name, and your own current password**, the update will **fail**.\
Make sure all required fields are correctly filled in before saving.
{% endhint %}
{% endstep %}

{% step %}

### Disabling a User

You can disable a user account if you want to permanently revoke their access. Please note that this action cannot be undone.

1. **Select the User**
   * Locate the user you want to disable.
   * Click the checkbox next to their name.
   * Once selected, the **Apply** button will become active.
2. **Apply the Change**
   * Click on the **Apply** button.
   * A confirmation warning will appear, stating that a disabled user **cannot be re-enabled**.
3. **Confirm the Action**
   * If you proceed, the user will be permanently **disabled** and will no longer have access to the system.

<figure><img src="/files/8F84JkBQoVXVhWrhpcfd" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
⚠️ **Important Information**\
Once a user is **disabled**, they **cannot be re-enabled**.\
If you need to restore access for this user in the future, you will have to create a **new user account** with the required details and permissions.
{% endhint %}
{% endstep %}
{% endstepper %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sportradar.com/uof/uof-guides/how-to-guides/how-to-handle-user-credentials-in-ctrl.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
