Riferimento API

API Associazione e sessioni

Associazione e sessioni del lettore

Riferimento HTTP. Generato dal contratto backend. Esplora gli endpoint qui sotto o scarica OpenAPI.

Questo gruppo ha 12 operazioni, generate da api/openapi.yaml. Filtra per percorso, azione o autenticazione. Ogni endpoint elenca i suoi input; espandilo per vedere un modello di richiesta e i codici di risposta. I modelli richiedono i tuoi valori e un corpo valido secondo lo schema.

Sostituisci i segnaposto maiuscoli con i tuoi valori. Per una richiesta JSON, salva un corpo che corrisponde allo schema in request.json. Gli esempi di cookie usano un cookie jar locale da una sessione autenticata.

Associazione e sessioni del lettore

POST/screen/pairing-sessions

Avvia sessione associazione

Crea una sessione di associazione globale flotta in scadenza e imposta il cookie di associazione temporaneo HttpOnly Secure SameSite=Strict. Un Origin non attendibile o una richiesta browser cross-site sono rifiutati con forbidden prima che vengano creati limiti di frequenza o stato di associazione.

Autenticazione
nessuno
Corpo della richiesta
nessuno
ID operazione
startPairingSession
Modello richiesta e risposte
shell · modello richiesta
curl --request POST 'https://play.screenrig.ai/screen/pairing-sessions'

Risposte

StatoSignificatoCorpo e intestazioni
201Codice di associazione esatto di sei caratteri e scadenza.PairingSession (application/json); intestazioni: Cache-Control, RateLimit-Policy, RateLimit
403

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
429

Problema rate_limited stabile su runtime o percorso contenuto rivolto al Player, nella forma documento runtime (RuntimeProblem). Ritenta solo dopo l'intervallo Retry-After autorevole. I dinieghi a finestra fissa includono anche RateLimit-Policy e membri RateLimit applicabili; i dinieghi per concorrenza e budget byte omettono tali divulgazioni opzionali.

RuntimeProblem (application/problem+json); intestazioni: Retry-After, RateLimit-Policy, RateLimit
500

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
predefinito

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
GET/stream/pairing-events

Eventi pairing flusso

Autenticazione
pairingCookie
Corpo della richiesta
nessuno
ID operazione
streamPairingEvents
Modello richiesta e risposte
shell · modello richiesta
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/stream/pairing-events'

Risposte

StatoSignificatoCorpo e intestazioni
200SSE di associazione temporanea autenticata. Il dato terminale pairing.claimed è PairingClaimedEvent e contiene solo un nonce di completamento non segreto.stringa (text/event-stream); intestazioni: Cache-Control, X-Accel-Buffering
401

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
predefinito

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
POST/screen/pairing-sessions/complete

Completa sessione di associazione

Autenticazione
pairingCookie
Corpo della richiesta
Associazione completata
ID operazione
completePairingSession

Campi del corpo della richiesta

CampoDescrizione
completion_nonce (obbligatorio, stringa)pattern: "^[A-Za-z0-9_-]{43}$"
Modello richiesta e risposte
shell · modello richiesta
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/pairing-sessions/complete'

Risposte

StatoSignificatoCorpo e intestazioni
200Cookie dispositivo associato emesso; il lettore crea quindi la normale sessione runtime associata.PairingCompletion (application/json); intestazioni: Cache-Control, RateLimit-Policy, RateLimit
400

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
401

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
403

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
404

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
429

Problema rate_limited stabile su runtime o percorso contenuto rivolto al Player, nella forma documento runtime (RuntimeProblem). Ritenta solo dopo l'intervallo Retry-After autorevole. I dinieghi a finestra fissa includono anche RateLimit-Policy e membri RateLimit applicabili; i dinieghi per concorrenza e budget byte omettono tali divulgazioni opzionali.

RuntimeProblem (application/problem+json); intestazioni: Retry-After, RateLimit-Policy, RateLimit
500

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
predefinito

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
POST/screen/sessions

