recoverBrowserPlayer
POST
/api/v1/player/browser/recover
const url = 'https://example.com/api/v1/player/browser/recover';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"slotId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","serverInstallationId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","recoverySecret":"example","registration":{"installationId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","publicKey":{"kty":"EC","crv":"P-256","x":"example","y":"example","ext":true,"key_ops":["verify"]}},"metadata":{"playerInstallationId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","platform":"example","manufacturer":"example","model":"example","androidVersion":"example","playerVersion":"example","screenWidth":1,"screenHeight":1,"density":1,"locale":"example","timezone":"example","approximateAddress":"example"}}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/api/v1/player/browser/recover \ --header 'Content-Type: application/json' \ --data '{ "slotId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "serverInstallationId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "recoverySecret": "example", "registration": { "installationId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "publicKey": { "kty": "EC", "crv": "P-256", "x": "example", "y": "example", "ext": true, "key_ops": [ "verify" ] } }, "metadata": { "playerInstallationId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "platform": "example", "manufacturer": "example", "model": "example", "androidVersion": "example", "playerVersion": "example", "screenWidth": 1, "screenHeight": 1, "density": 1, "locale": "example", "timezone": "example", "approximateAddress": "example" } }'Exchange one slot recovery capability over same-origin HTTPS. Replace the binding epoch and issue an independent HttpOnly session. Rate limited; no-store.
Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
slotId
required
string format: uuid
serverInstallationId
required
string format: uuid
recoverySecret
required
string
registration
required
object
installationId
required
string format: uuid
publicKey
required
object
kty
required
string
crv
required
string
x
required
string
y
required
string
ext
required
boolean
key_ops
required
Array<string>
metadata
required
object
playerInstallationId
required
string format: uuid
platform
required
string
manufacturer
required
string
model
required
string
androidVersion
required
string
playerVersion
required
string
screenWidth
required
integer
screenHeight
required
integer
density
required
number
locale
required
string
timezone
required
string
approximateAddress
string
Responses
Section titled “ Responses ”Browser session cookie issued; no bearer credential in the response
Media typeapplication/json
object
data
required
object
slotId
required
string format: uuid
bindingId
required
string format: uuid
screenId
required
string format: uuid
screenName
required
string
epoch
required
integer format: int64
expiresAt
required
string format: date-time
Examplegenerated
{ "data": { "slotId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "bindingId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "screenId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "screenName": "example", "epoch": 1, "expiresAt": "2026-04-15T12:00:00Z" }}Invalid or revoked recovery capability
Same-origin HTTPS required
Rate limited