Riferimento API

API Playlist

Playlist

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

Questo gruppo ha 16 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.

Playlist

GET/api/playlists

Elenca le playlist V2

Lista playlist versionata che può esporre pagine adslot. La lista v1 rifiuta una pagina che contiene un documento con pubblicità con version_required invece di filtrarla.

Pagine come listPlaylists, le più recenti per prime, massimo 200 per pagina e meno una volta che una pagina contiene 8 MiB di playlist memorizzate. next_cursor è la posizione dell’ultima riga restituita mentre ci sono altre righe; passalo come after, con gli stessi filtri, per la pagina successiva. next_cursor è null nell’ultima pagina. library=true elenca invece le playlist della Libreria dell’organizzazione (sola lettura; programmale oppure creane dai loro modelli).

Autenticazione
projectBearer O dashboardSession
Corpo della richiesta
nessuno
ID operazione
listPlaylistsV2

Parametri

NomeInviaObbligatorio?Descrizione
ScreenRig-ProjectintestazioneopzionaleDeprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token.
libraryqueryopzionale

true elenca il progetto Libreria dell’organizzazione invece di questo progetto: i suoi elementi qui sono in sola lettura e riportano library true. Un’organizzazione senza Libreria, o il progetto Libreria stesso, con true non elenca nulla.

dopoqueryopzionalenext_cursor della pagina precedente della stessa lista, con gli stessi filtri. Omettere inizia dalla riga più recente. Un valore che non è tale cursore è invalid_request.
Modello richiesta e risposte
shell · modello richiesta
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/playlists'

Risposte

StatoSignificatoCorpo e intestazioni
200Playlist con l’unione della pagina adslot.PlaylistV2List (application/json)
predefinito

Risposta problema stabile RFC 9457. 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.

Problema (application/problem+json)
POST/api/playlists

Crea playlist V2

Voce di creazione per l’unione delle pagine adslot. Al massimo 16 pagine adslot, almeno una pagina ordinaria senza visibilità, e il riutilizzo di una definizione slot su pagine diverse restano controlli server. La risoluzione dei riferimenti e il DNS restano controlli server.

Una sessione dashboard (l’editor di pagine) crea la playlist subito attiva, mai come proposta, attribuita alla persona, e richiede il proprietario del progetto o un membro che possa approvare (altrimenti approver_required); i contenuti multimediali che nomina e che attendono la revisione sono media_pending_review (409), dove la scrittura diretta di un agente li approva.

Una scrittura che contiene una pagina iframe non inquadrabile dal Player web viene comunque salvata; la risposta contiene avvisi (PlaylistWarning) e il registro del progetto riceve un evento playlist.iframe_framing_refused per ogni pagina.

Una scrittura il cui src iframe, fallback_src o parametri dell'applicazione leggono un token dello schermo ({screen.field.NAME} e gli altri degli schemi delle primitive) che manca a uno schermo che mostra la playlist risponde anche con un'avvertenza screen_fact_missing che nomina i primi 20 di tali schermi; i manifest di quegli schermi omettono quella primitiva.

Un src o fallback_src di iframe che è un link di Google Presentazioni, Documenti o Fogli (condivisione, pubblicazione sul web o incorporamento) o un link di incorporamento di Microsoft 365 OneDrive o SharePoint viene memorizzato ricostruito per lo schermo, dove le presentazioni vanno in ciclo e avanzano con il delayms del link limitato alla durata della pagina, mentre Documenti, Fogli, Word ed Excel si ricaricano ogni 5 minuti.

Un codice di incorporamento <iframe> incollato in src o fallback_src viene letto per il suo src. Un file che chiede agli spettatori di accedere viene rifiutato con document_not_shared (400), il cui errors[0].field è quel src o fallback_src e il cui dettaglio indica l’impostazione di condivisione da cambiare.

Autenticazione
projectBearer O dashboardSession
Corpo della richiesta
PlaylistCreateRequest
ID operazione
createPlaylistV2

Parametri

NomeInviaObbligatorio?Descrizione
ScreenRig-ProjectintestazioneopzionaleDeprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token.
Screenrig-Review-Noteintestazioneopzionale

Nota opzionale del proponente su scrittura di classe review, inviata come UTF-8 percent-encoded (come scrive encodeURIComponent di JavaScript). Il server la percent-decodifica (un escape non valido è 400 invalid_request); la nota decodificata è testo semplice, massimo 280 caratteri dopo il trim, senza caratteri di controllo (altrimenti 400 invalid_request).

Archiviato alla revisione quando la scrittura diventa una; ignorato se applicato in tempo reale.

Idempotency-KeyintestazioneopzionaleOmetti per un’operazione fresca. Fornisci e riutilizza una chiave per deduplicare i retry; la CLI gestisce automaticamente le chiavi.
Modello richiesta e risposte
shell · modello richiesta
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/playlists'

Risposte

StatoSignificatoCorpo e intestazioni
202

La scrittura è diventata una revisione e attende l’approvazione di una persona (docs/reviews.md), con accesso Proponi, oppure a qualsiasi livello di accesso quando raggiunge uno schermo in una cartella di schermi protetta, dove la decide un secondo approvatore (docs/screen-scope.md). Una persona approva, rifiuta o richiede modifiche nel dashboard a review.url.