Crea sessione runtime anonima

Autenticazione
nessuno
Corpo della richiesta
Richiesta RuntimeSession
ID operazione
createAnonymousRuntimeSession

Campi del corpo della richiesta

CampoDescrizione
public_id (obbligatorio, stringa)
riproduzione (opzionale, PlaybackHandshake)

Handshake di riproduzione opzionale che un Player dichiara al mint. È un suggerimento che seleziona il comportamento, mai l’autorizzazione: membri sconosciuti e voci di tipo errato sono ignorati, e un valore non oggetto non negozia nulla. La risposta mint riecheggia l’intersezione supportata come PlaybackGrant. adslot-v1 è concesso solo a sessioni associate.

lettore (opzionale, PlayerIdentity)

Autoidentificazione del lettore, inviata solo sulle tre rotte mint (docs/player-compatibility.md §3.1). È un suggerimento e mai un’autorizzazione, e non è coperta dalla prova nativa. Viene letta con tolleranza: i membri sconosciuti sono ignorati, un membro opzionale non valido viene scartato da solo, e un lettore che non è un oggetto o non ha un tipo valido non dichiara nulla.

Non è mai un 400. Un mint associato lo memorizza sullo schermo per l’istogramma della flotta operatore.

Modello richiesta e risposte
shell · modello richiesta
curl --request POST --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/sessions'

Risposte

StatoSignificatoCorpo e intestazioni
201Cookie di sessione runtime in sola letturaRuntimeSession (application/json); intestazioni: RateLimit-Policy, RateLimit
404

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
predefinito

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
POST/screen/device-sessions

Crea sessione runtime dispositivo

Autenticazione
pairedDeviceCookie
Corpo della richiesta
DeviceSessionRequest
ID operazione
createDeviceRuntimeSession

Campi del corpo della richiesta

CampoDescrizione
public_id (opzionale, stringa)minLength: 1
riproduzione (opzionale, PlaybackHandshake)

Handshake di riproduzione opzionale che un Player dichiara al mint. È un suggerimento che seleziona il comportamento, mai l’autorizzazione: membri sconosciuti e voci di tipo errato sono ignorati, e un valore non oggetto non negozia nulla. La risposta mint riecheggia l’intersezione supportata come PlaybackGrant. adslot-v1 è concesso solo a sessioni associate.

lettore (opzionale, PlayerIdentity)

Autoidentificazione del lettore, inviata solo sulle tre rotte mint (docs/player-compatibility.md §3.1). È un suggerimento e mai un’autorizzazione, e non è coperta dalla prova nativa. Viene letta con tolleranza: i membri sconosciuti sono ignorati, un membro opzionale non valido viene scartato da solo, e un lettore che non è un oggetto o non ha un tipo valido non dichiara nulla.

Non è mai un 400. Un mint associato lo memorizza sullo schermo per l’istogramma della flotta operatore.

Modello richiesta e risposte
shell · modello richiesta
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/device-sessions'

Risposte

StatoSignificatoCorpo e intestazioni
201Sessione runtime associataRuntimeSession (application/json)
409

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
predefinito

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
POST/screen/native/pairing-sessions

Avvia sessione associazione nativa

Crea una sessione di associazione nativa solo da una chiave pubblica Ed25519 del lettore. L’associazione nativa non reclamata dura settantadue ore. Una rivendicazione riuscita riserva uno schermo e memorizza una consegna crittografata durevole indipendentemente dalla scadenza del localizzatore. Non vincola la chiave pubblica a un progetto fino al completamento firmato per quella specifica credenziale di associazione e nonce.

Cookie, credenziali query, origini cross-site e Autorizzazione sono rifiutati. La ripetizione esatta di Idempotency-Key precede la nuova ammissione di abuso. La risposta non imposta mai un cookie. Una chiave pubblica già vincolata o esplicitamente ritirata restituisce enrollment_bound.

Autenticazione
nessuno
Corpo della richiesta
NativePairingStart
ID operazione
startNativePairingSession

