Riferimento API

API Revisioni

Revisioni delle modifiche dell’agente

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

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

Revisioni delle modifiche dell’agente

GET/api/reviews

Elenca le recensioni

Le revisioni del progetto (docs/reviews.md): le modifiche a playlist e schermi proposte con accesso Proponi, le scritture su campagne, cartelle di schermi e spostamenti che raggiungono uno schermo protetto (tipo protected_change, docs/screen-scope.md) e, per una rete pubblicitaria, le creatività inviate dagli acquirenti (tipo ad_creative).

I più recenti prima, al massimo limit (default 50, massimo 100) per pagina; passa next_cursor come cursore con gli stessi filtri. state pending (default), decided (ogni altro stato) o all; kind restringe a un tipo.

Una sessione dashboard legge ogni tipo; un bearer legge i tipi coperti dalle sue capacità (playlist per playlist_change, schermi per screen_change e protected_change, pubblicità per ad_creative), e un tipo che non può leggere è una pagina vuota. pending_count conta le revisioni in sospeso di ogni tipo che il chiamante vede.

Un chiamante limitato agli schermi vede solo le revisioni screen_change e protected_change la cui intera portata è dentro il suo ambito (una revisione che seleziona gli schermi per tag non lo è mai) e le revisioni playlist_change; le revisioni ad_creative gli sono nascoste, e pending_count conta ciò che vede.

Autenticazione
projectBearer O dashboardSession
Corpo della richiesta
nessuno
ID operazione
listReviews

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.
statoqueryopzionale
kindqueryopzionale
limitequeryopzionale
cursorequeryopzionale
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/reviews'

Risposte