Una ripetizione con Idempotency-Key risponde con lo stesso corpo.

ReviewPending (application/json)
201Playlist con le sue pagine adslot.PlaylistV2 (application/json)
402

feature_not_in_plan — Dichiarare campi, bloccare un primitivo o modificare una playlist che dichiara campi rientra nei modelli di playlist, e il piano del progetto non li include; required_plan indica il piano che li include. Creare una playlist da un modello è sempre consentito.

Un formato di 2 o più display (un video wall) fa parte di Plus; un formato di regione e una playlist senza formato sono in ogni piano. Il problema indica la funzione, il piano del progetto e required_plan.

Problema (application/problem+json)
predefinito

Risposta problema stabile RFC 9457. 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.

Problema (application/problem+json)
GET/api/playlists/{id}

Ottieni Playlist V2

Autenticazione
projectBearer O dashboardSession
Corpo della richiesta
nessuno
ID operazione
getPlaylistV2

Parametri

NomeInviaObbligatorio?Descrizione
ScreenRig-ProjectintestazioneopzionaleDeprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token.
idpathobbligatorio
Modello richiesta e risposte
shell · modello richiesta
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/playlists/RESOURCE_ID'

Risposte

StatoSignificatoCorpo e intestazioni
200Playlist con le sue pagine adslot.PlaylistV2 (application/json)
predefinito

Risposta problema stabile RFC 9457. 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.

Problema (application/problem+json)
PUT/api/playlists/{id}

Aggiorna playlist V2

Aggiornamento versionato che accetta l’unione delle pagine adslot. If-Match trasporta la revisione della playlist.

Una sessione dashboard (l’editor di pagine) sostituisce la playlist subito attiva, mai come proposta, attribuita alla persona; richiede il proprietario del progetto o un membro che possa approvare (altrimenti approver_required) e If-Match (invalid_request se manca); una playlist non ancora approvata da una persona è playlist_not_approved (409), come per patchPlaylistStructure, e i contenuti multimediali che una pagina nomina e che attendono la revisione sono media_pending_review (409).

Una scrittura che contiene una pagina iframe non inquadrabile dal Player web viene comunque salvata; la risposta contiene avvisi (PlaylistWarning) e il registro del progetto riceve un evento playlist.iframe_framing_refused per ogni pagina.

Una scrittura il cui src iframe, fallback_src o parametri dell'applicazione leggono un token dello schermo ({screen.field.NAME} e gli altri degli schemi delle primitive) che manca a uno schermo che mostra la playlist risponde anche con un'avvertenza screen_fact_missing che nomina i primi 20 di tali schermi; i manifest di quegli schermi omettono quella primitiva.

Un src o fallback_src di iframe che è un link di Google Presentazioni, Documenti o Fogli (condivisione, pubblicazione sul web o incorporamento) o un link di incorporamento di Microsoft 365 OneDrive o SharePoint viene memorizzato ricostruito per lo schermo, dove le presentazioni vanno in ciclo e avanzano con il delayms del link limitato alla durata della pagina, mentre Documenti, Fogli, Word ed Excel si ricaricano ogni 5 minuti.

Un codice di incorporamento <iframe> incollato in src o fallback_src viene letto per il suo src. Un file che chiede agli spettatori di accedere viene rifiutato con document_not_shared (400), il cui errors[0].field è quel src o fallback_src e il cui dettaglio indica l’impostazione di condivisione da cambiare.

Autenticazione
projectBearer O dashboardSession
Corpo della richiesta
PlaylistWriteV2
ID operazione
updatePlaylistV2

Parametri

NomeInviaObbligatorio?Descrizione
ScreenRig-ProjectintestazioneopzionaleDeprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token.
Screenrig-Review-Noteintestazioneopzionale

Nota opzionale del proponente su scrittura di classe review, inviata come UTF-8 percent-encoded (come scrive encodeURIComponent di JavaScript). Il server la percent-decodifica (un escape non valido è 400 invalid_request); la nota decodificata è testo semplice, massimo 280 caratteri dopo il trim, senza caratteri di controllo (altrimenti 400 invalid_request).

Archiviato alla revisione quando la scrittura diventa una; ignorato se applicato in tempo reale.

idpathobbligatorio
If-MatchintestazioneopzionaleRevisione positiva opzionale della risorsa. Ometti per scrivere la risorsa corrente; una revisione obsoleta fornita è revision_conflict.
Idempotency-KeyintestazioneopzionaleOmetti per un’operazione fresca. Fornisci e riutilizza una chiave per deduplicare i retry; la CLI gestisce automaticamente le chiavi.

Campi del corpo della richiesta

CampoDescrizione
nome (obbligatorio, stringa)minLength: 1 maxLength: 120
campi (opzionale, PlaylistTemplateFields)

Dichiarare dei campi rende la playlist un modello. Ogni segnaposto letto da una pagina deve indicare un campo dichiarato del tipo giusto e ogni campo deve essere letto; una playlist senza campi non legge segnaposto. Un modello non viene mai mostrato su uno schermo (playlist_is_template). Un PUT senza fields li mantiene; null o un array vuoto li rimuove.

pages (obbligatorio, array)