Parametri

NomeInviaObbligatorio?Descrizione
Idempotency-Keyintestazioneobbligatorio

Campi del corpo della richiesta

CampoDescrizione
kid (obbligatorio, stringa)pattern: "^[A-Za-z0-9_-]{43}$"
public_key (obbligatorio, PlayerPublicKey)
firma (obbligatoria, stringa)minLength: 80 maxLength: 4096
host (opzionale, RuntimeHostHint)

L’indicazione opzionale del dispositivo nativo all’avvio dell’associazione, al completamento dell’associazione e alla creazione della sessione di identità. Nomina un dispositivo e non è mai autorizzazione.

Viene letto con tolleranza (docs/player-compatibility.md §1.1.1): membri sconosciuti sono ignorati, un campo o voce capabilities malformati sono scartati, si mantengono al massimo 32 capabilities, e un valore che non è un oggetto o una piattaforma fuori dal pattern scarta l’intero hint. Nessuno di questi rifiuta la richiesta.

Un Player invia ancora solo i valori piattaforma registrati e i membri sotto, perché un backend pre-contratto rifiuta altro.

fleet_link (opzionale, stringa)

Segreto facoltativo del link di flotta, preso dal frammento dell'URL del Player (#fleet=). Un link valido, attivo e non scaduto assegna subito questa sessione di associazione al proprio progetto, oppure recupera lo schermo precedente del dispositivo; il fleet_link della risposta indica quale dei due.

Come host, viene letto in modo tollerante: un valore malformato o sconosciuto non fa mai rifiutare l'avvio. pattern: "^srfl_[A-Za-z0-9_-]{43}$"

Modello richiesta e risposte
shell · modello richiesta
curl --request POST --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/native/pairing-sessions'

Risposte

StatoSignificatoCorpo e intestazioni
201Codice di associazione nativo più credenziale temporanea ScreenRig-Pairing; nessun Set-Cookie.NativePairingSession (application/json); header: Cache-Control, RateLimit-Policy, RateLimit
400

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
403

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
409

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
429

Problema rate_limited stabile su runtime o percorso contenuto rivolto al Player, nella forma documento runtime (RuntimeProblem). Ritenta solo dopo l'intervallo Retry-After autorevole. I dinieghi a finestra fissa includono anche RateLimit-Policy e membri RateLimit applicabili; i dinieghi per concorrenza e budget byte omettono tali divulgazioni opzionali.

RuntimeProblem (application/problem+json); intestazioni: Retry-After, RateLimit-Policy, RateLimit
500

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
predefinito

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
GET/stream/native/pairing-events

Eventi pairing nativo flusso

Associazione solo nativa SSE autenticata da esattamente un header ScreenRig-Pairing Authorization. Cookie e credenziali query sono rifiutati. L’evento terminale contiene solo il nonce di completamento non segreto.

Autenticazione
nativePairingAuthorization
Corpo della richiesta
nessuno
ID operazione
streamNativePairingEvents
Modello richiesta e risposte
shell · modello richiesta
curl --request GET --header 'Authorization: ScreenRig-Pairing PAIRING' 'https://play.screenrig.ai/stream/native/pairing-events'

Risposte

StatoSignificatoCorpo e intestazioni
200SSE di associazione nativa autenticata il cui dato terminale è PairingClaimedEvent.stringa (text/event-stream); intestazioni: Cache-Control, X-Accel-Buffering
401

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
403

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
404

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
429

Problema rate_limited stabile su runtime o percorso contenuto rivolto al Player, nella forma documento runtime (RuntimeProblem). Ritenta solo dopo l'intervallo Retry-After autorevole. I dinieghi a finestra fissa includono anche RateLimit-Policy e membri RateLimit applicabili; i dinieghi per concorrenza e budget byte omettono tali divulgazioni opzionali.

RuntimeProblem (application/problem+json); intestazioni: Retry-After, RateLimit-Policy, RateLimit
500

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
predefinito

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
POST/screen/native/pairing-sessions/complete

