OpenAPI YAMLOpenAPI JSONproblemi YAMLPanoramica dell’API
Questo gruppo ha 24 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.
Manifest runtime, report ed eventi
Provisioning browser Exchange
Scambio solo same-origin per browser. Associa in modo atomico il token monouso a exchange_id e imposta solo il cookie paired-device normale, host-only, HttpOnly, Secure, SameSite=Strict. Android e Qt non consumano mai questa concessione.
Campi del corpo della richiesta
| Campo | Descrizione |
|---|---|
| provisioning_token (obbligatorio, stringa) | pattern: "^[A-Za-z0-9_-]{43}$" |
| exchange_id (obbligatorio, stringa) | pattern: "^xchg_[A-Za-z0-9_-]{43}$" |
Modello richiesta e risposte
curl --request POST --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/browser-provisioning/exchanges'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 201 | Cookie dispositivo associato emesso senza cookie runtime o credenziale nel corpo. | BrowserProvisioningCompletion (application/json); intestazioni: Cache-Control, Referrer-Policy, 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) |
| 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) |
| 410 | 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) |
Ottieni runtime Chrome
Stage-chrome per la sessione runtime corrente. Non fa parte del manifesto runtime. Auth è lo stesso cookie runtime o ScreenRig-Session di GET /screen/manifest. Cache-Control è private, no-store. banner è sempre null.
Modello richiesta e risposte
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/chrome'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 200 | Chrome runtime | RuntimeChrome (application/json); header: Cache-Control |
| 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) |
Ottieni manifest runtime
La singola rotta del manifesto runtime, per ogni sessione. schemaVersion è 3. Manifest del lettore risolto; la proiezione è a prova di errore, e pagine e primitive non valide sono omesse e elencate nella diagnostica.
Le pagine adslot sono incluse solo per una sessione associata concessa adslot-v1; ogni altra sessione, incluso un visualizzatore anonimo di schermo pubblico, riceve contenuti house senza pagina adslot. Le chiavi root restano camelCase; le chiavi pagina adslot restano id, type, adslot_id e visibilità snake_case opzionale.
Regola di compatibilità 4 — 200 con pages [] e diagnostics non vuoto è una proiezione degradata (il Player mantiene l’ultimo stato valido); 200 con pages [] e senza diagnostics è un’assegnazione vuota voluta dall’autore (docs/player-compatibility.md §1.4).
A uno schermo sospeso viene servito pages [] senza diagnostics, il membro suspension e una revisione del manifesto propria, che abbia o meno una playlist assegnata (§6.9). Uno schermo archiviato restituisce il problema screen_archived e non deve aggiornare l’ultimo stato valido.
Parametri
| Nome | Invia | Obbligatorio? | Descrizione |
|---|---|---|---|
| stream_transports | query | opzionale | Trasporti stream supportati separati da virgola (hls,udp-mpegts,rtsp). L’omissione proietta flussi su immagini di fallback. Solo negoziazione di rendering, mai autorizzazione. Pubblicizza udp-mpegts solo se abilitato localmente. |
Modello richiesta e risposte
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/manifest'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 200 | Manifest del lettore risolto. | RuntimeManifest (application/json) |
| 304 | Manifesto invariato | nessun corpo |
| 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) |
Eventi runtime flusso
Parametri
| Nome | Invia | Obbligatorio? | Descrizione |
|---|---|---|---|
| dopo | query | opzionale | Un cursore da una risposta precedente: ev1_ per eventi di progetto (e i flussi di eventi). Il registro Player (source=log) scorre con cursori lg1_ o ev1_ in base a dove il server lo conserva; trattali come opachi e restituisci quello che una pagina ha restituito. Un cursore di altro tipo è rifiutato con invalid_request. |
| Last-Event-ID | intestazione | opzionale | Cursore durevole usato quando after è assente. |
Modello richiesta e risposte
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/stream/events'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 200 | SSE durevole con ambito schermo. Il cursore della query ha precedenza su Last-Event-ID; ogni evento porta un id cursore adatto alla riconnessione. Servito dal sidecar stream di Valkey (stream-valkey/v1); lo stream non trasporta frame stream.cursor, e un cursore avanza solo con eventi consegnati. I cursori non validi, futuri o pre-ritenzione ricevono stream.resync_required alla testa corrente e si chiudono. screen.toast e screen.screenshot_requested sono eventi runtime del pubblico; la scansione non consegna mai nessuno oltre details.expires_at. I byte dell’immagine dello screenshot non sono mai su questo flusso. screen.archived e screen.unarchived sono eventi runtime del pubblico; non cancellano le credenziali. screen.deleted è un evento runtime del pubblico consegnato quando l’identità firmata viene azzerata con tombstone sullo schermo. Nessun evento runtime autorizza la cancellazione dell’identità locale. Solo un reset firmato e riuscito avviato da un’azione locale confermata del player permette la rotazione dell’identità locale. project.suspended e project.resumed sono indizi runtime audience quando i colpi prepagati rimasti arrivano a zero o diventano positivi. L’audience runtime è un’allowlist (docs/player-compatibility.md §7.1): screen.content_changed, screen.manifest_changed, screen.toast, screen.screenshot_requested, screen.archived, screen.unarchived, screen.deleted, screen.device_credential_revoked, project.suspended, project.resumed, player.reload, che raggiunge ogni sessione runtime, i comandi per schermo player.reboot e player.display (docs/player-compatibility.md §6.5), player.play_page (§6.3.1) e player.identify (§6.3.2), mai consegnati oltre details.expires_at, e screen.card_data_changed (resource {type: card_data, key}, details {revision} o {deleted: true}), indirizzato solo agli schermi il cui contenuto corrente legge quella chiave di dati della scheda o del feed. Ogni altro tipo non viene mai pubblicato nello stream. I lettori ignorano tipi evento sconosciuti, incluso il tipo messaggio predefinito, e nomi campo sconosciuti, e avanzano il cursore da ogni id. Lo stream si apre con un proprio retry, disegnato per connessione tra 3000 e 15000 ms affinché stream caduti insieme non si riconnettano insieme; un host in svuotamento invia a ogni stream il proprio retry tra 1000 e 30000 ms. Il frame problema in-band (evento: problem) non ha id; i suoi dati sono {code, detail, action?}, dove action è presente quando il registro ne definisce uno, e lo stream si chiude (payment_required imposta retry: 60000). Il frame fleet player.reload non ha id e non sposta mai il cursore. Nessun frame contiene più di 64 KiB di dati. | stringa (text/event-stream); intestazioni: X-Accel-Buffering |
| 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) |
Crea report runtime
Modello richiesta e risposte
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/reports'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 202 | Accettato dopo persistenza durevole. Un batch di telemetria è accettato o rifiutato come unità. Restituisce 202 solo dopo che le osservazioni grezze sono durevoli e il watermark dello stream si è spostato; restituisce stream_id, sequence, accepted (conteggio report) e duplicate. Un batch che cambia lo stato salute o osservazione più recente o lo slot di fallimento pagina, o aggiunge eventi progetto, impegna la sua watermark con quello stato in una scrittura schermo, e aggiunge i suoi eventi nella stessa transazione. Un batch che non cambia nessuno di essi, come un batch costante di riproduzioni e report condizione, sposta solo la sua watermark, tenuta in Valkey per 25 ore; mentre Valkey è indisponibile o senza memoria la scrittura schermo la tiene invece. Un batch rifiutato (riproduzione in conflitto, capacità stream piena, autorità ritirata) non memorizza nulla, tranne un nuovo stream che perde l’ultimo posto dello stream dello schermo a favore di un nuovo stream concorrente, che viene rifiutato dopo che le sue osservazioni raw sono state memorizzate. Un batch non riconosciuto per errore server o perdita connessione può aver memorizzato alcune osservazioni raw; ripetere gli stessi byte memorizza ogni osservazione mancante una volta, mai due, e poi riconosce. Una ripetizione di un batch riconosciuto restituisce 202 con duplicate true e non cambia nulla. Un watermark tenuto in Valkey può andare perso o restare indietro in un failover, mai avanzare, quindi una sequenza oltre il watermark dello stream è accettata come la successiva dello stream senza rifiuto per gap, e una riproduzione il cui watermark è stato perso è accettata di nuovo con duplicate false; le sue riproduzioni sono comunque archiviate una volta e i log Player si fondono sulle loro identità. I report individuali mantengono la loro risposta esistente. Un report di condizione runtime (qualsiasi altro codice di report, come player.page_skipped) è registrato nel log del lettore (GET /api/events?source=log), non negli eventi del progetto, ed è riconosciuto quando la coda del log del lettore lo accetta; non è nello stream eventi e non è consegnato ai webhook. manifest.activated è confermato prima di questa risposta ed è idempotente per la revisione attiva corrente. playback.media_started, legacy playback.video_started e playback.application_started aggiungono in modo duraturo un’osservazione autenticata dello schermo (GET /api/playback/plays) prima di questa risposta; le identità di item, pagina e manifest segnalate non richiedono l’appartenenza al contenuto corrente e non autorizzano l’accesso al contenuto. Conteggi giornalieri, metadati opzionali e last_used_at delle risorse di proprietà del progetto sono aggiornati da batch recuperabili e possono essere in ritardo rispetto all’osservazione grezza. Le risposte ordinarie di inizio riproduzione omettono intestazioni opzionali di saldo crediti. playback.page_failed sostituisce lo slot di fallimento pagina più recente dello schermo e aggiunge un evento durevole solo progetto nella stessa transazione senza cambiare revisione dello schermo o del manifest. manifest.upgrade memorizza lo slot manifest-upgrade latest-wins dello schermo dietro le sue recinzioni di revisione e aggiunge un evento durevole solo progetto nella stessa transazione solo quando lo stato derivato cambia; un report pre-activation obsoleto, superato o post-activation è accettato senza cambiamenti, e nessun report promuove mai una concessione. application.event aggiunge un evento durevole progetto prima di questa risposta. | nessun corpo; intestazioni: RateLimit-Policy, RateLimit |
| 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) |
Inserisci screenshot runtime
Carica il WebP fermo immagine in sospeso corrente per lo schermo della sessione. Il percorso non indica screen_id; la sessione runtime associata lo lega. L’intestazione ScreenRig-Capture-Id deve essere l’attuale capture_id in sospeso. Content-Type è esattamente image/webp. Il corpo è WebP grezzo, non vuoto, massimo 2097152 byte.
Il server valida la magic RIFF/WEBP, decodifica un frame statico e memorizza i byte caricati invariati. WebP animato è invalid_request. capture_id mancante, sconosciuto, scaduto o non corrente è resource_conflict. Sessioni non associate sono vietate. Il credito prepagato residuo non è un blocco e questi byte non sono conteggiati in used_bytes.
Uno slot per schermo viene sostituito. screen.screenshot_ready dettaglia nome capture_id, byte, larghezza, altezza e sha256; non includono mai pixel o chiave oggetto.
Parametri
| Nome | Invia | Obbligatorio? | Descrizione |
|---|---|---|---|
| ScreenRig-Capture-Id | intestazione | obbligatorio | |
| ScreenRig-Capture-Failure | intestazione | opzionale | Segnala cattura non disponibile con corpo vuoto. I Player inviano unsupported_surface o capture_failed. Qualsiasi altro valore non vuoto è registrato come capture_failed, mai rifiutato (docs/player-compatibility.md §1.1). Solo la cattura in sospeso corrente può fallire. Nessun pixel o immagine parziale viene memorizzata; screen.screenshot_failed riporta questo motivo e lo stato diventa non disponibile. |
Modello richiesta e risposte
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'ScreenRig-Capture-Id: VALUE' --header 'Content-Type: image/webp' --data-binary '@request.bin' 'https://play.screenrig.ai/screen/screenshot'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 204 | Immagine statica WebP memorizzata come slot corrente. | nessun corpo; intestazioni: Cache-Control |
| 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) |
| 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) |
Risolvi Adslot
Risolvi fino a 16 occorrenze di pagina verificate dal server. Un candidato nuovo con possibile riempimento viene valutato atomicamente, controllato nel budget e riservato contro la barriera di prezzo della campagna. Un candidato nuovo senza possibile riempimento restituisce vuoto senza creare decisione o riserva.
Nessuna campagna idonea o accessibile è un risultato vuoto di successo senza contenuti e senza addebito; non è mai una sfida di pagamento. I risultati vuoti possono includere un suggerimento no-fill basato sull’orologio server che dura al massimo 60 secondi e termina a un limite di idoneità noto anticipato.
I suggerimenti si applicano allo stesso schermo, manifest, pagina, slot e contesto di idoneità; non autorizzano mai la riproduzione. Un rinnovo del leasing riutilizza la stessa prenotazione e non avanza la rotazione, ed è negato mentre la campagna richiede la riaccettazione del prezzo.
Campi del corpo della richiesta
| Campo | Descrizione |
|---|---|
| manifest_revision (obbligatorio, stringa) | |
| candidati (obbligatorio, array) |
Modello richiesta e risposte
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/adslots/resolve'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 200 | Per candidato, risultati compilati o vuoti nell’ordine della richiesta. | RuntimeAdslotResolveResponse (application/json); header: Cache-Control, RateLimit-Policy, RateLimit |
| 400 | invalid_request - dimensione batch, chiavi duplicate o finestra di previsione non valida. | RuntimeProblem (application/problem+json) |
| 409 | resource_conflict - un candidato è stato riutilizzato con un hash di richiesta diverso. | 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 |
| 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) |
Segnala eventi Adslot
Prove di riproduzione autenticate. Gli eventi si deduplicano per schermo e ID evento. Un completamento valido consuma la prenotazione una volta al prezzo e tariffa riservati, accredita il venditore lordo e addebita la tariffa di servizio in un’unica transazione. Un evento terminale non riproduzione confermato rilascia la prenotazione una volta.
Il completamento ricevuto dopo il rilascio non è fatturabile e non addebita mai crediti freschi. Il completamento prima dell’inizio è trattenuto in attesa di riconciliazione.
Campi del corpo della richiesta
| Campo | Descrizione |
|---|---|
| eventi (obbligatorio, array) |
Modello richiesta e risposte
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/adslots/events'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 200 | Per esiti evento. | RuntimeAdslotEventResponse (application/json); header: Cache-Control, RateLimit-Policy, RateLimit |
| 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 |
| 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) |
Inserisci osservazione runtime
Segnala la superficie di riproduzione usata dal lettore associato per l’ultimo resolveLayout. Il percorso non indica screen_id; lo lega la sessione runtime associata. Il corpo è JSON ScreenObservation: observed_at più da una a dodici superfici; un Player che guida un video wall segnala una per uscita, id = nome dell’uscita.
I numeri sono pixel indipendenti dal dispositivo e il rapporto pixel dispositivo accanto a quella superficie di layout, non la dimensione autore della tela e non la dimensione codificata dello screenshot. Sono solo controllati nel range e non sono mai hardware o autorizzazioni provate. L’ultima scrittura vince e sostituisce l’intero array delle superfici.
Una tupla surfaces identica (id, larghezza, altezza, pixel_ratio, presentazione, rotazione) non emette screen.surface_changed; un successivo observed_at sulla stessa tupla viene ignorato. Sessioni pubbliche non abbinate e anonime sono vietate. I cookie nativi sono rifiutati; il browser non deve adottare profili header. Il credito prepagato residuo non è una barriera.
L’osservazione è assente da GET /api/screens fino al primo report accettato. ScreenPatch non può scriverla. Uno schermo archiviato risponde 409 screen_archived. Al massimo 12 report al minuto per sessione associata (runtime-observation): un 429 significa riprovare non prima di Retry-After.
Campi del corpo della richiesta
| Campo | Descrizione |
|---|---|
| observed_at (obbligatorio, stringa) | formato: "date-time" |
| superfici (obbligatorio, array) | Da una a dodici superfici; un Player che gestisce un video wall ne riporta una per uscita, id = nome uscita. |
Modello richiesta e risposte
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/observation'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 204 | Osservazione memorizzata come l’attuale array di superfici. | 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) |
| 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 |
| 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) |
Inserisci stato runtime
Segnala lo stato di salute del dispositivo per lo schermo della sessione associata. Invia uno all’avvio della sessione e ogni quindici minuti, e uno immediatamente quando cambia la connessione o l’alimentazione del monitor.
Ogni membro è facoltativo e il corpo è letto con tolleranza (docs/player-compatibility.md §1.1): i membri sconosciuti sono ignorati, un valore fuori intervallo è scartato, e un display.power o network.kind sconosciuto è letto come sconosciuto; solo un membro di tipo JSON errato genera 400 (un numero oltre il range float64 è fuori intervallo: quel membro è scartato).
Il valore memorizzato è lo ScreenHealth sanificato più server reported_at, sostituendo il report precedente. Al massimo un report per schermo al minuto (runtime-health): un 429 significa scartare questo report e inviare il prossimo in programma, mai ritentare prima di Retry-After (almeno 1 secondo).
Un errore 400 o di server non consuma il minuto; tutte le sessioni di uno schermo lo condividono. Richiede una sessione associata con health.write (una sessione associata creata prima di health.write è ammessa da runtime.report); sessioni non associate e anonime sono vietate e uno schermo archiviato risponde 409 screen_archived.
Un report da una sessione più vecchia della generazione di accesso al contenuto corrente dello schermo è rifiutato con 401. Archiviazione e recupero schermo cancellano Screen.health. Un backend senza questa rotta risponde 404: continua la riproduzione e smetti di segnalare lo stato di salute per quella sessione. Le transizioni aggiungono solo screen.health_changed del progetto (mai su GET /screen/events).
La salute non è mai autorizzazione.
Campi del corpo della richiesta
| Campo | Descrizione |
|---|---|
| uptime_s (opzionale, intero) | Secondi dall’avvio del dispositivo (OS). minimo: 0 |
| app_uptime_s (opzionale, intero) | Secondi dall’avvio del processo del lettore. minimo: 0 |
| memory (opzionale, oggetto) | |
| cpu (opzionale, oggetto) | |
| temperature_c (opzionale, numero) | Temperatura SoC o pannello in gradi Celsius. minimo: -50 massimo: 150 |
| display (opzionale, oggetto) | |
| rete (opzionale, oggetto) | |
| battery (opzionale, oggetto) | La batteria del dispositivo. Inviala solo quando il dispositivo ne ha una (Android BatteryManager con EXTRA_PRESENT). Un cambiamento di fonte (collegato o scollegato) viene segnalato subito, come un cambiamento del display. |
| crashes_24h (opzionale, intero) | Crash Player nelle ultime 24 ore in rotazione. minimo: 0 massimo: 1000000 |
| renderer_restarts_24h (opzionale, intero) | Riavvii di renderer o web-view nelle ultime 24 ore. minimo: 0 massimo: 1000000 |
Modello richiesta e risposte
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/health'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 204 | Rapporto di salute archiviato. | 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) |
| 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 |
| 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) |
Inserisci storage runtime
Segnala lo spazio di archiviazione nativo del lettore, il piano di archiviazione del lettore e la contabilità dei byte trasferiti. Il percorso non indica screen_id; lo lega la sessione runtime associata. Sessioni non associate e anonime sono vietate. I cookie nativi sono rifiutati; il browser non deve adottare profili header. Membri sconosciuti sono ignorati (docs/player-compatibility.md §1.1).
Il valore memorizzato è lo ScreenStorage progetto sanificato più server received_at, non il corpo grezzo. manifest_revision deve essere la revisione desiderata o attiva dello schermo, altrimenti la risposta è 409 resource_conflict e nulla è memorizzato. Gli id pagina esclusi devono esistere in quella revisione.
Una classe fit identica non emette screen.storage_shortfall o screen.storage_shortfall_cleared. Quegli eventi sono solo per il progetto e non vengono consegnati su GET /screen/events. Lo storage non è mai autorizzazione o ammissione. ScreenPatch non può scriverlo. Un report più vecchio di 24 ore per received_at è obsoleto per i consumatori.
Campi del corpo della richiesta
| Campo | Descrizione |
|---|---|
| observed_at (obbligatorio, stringa) | formato: "date-time" |
| volume (obbligatorio, ScreenStorageVolume) | |
| cache (obbligatorio, ScreenStorageCache) | |
| durabilità (obbligatorio, stringa) | Consentito: "durable", "purgeable" |
| piano (obbligatorio, ScreenStoragePlan) | |
| transfer_24h (obbligatorio, ScreenStorageTransfer) |
Modello richiesta e risposte
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/storage'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 204 | Rapporto di archiviazione salvato. | 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) |
| 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 | resource_conflict - manifest_revision non è la revisione desiderata o attiva dello schermo. Il report non viene salvato. | 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 |
| 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) |
Inserisci status runtime
Segnala il chip di stato che il Player abbinato mostra sullo schermo: la condizione screenrig.overlay/v1 che prevale per rango, o null quando non viene mostrato alcun chip. Il percorso non indica screen_id; lo lega la sessione runtime associata.
Il corpo è JSON RuntimeStatusWrite {observed_at, chip}; i membri sconosciuti sono ignorati (docs/player-compatibility.md §1.1). chip deve essere l’id di una condizione nel catalogo del backend (packages/overlay/overlay.json, il file che i Player includono); l’avviso di aggiornamento e i messaggi di avvio non sono chip.
Un chip mancante, un valore di altro tipo o un id non presente nel catalogo restituisce 400 invalid_request con errors[0].field chip, e non viene memorizzato nulla. Il valore memorizzato è ScreenStatus del progetto: level e icon sono quelli del catalogo per chip, mai quelli del Player, e received_at è l’ora di ricezione del server. L’ultima scrittura vince e sostituisce l’intero stato.
Un report che non modifica né chip, né level, né icon è un’operazione nulla: mantiene gli observed_at e received_at memorizzati e non aggiunge nulla. Una modifica aggiunge screen.status_changed solo del progetto, con details {chip, level, icon}, mai consegnato su GET /screen/events. Le sessioni pubbliche non abbinate e anonime sono vietate.
I cookie nativi sono rifiutati; il browser non deve adottare profili header. Il credito prepagato residuo non è una barriera. Lo stato è assente da GET /api/screens fino al primo report accettato e viene cancellato al reset dell’identità, alla disassociazione e all’archiviazione. ScreenPatch non può scriverlo. Uno schermo archiviato risponde 409 screen_archived.
Al massimo 12 report al minuto per sessione abbinata (runtime-status): un 429 significa riprovare non prima di Retry-After. Un backend senza questa rotta risponde 404: continua la riproduzione e smetti di segnalare lo stato per quella sessione. Lo stato non è mai autorizzazione o ammissione. Le regole del Player sono in docs/player-compatibility.md §9.5.
Campi del corpo della richiesta
| Campo | Descrizione |
|---|---|
| observed_at (obbligatorio, stringa) | Orologio del Player all’ultima modifica del chip o all’avvio della sessione. formato: "date-time" |
| chip (obbligatorio, inline) | L’id della condizione screenrig.overlay/v1 che il Player mostra (conditions[].id in packages/overlay/overlay.json), o null quando non mostra alcun chip, come su una superficie soppressa (fatal, starting, pairing). Obbligatorio. Un id che il catalogo del backend non elenca viene rifiutato. |
Modello richiesta e risposte
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/status'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 204 | Stato memorizzato o invariato. | 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) |
| 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 |
| 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) |
Inserisci etichetta schermo runtime
Rinomina lo schermo associato alla sessione runtime abbinata. È la stessa rinomina di PATCH /api/screens/{id} name: il server elimina gli spazi iniziali e finali da screen_label e richiede da 1 a 120 caratteri senza caratteri di controllo, altrimenti invalid_request.
La rinomina registra gli stessi eventi dello schermo e, su uno schermo assegnato, modifica lo screen_label del manifesto ed emette screen.manifest_changed al Player. Percorso e corpo non nominano screen_id; la sessione runtime associata lo vincola. Nessun If-Match o Idempotency-Key; vince l’ultima scrittura. L’autenticazione è il cookie runtime o ScreenRig-Session, come GET /screen/chrome.
Sessioni anonime e non abbinate non sono autorizzate. Uno schermo archiviato è screen_archived. Il credito prepagato residuo non è una barriera. Un Player che riceve 404 tratta la rotta come non supportata e mantiene il nome localmente (docs/player-compatibility.md §2.5).
Campi del corpo della richiesta
| Campo | Descrizione |
|---|---|
| screen_label (obbligatorio, stringa) | minLength: 1 |
Modello richiesta e risposte
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/screen-label'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 200 | Schermo rinominato. screen_label è il nome memorizzato. | RuntimeScreenLabel (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) |
| 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 |
| 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) |
Invia risultato comando runtime
Un Player associato segnala come è terminato un comando che gli è stato inviato (docs/player-compatibility.md §6.5.1): done o failed, con un token di causa statico e un breve dettaglio opzionale. Il comando diventa done o failed in Screen.commands con done_at, cause e detail, e viene aggiunto screen.command_result, riservato al progetto.
Solo un comando sent dello schermo della sessione accetta un risultato: un id che lo schermo non elenca, o uno non sent, è 404 not_found e il Player scarta il report. Una ripetizione esatta del risultato registrato è 202 e non cambia nulla; un risultato diverso per un comando concluso è 409 resource_conflict. Un risultato failed richiede cause.
Percorso e corpo non nominano lo schermo; la sessione runtime associata lo vincola. L’autenticazione è il cookie runtime o ScreenRig-Session. Le sessioni anonime e non associate sono unauthorized; uno schermo archiviato è screen_archived. Il credito prepagato residuo non è un vincolo.
Parametri
| Nome | Invia | Obbligatorio? | Descrizione |
|---|---|---|---|
| command_id | path | obbligatorio |
Campi del corpo della richiesta
| Campo | Descrizione |
|---|---|
| state (obbligatorio, stringa) | Consentiti: "done", "failed" |
| cause (opzionale, stringa) | Un token statico: obbligatorio quando failed (clear_failed, restart_failed, update_check_failed, download_failed, install_failed, no_update_channel), opzionale quando done (cleared, restarted, up_to_date, updated). pattern: "^[a-z0-9_]{1,40}$" |
| detail (opzionale, stringa) | Una frase breve senza caratteri di controllo; mai un URL con credenziali, un token o un percorso privato. maxLength: 200 |
Modello richiesta e risposte
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/commands/COMMAND_ID/result'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 202 | Memorizzato, oppure ripetizione esatta del risultato memorizzato. | 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) |
| 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 |
| 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) |
Unirsi alla sessione live
Un Player che ha ricevuto player.live_publish entra nella sessione (docs/player-compatibility.md §6.10.2): ottiene ice_servers TURN di breve durata, il lease, i limiti video che può pubblicare e il periodo dell’heartbeat. Il live_id deve essere la sessione corrente dello schermo, altrimenti 410 live_session_ended (smettere di pubblicare e continuare la riproduzione).
L’autenticazione è il cookie di runtime associato o ScreenRig-Session.
Parametri
| Nome | Invia | Obbligatorio? | Descrizione |
|---|---|---|---|
| live_id | path | obbligatorio |
Modello richiesta e risposte
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/live/LIVE_ID/join'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 200 | La sessione su cui il Player pubblica. | RuntimeLiveJoin (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) |
| 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) |
| 410 | 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 |
| 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) |
Offerta della sessione live
The Player sends its gathered sendonly offer: exactly one video m-section, ICE gathering complete or two seconds old, no separate candidates ever. The backend opens a fresh media relay session for it, replacing any earlier publisher of the session, and returns the relay's answer, which the Player applies with setRemoteDescription.
Nessuna sezione m video, o due, è invalid_request. Un errore del relay è dependency_unavailable. 410 live_session_ended quando il live_id non è la sessione corrente dello schermo.
Parametri
| Nome | Invia | Obbligatorio? | Descrizione |
|---|---|---|---|
| live_id | path | obbligatorio |
Campi del corpo della richiesta
| Campo | Descrizione |
|---|---|
| sdp (obbligatorio, stringa) | Una sola sezione m video sendonly; raccolta ICE completata o di due secondi. |
Modello richiesta e risposte
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/live/LIVE_ID/offer'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 200 | La risposta del relay. | RuntimeLiveOffer (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) |
| 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) |
| 410 | 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 |
| 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) |
Heartbeat della sessione live
The Player reports its connection state and what its encoder sends every 20 seconds. The answer carries the lease; a lapsed lease or max_until ends the session here with 410 live_session_ended, and the Player stops publishing. The report is the Player's own word and feeds publisher.connected on the project API.
Parametri
| Nome | Invia | Obbligatorio? | Descrizione |
|---|---|---|---|
| live_id | path | obbligatorio |
Campi del corpo della richiesta
| Campo | Descrizione |
|---|---|
| connection (obbligatorio, stringa) | Consentiti: "new", "connecting", "connected", "disconnected", "failed", "closed" |
| video (opzionale, object) |
Modello richiesta e risposte
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/live/LIVE_ID/heartbeat'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 200 | La sessione è live; lease_until e max_until ne sono i limiti. | RuntimeLiveHeartbeatAnswer (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) |
| 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) |
| 410 | 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 |
| 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) |
Sessione live interrotta
The Player reports it stopped publishing. The reason is an open enum (stopped, lease_ended, superseded, consent_denied, consent_timeout, projection_stopped, capture_failed, encoder_unavailable, connection_failed, relay_refused); a reason this server does not know reads player_stopped. 204 always, also for a live_id that is not the screen's current session.
Parametri
| Nome | Invia | Obbligatorio? | Descrizione |
|---|---|---|---|
| live_id | path | obbligatorio |
Campi del corpo della richiesta
| Campo | Descrizione |
|---|---|
| motivo (obbligatorio, stringa) | stopped, lease_ended, superseded, consent_denied, consent_timeout, projection_stopped, capture_failed, encoder_unavailable, connection_failed or relay_refused. An open enum; an unknown reason reads player_stopped. |
Modello richiesta e risposte
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/live/LIVE_ID/stopped'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 204 | Registrato. | 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) |
| 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) |
| 410 | 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 |
| 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) |
Ottieni playlist schermo runtime
Elenca le playlist che il menu delle impostazioni sul dispositivo del Player associato offre per lo schermo: le playlist live del progetto dello schermo che hanno una versione approvata, in ordine alfabetico per nome senza distinzione tra maiuscole e minuscole, poi per ID. Vengono restituite al massimo 500; ce ne sono di più se il progetto ha altre playlist.
La sessione runtime associata vincola il progetto; il percorso non ne nomina alcuno. L’autenticazione è il cookie runtime o ScreenRig-Session, come GET /screen/chrome. Le sessioni anonime e non associate non sono autorizzate. Uno schermo archiviato è screen_archived. Cache-Control è private, no-store.
Un Player che riceve 404 tratta la rotta come non supportata e la segnala come qualsiasi altro errore di caricamento lista (docs/player-compatibility.md §2.6).
Modello richiesta e risposte
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/playlists'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 200 | Le playlist assegnabili del progetto. | RuntimeScreenPlaylists (application/json); intestazioni: Cache-Control, RateLimit-Policy, RateLimit |
| 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 |
| 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) |
Inserisci playlist schermo runtime
Assegna una playlist allo schermo associato alla sessione runtime abbinata. È la stessa assegnazione di PATCH /api/screens/{id} playlist_id, fatta dalla persona al dispositivo: non si apre revisione.
La playlist deve appartenere al progetto dello schermo e avere una versione approvata (altrimenti playlist_not_approved); una playlist che non esiste nel progetto è invalid_request. L’assegnazione registra gli stessi eventi dello schermo ed emette screen.manifest_changed al Player.
Imposta la playlist assegnata allo schermo; un takeover attivo o una voce programmazione playlist corrispondente decidono ancora cosa riprodurre. Path e body non nominano screen_id; la sessione runtime associata lo vincola. Nessun If-Match o Idempotency-Key; vince l’ultima scrittura. L’autenticazione è il cookie runtime o ScreenRig-Session, come GET /screen/chrome.
Sessioni anonime e non abbinate non sono autorizzate. Uno schermo archiviato è screen_archived. Un Player che riceve 404 tratta la rotta come non supportata e la segnala come qualsiasi altro fallimento nel cambiare playlist (docs/player-compatibility.md §2.6).
Campi del corpo della richiesta
| Campo | Descrizione |
|---|---|
| playlist_id (obbligatorio, stringa) | minLength: 1 |
Modello richiesta e risposte
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/playlist'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 200 | Playlist assegnata. playlist_id è la playlist assegnata allo schermo. | RuntimeScreenPlaylist (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) |
| 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 |
| 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) |
Disassocia Runtime
Disaccoppiamento solo cookie. Archivia uno schermo associato a cookie che non ha iscrizione a chiave pubblica del player, con archive_reason device_unpair. La credenziale del dispositivo resta vincolata: un browser che la detiene ancora crea una sessione archiviata (dark glass), e l’unarchive la riprende senza riassociazione (docs/player-compatibility.md §5.1).
Uno schermo già archiviato, o già assente, è successo. Gli schermi con identità registrata restituiscono screen_archive_required; quei lettori si resettano solo via POST /screen/native/identity/reset. Percorso e corpo non nominano screen_id; la sessione runtime associata lo lega. Nessun If-Match o Idempotency-Key. Il browser 204 scade runtime, dispositivo e cookie host di associazione.
Le chiamate native legate all’identità non restituiscono mai 204. Sessioni anonime o non associate sono vietate. Il credito prepagato residuo non è un blocco.
Modello richiesta e risposte
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/unpair'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 204 | Schermo associato a cookie archiviato con la sua credenziale mantenuta. I cookie di associazione browser sono scaduti. | nessun corpo; intestazioni: Cache-Control, RateLimit-Policy, RateLimit |
| 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 |
| 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) |
Avvia release applicazione
Genera il ticket monouso per una release dell'applicazione del manifest corrente dello schermo. launch_url è la pagina indice dell'host della release con prima il ticket e poi i parametri dell'applicazione (i params della primitiva, compilati con i dati di questo schermo, in percent-encoding, al massimo 4096 caratteri in totale), così l'applicazione li legge da location.search.
Solo l'app web Player e i Player che la eseguono chiamano questa route; i Player Qt, Android, Apple e Windows caricano l'applicazione dal pacchetto locale e non ricevono parametri. L'host della release li passa alla pagina e aggiunge il proprio marcatore di policy.
Uno schermo che non ha un valore letto da un parametro, o i cui valori una volta compilati superano il limite, non ha tale applicazione nel suo manifest (diagnostica screen_fact_missing o screen_fact_invalid), e un avvio per la sua release viene rifiutato.
I parametri non sono legati al ticket: un'applicazione li tratta come suggerimenti non attendibili e legge l'identità dello schermo da context.screen_id.
Parametri
| Nome | Invia | Obbligatorio? | Descrizione |
|---|---|---|---|
| manifest_revision | path | obbligatorio | |
| release_id | path | obbligatorio |
Modello richiesta e risposte
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/manifests/MANIFEST_REVISION/releases/RELEASE_ID/launch'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 201 | Biglietto di lancio a rilascio esatto monouso di 30 secondi | ReleaseLaunch (application/json); intestazioni: Referrer-Policy, RateLimit-Policy, RateLimit |
| 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) |
Risolvi tutti i selettori multimediali dinamici per un ciclo di playlist
Usa la playlist assegnata allo schermo autenticato e la sua revisione del manifesto. Restituisce un’istantanea fissa in ordine di nome file; i lettori mantengono lo stato del cursore e dello shuffle tra i loop. Upload e modifiche ai tag non riscrivono mai questo manifesto. Corrispondenze vuote sono valide.
I contenuti multimediali selezionati sono autorizzati dalla concessione di runtime dello schermo indipendentemente dalla definizione immutabile del manifesto.
Parametri
| Nome | Invia | Obbligatorio? | Descrizione |
|---|---|---|---|
| manifest_revision | path | obbligatorio |
Modello richiesta e risposte
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/screen/manifests/MANIFEST_REVISION/selectors/resolve'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 200 | Snapshot del ciclo risolto, inclusi i metadati dell’elemento e le scadenze di sicurezza media_end. | RuntimeSelectorSnapshot (application/json) |
| 401 | Sessione runtime non valida o scaduta | RuntimeProblem (application/problem+json) |
| 403 | Capacità runtime negata | RuntimeProblem (application/problem+json) |
| 503 | Proiezione del manifesto in sospeso o snapshot del selettore degradato; mantenere il ciclo corrente e riprovare | 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) |
Ottieni dati scheda runtime
Restituisce un documento dati scheda o feed: la chiave dati scheda o feed di un primitivo scheda nel manifest corrente dello schermo, o la chiave della condizione visibility.data di una pagina. Una chiave è leggibile solo mentre una concessione desiderata, attiva o in transizione della sessione dello schermo la elenca; conoscere una chiave non è mai sufficiente.
Le chiavi feed iniziano con feed: e leggono lo spazio dei nomi del feed di sistema (screenrig.weather/v1 e gli altri schemi feed), come le chiavi delle condizioni meteo che iniziano con feed.conditions.v1: (la condizione {screen.weather} di una pagina, compilata nel manifest di ogni schermo); ogni altra chiave legge i dati della scheda del progetto dello schermo. Il corpo è il documento stesso.
ETag è lo sha256 dei suoi byte e If-None-Match risponde 304; conserva l’ultimo documento valido per la riproduzione offline e rifetch su screen.card_data_changed per la chiave. 404 significa che nessun documento è ancora memorizzato; mantieni la scheda nascosta.
Parametri
| Nome | Invia | Obbligatorio? | Descrizione |
|---|---|---|---|
| key | path | obbligatorio | |
| If-None-Match | intestazione | opzionale |
Modello richiesta e risposte
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/card-data/KEY'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 200 | Il documento | oggetto (application/json); intestazioni: ETag |
| 304 | Non modificato | nessun corpo |
| 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) |