Le pagine di una playlist possono risolvere al massimo 1024 riferimenti multimediali in totale. Un selettore by:ids conta la sua lunghezza; una definizione by:all, by:tag o by:folder riserva 32 riferimenti indipendentemente dalla dimensione del catalogo. Lo snapshot effettivo del loop è limitato a 1024 riferimenti multimediali in totale. Superare uno dei due limiti è 422 invalid at path pages.

audio (opzionale, PlaylistAudioWrite)

Colonna sonora opzionale della playlist: contenuti audio ordinati pronti (MP3) che suonano continuamente mentre le pagine cambiano (docs/playlist-audio.md). I cambi pagina non la fermano né la riavviano. PUT sostituisce l’intera playlist, quindi omettere audio rimuove la colonna sonora.

formato (opzionale, PlaylistFormat)

Per che cosa è stata creata una playlist: un video wall (PlaylistWallFormat) o una regione (PlaylistRegionFormat), mai entrambi. Una playlist senza formato è una playlist ordinaria che si lega a qualsiasi schermo come pagina.

Modello richiesta e risposte
shell · modello richiesta
curl --request PUT --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/playlists/RESOURCE_ID'

Risposte

StatoSignificatoCorpo e intestazioni
202

La scrittura è diventata una revisione e attende l’approvazione di una persona (docs/reviews.md), con accesso Proponi, oppure a qualsiasi livello di accesso quando raggiunge uno schermo in una cartella di schermi protetta, dove la decide un secondo approvatore (docs/screen-scope.md). Una persona approva, rifiuta o richiede modifiche nel dashboard a review.url.

Una ripetizione con Idempotency-Key risponde con lo stesso corpo.

ReviewPending (application/json)
200Playlist aggiornata.PlaylistV2 (application/json)
402

feature_not_in_plan — Dichiarare campi, bloccare un primitivo o modificare una playlist che dichiara campi rientra nei modelli di playlist, e il piano del progetto non li include; required_plan indica il piano che li include. Creare una playlist da un modello è sempre consentito.

Impostare un formato video wall (2 o più display) diverso da quello proprio della playlist fa parte di Plus. Il problema indica la funzione, il piano del progetto e required_plan.

Problema (application/problem+json)
predefinito

Risposta problema stabile RFC 9457. 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.

Problema (application/problem+json)
PATCH/api/playlists/{id}

Patch playlist

Modifica solo i campi di primo livello forniti: name, pages, audio, format o fields. I campi omessi vengono conservati dallo stesso snapshot della transazione. pages, audio e format forniti sostituiscono il valore completo; audio null rimuove la colonna sonora e format null rimuove il formato. Gli elementi di array annidati non vengono uniti.

Una modifica solo del nome di una playlist approvata non rivalida né risolve nuovamente i contenuti invariati, inclusi i formati di pagina memorizzati più vecchi. I contenuti forniti e le relazioni audio/segnale pagina sono convalidati. If-Match protegge opzionalmente la revisione; patch identiche sono operazioni nulle e i tentativi idempotenti riproducono la risposta originale.

L’accesso Propose e la politica di revisione funzionano come per PUT, inclusi gli avvisi per un valore pages fornito con una pagina iframe che il Player web non può inquadrare. PUT continua a sostituire l’intero documento.

Autenticazione
projectBearer
Corpo della richiesta
PlaylistPatch
ID operazione
patchPlaylist

Parametri

NomeInviaObbligatorio?Descrizione
ScreenRig-ProjectintestazioneopzionaleDeprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token.
Screenrig-Review-Noteintestazioneopzionale

Nota opzionale del proponente su scrittura di classe review, inviata come UTF-8 percent-encoded (come scrive encodeURIComponent di JavaScript). Il server la percent-decodifica (un escape non valido è 400 invalid_request); la nota decodificata è testo semplice, massimo 280 caratteri dopo il trim, senza caratteri di controllo (altrimenti 400 invalid_request).

Archiviato alla revisione quando la scrittura diventa una; ignorato se applicato in tempo reale.

idpathobbligatorio
If-MatchintestazioneopzionaleRevisione positiva opzionale della risorsa. Ometti per scrivere la risorsa corrente; una revisione obsoleta fornita è revision_conflict.
Idempotency-KeyintestazioneopzionaleOmetti per un’operazione fresca. Fornisci e riutilizza una chiave per deduplicare i retry; la CLI gestisce automaticamente le chiavi.

Campi del corpo della richiesta

CampoDescrizione
nome (opzionale, stringa)minLength: 1 maxLength: 120
pages (opzionale, array)
fields (facoltativo, inline)
audio (opzionale, inline)
formato (opzionale, inline)
Modello richiesta e risposte
shell · modello richiesta
curl --request PATCH --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/playlists/RESOURCE_ID'

Risposte

StatoSignificatoCorpo e intestazioni
202

La scrittura è diventata una revisione e attende l’approvazione di una persona (docs/reviews.md), con accesso Proponi, oppure a qualsiasi livello di accesso quando raggiunge uno schermo in una cartella di schermi protetta, dove la decide un secondo approvatore (docs/screen-scope.md). Una persona approva, rifiuta o richiede modifiche nel dashboard a review.url.

Una ripetizione con Idempotency-Key risponde con lo stesso corpo.

ReviewPending (application/json)
200Playlist aggiornata; ETag riporta la sua revisione.PlaylistV2 (application/json)
402