Completa sessione di associazione nativa

Completa associazione nativa con nonce di completamento e JWS EdDSA compatto (op=pairing.complete) il cui request_hash lega esattamente la credenziale di associazione e il nonce di completamento. Nessun cookie è accettato o impostato. Nessuna credenziale ScreenRig-Device è emessa. Il lettore successivamente crea ScreenRig-Session da una prova di possesso.

Autenticazione
nativePairingAuthorization
Corpo della richiesta
NativePairingComplete
ID operazione
completeNativePairingSession

Campi del corpo della richiesta

CampoDescrizione
kid (opzionale, stringa)pattern: "^[A-Za-z0-9_-]{43}$"
completion_nonce (obbligatorio, stringa)pattern: "^[A-Za-z0-9_-]{43}$"
public_key (obbligatorio, PlayerPublicKey)
firma (obbligatoria, stringa)JWS EdDSA compatto con op=pairing.complete e request_hash che lega esattamente la credenziale di associazione e il nonce di completamento. minLength: 80 maxLength: 4096
host (opzionale, RuntimeHostHint)

L’indicazione opzionale del dispositivo nativo all’avvio dell’associazione, al completamento dell’associazione e alla creazione della sessione di identità. Nomina un dispositivo e non è mai autorizzazione.

Viene letto con tolleranza (docs/player-compatibility.md §1.1.1): membri sconosciuti sono ignorati, un campo o voce capabilities malformati sono scartati, si mantengono al massimo 32 capabilities, e un valore che non è un oggetto o una piattaforma fuori dal pattern scarta l’intero hint. Nessuno di questi rifiuta la richiesta.

Un Player invia ancora solo i valori piattaforma registrati e i membri sotto, perché un backend pre-contratto rifiuta altro.

Modello richiesta e risposte
shell · modello richiesta
curl --request POST --header 'Authorization: ScreenRig-Pairing PAIRING' --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/native/pairing-sessions/complete'

Risposte

StatoSignificatoCorpo e intestazioni
200Completamento associazione nativo; nessun Set-Cookie e nessuna credenziale dispositivo.NativePairingCompletion (application/json); header: Cache-Control, RateLimit-Policy, RateLimit
400

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
401

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
403

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
404

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
409

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
429

Problema rate_limited stabile su runtime o percorso contenuto rivolto al Player, nella forma documento runtime (RuntimeProblem). Ritenta solo dopo l'intervallo Retry-After autorevole. I dinieghi a finestra fissa includono anche RateLimit-Policy e membri RateLimit applicabili; i dinieghi per concorrenza e budget byte omettono tali divulgazioni opzionali.

RuntimeProblem (application/problem+json); intestazioni: Retry-After, RateLimit-Policy, RateLimit
500

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
predefinito

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
POST/screen/native/identity/challenges

Crea sfida identità nativa

Emette un nonce a breve durata vincolato all’impronta della chiave pubblica di un lettore. Cookie, credenziali query e Authorization sono rifiutati.

Autenticazione
nessuno
Corpo della richiesta
NativeIdentityChallengeRequest
ID operazione
createNativeIdentityChallenge

Campi del corpo della richiesta

CampoDescrizione
kid (obbligatorio, stringa)Impronta JWK SHA-256 RFC 7638. pattern: "^[A-Za-z0-9_-]{43}$"
public_key (opzionale, PlayerPublicKey)
op (obbligatorio, stringa)Consentito: "pairing.start", "pairing.complete", "session.mint", "identity.reset"
request_hash (obbligatorio, stringa)pattern: "^[0-9a-f]{64}$"
Modello richiesta e risposte
shell · modello richiesta
curl --request POST --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/native/identity/challenges'

Risposte

StatoSignificatoCorpo e intestazioni
201Challenge nonce per una prova compatta EdDSA JWS; nessun Set-Cookie.NativeIdentityChallenge (application/json); header: Cache-Control, RateLimit-Policy, RateLimit
400

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
404

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
429

