> ## 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 Clients

> Generate and manage Client ID and Secret Key credentials for your visual

Runtime Client credentials authenticate your visual against the xRLive backend during a live show. Each visual gets its own **Runtime API Credentials** — a `clientId` and `clientSecret` pair your backend or visual uses to call the [Runtime API](/sdk/runtime-api/overview).

<Frame caption="Creating runtime credentials from My Library">
  <video controls className="w-full aspect-video rounded-xl" src="https://storage.googleapis.com/xr-live-resources/documentation/Runtime-clients.mp4" />
</Frame>

<Note>
  The dashboard generates credentials — it never runs runtime events directly. Your visual or backend team uses them to authenticate, start events, and manage audience sessions.
</Note>

## Open Runtime API Credentials

<Steps>
  <Step title="Find your visual in My Library">
    Go to **My Library** in the dashboard sidebar and locate the visual you want to configure.
  </Step>

  <Step title="Open Settings">
    Click the **⋯** menu on the visual card and select **Settings**. The **Runtime API Credentials** window opens for that visual.

    <Frame caption="Visual card menu — open Settings to manage runtime credentials">
      <img src="https://mintcdn.com/xrlive/6pZMtFih-sHNov2A/images/dashboard/creator/runtime-clients-menu.png?fit=max&auto=format&n=6pZMtFih-sHNov2A&q=85&s=4df832b3641ea7264c5b2aefb1b8f45a" alt="Visual card context menu with Analytics, Settings, Subscription Pricing, and Delete visual options" width="1920" height="1032" data-path="images/dashboard/creator/runtime-clients-menu.png" />
    </Frame>
  </Step>
</Steps>

## Create credentials

<Steps>
  <Step title="Name your credentials">
    In the **Create Runtime Client Credentials** section, enter a **Client name** (for example, *My first visual credentials*). This label helps you tell credential sets apart if you rotate them later.

    <Frame caption="Runtime API Credentials window before creating a client">
      <img src="https://mintcdn.com/xrlive/6pZMtFih-sHNov2A/images/dashboard/creator/runtime-clients-modal.png?fit=max&auto=format&n=6pZMtFih-sHNov2A&q=85&s=05cfe257866717437868e73bcc2b70e2" alt="Runtime API Credentials modal with a client name field, optional delete-existing checkbox, and Create credentials button" width="1920" height="1032" data-path="images/dashboard/creator/runtime-clients-modal.png" />
    </Frame>
  </Step>

  <Step title="Create and copy your keys">
    Click **Create credentials**. A **Created** confirmation toast appears — *Runtime credentials generated. Copy and store the secret now.*

    The **Existing Credentials** section shows three values:

    * **Visual ID** — the UUID for this visual.
    * **Client ID** — the public identifier for authentication.
    * **Secret Key** — the private secret, shown once at creation.

    Use the **Copy** button next to each field to copy the values.

    <Frame caption="Credentials generated — Visual ID, Client ID, and Secret Key ready to copy">
      <img src="https://mintcdn.com/xrlive/6pZMtFih-sHNov2A/images/dashboard/creator/runtime-clients-created.png?fit=max&auto=format&n=6pZMtFih-sHNov2A&q=85&s=32f91a8610b91dab14a8d7600511746d" alt="Runtime API Credentials modal showing Visual ID, Client ID, and Secret Key fields with Copy buttons and Re-generate secret and Delete actions" width="1920" height="1032" data-path="images/dashboard/creator/runtime-clients-created.png" />
    </Frame>

    <Warning>
      The **Secret Key** is shown once at creation. Copy and store it securely before closing the window. If you lose it, use **Re-generate secret** to create a new one.
    </Warning>
  </Step>

  <Step title="Confirm and close">
    Check **I copied and securely stored this secret**, then click **Close**.

    <Note>
      Never expose the `clientSecret` in frontend code. Embed credentials in your visual's backend config or a secure data asset — see [Runtime Client Credentials](/sdk/audience/runtime-client-credentials) for SDK integration.
    </Note>
  </Step>
</Steps>

## Manage existing credentials

From the same **Runtime API Credentials** window you can:

* **Re-generate secret** — creates a new Secret Key and invalidates the old one. The Client ID stays the same.
* **Delete** — permanently removes the credential set. Any visual or backend using it will get authentication errors until you create new credentials.

When creating a new set, you can check **Delete existing active credentials before creating a new one** to replace the current credentials in one step.

## Where to go next

<Columns cols={2}>
  <Card title="Runtime Client Credentials" icon="key" href="/sdk/audience/runtime-client-credentials">
    Embed credentials in your visual and wire up the Runtime API.
  </Card>

  <Card title="Runtime API" icon="bolt" href="/sdk/runtime-api/overview">
    Authenticate, start events, join sessions, and end events.
  </Card>
</Columns>