feature_not_in_plan — Dichiarare campi, bloccare un primitivo o modificare una playlist che dichiara campi rientra nei modelli di playlist, e il piano del progetto non li include; required_plan indica il piano che li include. Creare una playlist da un modello è sempre consentito.

Impostare un formato video wall (2 o più display) diverso da quello proprio della playlist fa parte di Plus. Il problema indica la funzione, il piano del progetto e required_plan.

Problema (application/problem+json)
predefinito

Risposta problema stabile RFC 9457. 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.

Problema (application/problem+json)
ELIMINA/api/playlists/{id}

Elimina playlist V2

Contrassegna come eliminata una playlist del progetto autenticato. Rifiutato con resource_conflict (409) finché uno schermo, inclusi quelli archiviati o in attesa, la usa come predefinita, nella propria programmazione o come contenuto prioritario, finché una cartella di schermi la usa come predefinita o finché una campagna la riproduce.

La sessione dashboard può anche eliminare; crea e sostituisce playlist con createPlaylistV2 e updatePlaylistV2 e ne cambia la struttura tramite patchPlaylistStructure.

Autenticazione
projectBearer O dashboardSession
Corpo della richiesta
nessuno
ID operazione
deletePlaylistV2

Parametri

NomeInviaObbligatorio?Descrizione
ScreenRig-ProjectintestazioneopzionaleDeprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token.
idpathobbligatorio
If-MatchintestazioneopzionaleRevisione positiva opzionale della risorsa. Ometti per scrivere la risorsa corrente; una revisione obsoleta fornita è revision_conflict.
Idempotency-KeyintestazioneopzionaleOmetti per un’operazione fresca. Fornisci e riutilizza una chiave per deduplicare i retry; la CLI gestisce automaticamente le chiavi.
Modello richiesta e risposte
shell · modello richiesta
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/playlists/RESOURCE_ID'

Risposte

StatoSignificatoCorpo e intestazioni
204Playlist tombstoned.nessun corpo
409

Risposta problema stabile RFC 9457. 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.

Problema (application/problem+json)
predefinito

Risposta problema stabile RFC 9457. 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.

Problema (application/problem+json)
PATCH/api/playlists/{id}/structure

Patch struttura playlist

Una persona connessa modifica la struttura di una playlist e mai cosa mostrano le sue pagine: il nome, l’ordine delle pagine, quali pagine restano e l’anticipo e visibilità di ogni pagina mantenuta. pages è il nuovo ordine completo; una pagina memorizzata che omette è rimossa, e un id non presente nella playlist, o ripetuto, è invalid_request in pages[i].id.

La tela, la transizione, audio_cue, le primitive e le note di una pagina salvata sono sempre quelle archiviate: il corpo non ha un membro per esse e qualsiasi altro membro è rifiutato.

Le pagine conservate passano attraverso la stessa risoluzione e validazione di qualsiasi playlist archiviata, quindi un elemento multimediale eliminato nel frattempo viene rifiutato (resource_conflict) e la playlist mantiene almeno una pagina ordinaria senza visibilità, al massimo 16 pagine di slot pubblicitari e i suoi segnali audio_end. advance sostituisce l’advance della pagina (una pagina slot pubblicitario non ne ha); visibility sostituisce la visibilità della pagina quando è un oggetto, la rimuove se null e la mantiene se omessa.

Una modifica che lascia la playlist come memorizzata è un’operazione nulla. If-Match contiene la revisione della playlist ed è obbligatorio (invalid_request se assente, revision_conflict se obsoleto). La scrittura è immediatamente attiva su ogni schermo che mostra la playlist ed è attribuita alla persona in playlist.updated; non è mai una proposta, quindi la risposta non è mai 202.

Una playlist non ancora approvata da nessuna persona (approved_revision 0) viene rifiutata con playlist_not_approved (409): decidi prima la sua revisione. Un nome già usato da un'altra playlist del progetto è resource_conflict. Solo la sessione della dashboard; gli agenti modificano le playlist con patchPlaylist, e una persona cambia ciò che mostrano le pagine con updatePlaylistV2.

La risposta include avvertenze (PlaylistWarning) come per qualsiasi scrittura, tra cui screen_fact_missing quando uno schermo che mostra la playlist non ha un valore letto dal src di un iframe o dai parametri dell'applicazione delle sue pagine. Il corpo è al massimo 64 KiB.

Autenticazione
dashboardSession
Corpo della richiesta
PlaylistStructurePatch
ID operazione
patchPlaylistStructure

Parametri

NomeInviaObbligatorio?Descrizione
idpathobbligatorio
If-MatchintestazioneobbligatorioLa revisione corrente della playlist, quotata o semplice (l’ETag dell’ultima lettura). Una revisione obsoleta è revision_conflict con current_revision.
Idempotency-KeyintestazioneopzionaleOmetti per un’operazione fresca. Fornisci e riutilizza una chiave per deduplicare i retry; la CLI gestisce automaticamente le chiavi.

Campi del corpo della richiesta

CampoDescrizione
nome (opzionale, stringa)minLength: 1 maxLength: 120
pages (opzionale, array)

Ogni pagina che resta, in ordine di riproduzione. Un id non presente nella playlist, o duplicato, è invalid_request su pages[i].id. Il risultato deve rispettare le regole della playlist: almeno una pagina ordinaria senza visibilità, massimo 16 pagine slot pubblicitarie, una pagina audio_end mantiene il suo audio_cue.