Problema rate_limited stabile su runtime o percorso contenuto rivolto al Player, nella forma documento runtime (RuntimeProblem). Ritenta solo dopo l'intervallo Retry-After autorevole. I dinieghi a finestra fissa includono anche RateLimit-Policy e membri RateLimit applicabili; i dinieghi per concorrenza e budget byte omettono tali divulgazioni opzionali.

RuntimeProblem (application/problem+json); intestazioni: Retry-After, RateLimit-Policy, RateLimit
500

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
predefinito

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
POST/screen/native/identity/sessions

Crea sessione runtime identità nativa

Verifica un JWS EdDSA compatto (op=session.mint) contro la chiave pubblica registrata e restituisce una ScreenRig-Session firmata di sette giorni. I lettori associati si rinnovano dopo un giorno con jitter tramite questa stessa mint firmata; il rinnovo sostituisce la credenziale senza chiudere uno stream runtime esistente. I metadati di rinnovo sono opzionali per i lettori e non richiedono aggiornamento del lettore.

I cookie non sono né accettati né impostati. La ripetizione esatta di Idempotency-Key precede la nuova ammissione di abuso. Uno schermo archiviato crea ancora una sessione così il player può mostrare il vetro archiviato. La creazione di sessione richiede il legame esatto e duraturo progetto-schermo stabilito dal completamento firmato; le offerte di reclamo in sospeso non hanno autorità di sessione.

La riproduzione esatta ricontrolla quell’associazione e rifiuta identità ritirate.

Autenticazione
nessuno
Corpo della richiesta
NativeIdentitySessionRequest
ID operazione
createNativeIdentityRuntimeSession

Parametri

NomeInviaObbligatorio?Descrizione
Idempotency-Keyintestazioneobbligatorio

Campi del corpo della richiesta

CampoDescrizione
kid (obbligatorio, stringa)pattern: "^[A-Za-z0-9_-]{43}$"
public_key (obbligatorio, PlayerPublicKey)
firma (obbligatoria, stringa)JWS EdDSA compatto con op=session.mint. minLength: 80 maxLength: 4096
host (opzionale, RuntimeHostHint)

L’indicazione opzionale del dispositivo nativo all’avvio dell’associazione, al completamento dell’associazione e alla creazione della sessione di identità. Nomina un dispositivo e non è mai autorizzazione.

Viene letto con tolleranza (docs/player-compatibility.md §1.1.1): membri sconosciuti sono ignorati, un campo o voce capabilities malformati sono scartati, si mantengono al massimo 32 capabilities, e un valore che non è un oggetto o una piattaforma fuori dal pattern scarta l’intero hint. Nessuno di questi rifiuta la richiesta.

Un Player invia ancora solo i valori piattaforma registrati e i membri sotto, perché un backend pre-contratto rifiuta altro.

riproduzione (opzionale, PlaybackHandshake)

Handshake di riproduzione opzionale che un Player dichiara al mint. È un suggerimento che seleziona il comportamento, mai l’autorizzazione: membri sconosciuti e voci di tipo errato sono ignorati, e un valore non oggetto non negozia nulla. La risposta mint riecheggia l’intersezione supportata come PlaybackGrant. adslot-v1 è concesso solo a sessioni associate.

lettore (opzionale, PlayerIdentity)

Autoidentificazione del lettore, inviata solo sulle tre rotte mint (docs/player-compatibility.md §3.1). È un suggerimento e mai un’autorizzazione, e non è coperta dalla prova nativa. Viene letta con tolleranza: i membri sconosciuti sono ignorati, un membro opzionale non valido viene scartato da solo, e un lettore che non è un oggetto o non ha un tipo valido non dichiara nulla.

Non è mai un 400. Un mint associato lo memorizza sullo schermo per l’istogramma della flotta operatore.

Modello richiesta e risposte
shell · modello richiesta
curl --request POST --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/native/identity/sessions'

Risposte

