OpenAPI YAMLOpenAPI JSONproblemi YAMLPanoramica dell’API
Questo gruppo ha 8 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.
Contenuti protetti e risorse di rilascio
Ottieni contenuto decisione annuncio
Serve l’unico oggetto privato legato a una decisione emessa. L’autorità è l’identità live associata più il vincolo decisionale; il progetto acquirente e l’ID media sono risolti lato server, mai dal chiamante, e nessuna chiave oggetto o URL firmato è pubblicato. Una prova di lunghezza zero restituisce solo i metadati.
Parametri
| Nome | Invia | Obbligatorio? | Descrizione |
|---|---|---|---|
| decision_id | path | obbligatorio | |
| Intervallo | intestazione | opzionale | V1 accetta solo un intervallo di byte. |
Modello richiesta e risposte
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/ad-decisions/DECISION_ID'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 200 | Completa media privati vincolati a decisione. | nessun corpo; intestazioni: Accept-Ranges, Content-Length, ETag |
| 206 | Un intervallo di byte conforme agli standard. | nessun corpo; intestazioni: Accept-Ranges, Content-Range, Content-Length, ETag |
| 404 | not_found - decisione sconosciuta. | RuntimeProblem (application/problem+json) |
| 410 | decisione scaduta o altrimenti non eseguibile. | RuntimeProblem (application/problem+json) |
| 416 | invalid_range. | RuntimeProblem (application/problem+json); intestazioni: Content-Range, Accept-Ranges |
| 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) |
Head Ad Decision Content
Autorità e metadati identici alla GET senza corpo.
Parametri
| Nome | Invia | Obbligatorio? | Descrizione |
|---|---|---|---|
| decision_id | path | obbligatorio | |
| Intervallo | intestazione | opzionale | V1 accetta solo un intervallo di byte. |
Modello richiesta e risposte
curl --request HEAD --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/ad-decisions/DECISION_ID'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 200 | Solo metadati. | nessun corpo; intestazioni: Accept-Ranges, Content-Length, ETag |
| 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 contenuti multimediali protetti stabili
URL media immutabile stabile condiviso tra revisioni playlist. La sessione runtime identifica lo schermo e il progetto per autorizzazione e contabilizzazione banda.
Ogni richiesta richiede appartenenza al grant di transizione-grace desiderato, attivo o non scaduto di quello schermo nella sua generazione di accesso contenuti corrente, o un riferimento media:<id> nel documento corrente di una chiave dati scheda che un tale grant elenca. Solo gli ID non concedono accesso. ETag è il sha256 quotato dei byte.
Il cookie del browser e l’autenticazione della sessione nativa restano sull’origine attendibile del Player; non si usano reindirizzamenti né accesso pubblico a oggetti di storage.
Parametri
| Nome | Invia | Obbligatorio? | Descrizione |
|---|---|---|---|
| media_id | path | obbligatorio | |
| Intervallo | intestazione | opzionale | V1 accetta solo un intervallo di byte. |
| Sec-Fetch-Site | intestazione | opzionale | |
| Sec-Fetch-Mode | intestazione | opzionale | |
| Sec-Fetch-Dest | intestazione | opzionale |
Modello richiesta e risposte
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/media/MEDIA_ID'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 200 | Media privati completi autorizzati dalla sessione. Browser Fetch Metadata deve descrivere l’uso di media/immagini/video same-origin da lettore affidabile; i client nativi autenticati possono ometterlo. | nessun corpo; intestazioni: Accept-Ranges, Content-Length, ETag, Content-Disposition |
| 206 | Un intervallo di byte conforme agli standard. | nessun corpo; intestazioni: Accept-Ranges, Content-Range, Content-Length, ETag |
| 416 | Intervallo insoddisfacibile, multiplo o malformato. | RuntimeProblem (application/problem+json); intestazioni: Content-Range, Accept-Ranges |
| 429 | Superato il limite di egress dei media protetti per client, schermo o organizzazione. | RuntimeProblem (application/problem+json); intestazioni: Retry-After |
| 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) |
Media protetto stabile principale
Metadati immutabili dei media autorizzati dalla sessione con gli stessi controlli di concessione di GET e senza corpo di risposta.
Parametri
| Nome | Invia | Obbligatorio? | Descrizione |
|---|---|---|---|
| media_id | path | obbligatorio | |
| Intervallo | intestazione | opzionale | V1 accetta solo un intervallo di byte. |
| Sec-Fetch-Site | intestazione | opzionale | |
| Sec-Fetch-Mode | intestazione | opzionale | |
| Sec-Fetch-Dest | intestazione | opzionale |
Modello richiesta e risposte
curl --request HEAD --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/media/MEDIA_ID'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 200 | Media privati completi autorizzati dalla sessione. Browser Fetch Metadata deve descrivere l’uso di media/immagini/video same-origin da lettore affidabile; i client nativi autenticati possono ometterlo. | nessun corpo; intestazioni: Accept-Ranges, Content-Length, ETag, Content-Disposition |
| 206 | Un intervallo di byte conforme agli standard. | nessun corpo; intestazioni: Accept-Ranges, Content-Range, Content-Length, ETag |
| 416 | Intervallo insoddisfacibile, multiplo o malformato. | RuntimeProblem (application/problem+json); intestazioni: Content-Range, Accept-Ranges |
| 429 | Superato il limite di egress dei media protetti per client, schermo o organizzazione. | RuntimeProblem (application/problem+json); intestazioni: Retry-After |
| 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 contenuti multimediali protetti
Parametri
| Nome | Invia | Obbligatorio? | Descrizione |
|---|---|---|---|
| manifest_revision | path | obbligatorio | |
| media_id | path | obbligatorio | |
| Intervallo | intestazione | opzionale | V1 accetta solo un intervallo di byte. |
| Sec-Fetch-Site | intestazione | opzionale | |
| Sec-Fetch-Mode | intestazione | opzionale | |
| Sec-Fetch-Dest | intestazione | opzionale |
Modello richiesta e risposte
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/media/manifests/MANIFEST_REVISION/MEDIA_ID'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 200 | Media privati completi autorizzati dalla sessione. Browser Fetch Metadata deve descrivere l’uso di media/immagini/video same-origin da lettore affidabile; i client nativi autenticati possono ometterlo. | nessun corpo; intestazioni: Accept-Ranges, Content-Length, ETag, Content-Disposition |
| 206 | Un intervallo di byte conforme agli standard. | nessun corpo; intestazioni: Accept-Ranges, Content-Range, Content-Length, ETag |
| 416 | Intervallo insoddisfacibile, multiplo o malformato. | RuntimeProblem (application/problem+json); intestazioni: Content-Range, Accept-Ranges |
| 429 | Superato il limite di egress dei media protetti per client, schermo o organizzazione. | RuntimeProblem (application/problem+json); intestazioni: Retry-After |
| 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 pacchetto app web nativo
Recupera il pacchetto immutabile normalizzato per una release applicativa caricata, così un lettore nativo associato può mantenere la sua ultima release autorizzata nota buona attraverso il riavvio del processo e la perdita temporanea di rete.
Il cookie dispositivo associato, la concessione esatta dello schermo, la revisione del manifesto, la generazione di accesso ai contenuti, l’appartenenza alla release e i metadati del pacchetto pronto sono controllati a ogni richiesta. Token progetto, cookie runtime anonimi, cookie release, primitive iframe esterne e accesso diretto all’object-storage non autorizzano mai i byte del pacchetto.
Parametri
| Nome | Invia | Obbligatorio? | Descrizione |
|---|---|---|---|
| manifest_revision | path | obbligatorio | |
| release_id | path | obbligatorio | |
| Intervallo | intestazione | opzionale | V1 accetta solo un intervallo di byte. |
| Sec-Fetch-Site | intestazione | opzionale | |
| Sec-Fetch-Mode | intestazione | opzionale | |
| Sec-Fetch-Dest | intestazione | opzionale |
Modello richiesta e risposte
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/manifests/MANIFEST_REVISION/releases/RELEASE_ID/package'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 200 | Pacchetto privato normalizzato completo. | nessun corpo; intestazioni: Accept-Ranges, Content-Length, Content-Type, Content-Disposition, Cache-Control, ETag, Referrer-Policy, Cross-Origin-Resource-Policy, X-Content-Type-Options, Vary |
| 206 | Un intervallo di byte conforme agli standard dallo stesso pacchetto immutabile. | nessun corpo; intestazioni: Accept-Ranges, Content-Range, Content-Length, Content-Type, Content-Disposition, Cache-Control, ETag, Referrer-Policy, Cross-Origin-Resource-Policy, X-Content-Type-Options, Vary |
| 416 | Intervallo insoddisfacibile, multiplo o malformato. | RuntimeProblem (application/problem+json); intestazioni: Content-Range, Accept-Ranges |
| 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) |
Pacchetto app web nativo principale
Restituisce le stesse intestazioni di autorizzazione e identità immutabile di GET senza i byte del pacchetto.
Parametri
| Nome | Invia | Obbligatorio? | Descrizione |
|---|---|---|---|
| manifest_revision | path | obbligatorio | |
| release_id | path | obbligatorio | |
| Intervallo | intestazione | opzionale | V1 accetta solo un intervallo di byte. |
| Sec-Fetch-Site | intestazione | opzionale | |
| Sec-Fetch-Mode | intestazione | opzionale | |
| Sec-Fetch-Dest | intestazione | opzionale |
Modello richiesta e risposte
curl --request HEAD --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/manifests/MANIFEST_REVISION/releases/RELEASE_ID/package'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 200 | Metadati normalizzati autorizzati del pacchetto. | nessun corpo; intestazioni: Accept-Ranges, Content-Length, Content-Type, Content-Disposition, Cache-Control, ETag, Referrer-Policy, Cross-Origin-Resource-Policy, X-Content-Type-Options, Vary |
| 206 | Metadati autorizzati per un intervallo di byte. | nessun corpo; intestazioni: Accept-Ranges, Content-Range, Content-Length, Content-Type, Content-Disposition, Cache-Control, ETag, Referrer-Policy, Cross-Origin-Resource-Policy, X-Content-Type-Options, Vary |
| 416 | Intervallo insoddisfacibile, multiplo o malformato. | nessun corpo; intestazioni: Content-Range, Accept-Ranges |
| 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) |
Consuma Launch Ticket o ottieni asset di rilascio
Operazione host di rilascio esatta. Con una query ticket, consuma atomica il ticket monouso di 30 secondi, associa Host/release/screen/content-generation/manifest/grant, imposta solo il cookie release-grant esatto dell’host e reindirizza allo stesso percorso senza il ticket. Senza ticket, convalida quel cookie a ogni GET/HEAD.
Il parametro asset_path è greedy (x-screenrig-greedy-path) e viene risolto solo sotto la root del rilascio pronto. I cookie runtime/progetto/dispositivo e i token bearer progetto non autorizzano mai questa operazione.
Parametri
| Nome | Invia | Obbligatorio? | Descrizione |
|---|---|---|---|
| asset_path | path | obbligatorio | |
| Sec-Fetch-Site | intestazione | opzionale | |
| Sec-Fetch-Mode | intestazione | opzionale | |
| Sec-Fetch-Dest | intestazione | opzionale |
Modello richiesta e risposte
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://r-{release_host_label}.apps.screenrig.ai/index.html'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 200 | Asset immutabile autorizzato da concessione host esatto. | nessun corpo; intestazioni: Referrer-Policy, X-Content-Type-Options, ETag |
| 302 | Ticket consumato una volta; cookie di concessione di rilascio emesso; ticket rimosso dalla posizione. | nessun corpo; intestazioni: Location, Set-Cookie, Cache-Control, Referrer-Policy |
| 403 | Host/release errato /screen/generation/grant, ticket obsoleto/riutilizzato, cookie non valido, Fetch Metadata contraddittorio o metodo non consentito. | Problema (application/problem+json) |
| 404 | Risorsa assente senza esporre la struttura del filesystem di rilascio. | Problema (application/problem+json) |