> ## Documentation Index
> Fetch the complete documentation index at: https://xrlive.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Runtime Client Credentials

> How to create and embed the credentials your visual needs to call the xRLive backend

Runtime Client credentials are a `clientId` + `clientSecret` pair that authenticate your visual against the xRLive backend during a live show. You create them in the dashboard and embed them in your visual.

## Create credentials in the dashboard

1. Go to [Dashboard → Creator → Runtime Clients](/dashboard/creator/runtime-clients).
2. Click **New Runtime Client**.
3. Give it a name (e.g. "My Visual v2 — Production") and select the visual it's scoped to.
4. Copy the `clientId` and `clientSecret` immediately — the secret is shown **once only**.

<Warning>
  The `clientSecret` is shown once at creation. Store it securely — in a data asset, config file, or environment variable. If you lose it, rotate the credential to generate a new one.
</Warning>

## Embed credentials in your visual

Store the `clientId` and `clientSecret` in a Blueprint data asset or a config struct inside your visual. Read them at runtime to call the [Authenticate](/sdk/runtime-api/authenticate) endpoint.

A typical pattern is a `DT_RuntimeConfig` data table with one row per environment (dev / production):

```
DT_RuntimeConfig
├── ClientId   (string)  "rc_xxxxxxxxxxxxxxxx"
└── ClientSecret (string) "cs_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
```

## Using the credentials

Once your visual has the credentials, the full runtime flow is:

<Card title="Runtime API" icon="bolt" href="/sdk/runtime-api/overview">
  Authenticate → Start Event → Join → End Event. Full endpoint reference.
</Card>

## Rotating and revoking

If a secret is compromised or you want to cycle it:

* **Rotate** — generates a new `clientSecret` and invalidates the old one. The `clientId` stays the same.
* **Revoke** — permanently disables the credential. Any visual using it will get `401` errors until you embed new credentials.

Both actions are available from [Dashboard → Creator → Runtime Clients](/dashboard/creator/runtime-clients).