Modello richiesta e risposte
shell · modello richiesta
curl --request PATCH --cookie cookies.txt --cookie-jar cookies.txt --header 'If-Match: "REVISION"' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/playlists/RESOURCE_ID/structure'

Risposte

StatoSignificatoCorpo e intestazioni
200La playlist come memorizzata ora; ETag porta la sua revisione.PlaylistV2 (application/json); intestazioni: ETag
402

feature_not_in_plan — dichiarare campi, bloccare un primitivo o modificare una playlist che dichiara campi rientra nei modelli di playlist, e il piano del progetto non li include; required_plan indica il piano che li include. Creare una playlist da un modello è sempre consentito.

Problema (application/problem+json)
409playlist_not_approved — la playlist non ha una versione approvata; resource_conflict — il nome è in uso, oppure un elemento multimediale o un nome di pagina mantenuto non è più pronto.Problema (application/problem+json)
412revision_conflict — If-Match è obsoleto; current_revision dell’errore riporta la revisione corrente.Problema (application/problem+json)
predefinito

Risposta problema stabile RFC 9457. 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.

Problema (application/problem+json)
GET/api/playlists/{id}/revisions

Elencare le revisioni della playlist

The playlist's revisions, newest first: each revision a write stored (a create, a replace, a patch, a structure change, an applied review, a promote) with its name, its page count, the kind of change and who made it.

History begins with the revision a playlist held when revision history was first recorded: until its next write the list holds that revision alone, with change baseline. Revisions are kept for as long as the playlist is. At most 50 per page; next_cursor while more remain, null on the last page.

Autenticazione
projectBearer O dashboardSession
Corpo della richiesta
nessuno
ID operazione
listPlaylistRevisions

Parametri

NomeInviaObbligatorio?Descrizione
ScreenRig-ProjectintestazioneopzionaleDeprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token.
idpathobbligatorio
dopoqueryopzionalenext_cursor della pagina precedente della stessa lista, con gli stessi filtri. Omettere inizia dalla riga più recente. Un valore che non è tale cursore è invalid_request.
Modello richiesta e risposte
shell · modello richiesta
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/playlists/RESOURCE_ID/revisions'

Risposte

StatoSignificatoCorpo e intestazioni
200Le revisioni della playlist, dalla più recente.PlaylistRevisionList (application/json)
predefinito

Risposta problema stabile RFC 9457. 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.

Problema (application/problem+json)
GET/api/playlists/{id}/revisions/{revision}

Ottenere una revisione della playlist

One revision of the playlist and the playlist as it stood at that revision: its name, pages, soundtrack and format, with revision set to this one. A revision the playlist never had, or one from before its history began, is not_found.

Autenticazione
projectBearer O dashboardSession
Corpo della richiesta
nessuno
ID operazione
getPlaylistRevision

Parametri

NomeInviaObbligatorio?Descrizione
ScreenRig-ProjectintestazioneopzionaleDeprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token.
idpathobbligatorio
revisionepathobbligatorioUna revisione della playlist, come la numera listPlaylistRevisions.
Modello richiesta e risposte
shell · modello richiesta
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/playlists/RESOURCE_ID/revisions/REVISION'

Risposte

StatoSignificatoCorpo e intestazioni
200La revisione e la playlist a quella revisione.PlaylistRevisionDetail (application/json)
predefinito

Risposta problema stabile RFC 9457. 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.

Problema (application/problem+json)
POST/api/playlists/{id}/revisions/{revision}/promote

Promuovere una revisione della playlist

Makes an earlier revision current again by copying it forward: its pages, soundtrack and format become a new revision, the current one plus one, whose change is promoted and restored_from names the revision copied. The playlist keeps its current name, earlier revisions stay as they were, and every screen that shows the playlist updates as for any other write.

If-Match is required and names the current revision (invalid_request when absent, revision_conflict when stale). The pages are resolved again as a structure change resolves them: a selector matches today's media, and media or a web app the revision named that is gone or not ready refuses the promote with the problem a write would get.

Una revisione il cui contenuto è il contenuto corrente non cambia nulla e risponde con la playlist corrente. Richiede una credenziale che pubblica dal vivo (vietato per una le cui scritture sono proposte per revisione) o una sessione dashboard del proprietario del progetto o di un membro che può approvare (approver_required); una playlist che nessuna persona ha ancora approvato dà playlist_not_approved (409).

Come per qualsiasi scrittura, la risposta include avvertenze (PlaylistWarning), tra cui screen_fact_missing quando uno schermo che mostra la playlist non ha un valore letto dal src di un iframe o dai parametri dell'applicazione delle pagine promosse.

Autenticazione
projectBearer O dashboardSession
Corpo della richiesta
nessuno
ID operazione
promotePlaylistRevision

Parametri

NomeInviaObbligatorio?Descrizione
ScreenRig-ProjectintestazioneopzionaleDeprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token.
idpathobbligatorio
revisionepathobbligatorioUna revisione della playlist, come la numera listPlaylistRevisions.
If-MatchintestazioneopzionaleRevisione positiva opzionale della risorsa. Ometti per scrivere la risorsa corrente; una revisione obsoleta fornita è revision_conflict.
Idempotency-KeyintestazioneopzionaleOmetti per un’operazione fresca. Fornisci e riutilizza una chiave per deduplicare i retry; la CLI gestisce automaticamente le chiavi.
Modello richiesta e risposte
shell · modello richiesta
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/playlists/RESOURCE_ID/revisions/REVISION/promote'