StatoSignificatoCorpo e intestazioni
200Una pagina di revisioni.ReviewList (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/reviews/{id}

Ottieni recensione

Una revisione. Una modifica di playlist aggiunge preview: la playlist live e quella proposta nella forma memorizzata (pagine con resolved_media); live è null per una creazione. Un bearer che non può leggere il tipo della revisione (vedi listReviews) riceve not_found, così come un chiamante limitato agli schermi per una revisione la cui portata non è dentro il suo ambito.

Autenticazione
projectBearer O dashboardSession
Corpo della richiesta
nessuno
ID operazione
getReview

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/reviews/RESOURCE_ID'

Risposte

StatoSignificatoCorpo e intestazioni
200La revisione.Revisione (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/reviews/{id}/locate

Individua revisione

Il progetto a cui appartiene una revisione, per il link email: una persona connessa che è membro di quel progetto ottiene il suo id e nome e vi passa (PUT /api/session/project) prima di leggere la revisione. Chiunque altro ottiene not_found. Funziona qualunque progetto la sessione abbia selezionato.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
locateReview

Parametri

NomeInviaObbligatorio?Descrizione
idpathobbligatorio
Modello richiesta e risposte
shell · modello richiesta
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/reviews/RESOURCE_ID/locate'

Risposte

StatoSignificatoCorpo e intestazioni
200Il progetto della revisione.ReviewLocation (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/reviews/{id}/approve

Approva revisione

Approva una revisione in sospeso come persona che può approvare (proprietario del progetto o membro con can_approve; altrimenti approver_required). Il flag è riletto dentro la transazione della decisione, quindi una persona la cui approvazione è stata disattivata nel frattempo non decide nulla (approver_required). Le sessioni shadow dello staff non possono decidere.

Un aggiornamento playlist si applica con la revisione base come If-Match; quando la playlist live avanza la revisione diventa obsoleta e la chiamata risponde review_stale.

Una creazione o aggiornamento il cui tag, cartella o tutti i selettori ora riprodurrebbero media che non risolvevano quando proposti, che la revisione non nomina e che la versione live non riproduce già, diventa anche obsoleta (review_stale).

Un cambio schermo riproduce la sua richiesta memorizzata (un tag si risolve ora): la chiamata applica gli schermi per alcuni secondi e il resto continua in background mentre screen_change.result.applying è true.

Un cambio schermo in attesa di una review di playlist risponde review_blocked nominando questa; uno la cui playlist non ha versioni approvate risponde playlist_not_approved. include_dependents approva anche, in ordine, i cambi schermo in attesa di questa review di playlist. Gli eventi del cambio applicato riportano la persona come attore e l’agente proponente come agente.

La risposta include avvertenze (PlaylistWarning): screen_fact_missing quando la modifica approvata porta pagine il cui src iframe o parametri dell'applicazione leggono un token dello schermo su schermi che non ce l'hanno. Una revisione già decisa è review_not_pending; ripetere la stessa decisione la riproduce.

Una revisione contrassegnata come protetta (un protected_change, o uno screen_change che ha raggiunto uno schermo protetto) viene decisa da un approvatore diverso dal proponente e dalla persona responsabile dell’agente proponente: altrimenti second_approver_required (403), e anche quando il proponente non è riconducibile a una persona (docs/screen-scope.md).

Un approvatore limitato agli schermi decide solo una revisione la cui intera portata è dentro l’ambito (outside_screen_scope, 403). Un protected_change viene applicato da questa richiesta, come persona che approva, alla versione rispetto alla quale è stato proposto; una campagna o una cartella che nel frattempo è cambiata o è stata eliminata, o schermi che si sono spostati, rendono la revisione obsoleta (review_stale, 409).

Un elemento dipendente che non può essere approvato riporta gli stessi codici in dependents[].problem.

Autenticazione
dashboardSession
Corpo della richiesta
ReviewApproveRequest
ID operazione
approveReview

Parametri

NomeInviaObbligatorio?Descrizione
idpathobbligatorio
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
include_dependents (opzionale, booleano)Approva anche, in ordine, le modifiche dello schermo in attesa di questa revisione della playlist.
Modello richiesta e risposte
shell · modello richiesta
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/reviews/RESOURCE_ID/approve'

Risposte

StatoSignificatoCorpo e intestazioni
200La revisione approvata e i risultati dei dipendenti.ReviewDecisionResult (application/json)
403approver_required, second_approver_required o outside_screen_scope.Problema (application/problem+json)
409review_not_pending, review_stale, review_blocked o playlist_not_approved.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)
POST/api/reviews/{id}/reject

Rifiuta revisione

Rifiuta una revisione in sospeso con un motivo che il proponente legge. Solo approvatore, come approveReview; un approvatore limitato agli schermi decide solo una revisione dentro il suo ambito (outside_screen_scope), e nessuna persona limitata agli schermi decide una creatività pubblicitaria. Sullo schermo non cambia nulla; la creazione di una playlist rifiutata resta non approvata.

Autenticazione
dashboardSession
Corpo della richiesta
ReviewRejectRequest
ID operazione
rejectReview

Parametri

NomeInviaObbligatorio?Descrizione
idpathobbligatorio
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
motivo (obbligatorio, stringa)minLength: 1 maxLength: 500
Modello richiesta e risposte
shell · modello richiesta
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/reviews/RESOURCE_ID/reject'

Risposte

StatoSignificatoCorpo e intestazioni
200La revisione rifiutata.ReviewDecisionResult (application/json)
403

outside_screen_scope - il chiamante è limitato agli schermi e lo schermo, la cartella di schermi, il selettore o il pubblico che la richiesta nomina o raggiunge è fuori da essi (docs/screen-scope.md). Un id fuori dall’ambito e un id che non esiste ricevono la stessa risposta; errors[0].screen_scope riporta l’ambito del chiamante, e la scrittura viene rifiutata per intero, mai ridotta.

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)
POST/api/reviews/{id}/request-changes

Richiedi modifiche alla revisione

Chiede al proponente delle modifiche con una nota che legge; il proponente propone di nuovo. Solo approvatore, come approveReview. Per una creatività pubblicitaria l’acquirente legge la nota sulla creatività. Un approvatore con ambito è limitato come in rejectReview.

Autenticazione
dashboardSession
Corpo della richiesta
ReviewChangesRequest
ID operazione
requestReviewChanges

Parametri

NomeInviaObbligatorio?Descrizione
idpathobbligatorio
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
nota (obbligatoria, stringa)minLength: 1 maxLength: 500
Modello richiesta e risposte
shell · modello richiesta
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/reviews/RESOURCE_ID/request-changes'

Risposte

StatoSignificatoCorpo e intestazioni
200La revisione, stato changes_requested.ReviewDecisionResult (application/json)
403

outside_screen_scope - il chiamante è limitato agli schermi e lo schermo, la cartella di schermi, il selettore o il pubblico che la richiesta nomina o raggiunge è fuori da essi (docs/screen-scope.md). Un id fuori dall’ambito e un id che non esiste ricevono la stessa risposta; errors[0].screen_scope riporta l’ambito del chiamante, e la scrittura viene rifiutata per intero, mai ridotta.

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)
POST/api/reviews/{id}/withdraw

Ritira revisione

Ritira una revisione in sospeso di playlist, schermo o protected_change. Un bearer ritira solo ciò che ha proposto il proprio agente o client di servizio (altrimenti forbidden); una persona ritira come approvatore o come persona responsabile del proponente; una persona limitata agli schermi ritira solo una revisione dentro il suo ambito (outside_screen_scope).

La creazione di una playlist ritirata resta non approvata.

Autenticazione
projectBearer O dashboardSession
Corpo della richiesta
nessuno
ID operazione
withdrawReview

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
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/reviews/RESOURCE_ID/withdraw'

Risposte

StatoSignificatoCorpo e intestazioni
200La revisione ritirata.ReviewDecisionResult (application/json)
403

outside_screen_scope - il chiamante è limitato agli schermi e lo schermo, la cartella di schermi, il selettore o il pubblico che la richiesta nomina o raggiunge è fuori da essi (docs/screen-scope.md). Un id fuori dall’ambito e un id che non esiste ricevono la stessa risposta; errors[0].screen_scope riporta l’ambito del chiamante, e la scrittura viene rifiutata per intero, mai ridotta.

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)