StatoSignificatoCorpo e intestazioni
201Sessione runtime nativa associata; nessun Set-Cookie.NativeRuntimeSession (application/json); header: Cache-Control, RateLimit-Policy, RateLimit
400

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
401

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
403

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
404

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
409

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
429

Problema rate_limited stabile su runtime o percorso contenuto rivolto al Player, nella forma documento runtime (RuntimeProblem). Ritenta solo dopo l'intervallo Retry-After autorevole. I dinieghi a finestra fissa includono anche RateLimit-Policy e membri RateLimit applicabili; i dinieghi per concorrenza e budget byte omettono tali divulgazioni opzionali.

RuntimeProblem (application/problem+json); intestazioni: Retry-After, RateLimit-Policy, RateLimit
500

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
predefinito

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
POST/screen/link-sessions

Crea sessione di runtime del link dello schermo

Emette una ScreenRig-Session di sette giorni dal segreto del link dello schermo nell’indirizzo del Player (il valore srsl_ dopo #screen= in https://play.<domain>/player/#screen=…), per un browser che non conserva dati. Il Player invia il segreto a ogni caricamento e di nuovo per rinnovare; non conserva alcuna chiave né associazione.

Il claim della chiave dispositivo della sessione porta l’id del link, così sostituire o eliminare il link la termina subito all’API e all’edge. I cookie non sono né accettati né impostati. La ripetizione esatta di una Idempotency-Key precede ogni nuova ammissione antiabuso. Uno schermo archiviato emette comunque una sessione, così il Player può mostrare lo stato archiviato.

Un link sostituito, eliminato o sconosciuto dà screen_link_invalid (401, azione clear_lkg). Un host presente sostituisce il suggerimento host memorizzato; player sostituisce il player memorizzato.

Autenticazione
nessuno
Corpo della richiesta
ScreenLinkSessionRequest
ID operazione
createScreenLinkRuntimeSession

Parametri

NomeInviaObbligatorio?Descrizione
Idempotency-Keyintestazioneobbligatorio

Campi del corpo della richiesta

CampoDescrizione
screen_link (obbligatorio, stringa)pattern: "^srsl_[A-Za-z0-9_-]{43}$"
host (opzionale, RuntimeHostHint)

L’indicazione opzionale del dispositivo nativo all’avvio dell’associazione, al completamento dell’associazione e alla creazione della sessione di identità. Nomina un dispositivo e non è mai autorizzazione.

Viene letto con tolleranza (docs/player-compatibility.md §1.1.1): membri sconosciuti sono ignorati, un campo o voce capabilities malformati sono scartati, si mantengono al massimo 32 capabilities, e un valore che non è un oggetto o una piattaforma fuori dal pattern scarta l’intero hint. Nessuno di questi rifiuta la richiesta.

Un Player invia ancora solo i valori piattaforma registrati e i membri sotto, perché un backend pre-contratto rifiuta altro.

riproduzione (opzionale, PlaybackHandshake)

Handshake di riproduzione opzionale che un Player dichiara al mint. È un suggerimento che seleziona il comportamento, mai l’autorizzazione: membri sconosciuti e voci di tipo errato sono ignorati, e un valore non oggetto non negozia nulla. La risposta mint riecheggia l’intersezione supportata come PlaybackGrant. adslot-v1 è concesso solo a sessioni associate.

lettore (opzionale, PlayerIdentity)

Autoidentificazione del lettore, inviata solo sulle tre rotte mint (docs/player-compatibility.md §3.1). È un suggerimento e mai un’autorizzazione, e non è coperta dalla prova nativa. Viene letta con tolleranza: i membri sconosciuti sono ignorati, un membro opzionale non valido viene scartato da solo, e un lettore che non è un oggetto o non ha un tipo valido non dichiara nulla.

Non è mai un 400. Un mint associato lo memorizza sullo schermo per l’istogramma della flotta operatore.

Modello richiesta e risposte
shell · modello richiesta
curl --request POST --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/link-sessions'

Risposte

StatoSignificatoCorpo e intestazioni
201Sessione runtime nativa associata; nessun Set-Cookie.NativeRuntimeSession (application/json); header: Cache-Control, RateLimit-Policy, RateLimit
400

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
401

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
403

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
409

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
429

Problema rate_limited stabile su runtime o percorso contenuto rivolto al Player, nella forma documento runtime (RuntimeProblem). Ritenta solo dopo l'intervallo Retry-After autorevole. I dinieghi a finestra fissa includono anche RateLimit-Policy e membri RateLimit applicabili; i dinieghi per concorrenza e budget byte omettono tali divulgazioni opzionali.

RuntimeProblem (application/problem+json); intestazioni: Retry-After, RateLimit-Policy, RateLimit
500

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
predefinito

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
POST/screen/native/identity/reset

Reimposta identità nativa

Il reset sul lettore, invocato solo da un’azione esplicita e confermata dell’operatore sul dispositivo. Associazioni fallite, creazione sessione o accesso rete non invocano mai automaticamente questa operazione né cancellano la chiave locale del lettore. L’endpoint verifica un JWS EdDSA compatto (op=identity.reset).

Lo schermo associato a questa chiave è archiviato con archive_reason device_reset (già archiviato: invariato), e la chiave resta associata a esso: un dispositivo che ancora possiede la chiave crea una sessione archiviata (dark glass) e riprende su unarchive senza nuovo pairing, e la chiave non può avviare un nuovo pairing (enrollment_bound).

Le offerte di richiesta native in sospeso per la chiave sono ritirate. Una chiave che non ha mai associato uno schermo, o una chiave già ritirata dal recupero schermo, diventa terminale invece: non può più associare o generare sessioni, e il reset di una chiave ritirata non tocca mai lo schermo del suo successore.

Se il progetto iscritto è stato eliminato, il reset firmato rende la chiave orfana terminale senza archiviare un altro schermo, così il dispositivo può associarsi di nuovo. Dopo una risposta persa, il Player mantiene la sua chiave locale e può riprovare con una nuova sfida e una nuova prova firmata.

Un errore di rete da solo non conferma un reset né autorizza la cancellazione di quella chiave (docs/player-compatibility.md §5.1). Nessun bearer di progetto. I cookie non sono né accettati né impostati.

Autenticazione
nessuno
Corpo della richiesta
NativeIdentityProof
ID operazione
resetNativeIdentity

Campi del corpo della richiesta

CampoDescrizione
kid (obbligatorio, stringa)pattern: "^[A-Za-z0-9_-]{43}$"
public_key (obbligatorio, PlayerPublicKey)
firma (obbligatoria, stringa)JWS EdDSA compatto. minLength: 80 maxLength: 4096
Modello richiesta e risposte
shell · modello richiesta
curl --request POST --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/native/identity/reset'

Risposte

StatoSignificatoCorpo e intestazioni
204

Reset registrato: uno schermo legato a progetto live archiviato con la chiave mantenuta; una chiave progetto eliminato, non legata o ritirata ha reso terminale; o una chiave sconosciuta ha risposto come no-op idempotente che non archivia nulla. Un retry autenticato di uno di questi ha successo. Nessun Set-Cookie.

nessun corpo; intestazioni: Cache-Control, RateLimit-Policy, RateLimit
400

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
401

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
404

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
429

Problema rate_limited stabile su runtime o percorso contenuto rivolto al Player, nella forma documento runtime (RuntimeProblem). Ritenta solo dopo l'intervallo Retry-After autorevole. I dinieghi a finestra fissa includono anche RateLimit-Policy e membri RateLimit applicabili; i dinieghi per concorrenza e budget byte omettono tali divulgazioni opzionali.

RuntimeProblem (application/problem+json); intestazioni: Retry-After, RateLimit-Policy, RateLimit
500

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)
predefinito

Risposta problema stabile RFC 9457 su runtime, contenuto o percorso probe rivolto al Player, nella forma documento runtime (RuntimeProblem). Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

RuntimeProblem (application/problem+json)