Risposte

StatoSignificatoCorpo e intestazioni
200La playlist con la revisione copiata come corrente; ETag riporta la sua revisione.PlaylistV2 (application/json)
402

feature_not_in_plan — dichiarare campi, bloccare un primitivo o modificare una playlist che dichiara campi rientra nei modelli di playlist, e il piano del progetto non li include; required_plan indica il piano che li include. Creare una playlist da un modello è sempre consentito.

Problema (application/problem+json)
predefinito

Risposta problema stabile RFC 9457. 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.

Problema (application/problem+json)
PATCH/api/playlists/{id}/values

Aggiorna valori di playlist

Imposta, o con null cancella, i valori dei campi di una playlist creata da un modello e ricostruisce le sue pagine dalla revisione attuale del modello: i valori vengono verificati come in una creazione e le modifiche del marchio fatte al modello da allora raggiungono questa copia. Non inviare valori per aggiornare soltanto la copia.

Classe di revisione come qualsiasi scrittura di una playlist: il proprietario o un membro che può approvare (sessione della dashboard) e una credenziale Manage scrivono in diretta, un uploader solo per le sue playlist e cartelle, e Propose trasforma la modifica in una revisione (202). Una playlist non creata da un modello è invalid_request. If-Match è facoltativo.

Autenticazione
projectBearer O dashboardSession
Corpo della richiesta
PlaylistValuesChange
ID operazione
updatePlaylistValues

Parametri

NomeInviaObbligatorio?Descrizione
ScreenRig-ProjectintestazioneopzionaleDeprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token.
Screenrig-Review-Noteintestazioneopzionale

Nota opzionale del proponente su scrittura di classe review, inviata come UTF-8 percent-encoded (come scrive encodeURIComponent di JavaScript). Il server la percent-decodifica (un escape non valido è 400 invalid_request); la nota decodificata è testo semplice, massimo 280 caratteri dopo il trim, senza caratteri di controllo (altrimenti 400 invalid_request).

Archiviato alla revisione quando la scrittura diventa una; ignorato se applicato in tempo reale.

idpathobbligatorio
If-MatchintestazioneopzionaleRevisione positiva opzionale della risorsa. Ometti per scrivere la risorsa corrente; una revisione obsoleta fornita è revision_conflict.
Idempotency-KeyintestazioneopzionaleOmetti per un’operazione fresca. Fornisci e riutilizza una chiave per deduplicare i retry; la CLI gestisce automaticamente le chiavi.

Campi del corpo della richiesta

CampoDescrizione
valori (obbligatorio, oggetto)Nome del campo e valore; null cancella un campo facoltativo. I campi non indicati mantengono il loro valore.
Modello richiesta e risposte
shell · modello richiesta
curl --request PATCH --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/playlists/RESOURCE_ID/values'

Risposte

StatoSignificatoCorpo e intestazioni
202

La scrittura è diventata una revisione e attende l’approvazione di una persona (docs/reviews.md), con accesso Proponi, oppure a qualsiasi livello di accesso quando raggiunge uno schermo in una cartella di schermi protetta, dove la decide un secondo approvatore (docs/screen-scope.md). Una persona approva, rifiuta o richiede modifiche nel dashboard a review.url.

Una ripetizione con Idempotency-Key risponde con lo stesso corpo.

ReviewPending (application/json)
200La playlist aggiornata; ETag contiene la sua revisione.PlaylistV2 (application/json)
predefinito

Risposta problema stabile RFC 9457. 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.

Problema (application/problem+json)
GET/api/playlists/{id}/instances

Elenca le istanze di playlist

Le playlist create da un modello (al massimo 1000, per nome), ciascuna con la revisione del modello da cui sono state create le sue pagine e se il modello ne ha una più recente.

Autenticazione
projectBearer O dashboardSession
Corpo della richiesta
nessuno
ID operazione
listPlaylistInstances

Parametri

NomeInviaObbligatorio?Descrizione
ScreenRig-ProjectintestazioneopzionaleDeprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token.
idpathobbligatorio
Modello richiesta e risposte
shell · modello richiesta
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/playlists/RESOURCE_ID/instances'

Risposte

StatoSignificatoCorpo e intestazioni
200Le istanze.PlaylistInstanceList (application/json)
predefinito

Risposta problema stabile RFC 9457. 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.

Problema (application/problem+json)
POST/api/playlists/{id}/expand

Espandi modello di playlist

Le pagine che conterrebbe una playlist creata dal modello con questi valori, verificate da tutte le regole. Calcola soltanto; non viene salvato nulla.

Autenticazione
projectBearer O dashboardSession
Corpo della richiesta
PlaylistExpandRequest
ID operazione
expandPlaylistTemplate

Parametri

NomeInviaObbligatorio?Descrizione
ScreenRig-ProjectintestazioneopzionaleDeprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token.
idpathobbligatorio

Campi del corpo della richiesta

