Skip to main content
Before making any other Runtime API call, your visual must exchange its credentials for a Bearer token.

Endpoint

POST /api/v1/runtime/clients/token
No Authorization header required for this call.

Request body

{
  "clientId": "rc_xxxxxxxxxxxxxxxx",
  "clientSecret": "cs_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
FieldTypeRequiredDescription
clientIdstringThe Client ID from your Runtime Client credentials
clientSecretstringThe Client Secret (shown once at creation — store it securely)

Response

{
  "accessToken": "eyJhbGci...",
  "tokenType": "Bearer",
  "expiresIn": 3600
}
FieldDescription
accessTokenBearer token to use in all subsequent Runtime API calls
tokenTypeAlways "Bearer"
expiresInToken lifetime in seconds (typically 3600 = 1 hour)

Using the token

Pass the accessToken as the Authorization header on all subsequent calls:
Authorization: Bearer eyJhbGci...

Error responses

StatusCodeMeaning
400INVALID_REQUESTMissing or blank clientId or clientSecret
401INVALID_RUNTIME_CLIENTCredentials not found, revoked, or secret mismatch

When to call it

Call authenticate once at the start of each show — on Event BeginPlay or when the operator clicks a “Start Show” button in your visual. The token lasts 1 hour, which covers a typical live event. If your show runs longer, re-authenticate before the token expires.
Event BeginPlay

HTTP POST /runtime/clients/token  { clientId, clientSecret }

Store accessToken in a variable

POST /runtime/events/start  (next step)