CampoDescrizione
valori (opzionale, oggetto)
Modello richiesta e risposte
shell · modello richiesta
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/playlists/RESOURCE_ID/expand'

Risposte

StatoSignificatoCorpo e intestazioni
200Le pagine.PlaylistExpanded (application/json)
predefinito

Risposta problema stabile RFC 9457. 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.

Problema (application/problem+json)
POST/api/playlists/{id}/pages

Aggiungi pagina playlist

Aggiunge una pagina a una playlist approvata senza inviare le altre: in fondo, o prima della pagina indicata da before.

Le pagine che la playlist contiene già vengono mantenute come memorizzate e ricontrollate con la nuova in un solo passaggio, così le regole tra pagine (da 1 a 100 pagine, una pagina ordinaria senza visibilità, 16 pagine di spazio pubblicitario, 1024 riferimenti media) vedono il risultato: una regola violata dà invalid_request con field (page.id quando l’id è già usato, before quando non indica alcuna pagina).

La validità di pagina della playlist è la visibilità propria della pagina (from, until, windows, data), nel fuso orario di ciascuno schermo, con until esclusivo.

Classe di revisione: con Proponi la modifica diventa una revisione (202); una successiva modifica di pagina della stessa playlist da parte dello stesso proponente estende quella revisione in sospeso finché si basa sulla revisione live, quindi le modifiche successive non si sostituiscono a vicenda, e l’approvazione le applica tutte o nessuna (review_stale quando la playlist è andata avanti); la revisione in sospeso di una modifica di pagina di un altro proponente non viene né estesa né sostituita, e la modifica attende con resource_conflict (409).

Con Gestire, o da una sessione dashboard del proprietario o di un membro che può approvare (altrimenti approver_required), è attiva. If-Match è facoltativo: se presente, deve essere la revisione live. Una playlist che nessuna persona ha ancora approvato dà playlist_not_approved (409).

Un uploader (docs/uploaders.md) aggiunge solo una pagina media delle sue cartelle a una delle sue playlist (altrimenti outside_upload_scope); un membro uploader su Proponi è il proponente della revisione (kind person).

Autenticazione
projectBearer O dashboardSession
Corpo della richiesta
PlaylistPageAdd
ID operazione
addPlaylistPage

Parametri

NomeInviaObbligatorio?Descrizione
ScreenRig-ProjectintestazioneopzionaleDeprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token.
Screenrig-Review-Noteintestazioneopzionale

Nota opzionale del proponente su scrittura di classe review, inviata come UTF-8 percent-encoded (come scrive encodeURIComponent di JavaScript). Il server la percent-decodifica (un escape non valido è 400 invalid_request); la nota decodificata è testo semplice, massimo 280 caratteri dopo il trim, senza caratteri di controllo (altrimenti 400 invalid_request).

Archiviato alla revisione quando la scrittura diventa una; ignorato se applicato in tempo reale.

idpathobbligatorio
If-MatchintestazioneopzionaleRevisione positiva opzionale della risorsa. Ometti per scrivere la risorsa corrente; una revisione obsoleta fornita è revision_conflict.
Idempotency-KeyintestazioneopzionaleOmetti per un’operazione fresca. Fornisci e riutilizza una chiave per deduplicare i retry; la CLI gestisce automaticamente le chiavi.

Campi del corpo della richiesta

CampoDescrizione
page (obbligatorio, PlaylistPageWriteV2)
before (opzionale, stringa)La pagina davanti alla quale viene inserita; se omessa, viene aggiunta in fondo. pattern: "^[A-Za-z][A-Za-z0-9_-]{0,63}$"
Modello richiesta e risposte
shell · modello richiesta
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/playlists/RESOURCE_ID/pages'

Risposte

StatoSignificatoCorpo e intestazioni
202

La scrittura è diventata una revisione e attende l’approvazione di una persona (docs/reviews.md), con accesso Proponi, oppure a qualsiasi livello di accesso quando raggiunge uno schermo in una cartella di schermi protetta, dove la decide un secondo approvatore (docs/screen-scope.md). Una persona approva, rifiuta o richiede modifiche nel dashboard a review.url.

Una ripetizione con Idempotency-Key risponde con lo stesso corpo.

ReviewPending (application/json)
200La playlist aggiornata; ETag contiene la sua revisione.PlaylistV2 (application/json)
402

feature_not_in_plan — dichiarare campi, bloccare un primitivo o modificare una playlist che dichiara campi rientra nei modelli di playlist, e il piano del progetto non li include; required_plan indica il piano che li include. Creare una playlist da un modello è sempre consentito.

Problema (application/problem+json)
predefinito

Risposta problema stabile RFC 9457. 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.

Problema (application/problem+json)
PUT/api/playlists/{id}/pages/{page_id}

Sostituisci pagina playlist

Sostituisce una pagina di una playlist approvata, sul posto, senza inviare le altre. Il corpo è la pagina e il suo id è page_id. Una pagina sconosciuta è not_found.

Tutto il resto è come per addPlaylistPage: validato con le pagine mantenute in un solo passaggio, classe di revisione (202 con Proponi, concatenata a una revisione in sospeso di modifica pagina), attivo con Gestire o da una persona che approva, If-Match facoltativo, playlist_not_approved per una playlist che nessuna persona ha approvato.

Un uploader sostituisce solo una pagina media delle sue cartelle con un’altra pagina media delle sue cartelle; con Proponi può sostituire anche le pagine in attesa nella sua stessa revisione.

Autenticazione
projectBearer O dashboardSession
Corpo della richiesta
PlaylistPageWriteV2
ID operazione
replacePlaylistPage

Parametri

NomeInviaObbligatorio?Descrizione
ScreenRig-ProjectintestazioneopzionaleDeprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token.
idpathobbligatorio
page_idpathobbligatorioID stringa pagina playlist.
Screenrig-Review-Noteintestazioneopzionale

Nota opzionale del proponente su scrittura di classe review, inviata come UTF-8 percent-encoded (come scrive encodeURIComponent di JavaScript). Il server la percent-decodifica (un escape non valido è 400 invalid_request); la nota decodificata è testo semplice, massimo 280 caratteri dopo il trim, senza caratteri di controllo (altrimenti 400 invalid_request).

Archiviato alla revisione quando la scrittura diventa una; ignorato se applicato in tempo reale.

If-MatchintestazioneopzionaleRevisione positiva opzionale della risorsa. Ometti per scrivere la risorsa corrente; una revisione obsoleta fornita è revision_conflict.
Idempotency-KeyintestazioneopzionaleOmetti per un’operazione fresca. Fornisci e riutilizza una chiave per deduplicare i retry; la CLI gestisce automaticamente le chiavi.
Modello richiesta e risposte
shell · modello richiesta
curl --request PUT --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/playlists/RESOURCE_ID/pages/PAGE_ID'

Risposte

StatoSignificatoCorpo e intestazioni
202

La scrittura è diventata una revisione e attende l’approvazione di una persona (docs/reviews.md), con accesso Proponi, oppure a qualsiasi livello di accesso quando raggiunge uno schermo in una cartella di schermi protetta, dove la decide un secondo approvatore (docs/screen-scope.md). Una persona approva, rifiuta o richiede modifiche nel dashboard a review.url.

Una ripetizione con Idempotency-Key risponde con lo stesso corpo.

ReviewPending (application/json)
200La playlist aggiornata; ETag contiene la sua revisione.PlaylistV2 (application/json)
402

feature_not_in_plan — dichiarare campi, bloccare un primitivo o modificare una playlist che dichiara campi rientra nei modelli di playlist, e il piano del progetto non li include; required_plan indica il piano che li include. Creare una playlist da un modello è sempre consentito.

Problema (application/problem+json)
predefinito

Risposta problema stabile RFC 9457. 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.

Problema (application/problem+json)
ELIMINA/api/playlists/{id}/pages/{page_id}

Rimuovi pagina playlist

Rimuove una pagina di una playlist approvata. La playlist mantiene da 1 a 100 pagine e una pagina ordinaria senza visibilità (altrimenti invalid_request). Una pagina sconosciuta è not_found. Tutto il resto è come per replacePlaylistPage. Un uploader rimuove solo una pagina media delle sue cartelle.

Autenticazione
projectBearer O dashboardSession
Corpo della richiesta
nessuno
ID operazione
removePlaylistPage

Parametri

NomeInviaObbligatorio?Descrizione
ScreenRig-ProjectintestazioneopzionaleDeprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token.
idpathobbligatorio
page_idpathobbligatorioID stringa pagina playlist.
Screenrig-Review-Noteintestazioneopzionale

Nota opzionale del proponente su scrittura di classe review, inviata come UTF-8 percent-encoded (come scrive encodeURIComponent di JavaScript). Il server la percent-decodifica (un escape non valido è 400 invalid_request); la nota decodificata è testo semplice, massimo 280 caratteri dopo il trim, senza caratteri di controllo (altrimenti 400 invalid_request).

Archiviato alla revisione quando la scrittura diventa una; ignorato se applicato in tempo reale.

If-MatchintestazioneopzionaleRevisione positiva opzionale della risorsa. Ometti per scrivere la risorsa corrente; una revisione obsoleta fornita è revision_conflict.
Idempotency-KeyintestazioneopzionaleOmetti per un’operazione fresca. Fornisci e riutilizza una chiave per deduplicare i retry; la CLI gestisce automaticamente le chiavi.
Modello richiesta e risposte
shell · modello richiesta
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/playlists/RESOURCE_ID/pages/PAGE_ID'

Risposte

StatoSignificatoCorpo e intestazioni
202

La scrittura è diventata una revisione e attende l’approvazione di una persona (docs/reviews.md), con accesso Proponi, oppure a qualsiasi livello di accesso quando raggiunge uno schermo in una cartella di schermi protetta, dove la decide un secondo approvatore (docs/screen-scope.md). Una persona approva, rifiuta o richiede modifiche nel dashboard a review.url.

Una ripetizione con Idempotency-Key risponde con lo stesso corpo.

ReviewPending (application/json)
200La playlist aggiornata; ETag contiene la sua revisione.PlaylistV2 (application/json)
402

feature_not_in_plan — dichiarare campi, bloccare un primitivo o modificare una playlist che dichiara campi rientra nei modelli di playlist, e il piano del progetto non li include; required_plan indica il piano che li include. Creare una playlist da un modello è sempre consentito.

Problema (application/problem+json)
predefinito

Risposta problema stabile RFC 9457. 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.

Problema (application/problem+json)