Riferimento API

API Dashboard

Persone e dashboard progetto

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

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

Persone e dashboard progetto

POST/api/invitations/inspect

Ispeziona invito dashboard

Ispeziona un invito senza consumarlo. Non riporta mai lo stato di iscrizione o di verifica, tranne per il fatto che un reset dell’accesso riporta replaces_unverified_account. Un invito organization_admin o organization_member riporta il nome dell’organizzazione e nessun progetto.

Autenticazione
nessuno
Corpo della richiesta
InvitationInspectRequest
ID operazione
inspectDashboardInvitation

Campi del corpo della richiesta

CampoDescrizione
token (obbligatorio, stringa)pattern: "^[A-Za-z0-9_-]{43}$"
Modello richiesta e risposte
shell · modello richiesta
curl --request POST --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/invitations/inspect'

Risposte

StatoSignificatoCorpo e intestazioni
200Ispeziona un invito senza consumarlo.InvitationInspect (application/json); headers: RateLimit-Policy, RateLimit
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)
429

Problema rate_limited stabile. 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.

Problema (application/problem+json); intestazioni: Retry-After, RateLimit-Policy, RateLimit
POST/api/invitations/passkey-options

Avvia invito dashboard Passkey

Avvia una cerimonia di registrazione di cinque minuti legata al digest e alla modalità dell’invito. Link create_login richiede un cookie __Host-screenrig-signup verificato e usa il suo nome.

Email create_login lega il nome visualizzato fornito; reset lega la persona target, tranne che un reset di un indirizzo non verificato registra la passkey per la nuova persona che crea, con il nome visualizzato fornito o, se assente, ricavato dall’indirizzo.

Quel reset richiede replace_unverified_account true (l’ispezione riporta replaces_unverified_account) e altrimenti risponde 409 unverified_account_replacement.

Autenticazione
nessuno O invitationSignup
Corpo della richiesta
Richiesta opzioni passkey invito
ID operazione
startDashboardInvitationPasskey

Campi del corpo della richiesta

CampoDescrizione
token (obbligatorio, stringa)pattern: "^[A-Za-z0-9_-]{43}$"
mode (obbligatorio, stringa)Consentito: "create_login", "reset"
display_name (opzionale, DashboardDisplayName)Nome visualizzabile stampabile e rifilato, massimo 80 byte UTF-8. Rifiuta controlli, testo simile a URL, @, www., :// e dati di accesso. Mai autorizzazione. minLength: 1 maxLength: 80
replace_unverified_account (opzionale, booleano)

Solo reset dell’accesso (modalità reset; qualsiasi altra modalità lo rifiuta). Deve essere true quando l’ispezione riporta replaces_unverified_account true, che è il consenso della persona a un nuovo account vuoto al posto di quello non verificato associato all’indirizzo; se assente o false risponde allora 409 unverified_account_replacement e non avvia alcuna cerimonia.

Ignorato se il reset non sostituisce nulla. predefinito: false

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/invitations/passkey-options'

Risposte

StatoSignificatoCorpo e intestazioni
201Avvia una cerimonia di registrazione di cinque minuti legata al digest e alla modalità dell'invito.RegistrazionePasskeyDashboard (application/json); intestazioni: RateLimit-Policy, RateLimit
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)
429

Problema rate_limited stabile. 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.

Problema (application/problem+json); intestazioni: Retry-After, RateLimit-Policy, RateLimit
POST/api/invitations/email-verifications

Verifica email invito dashboard

Avvia una registrazione con link browser e revoca le registrazioni precedenti per questo invito. La sfida di verifica è legata a questa registrazione. L'autenticazione di sviluppo verifica subito la registrazione senza mail.

Autenticazione
nessuno
Corpo della richiesta
InvitationEmailVerificationRequest
ID operazione
verifyDashboardInvitationEmail

Campi del corpo della richiesta

CampoDescrizione
token (obbligatorio, stringa)pattern: "^[A-Za-z0-9_-]{43}$"
display_name (obbligatorio, DashboardDisplayName)Nome visualizzabile stampabile e rifilato, massimo 80 byte UTF-8. Rifiuta controlli, testo simile a URL, @, www., :// e dati di accesso. Mai autorizzazione. minLength: 1 maxLength: 80
email (obbligatorio, stringa)minLength: 3 maxLength: 254 formato: "email"
Modello richiesta e risposte
shell · modello richiesta
curl --request POST --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/invitations/email-verifications'

Risposte

StatoSignificatoCorpo e intestazioni
202Avvia una registrazione con link browser e revoca le registrazioni precedenti per questo invito.InvitationEmailVerificationAccepted (application/json); headers: Set-Cookie, RateLimit-Policy, RateLimit
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)
429

Problema rate_limited stabile. 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.

Problema (application/problem+json); intestazioni: Retry-After, RateLimit-Policy, RateLimit
GET/api/invitations/signup

Ottieni iscrizione invito dashboard

Restituisce la registrazione live appartenente a questo browser. Un cookie di registrazione mancante, revocato, consumato o scaduto restituisce invitation_invalid.

Autenticazione
invitationSignup
Corpo della richiesta
nessuno
ID operazione
getDashboardInvitationSignup
Modello richiesta e risposte
shell · modello richiesta
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/invitations/signup'

Risposte

StatoSignificatoCorpo e intestazioni
200Restituisce la registrazione live appartenente a questo browser.Registrazione invito (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/invitations/accept

Accetta invito al dashboard

Accetta un invito in modo transazionale e crea una nuova sessione persona, eliminando la vecchia sessione se presente.

Il link create_login richiede il cookie __Host-screenrig-signup verificato per questo invito. signed_in richiede una sessione dashboard e un accesso recente o una prova recente; la consegna via email richiede un’email verificata corrispondente, oppure l’indirizzo non verificato della persona che ha effettuato l’accesso, che l’accettazione verifica.

Un indirizzo già posseduto da una persona attiva, verificato o meno, restituisce resource_conflict per create_login. Un reset fa accedere la persona che possiede un indirizzo verificato.

Un reset di un indirizzo non verificato richiede replace_unverified_account true (l’ispezione riporta replaces_unverified_account) e altrimenti risponde 409 unverified_account_replacement e non consuma nulla; con esso, il reset crea una nuova persona verificata con la credenziale che registra, con il nome indicato da display_name o, se assente, ricavato dall’indirizzo, con una nuova organizzazione e un nuovo progetto, e fa accedere quella persona; la persona non verificata viene eliminata (le sue sessioni, passkey e agenti terminano) e i progetti e le organizzazioni che ha creato restano, senza di lei e senza più corrispondere all’indirizzo come suo contatto, così nessun reset successivo reinvia loro un invito di enrollment.

La risposta indica il nuovo progetto. Una sessione per cui è richiesta la verifica dell’email (email_verification_required su GET /api/session) accetta solo un invito inviato via email che indica il proprio indirizzo e riceve 403 email_verification_required per qualsiasi altro.

Un invito organization_admin aggiunge la persona agli amministratori dell’organizzazione e non apre alcun progetto; restituisce organization_admin_limit quando l’organizzazione ha già 20 amministratori e rimane in sospeso, e resource_conflict quando l’organizzazione è stata eliminata.

Un invito organization_member imposta l’organizzazione di appartenenza della persona su quella che invita, al posto di qualsiasi precedente, e non concede alcuna appartenenza al progetto; restituisce managed_elsewhere (409) quando un’altra organizzazione gestisce la persona, e resource_conflict quando l’organizzazione è stata eliminata.

Un invito organization_admin imposta l’organizzazione di appartenenza solo per una persona che non ne ha una. Un invito project_member ricontrolla la policy per gli ospiti dell’organizzazione e restituisce guest_not_allowed (403) quando la persona sarebbe un ospite esterno che la policy rifiuta; un invito a un progetto non cambia mai l’organizzazione di appartenenza di nessuno. Un invito rifiutato resta in sospeso.

Autenticazione
nessuno O invitationSignup O dashboardSession
Corpo della richiesta
InvitationAcceptRequest
ID operazione
acceptDashboardInvitation

Campi del corpo della richiesta

CampoDescrizione
token (obbligatorio, stringa)pattern: "^[A-Za-z0-9_-]{43}$"
mode (obbligatorio, stringa)Consentito: "create_login", "signed_in", "reset"
display_name (opzionale, DashboardDisplayName)Nome visualizzabile stampabile e rifilato, massimo 80 byte UTF-8. Rifiuta controlli, testo simile a URL, @, www., :// e dati di accesso. Mai autorizzazione. minLength: 1 maxLength: 80
credenziale (opzionale, InvitationCredential)
proof (opzionale, DashboardProof)
buyer (opzionale, InvitationBuyer)
remove_other_passkeys (opzionale, booleano)

Solo reimpostazione dell'accesso (mode reset). Rimuove le passkey della persona diverse da quella registrata da questa reimpostazione, o tutte quando la reimpostazione imposta una password, così un dispositivo perso o rubato smette di accedere. Assente significa true; qualsiasi altro invito lo rifiuta. Una reimpostazione di un indirizzo non verificato crea una nuova persona senza altre passkey e lo ignora.

Una reimpostazione che registra una passkey rimuove la password, qualunque sia questo valore. default: true

replace_unverified_account (opzionale, booleano)

Solo reset dell’accesso (modalità reset; qualsiasi altro invito lo rifiuta). Deve essere true quando l’ispezione riporta replaces_unverified_account true, che è il consenso della persona a un nuovo account vuoto al posto di quello non verificato associato all’indirizzo; se assente o false risponde allora 409 unverified_account_replacement e non consuma nulla.

Ignorato se il reset non sostituisce nulla. predefinito: false

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/invitations/accept'

Risposte

StatoSignificatoCorpo e intestazioni
200Accetta un invito in modo transazionale e crea una nuova sessione persona, eliminando la vecchia sessione se presente.InvitationAccepted (application/json); headers: Set-Cookie, RateLimit-Policy, RateLimit
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)
429

Problema rate_limited stabile. 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.

Problema (application/problem+json); intestazioni: Retry-After, RateLimit-Policy, RateLimit
POST/api/signups/passkey-options

Avvia passkey registrazione dashboard

Avvia una cerimonia di registrazione di cinque minuti per una registrazione in autonomia, vincolata all’indirizzo email normalizzato e al nome visualizzato. Non crea nulla e non invia email.

Un indirizzo posseduto da una persona attiva, verificato o meno, restituisce 409 account_exists; un indirizzo di un dominio la cui organizzazione accede tramite un provider di identità restituisce 403 sso_required; un indirizzo o un nome non valido restituisce 400 invalid_request con errori di campo. Un server che esegue l’autenticazione per lo sviluppo del dashboard restituisce passkeys_disabled.

Limitato per indirizzo client.

Autenticazione
nessuno
Corpo della richiesta
SignupPasskeyOptionsRequest
ID operazione
startDashboardSignupPasskey

Campi del corpo della richiesta

CampoDescrizione
email (obbligatorio, stringa)minLength: 3 maxLength: 254 formato: "email"
display_name (obbligatorio, DashboardDisplayName)Nome visualizzabile stampabile e rifilato, massimo 80 byte UTF-8. Rifiuta controlli, testo simile a URL, @, www., :// e dati di accesso. Mai autorizzazione. minLength: 1 maxLength: 80
Modello richiesta e risposte
shell · modello richiesta
curl --request POST --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/signups/passkey-options'

Risposte

StatoSignificatoCorpo e intestazioni
201Avvia una cerimonia di registrazione di cinque minuti per una registrazione in autonomia.RegistrazionePasskeyDashboard (application/json); intestazioni: RateLimit-Policy, RateLimit
400

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)
403

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)
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)
429

Problema rate_limited stabile. 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.

Problema (application/problem+json); intestazioni: Retry-After, RateLimit-Policy, RateLimit
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/signups

Crea registrazione dashboard

Crea un account in autonomia e fa accedere questo browser.

Una sola transazione crea la persona con un indirizzo email non verificato e una scadenza di verifica a 72 ore, registra la passkey dalla cerimonia avviata da POST /api/signups/passkey-options, crea l’organizzazione e il progetto della persona come li crea l’enrollment dell’agente, rende la persona il proprietario del progetto, memorizza la scelta sulle email di marketing e mette in coda l’email di verifica (scopo account_email).

Il visitatore del sito web che ha aperto la pagina viene collegato all’account e la registrazione viene conteggiata come signed_up. La risposta imposta il cookie di sessione del dashboard. I rifiuti sono quelli di POST /api/signups/passkey-options; una cerimonia usata, scaduta o non corrispondente restituisce 400 invalid_request. Limitato per indirizzo client e per indirizzo email.

Autenticazione
nessuno
Corpo della richiesta
SignupRequest
ID operazione
createDashboardSignup

Campi del corpo della richiesta

CampoDescrizione
email (obbligatorio, stringa)minLength: 3 maxLength: 254 formato: "email"
display_name (obbligatorio, DashboardDisplayName)Nome visualizzabile stampabile e rifilato, massimo 80 byte UTF-8. Rifiuta controlli, testo simile a URL, @, www., :// e dati di accesso. Mai autorizzazione. minLength: 1 maxLength: 80
marketing_email (obbligatorio, booleano)La persona ha scelto di ricevere novità sul prodotto via email. Memorizzato come consenso insieme alla persona.
credential (obbligatorio, DashboardPasskeyProof)
Modello richiesta e risposte
shell · modello richiesta
curl --request POST --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/signups'

Risposte

StatoSignificatoCorpo e intestazioni
201L’account esiste e questo browser ne detiene la sessione.SignupCreated (application/json); intestazioni: Cache-Control, Set-Cookie, RateLimit-Policy, RateLimit
400

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)
403

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)
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)
429

Problema rate_limited stabile. 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.

Problema (application/problem+json); intestazioni: Retry-After, RateLimit-Policy, RateLimit
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/session/project

Cambia progetto dashboard

Passa a uno dei progetti della persona e aggiorna il tempo dell’ultimo utilizzo. Un membro dello staff può anche passare a un progetto che segue; quella sessione riporta shadow true, è sola lettura e non aggiorna il tempo dell’ultimo utilizzo. Qualsiasi altro progetto restituisce not_found.

Autenticazione
dashboardSession
Corpo della richiesta
CambioProgettoDashboard
ID operazione
switchDashboardProject

Campi del corpo della richiesta

CampoDescrizione
project_id (obbligatorio, stringa)minLength: 1
Modello richiesta e risposte
shell · modello richiesta
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/session/project'

Risposte

StatoSignificatoCorpo e intestazioni
200Passa a uno dei progetti della persona e aggiorna il tempo dell’ultimo utilizzo.SessioneDashboard (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/members

Elenca membri dashboard

Elenca i membri del progetto corrente senza i loro indirizzi email privati

Ogni membro ha la stessa autorità, tranne la gestione dei membri (rimozione, approvatore, ambiti, proprietà), che spetta al proprietario e a un amministratore dell’organizzazione del progetto che è membro. owner indica il proprietario del progetto, external indica un ospite (l’organizzazione di appartenenza del membro non è quella del progetto), e viewer_user_id e viewer_is_owner descrivono la persona che ha effettuato l’accesso.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
listDashboardMembers
Modello richiesta e risposte
shell · modello richiesta
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/members'

Risposte

StatoSignificatoCorpo e intestazioni
200Elenca i membri del progetto corrente senza i loro indirizzi email privatiElencoMembriDashboard (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)
ELIMINA/api/members/{user_id}

Rimuovi membro dashboard

Rimuove un membro dal progetto corrente. Il proprietario del progetto rimuove ogni altro membro, e così fa un amministratore dell’organizzazione del progetto che è membro; ogni membro può rimuovere se stesso per uscire. Il proprietario non viene mai rimosso né esce (owner_cannot_leave; trasferire prima la proprietà). Un membro che ne rimuove un altro è rifiutato con owner_required.

Una persona che non è membro, anche se già rimossa, è not_found. In una transazione l’appartenenza termina, gli inviti email in sospeso di quella persona al progetto vengono revocati e viene aggiunto l’evento di progetto member.removed (dettagli user_id, removed_by_user_id, left).

Le sessioni della persona smettono di risolvere il progetto alla sua richiesta successiva e tornano come dopo l’eliminazione di un progetto. Le appartenenze degli agenti sono separate e restano. Solo persone; nessuna rotta bearer.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
removeDashboardMember

Parametri

NomeInviaObbligatorio?Descrizione
user_idpathobbligatorio
project_idqueryobbligatorioIl progetto a cui si riferisce il chiamante; una sessione la cui selezione è cambiata viene rifiutata con resource_conflict.
Modello richiesta e risposte
shell · modello richiesta
curl --request DELETE --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/members/USER_ID?project_id=PROJECT_ID'

Risposte

StatoSignificatoCorpo e intestazioni
204L’iscrizione è terminata.nessun corpo
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/members/{user_id}/activity

Elenca l’attività dei membri

L’attività di una persona nel progetto corrente, dal più recente: i suoi accessi (e accessi rifiutati che indicano il loro indirizzo o passkey), uscite, passaggi nel progetto, modifiche credenziali, prove di riautenticazione e ogni modifica fatta tramite il dashboard, inclusi rifiuti e fallimenti. Le letture non sono mai registrate.

Le richieste agent e CLI sono sui loro agenti (listDashboardAgentEvents). L’ombra di un membro dello staff del progetto non registra nulla; una modifica effettuata sotto un lease di scrittura staff approvato è una riga di quel membro con staff sorgente.

La persona stessa, il proprietario del progetto, un amministratore dell’organizzazione del progetto e un membro staff che segue il progetto possono leggerlo. Chiunque altro riceve not_found, come una persona che non è membro né ha righe qui, quindi la risposta non rivela mai chi appartiene; le righe di un ex membro restano leggibili.

Il progetto è quello della sessione, mai quello della richiesta, e solo le righe di quel progetto vengono restituite.

Ogni valore è derivato dal server: l’azione dalla route abbinata dal server (o un’azione account nominata come session.sign_in o passkey.add), la risorsa dal primo valore path della route quando è un identificatore generato dal server, status, problem_code ed error dal registro problemi, il client dal User-Agent e hint piattaforma (il User-Agent grezzo non è conservato).

Nessun corpo della richiesta, password, token o cookie viene memorizzato. client_ip ed email sono mostrati come registrati.

Le chiavi di paginazione sono (at, id) discendenti. Passa next_cursor come after per continuare; è null alla fine. Una riga scritta nel frattempo si posiziona solo davanti alla prima pagina e la retention rimuove le righe più vecchie, quindi un cursore non si ripete né salta una riga sopravvissuta. Un cursore o filtro malformato è rifiutato con invalid_request; un limite fuori da 1-100 è il default.

Le righe scadono alla finestra di conservazione eventi del progetto al momento della scrittura. recorded_since è il tempo della riga più vecchia ancora esistente del progetto, o, prima di qualsiasi, quando questo server ha iniziato a registrare; nulla prima di essa è ricostruito.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
listMemberActivity

Parametri

NomeInviaObbligatorio?Descrizione
user_idpathobbligatorio
dopoqueryopzionaleCursore dalla pagina precedente next_cursor.
limitequeryopzionale
kindqueryopzionaleSolo questi tipi; ripeti il parametro o separa i tipi con virgole.
esitoqueryopzionale
resource_typequeryopzionaleTipo esatto dell’oggetto su cui la richiesta ha agito.
resource_idqueryopzionaleIdentificatore esatto dell’oggetto su cui la richiesta ha agito.
daqueryopzionale
fino aqueryopzionale
Modello richiesta e risposte
shell · modello richiesta
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/members/USER_ID/activity'

Risposte

StatoSignificatoCorpo e intestazioni
200L’attività della persona nel progetto corrente.MemberActivityList (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/me

Ottieni me dashboard

Restituisce il profilo e i conteggi delle credenziali della persona connessa.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
getDashboardMe
Modello richiesta e risposte
shell · modello richiesta
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/me'

Risposte

StatoSignificatoCorpo e intestazioni
200Restituisce il profilo e i conteggi delle credenziali della persona connessa.MeDashboard (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)
ELIMINA/api/me

Elimina me dashboard

Contrassegna come eliminata la persona connessa. Protetto da prova: il corpo contiene una prova di accesso recente verificata contro una riautenticazione legata a questa sessione con tipo account_delete e subject_id uguale all’id utente della persona connessa (avviala con POST /api/me/reauthentications). Senza una riautenticazione corrente la risposta è reauthentication_required.

Se ha successo la risposta è 204, il cookie di sessione del dashboard viene cancellato e la cache HTTP del browser per l’origine del dashboard viene svuotata come all’uscita.

Autenticazione
dashboardSession
Corpo della richiesta
RichiestaProvaDashboard
ID operazione
deleteDashboardMe

Campi del corpo della richiesta

CampoDescrizione
proof (obbligatorio, DashboardProof)
Modello richiesta e risposte
shell · modello richiesta
curl --request DELETE --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/me'

Risposte

StatoSignificatoCorpo e intestazioni
204Persona eliminata, cookie sessione dashboard cancellato e cache HTTP del browser per questa origine svuotata.nessun corpo; intestazioni: Clear-Site-Data
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/me/reauthentications

Avvia riautenticazione dashboard

Avvia passaggio passkey legato a sessione, tipo e soggetto. Una persona senza passkey riceve resource_conflict e usa una prova password.

Autenticazione
dashboardSession
Corpo della richiesta
RichiestaRiautenticazioneDashboard
ID operazione
startDashboardReauthentication

Campi del corpo della richiesta

CampoDescrizione
kind (obbligatorio, stringa)

Consentito: "agent_connection_approval", "agent_connection_denial", "agent_disconnect", "email_change", "password_set", "passkey_add", "passkey_delete", "invitation_accept", "account_delete", "staff_grant", "staff_action", "staff_featuresets", "staff_education_eligible", "dashboard_token", "oauth_authorization_approval", "oauth_authorization_denial", "service_client_change", "review_policy_change", "identity_provider_change", "sso_policy_change", "scim_change"

subject_id (opzionale, stringa)

Il soggetto a cui si lega la riautenticazione. kind account_delete richiede l’id utente della persona connessa. kind staff_grant è solo per staff e richiede l’indirizzo email della persona aggiunta. kind staff_action richiede il request_id specifico preparato. kind staff_featuresets è solo per staff e richiede l’id dell’organizzazione (sostituzione dei suoi featureset). kind staff_education_eligible è solo per staff e richiede l’id dell’organizzazione (contrassegnarla come scuola o distretto K-12 verificato, oppure rimuovere il contrassegno). kind dashboard_token è solo per staff e richiede l’id utente dello staff connesso (creazione o sostituzione di un token link dashboard). kinds oauth_authorization_approval e oauth_authorization_denial richiedono l’id autorizzazione (oaz_...). kind service_client_change richiede l’id client di servizio, o l’id progetto quando si crea un client. kind review_policy_change richiede l’id progetto (disattivazione di Richiedi revisione per modifiche agente). kinds identity_provider_change, sso_policy_change e scim_change richiedono l’id dell’organizzazione (un amministratore dell’organizzazione che modifica la sua connessione single sign-on, la sua politica Require SSO o le sue impostazioni e i suoi token SCIM); una sessione che ha effettuato l’accesso tramite single sign-on si dimostra invece con {type: sso} e non avvia alcuna riautenticazione. minLength: 1

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/me/reauthentications'

Risposte

StatoSignificatoCorpo e intestazioni
201Avvia passaggio passkey legato a sessione, tipo e soggetto.RiautenticazioneDashboard (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/me/password

Imposta la password della dashboard

Imposta o sostituisce la password della persona dopo una prova recente. La prima password richiede prova passkey; la sostituzione accetta la password corrente o una passkey. Revoca altre sessioni e mette in coda una notifica di modifica accesso.

Una persona con un indirizzo email non verificato, ad esempio dopo una registrazione in autonomia e prima di verificarlo, non può impostare una password e riceve 403 email_verification_required.

Autenticazione
dashboardSession
Corpo della richiesta
ImpostaPasswordDashboard
ID operazione
setDashboardPassword

Campi del corpo della richiesta

CampoDescrizione
password (obbligatoria, stringa)12–128 byte UTF-8, senza spazi. Non può essere uguale a e-mail, nome visualizzato o password comune inclusa. Memorizzata solo come hash Argon2id. minLength: 12 maxLength: 128 pattern: "^\\S+$"
proof (obbligatorio, DashboardProof)
Modello richiesta e risposte
shell · modello richiesta
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/me/password'

Risposte

StatoSignificatoCorpo e intestazioni
204Imposta o sostituisce la password della persona dopo una prova recente.nessun corpo
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/me/passkeys

Elenca passkey dashboard

Elenca le passkey della persona con ciò che serve a un client per mantenere allineato con esse il gestore di password del browser (la WebAuthn Signal API). L’elenco riporta l’ID della relying party e lo user handle con cui sono registrate le passkey, e ogni passkey riporta il proprio ID della credenziale e il provider segnalato dal suo autenticatore.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
listDashboardPasskeys
Modello richiesta e risposte
shell · modello richiesta
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/me/passkeys'

Risposte

StatoSignificatoCorpo e intestazioni
200Elenca i passkey della persona.ElencoPasskeyDashboard (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/me/passkeys/options

Avvia registrazione Passkey dashboard

Verifica la prova fresca e avvia una registrazione vincolata alla sessione e alla persona. Le passkey sono disabilitate sotto autenticazione in sviluppo.

Autenticazione
dashboardSession
Corpo della richiesta
RichiestaProvaDashboard
ID operazione
startDashboardPasskeyRegistration

Campi del corpo della richiesta

CampoDescrizione
proof (obbligatorio, DashboardProof)
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/me/passkeys/options'

Risposte

StatoSignificatoCorpo e intestazioni
201Verifica la prova fresca e avvia una registrazione vincolata alla sessione e alla persona.RegistrazionePasskeyDashboard (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/me/passkeys/complete

Completa registrazione passkey Dashboard

Memorizza la nuova passkey, revoca le altre sessioni della persona e mette in coda una notifica di modifica dell’accesso. Una passkey inviata senza nome prende il nome del suo provider, oppure Passkey quando il suo autenticatore non ne ha segnalato nessuno tra quelli noti all’elenco.

Autenticazione
dashboardSession
Corpo della richiesta
PasskeyDashboardCompleta
ID operazione
completeDashboardPasskeyRegistration

Campi del corpo della richiesta

CampoDescrizione
ceremony_id (obbligatorio, stringa)minLength: 1
credenziale (obbligatoria, oggetto)Risposta delle credenziali WebAuthn.
nome (opzionale, stringa)

Il nome che la persona dà alla passkey. Se omesso, la passkey prende il nome del suo provider (per esempio iCloud Keychain), oppure Passkey quando l’autenticatore non ne ha segnalato nessuno tra quelli noti all’elenco. minLength: 1 maxLength: 60

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/me/passkeys/complete'

Risposte

StatoSignificatoCorpo e intestazioni
201Memorizza la nuova passkey, revoca le altre sessioni della persona e mette in coda una notifica di modifica accesso.PasskeyDashboard (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)
PATCH/api/me/passkeys/{id}

Rinomina passkey dashboard

Rinomina una passkey di proprietà della persona connessa.

Autenticazione
dashboardSession
Corpo della richiesta
PatchPasskeyDashboard
ID operazione
renameDashboardPasskey

Parametri

NomeInviaObbligatorio?Descrizione
idpathobbligatorio

Campi del corpo della richiesta

CampoDescrizione
nome (obbligatorio, stringa)minLength: 1 maxLength: 60
Modello richiesta e risposte
shell · modello richiesta
curl --request PATCH --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/me/passkeys/RESOURCE_ID'

Risposte

StatoSignificatoCorpo e intestazioni
200Rinomina una passkey di proprietà della persona connessa.PasskeyDashboard (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)
ELIMINA/api/me/passkeys/{id}

Elimina passkey dashboard

Elimina una passkey dopo una prova recente e invia una notifica di modifica accesso. Rimuovere l’ultimo metodo di accesso restituisce last_credential. Una persona il cui account richiede una passkey (ogni membro dello staff) non può rimuovere la sua ultima passkey; questo restituisce 409 resource_conflict.

Autenticazione
dashboardSession
Corpo della richiesta
RichiestaProvaDashboard
ID operazione
deleteDashboardPasskey

Parametri

NomeInviaObbligatorio?Descrizione
idpathobbligatorio

Campi del corpo della richiesta

CampoDescrizione
proof (obbligatorio, DashboardProof)
Modello richiesta e risposte
shell · modello richiesta
curl --request DELETE --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/me/passkeys/RESOURCE_ID'

Risposte

StatoSignificatoCorpo e intestazioni
204Elimina una passkey dopo una prova recente e invia una notifica di modifica accesso.nessun corpo
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/me/email

Ottieni e-mail dashboard

Restituisce lo stato dell’email verificata e in sospeso della persona. Una persona che si è registrata da sola ha un indirizzo non verificato finché non apre il link inviato a quell’indirizzo; email_verified è false e verify_by è la scadenza, dopo la quale la sessione può usare solo le rotte che verificano o modificano l’indirizzo (email_verification_required su GET /api/session).

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
getDashboardEmail
Modello richiesta e risposte
shell · modello richiesta
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/me/email'

Risposte

StatoSignificatoCorpo e intestazioni
200Restituisce lo stato email verificato e in attesa della persona.EmailDashboard (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/me/email/change

Modifica email del dashboard

Richiede una modifica dell’email dopo una prova recente. L’indirizzo verificato resta valido mentre la verifica è in sospeso. Un indirizzo posseduto da qualsiasi altra persona attiva, verificato o meno, restituisce user_email_conflict. Il vecchio indirizzo riceve un avviso, non un link per annullare.

Una persona il cui indirizzo non è verificato lo modifica allo stesso modo; verificare il nuovo indirizzo lo rende l’indirizzo verificato della persona e azzera verify_by.

Autenticazione
dashboardSession
Corpo della richiesta
UserEmailChangeRequest
ID operazione
changeDashboardEmail

Campi del corpo della richiesta

CampoDescrizione
email (obbligatorio, stringa)minLength: 3 maxLength: 254 formato: "email"
proof (obbligatorio, DashboardProof)
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/me/email/change'

Risposte

StatoSignificatoCorpo e intestazioni
202Richiede una modifica email dopo prova recente.UserEmailChangeAccepted (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/me/email/verification

Richiedi verifica email dashboard

Mette in coda un nuovo link di verifica. Mentre una modifica email attende la verifica (pending_email su GET /api/me/email), è il link di quella modifica, inviato all’indirizzo in sospeso; altrimenti è un link account_email per l’indirizzo non verificato attuale della persona. Entro dieci minuti dall’ultimo link dello stesso tipo non mette in coda nulla e risponde comunque 202.

Una persona il cui indirizzo è verificato e che non ha alcuna modifica in sospeso restituisce 409 resource_conflict.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
requestDashboardEmailVerification
Modello richiesta e risposte
shell · modello richiesta
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/me/email/verification'

Risposte

StatoSignificatoCorpo e intestazioni
202Il link di verifica è in coda, o è stato messo in coda negli ultimi dieci minuti.DashboardEmailVerificationAccepted (application/json)
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)
PUT/api/me/signup-profile

Inserisci profilo registrazione dashboard

Sostituisce con il corpo le risposte date dalla persona dopo la registrazione; il corpo contiene tutte le risposte finora, e un membro omesso, o null, è senza risposta. Ogni membro ha un insieme di valori chiuso, e un valore al di fuori di esso restituisce 400 invalid_request con un errore di campo.

Il profilo è conservato insieme alla persona e mostrato allo staff di screenRIG con l’organizzazione in cui la persona si è registrata.

Autenticazione
dashboardSession
Corpo della richiesta
SignupProfile
ID operazione
putDashboardSignupProfile

Campi del corpo della richiesta

CampoDescrizione
who_for (opzionale, inline)
use_case (opzionale, inline)
screen_range (opzionale, inline)
go_live (opzionale, inline)
devices (opzionale, inline)
role (opzionale, inline)
firm_kind (opzionale, inline)
agent (opzionale, inline)
agent_other (opzionale, inline)Il nome dell’agente quando agent è other.
heard (opzionale, inline)
heard_detail (opzionale, inline)
Modello richiesta e risposte
shell · modello richiesta
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/me/signup-profile'

Risposte

StatoSignificatoCorpo e intestazioni
204Il profilo è memorizzato.nessun corpo
400

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)
GET/api/applications/{id}/usage

Ottieni utilizzo applicazione dashboard

Dove è collocata un’applicazione (app web) del progetto della sessione; il risultato è calcolato in un’unica passata sulle playlist del progetto e con una sola lettura degli schermi che le contengono. placements sono le primitive applicazione la cui applicazione proprietaria memorizzata è questa applicazione, in ordine di playlist (l’ordine dell’elenco delle playlist), pagina e primitiva; una playlist che la colloca due volte ne ha due. release indica come ogni release fissata si confronta con latest_ready_release dell’applicazione: latest, older oppure unknown finché l’applicazione non ne ha una. screens sono gli schermi pairing_pending e attivi che hanno una playlist di un placement come predefinita, in programmazione, in takeover o attualmente in riproduzione, dal più recente; gli schermi archiviati non contano mai, e uno schermo il cui Player non può mostrare app web riporta applications_unsupported.

Un membro o un agente limitato agli schermi (screen_scope) vede solo i propri schermi, e screen_count conta solo quelli. Questo non è ciò che blocca l’eliminazione, cioè le concessioni di runtime (il manifest di uno schermo che contiene una release). Un ID che il progetto non possiede è not_found come per getApplication. La risposta è privata e no-store.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
getDashboardApplicationUsage

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/applications/RESOURCE_ID/usage'

Risposte

StatoSignificatoCorpo e intestazioni
200Dove è collocata l’applicazione.ApplicationUsage (application/json); intestazioni: Cache-Control
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/advertising/inventory/{screen_id}

Inserisci inventario pubblicitario dashboard

Autenticazione
dashboardSession
Corpo della richiesta
AdvertisingInventoryWrite
ID operazione
putDashboardAdvertisingInventory

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.
screen_idpathobbligatorio
If-MatchintestazioneopzionaleRevisione positiva opzionale della risorsa. Ometti per scrivere la risorsa corrente; una revisione obsoleta fornita è revision_conflict.

Campi del corpo della richiesta

CampoDescrizione
impressions_per_hour (opzionale, inline)

La stima del venditore delle impression che questo schermo genera in un’ora. Ogni riproduzione completata conta questo valore per i suoi secondi diviso 3600 come impression stimate nei report. Null o assente significa nessuna stima.

ads_enabled (obbligatorio, booleano)
site_name (opzionale, stringa)maxLength: 120
città (opzionale, stringa)maxLength: 120
regione (opzionale, stringa)maxLength: 120
venue_type (opzionale, stringa)maxLength: 64
audience_tags (opzionale, array)
posizionamento (opzionale, stringa)maxLength: 120
public_description (opzionale, stringa)maxLength: 500
rate_override_mcr_per_15s (opzionale, inline)Null ripristina l’ereditarietà dal valore predefinito del progetto; non significa mai zero.
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/advertising/inventory/SCREEN_ID'

Risposte

StatoSignificatoCorpo e intestazioni
200Inventario archiviato.AdvertisingInventory (application/json)
403outside_screen_scope come su OutsideScreenScope, oppure approver_required - un membro limitato agli schermi che non può approvare le revisioni non cambia ciò che uno schermo riproduce né quando (docs/screen-scope.md).Problema (application/problem+json)
409

protected_target - la modifica raggiunge uno schermo in una cartella di schermi protetta e non ha una forma di revisione (docs/screen-scope.md). Rimuovi la protezione della cartella tramite una revisione, fai la modifica e proteggi di nuovo la cartella.

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/media/{id}/usage

Ottieni utilizzo media dashboard

Dove viene usato un media pronto del progetto della sessione; il risultato è calcolato in un’unica passata sulle playlist del progetto e con una sola lettura degli schermi che le contengono. playlists sono quelle che indicano il file (gli id statici di una primitiva immagine o video e un selettore id o ids, il fallback di uno stream, una stringa media:<id> nei params di una scheda, il logo di uno stinger, una traccia della colonna sonora), poi quelle i cui selettori tag, cartella o all lo raggiungono, ogni gruppo nell’ordine dell’elenco delle playlist; una playlist è una singola voce i cui uses elencano ogni modo, con i tipi esatti per primi.

I selettori sono valutati come li risolve il runtime: un filtro tag corrisponde a tag e tags del file, un selettore cartella ai file direttamente dentro la cartella, un selettore all a ogni file di quel tipo, e un file in attesa in base ai suoi ultimi tag e cartella approvati (un file mai approvato non è raggiunto da nessuno).

La rotazione (batch_size, one_at_a_time), le finestre di disponibilità, l’adattamento alle proporzioni e la visibilità di una pagina non vengono valutati. screens sono gli schermi pairing_pending e attivi che hanno una di quelle playlist come predefinita, in programmazione, in takeover o attualmente in riproduzione, dal più recente; gli schermi archiviati non contano mai.

Un membro o un agente limitato agli schermi (screen_scope) vede solo i propri schermi, e screen_count conta solo quelli. Un ID che il progetto non possiede, o un elemento multimediale non pronto, è not_found come per getMedia. La risposta è privata e no-store.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
getDashboardMediaUsage

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/media/RESOURCE_ID/usage'

Risposte

StatoSignificatoCorpo e intestazioni
200Dove viene usato il media.MediaUsage (application/json); intestazioni: Cache-Control
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/media/{id}/thumbnail

Ottieni miniatura media dashboard

Restituisce una piccola WebP lossy di un’immagine pronta di proprietà del progetto della sessione, così le griglie del dashboard non decodificano mai gli originali. C’è una sola dimensione: si adatta a 512 x 512 mantenendo l’aspetto e non viene mai ingrandita; un’immagine animata mostra il primo frame.

La prima richiesta la genera e la memorizza accanto all’originale; le richieste successive trasmettono la copia memorizzata, e l’eliminazione del contenuto multimediale la rimuove insieme all’originale. L’identificatore di un altro progetto, video, audio e contenuti multimediali non pronti restituiscono not_found. Range non è accettato.

L’ETag è forte e nomina l’originale e il generatore di miniature, quindi è lo stesso a ogni richiesta e host. La risposta è privata, no-cache, e un If-None-Match corrispondente, controllato dopo che il contenuto multimediale si risolve nel progetto della sessione, restituisce 304 senza leggere la miniatura. I byte completati sono registrati come uscita dashboard_media.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
getDashboardMediaThumbnail

Parametri

NomeInviaObbligatorio?Descrizione
idpathobbligatorio
If-None-MatchintestazioneopzionaleETag miniatura restituito da questa rotta.
Modello richiesta e risposte
shell · modello richiesta
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/media/RESOURCE_ID/thumbnail'

Risposte

StatoSignificatoCorpo e intestazioni
200La miniatura WebP.stringa (image/webp); intestazioni: Content-Length, Content-Disposition, ETag, Cache-Control, X-Content-Type-Options
304L’ETag della miniatura corrisponde a If-None-Match. Non viene prodotto corpo né incremento di uscita.nessun corpo; intestazioni: ETag, Cache-Control
404

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)
HEAD/api/media/{id}/thumbnail

Miniatura media dashboard principale

Applica le stesse regole di proprietà, condizionali e di generazione di getDashboardMediaThumbnail e restituisce le sue intestazioni senza il corpo. Nessuna uscita è registrata.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
headDashboardMediaThumbnail

Parametri

NomeInviaObbligatorio?Descrizione
idpathobbligatorio
If-None-MatchintestazioneopzionaleETag miniatura restituito da questa rotta.
Modello richiesta e risposte
shell · modello richiesta
curl --request HEAD --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/media/RESOURCE_ID/thumbnail'

Risposte

StatoSignificatoCorpo e intestazioni
200Metadati della miniatura senza contenuto.nessun corpo; intestazioni: Content-Length, Content-Disposition, ETag, Cache-Control, X-Content-Type-Options
304L’ETag della miniatura corrisponde a If-None-Match. Non viene prodotto incremento di uscita.nessun corpo; intestazioni: ETag, Cache-Control
404

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)
GET/api/email/verify

Verifica email dashboard Peek

Verifica sicura scanner. Non verifica mai un indirizzo, non modifica un utente e non autentica il visitatore. Riporta lo scopo e lo stato del link; un link account_email in sospeso verifica solo per una richiesta che porta la sessione dashboard della persona, quindi una pagina chiede l’accesso prima di chiedere la conferma.

Autenticazione
nessuno
Corpo della richiesta
nessuno
ID operazione
peekDashboardEmailVerification

Parametri

NomeInviaObbligatorio?Descrizione
tokenqueryobbligatorio
Modello richiesta e risposte
shell · modello richiesta
curl --request GET 'https://screenrig.ai/api/email/verify?token=TOKEN'

Risposte

StatoSignificatoCorpo e intestazioni
200Stato della verifica.EmailVerifyResult (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/email/verify

Verifica email dashboard

La conferma esplicita umana consuma una sfida di verifica vincolata allo scopo. Le sfide link-signup richiedono il cookie __Host-screenrig-signup corrispondente; le sfide di cambio email sono vincolate al token, quindi il link funziona in qualsiasi browser.

Una sfida account_email (inviata via email alla registrazione in autonomia e da POST /api/me/email/verification, valida per 30 giorni) si apre in qualsiasi browser ma verifica solo per una richiesta che porta una sessione dashboard attiva della persona a cui è destinato il link, compresa una sessione che email_verification_required limita a questa rotta.

Senza una sessione, o con quella di un’altra persona, risponde 200 sign_in_required, non verifica nulla e lascia il link utilizzabile. Un link account_email verificato segna come verificato l’indirizzo della persona e pone fine alla scadenza di verifica; risponde superseded quando un’altra persona ha verificato prima lo stesso indirizzo. La verifica non accede mai al visitatore.

Autenticazione
nessuno O invitationSignup O dashboardSession
Corpo della richiesta
EmailVerifyRequest
ID operazione
verifyDashboardEmail

Campi del corpo della richiesta

CampoDescrizione
token (obbligatorio, stringa)minLength: 1
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/email/verify'

Risposte

StatoSignificatoCorpo e intestazioni
200Stato della verifica.EmailVerifyResult (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/webauthn/assertions

Avvia affermazione Passkey dashboard

Avvia una cerimonia di affermazione WebAuthn senza nome utente e restituisce le opzioni di richiesta testuali per navigator.credentials.get. Non è richiesto alcun cookie, e non viene pubblicata alcuna lista allowCredentials, quindi il percorso non rivela nulla su quali utenti o credenziali esistano. La cerimonia scade con DashboardCeremonyTTL di cinque minuti.

Quando il server esegue l’autenticazione per lo sviluppo del dashboard, questa rotta restituisce passkeys_disabled.

Autenticazione
nessuno
Corpo della richiesta
nessuno
ID operazione
startDashboardPasskeyAssertion
Modello richiesta e risposte
shell · modello richiesta
curl --request POST 'https://screenrig.ai/api/webauthn/assertions'

Risposte

StatoSignificatoCorpo e intestazioni
201Opzioni di richiesta WebAuthn associate a questa cerimonia.AsserzionePasskeyDashboard (application/json); intestazioni: Cache-Control, RateLimit-Policy, RateLimit
400

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)
403

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)
429

Problema rate_limited stabile. 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.

Problema (application/problem+json); intestazioni: Retry-After, RateLimit-Policy, RateLimit
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/webauthn/assertions/complete

Completa asserzione passkey Dashboard

Verifica un’asserzione senza nome utente e crea il cookie di sessione dashboard per l’utente identificato dalla credenziale rilevabile. Nessun cookie autentica la richiesta. Una cerimonia sconosciuta, scaduta o già usata restituisce passkey_invalid, così come un’asserzione che la relying party non può verificare o un contatore di firma che torna indietro.

Una cerimonia valida il cui identificatore della credenziale non è registrato a nessuno (nessuna credenziale memorizzata lo ha, per nessuna persona) restituisce invece 401 passkey_unknown; questa risposta vale solo per quel caso, quindi un client può dire al browser di dimenticare la credenziale (PublicKeyCredential.signalUnknownCredential) in base a questa risposta e a nessun’altra.

L’identificatore della credenziale non è di per sé un’autorizzazione: lo è l’assertion firmata. Una persona il cui indirizzo verificato appartiene a un dominio la cui organizzazione richiede il single sign-on è rifiutata con 403 sso_required, a meno che sia un amministratore break-glass di quell’organizzazione; un accesso di questo tipo è registrato nell’audit.

Quando il server esegue l’autenticazione per lo sviluppo del dashboard, questa rotta restituisce passkeys_disabled.

Autenticazione
nessuno
Corpo della richiesta
AsserzionePasskeyDashboardCompleta
ID operazione
completeDashboardPasskeyAssertion

Campi del corpo della richiesta

CampoDescrizione
ceremony_id (obbligatorio, stringa)
credenziale (obbligatoria, oggetto)Risposta di asserzione WebAuthn serializzata dal PublicKeyCredential restituito dall’autenticatore.
Modello richiesta e risposte
shell · modello richiesta
curl --request POST --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/webauthn/assertions/complete'

Risposte

StatoSignificatoCorpo e intestazioni
200Cookie di sessione creato da un’asserzione verificata.SessioneDashboard (application/json); intestazioni: Cache-Control, Set-Cookie
400

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)
401

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)
403

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)
429

Problema rate_limited stabile. 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.

Problema (application/problem+json); intestazioni: Retry-After, RateLimit-Policy, RateLimit
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/sessions

Crea sessione dashboard

Fa accedere la persona identificata da email verificata e password. Email sconosciuta, assenza di password e password errata restituiscono la stessa risposta unauthorized. Apre l’ultimo progetto usato se è ancora un’appartenenza, altrimenti l’appartenenza più recente, oppure nessun progetto.

Un indirizzo di un dominio la cui organizzazione richiede il single sign-on viene rifiutato con 403 sso_required prima di cercare qualsiasi account, quindi la risposta non dipende dal fatto che una persona possieda l’indirizzo; POST /api/sso/starts fa accedere quella persona tramite il suo provider di identità.

L’accesso con password richiede un’email verificata, quindi una persona che si è registrata da sola (POST /api/signups) accede con la propria passkey, e una che ha impostato una password su un indirizzo non verificato riceve comunque la risposta unauthorized. L’autenticazione di sviluppo usa questo stesso flusso con password.

Autenticazione
nessuno
Corpo della richiesta
LoginPasswordDashboard
ID operazione
createDashboardSession

Campi del corpo della richiesta

CampoDescrizione
email (obbligatorio, stringa)L’indirizzo email verificato della persona. Email sconosciuta, nessuna password e password errata restituiscono la stessa risposta non autorizzata. minLength: 3 maxLength: 254 format: "email"
password (obbligatoria, stringa)minLength: 12 maxLength: 128
Modello richiesta e risposte
shell · modello richiesta
curl --request POST --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/sessions'

Risposte

StatoSignificatoCorpo e intestazioni
200Sessione persona creata da email e password verificate.SessioneDashboard (application/json); intestazioni: Cache-Control, Set-Cookie, RateLimit-Policy, RateLimit
400

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)
401

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)
403

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)
429

Problema rate_limited stabile. 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.

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

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)
GET/api/session

Ottieni sessione dashboard

Restituisce la sessione corrente del dashboard. Il cookie di sessione e la sessione lato server stabiliscono l’autorità; user_id è descrittivo. Una risposta 401 significa che è necessario accedere.

Il campo dev_auth è riservato allo sviluppo locale ed è false sul servizio ospitato. organization è l’organizzazione di appartenenza della persona, assente finché non ne ha una; project.organization_admin indica che la persona amministra l’organizzazione del progetto corrente.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
getDashboardSession
Modello richiesta e risposte
shell · modello richiesta
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/session'

Risposte

StatoSignificatoCorpo e intestazioni
200Sessione dashboard corrente.SessioneDashboard (application/json); intestazioni: Cache-Control
401

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)
POST/api/logout

Esci dalla sessione Dashboard

Elimina la riga della sessione lato server e scade il cookie della sessione. Non elimina l’utente né rimuove alcuna credenziale. È intrinsecamente idempotente e non richiede Idempotency-Key.

Un logout riuscito cancella anche la cache HTTP del browser per l’origine della dashboard, eliminando i byte privati, no-cache di media, screenshot e revisione annunci visti dalla sessione; una sessione che scade solo li lascia finché il browser non li elimina.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
logoutDashboardSession
Modello richiesta e risposte
shell · modello richiesta
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/logout'

Risposte

StatoSignificatoCorpo e intestazioni
204Riga di sessione eliminata, cookie di sessione scaduto e cache HTTP del browser per questa origine cancellata.nessun corpo; intestazioni: Cache-Control, Set-Cookie, Clear-Site-Data
401

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)
POST/api/onboarding/steps

Registra passaggio di onboarding

Segnala un passaggio del percorso di un browser nei flussi di ingresso del dashboard (iscrizione, accesso, reset, invito e aggiunta di una passkey) per la lettura dell’onboarding da parte dello staff. Pubblico: funziona con e senza una sessione dashboard.

Il percorso è l’ID casuale del browser; il server conserva anche il cookie visitatore dell’edge quando la richiesta ne ha uno e, quando la richiesta ha una sessione, la persona e l’organizzazione. Un percorso è riservato allo staff e conserva i valori reali inseriti dalle persone (indirizzi, nomi, risposte); non riceve mai una password, un codice o un token.

Di mode, source, utm_source, utm_medium, utm_campaign, click_kind, site_trail e site_cta viene conservato il primo valore; ogni passaggio conserva il proprio primo istante, mentre value e detail di un passaggio e l’email del percorso (da email_submitted) sono gli ultimi. source è accettato solo con entry_viewed. question è obbligatorio con i passaggi question_* e rifiutato con ogni altro. detail è un codice problema per un passaggio *_failed, il metodo di accesso per signed_in, oppure connected o skipped per signup_finished. email_verified, email_gate_reached, site_visited, site_cta_clicked e i traguardi dell’account sono scritti o derivati dal server e qui vengono rifiutati.

Sono limitate solo le lunghezze. Limitato per indirizzo client.

Autenticazione
nessuno
Corpo della richiesta
OnboardingStepRequest
ID operazione
recordOnboardingStep

Campi del corpo della richiesta

CampoDescrizione
journey_id (obbligatorio, stringa)Il percorso del browser: un UUID RFC 4122 in minuscolo che il dashboard conserva nel proprio spazio di archiviazione. pattern: "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
step (obbligatorio, OnboardingStepName)

Un passaggio dei flussi di ingresso, in ordine di visualizzazione. email_verified, email_gate_reached e i traguardi dell’account (agent_connected, screen_paired, playlist_with_content, activated) sono scritti o uniti dal server e non sono nomi che un client invia.

Consentito: "entry_viewed", "returning_shown", "email_submitted", "address_new", "address_existing", "address_sso", "address_failed", "signup_form_viewed", "signup_name_entered", "signup_marketing_choice", "passkey_unsupported", "passkey_started", "passkey_cancelled", "signup_failed", "account_created", "question_shown", "question_answered", "question_follow_up", "question_skipped", "connect_viewed", "connect_copied", "agent_approved", "signup_finished", "dashboard_opened", "signin_passkey_started", "signin_passkey_cancelled", "signin_password_started", "signin_sso_started", "signin_failed", "signed_in", "reset_viewed", "reset_requested", "reset_opened", "reset_completed", "invite_viewed", "invite_email_sent", "invite_passkey_started", "invite_passkey_cancelled", "invite_failed", "invite_accepted", "passkey_upgrade_shown", "passkey_add_started", "passkey_add_cancelled", "passkey_added"

mode (opzionale, stringa)La modalità della pagina di ingresso. Viene conservato il primo valore. Consentito: "login", "signup"
source (facoltativo, string)

Solo con entry_viewed: da dove proviene la persona, come lo indica la pagina di ingresso: il percorso del link di iscrizione, l’ultima pagina del sito web, l’host di provenienza o direct. Conservato come inviato. Viene conservato il primo valore. maxLength: 500

utm_source (opzionale, stringa)Convertito in minuscolo. Viene conservato il primo valore. maxLength: 80
utm_medium (opzionale, stringa)Convertito in minuscolo. Viene conservato il primo valore. maxLength: 80
utm_campaign (opzionale, stringa)Convertito in minuscolo. Viene conservato il primo valore. maxLength: 80
click_kind (opzionale, stringa)L’ID del clic pubblicitario portato dalla landing page; l’ID stesso non viene mai inviato. Consentito: "gclid", "gbraid", "wbraid", "fbclid", "msclkid", "li_fat_id", "ttclid", "rdt_cid", "twclid"
question (opzionale, stringa)

Obbligatorio con question_shown, question_answered, question_follow_up e question_skipped; rifiutato con ogni altro passaggio. agent_other, heard_text e heard_kind sono nomi di follow-up e si usano solo con question_follow_up.

Consentito: "who_for", "use_case", "screen_range", "go_live", "devices", "role", "firm_kind", "agent", "heard", "agent_other", "heard_text", "heard_kind"

detail (opzionale, stringa)Un codice problema per un passaggio *_failed, il metodo per signed_in (passkey, password, sso, autofill), connected o skipped per signup_finished. Conservato come inviato. maxLength: 200
value (opzionale, OnboardingValue)

Ciò che la persona ha inserito in un passaggio: l’indirizzo digitato (email_submitted, reset_requested), il nome (signup_name_entered), sì o no (signup_marketing_choice), le opzioni scelte o il testo del follow-up (question_answered, question_follow_up), un indirizzo o un nome inserito in un invito. Mai una password, un codice o un token. Un valore vuoto è trattato come assente.

site_trail (opzionale, array)Le pagine che il browser ha visualizzato sul sito web in questa scheda del browser, dalla più vecchia alla più recente. Viene conservato il primo valore.
site_cta (opzionale, OnboardingSiteCTA)Il link di iscrizione o di accesso su cui la persona ha fatto clic sul sito web.
Modello richiesta e risposte
shell · modello richiesta
curl --request POST --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/onboarding/steps'

Risposte

StatoSignificatoCorpo e intestazioni
204Il passaggio è stato registrato.nessun corpo; intestazioni: Cache-Control, RateLimit-Policy, RateLimit
400

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)
429

Problema rate_limited stabile. 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.

Problema (application/problem+json); intestazioni: Retry-After, RateLimit-Policy, RateLimit
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/agents

Elenca agenti dashboard

Elenca ogni agente in sospeso, attivo, revocato, annullato e scaduto del progetto della sessione con metadati di installazione sicuri, ultimo uso, conteggio richieste autenticate e crediti misurati direttamente attribuibili. Non vengono restituiti bearer, byte chiave destinatario, busta o identificatore progetto

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
listDashboardAgents
Modello richiesta e risposte
shell · modello richiesta
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/agents'

Risposte

StatoSignificatoCorpo e intestazioni
200Agenti progetto.AgentList (application/json); intestazioni: Cache-Control
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/agents/{id}/events

Elenca eventi agente dashboard

La cronologia di questo agente, dal più recente, come UN record per trigger. Riporta sia ciò che l’agente ha richiesto sia cosa è cambiato di conseguenza. Una richiesta che ha modificato qualcosa è il suo evento di dominio, marcato con il comando che l’ha causata. Una richiesta che non ha modificato nulla — rifiutata, fallita o un successo senza evento — è un evento agent.command.

Non esiste un endpoint comandi separato; mostrare lo stesso trigger su due pannelli era il difetto che questo ha sostituito. Gli eventi di ciclo vita per questo agente sono inclusi. Attività worker, player e solo dashboard non sono mai interpretate come attività agent. Due richieste sono due trigger. Un ritento dopo un rifiuto è un secondo record, mai una riscrittura del primo.

Le letture non sono registrate, perché non cambiano nulla e un agente di polling seppellirebbe ogni azione reale. L’iscrizione anonima è esclusa. Ogni parte del timbro comando deriva dal percorso abbinato a questo server o dal registro problemi.

Non ci sono vettori argomento, corpo richiesta, header o testo libero in nessun record, quindi nulla va oscurato e nessun chiamante può scrivere testo scelto in una superficie visibile all’operatore. Gli identificatori risorsa appaiono perché un identificatore non è mai autorizzazione ed è già pubblicato sugli eventi. Chiavi di paginazione su sequenza, discendente.

Passa il next_cursor restituito come after per continuare. next_cursor è vuoto quando la pagina è breve, che è la fine della cronologia: un’append concorrente prende solo una sequenza più alta, e la conservazione rimuove prima le sequenze più basse, quindi un cursore non duplica né salta mai un record sopravvissuto. L’impaginazione offset non è supportata.

Ogni parametro di ricerca è un predicato di corrispondenza esatta o intervallo su un token scritto dal server. Un cursore o filtro malformato è rifiutato con invalid_request. Un limite fuori da 1-200 è limitato al valore predefinito invece che rifiutato. I record scadono alla finestra di conservazione eventi del progetto.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
listDashboardAgentEvents

Parametri

NomeInviaObbligatorio?Descrizione
idpathobbligatorio
dopoqueryopzionaleCursore dalla pagina precedente next_cursor.
limitequeryopzionale
comandoqueryopzionaleNome comando esatto derivato dal percorso, come screens.archive.
tipoqueryopzionaleTipo evento esatto, come agent.command o screen.archived.
resource_typequeryopzionaleTipo esatto dell’oggetto su cui la richiesta ha agito.
resource_idqueryopzionaleIdentificatore esatto dell’oggetto su cui la richiesta ha agito.
esitoqueryopzionalePresente solo nei record agent.command; un evento di dominio implica ok.
problem_codequeryopzionaleCodice problema stabile esatto con cui il server ha rifiutato.
daqueryopzionale
fino aqueryopzionale
Modello richiesta e risposte
shell · modello richiesta
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/agents/RESOURCE_ID/events'

Risposte

StatoSignificatoCorpo e intestazioni
200Cronologia agente.EventList (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/agents/{id}/disconnect

Disconnetti agente dashboard

Scollega l’agente dal progetto selezionato dopo una prova recente. Il progetto deve essere una delle appartenenze della persona. Le connessioni in sospeso e le emissioni di credenziali vengono annullate; non viene emesso alcun token sostitutivo. Un membro limitato agli schermi non collega agenti, non emette credenziali e non gestisce le persone del progetto: outside_screen_scope (chiedi al proprietario del progetto).

Autenticazione
dashboardSession
Corpo della richiesta
AzioneDashboardAgente
ID operazione
disconnectDashboardAgent

Parametri

NomeInviaObbligatorio?Descrizione
idpathobbligatorio

Campi del corpo della richiesta

CampoDescrizione
project_id (obbligatorio, stringa)minLength: 1
proof (opzionale, DashboardProof)
capacità (opzionale, array)

Solo opzionale su connessione agente e approvazione app connessa. Omissione approva l’insieme completo richiesto; un sottoinsieme non vuoto delle capacità di connessione restringe la credenziale concessa; altro è invalid_request.

user_code (opzionale, stringa)

Obbligatorio quando si approva un accesso dispositivo (flow device): il codice che la persona conferma corrisponde al terminale. Una discrepanza è agent_connection_code_mismatch; il quinto scade l’accesso (agent_connection_expired). Ignorato altrimenti. maxLength: 32

accesso (opzionale, stringa)

Il livello di accesso con cui un accesso dispositivo o un’app connessa è approvato (Sola lettura, Proporre o Gestire); omesso mantiene il livello richiesto. Ignorato per altre connessioni. Una persona che non può approvare revisioni non può approvare Gestire (403 approver_required). Consentito: "read", "propose", "manage"

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/agents/RESOURCE_ID/disconnect'

Risposte

StatoSignificatoCorpo e intestazioni
204Agente disconnesso.nessun corpo
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)
GET/api/agents/{id}/notes

Elenca note agente dashboard

Le note che questo agente ha scritto nel progetto della sessione, le più recenti per prime, aperte e risolte. state è all (predefinito), open o resolved. Passa next_cursor come after; è vuoto nell’ultima pagina. I corpi delle note sono testo semplice scritto da un agente; renderizzali come testo, mai come HTML o Markdown.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
listDashboardAgentNotes

Parametri

NomeInviaObbligatorio?Descrizione
idpathobbligatorio
statoqueryopzionale
dopoqueryopzionalenext_cursor della pagina precedente.
limitequeryopzionale
Modello richiesta e risposte
shell · modello richiesta
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/agents/RESOURCE_ID/notes'

Risposte

StatoSignificatoCorpo e intestazioni
200Le note dell’agente.NotePage (application/json); intestazioni: Cache-Control
404

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)
POST/api/agents/{id}/notes/{note_id}/resolve

Risolvi nota agente dashboard

Risolvi una delle note aperte dell’agente come persona connessa, con una motivazione obbligatoria; resolution.by indica la persona. Aggiunge note.resolved con la persona come attore. Una nota risolta è note_not_open.

Autenticazione
dashboardSession
Corpo della richiesta
NoteResolve
ID operazione
resolveDashboardAgentNote

Parametri

NomeInviaObbligatorio?Descrizione
idpathobbligatorio
note_idpathobbligatorioL’id di una delle note dell’agente.
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/agents/RESOURCE_ID/notes/NOTE_ID/resolve'

Risposte

StatoSignificatoCorpo e intestazioni
200La nota risolta.Nota (application/json)
404

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)
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)
422

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)
ELIMINA/api/agents/{id}/notes/{note_id}

Elimina nota agente dashboard

Elimina una delle note dell’agente, aperta o risolta, come persona connessa. Aggiunge note.deleted con la persona come attore.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
deleteDashboardAgentNote

Parametri

NomeInviaObbligatorio?Descrizione
idpathobbligatorio
note_idpathobbligatorioL’id di una delle note dell’agente.
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 --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/agents/RESOURCE_ID/notes/NOTE_ID'

Risposte

StatoSignificatoCorpo e intestazioni
204Eliminato.nessun corpo
404

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)
GET/api/agent-connections/pending

Elenca connessioni agente dashboard

Le richieste di connessione in sospeso indirizzate al progetto della sessione, che un membro può rivedere e approvare: richieste che nominano il progetto, e accessi o connessioni dispositivo da un’identità agente già membro di esso.

L’accesso di una nuova installazione non è elencato (il suo suggerimento progetto è fornito dal client); una persona vi accede tramite il suo codice utente (POST /api/agent-connections/lookup).

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
listDashboardAgentConnections
Modello richiesta e risposte
shell · modello richiesta
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/agent-connections/pending'

Risposte

StatoSignificatoCorpo e intestazioni
200Le richieste in sospeso, le più recenti per prime, massimo 100.oggetto (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/agent-connections/lookup

Ricerca connessione agente Dashboard

Risolvi il codice utente di un accesso dispositivo in sospeso (`screenrig login`), come digitato o precompilato nella pagina di connessione, alla sua connessione, la cui vista di approvazione lo mostra. Non approva nulla. Separatori, spazi e maiuscole/minuscole sono ignorati. Un codice sconosciuto, usato o non valido è agent_connection_invalid; uno scaduto è agent_connection_expired.

Limitato a 5 ricerche per sessione dashboard ogni 10 minuti, 20 per indirizzo client ogni ora e 1200 per ora sull’intera flotta (rate_limited). Un membro limitato agli schermi non collega agenti, non emette credenziali e non gestisce le persone del progetto: outside_screen_scope (chiedi al proprietario del progetto).

Autenticazione
dashboardSession
Corpo della richiesta
object
ID operazione
lookupDashboardAgentConnection

Campi del corpo della richiesta

CampoDescrizione
user_code (obbligatorio, stringa)maxLength: 32
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/agent-connections/lookup'

Risposte

StatoSignificatoCorpo e intestazioni
200La connessione nominata dal codice.oggetto (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)
GET/api/agent-connections/{id}

Ottieni connessione agente dashboard

Restituisce i metadati della revisione della connessione sicura. La revisione non seleziona un progetto; l’approvazione seleziona uno degli iscritti della persona.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
getDashboardAgentConnection

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/agent-connections/RESOURCE_ID'

Risposte

StatoSignificatoCorpo e intestazioni
200Metadati sicuri della connessione.AgentConnection (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/agent-connections/{id}/approve

Approva connessione agente dashboard

Approva la connessione per il progetto selezionato dopo una prova recente e crea un agente in sospeso. Il progetto deve essere una delle appartenenze della persona. Restituisce metadati sicuri, mai il bearer. Un membro limitato agli schermi non collega agenti, non emette credenziali e non gestisce le persone del progetto: outside_screen_scope (chiedi al proprietario del progetto).

Autenticazione
dashboardSession
Corpo della richiesta
AzioneDashboardAgente
ID operazione
approveDashboardAgentConnection

Parametri

NomeInviaObbligatorio?Descrizione
idpathobbligatorio

Campi del corpo della richiesta

CampoDescrizione
project_id (obbligatorio, stringa)minLength: 1
proof (opzionale, DashboardProof)
capacità (opzionale, array)

Solo opzionale su connessione agente e approvazione app connessa. Omissione approva l’insieme completo richiesto; un sottoinsieme non vuoto delle capacità di connessione restringe la credenziale concessa; altro è invalid_request.

user_code (opzionale, stringa)

Obbligatorio quando si approva un accesso dispositivo (flow device): il codice che la persona conferma corrisponde al terminale. Una discrepanza è agent_connection_code_mismatch; il quinto scade l’accesso (agent_connection_expired). Ignorato altrimenti. maxLength: 32

accesso (opzionale, stringa)

Il livello di accesso con cui un accesso dispositivo o un’app connessa è approvato (Sola lettura, Proporre o Gestire); omesso mantiene il livello richiesto. Ignorato per altre connessioni. Una persona che non può approvare revisioni non può approvare Gestire (403 approver_required). Consentito: "read", "propose", "manage"

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/agent-connections/RESOURCE_ID/approve'

Risposte

StatoSignificatoCorpo e intestazioni
200Metadati sicuri agente in sospeso.Agent (application/json)
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)
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/agent-connections/{id}/deny

Nega connessione agente Dashboard

Nega la connessione per il progetto selezionato dopo una prova recente senza creare un agente. Il progetto deve essere una delle appartenenze della persona. Un membro limitato agli schermi non collega agenti, non emette credenziali e non gestisce le persone del progetto: outside_screen_scope (chiedi al proprietario del progetto).

Autenticazione
dashboardSession
Corpo della richiesta
AzioneDashboardAgente
ID operazione
denyDashboardAgentConnection

Parametri

NomeInviaObbligatorio?Descrizione
idpathobbligatorio

Campi del corpo della richiesta

CampoDescrizione
project_id (obbligatorio, stringa)minLength: 1
proof (opzionale, DashboardProof)
capacità (opzionale, array)

Solo opzionale su connessione agente e approvazione app connessa. Omissione approva l’insieme completo richiesto; un sottoinsieme non vuoto delle capacità di connessione restringe la credenziale concessa; altro è invalid_request.

user_code (opzionale, stringa)

Obbligatorio quando si approva un accesso dispositivo (flow device): il codice che la persona conferma corrisponde al terminale. Una discrepanza è agent_connection_code_mismatch; il quinto scade l’accesso (agent_connection_expired). Ignorato altrimenti. maxLength: 32

accesso (opzionale, stringa)

Il livello di accesso con cui un accesso dispositivo o un’app connessa è approvato (Sola lettura, Proporre o Gestire); omesso mantiene il livello richiesto. Ignorato per altre connessioni. Una persona che non può approvare revisioni non può approvare Gestire (403 approver_required). Consentito: "read", "propose", "manage"

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/agent-connections/RESOURCE_ID/deny'

Risposte

StatoSignificatoCorpo e intestazioni
204Connessione negata.nessun corpo
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)
GET/api/dashboard/boot

Ottieni avvio dashboard

Una richiesta per la shell del dashboard.

Ogni membro è il corpo con cui la rotta indicata risponde per questa stessa sessione (GET /api/me/email, /api/support/status, /api/projects, /api/organizations, /api/project, /api/project/capabilities, /api/advertising/network, /api/alerts?state=open&limit=1 e /api/reviews?state=all&limit=1), prodotto dal gestore di quella rotta con i suoi controlli di autorizzazione, piano e ambito.

Un membro è assente quando la sua rotta non risponderebbe 2xx per questa sessione (un rifiuto, un ruolo o un piano che non può leggerla, nessun progetto corrente, un errore), e il dashboard legge allora direttamente quella rotta. advertising_network è null quando la sua rotta risponderebbe 404 not_found perché il progetto non ha una rete.

Una sessione senza progetto corrente riceve i membri che non ne richiedono uno.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
getDashboardBoot
Modello richiesta e risposte
shell · modello richiesta
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/dashboard/boot'

Risposte

StatoSignificatoCorpo e intestazioni
200Le letture della shell del dashboard.DashboardBoot (application/json); intestazioni: Cache-Control
401

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)
GET/api/summary

Ottieni riepilogo dashboard

Contatori stato rete del progetto per il progetto della sessione. Il conteggio schermi online deriva da flussi eventi runtime live associati, la stessa derivazione pubblicata da Screen.online; non è un booleano memorizzato né un battito del lettore. I byte media sono i byte duraturi solo dei media pronti.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
getDashboardSummary
Modello richiesta e risposte
shell · modello richiesta
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/summary'

Risposte

StatoSignificatoCorpo e intestazioni
200Contatori riepilogativi del progetto.RiepilogoDashboard (application/json); intestazioni: Cache-Control
401

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)
GET/api/billing/payout-status

Ottieni stato pagamento dashboard

Stato veritiero della capacità di pagamento. rails_available è false e unavailable_reason è financial_rails_unavailable mentre carta, tasse e canale di prelievo sono indisponibili. Non vengono restituiti dati bancari grezzi.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
getDashboardPayoutStatus
Modello richiesta e risposte
shell · modello richiesta
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/billing/payout-status'

Risposte

StatoSignificatoCorpo e intestazioni
200Stato pagamento.Stato pagamento fatturazione (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/billing/receipts/{id}

Ottieni ricevuta dashboard

Una ricevuta/documento fiscale finalizzato di proprietà del chiamante. Nessuna ricevuta esiste mentre la raccolta fondi è non spedita, quindi questo è not_found e non un documento fabbricato.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
getDashboardReceipt

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/billing/receipts/RESOURCE_ID'

Risposte

StatoSignificatoCorpo e intestazioni
404not_found - non esiste alcuna ricevuta.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/balance

Ottieni saldo dashboard

Restituisce il saldo pubblico in crediti interi del progetto di sessione. Questa lettura autenticata da cookie non addebita mai, quindi rimane disponibile a zero. Il dashboard solo cookie non presenta mai un bearer progetto a GET /api/project.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
getDashboardBalance
Modello richiesta e risposte
shell · modello richiesta
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/balance'

Risposte

StatoSignificatoCorpo e intestazioni
200Saldo crediti totale pubblico.SaldoDashboard (application/json); intestazioni: Cache-Control
401

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)
POST/api/applications/{id}/preview-launches

Crea anteprima app dashboard

Genera un singolo ticket di lancio di trenta secondi per l’ultima release pronta di un’applicazione di proprietà del progetto della sessione, sull’esatto host di anteprima di quella release, mai sull’host di release che i Player incorniciano, così un Player e il dashboard in un browser non condividono mai i documenti memorizzati in cache di quell’host né concedono cookie.

Il ticket si converte nel cookie release-grant solo su quell’host, quindi l’anteprima è cross-origin per costruzione e il codice dell’app web non può mai leggere un cookie dashboard. La risposta release_id identifica l’esatta release scelta per questo avvio, anche se un’altra pubblicazione termina più tardi. Assegna launch_url a iframe.src e a nient’altro.

L’autorità qui è l’autorità del proprietario: il progetto della sessione possiede l’applicazione. Quella è una seconda fonte di autorità deliberata accanto all’autorità esatta del manifest corrente per screenrig.webapp-package/v1, ed è limitata a questa operazione. Non generalizzarla a media o a contenuti runtime protetti.

Non esiste un player genitore, quindi l’SDK browser e il bridge key-value falliscono chiusi e l’anteprima è solo presentazione. Un’applicazione senza release pronta è resource_conflict.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
createDashboardApplicationPreviewLaunch

Parametri

NomeInviaObbligatorio?Descrizione
idpathobbligatorio
Modello richiesta e risposte
shell · modello richiesta
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/applications/RESOURCE_ID/preview-launches'

Risposte

StatoSignificatoCorpo e intestazioni
201Anteprima di lancio a rilascio esatto monouso di 30 secondi.DashboardApplicationPreviewLaunch (application/json); intestazioni: Cache-Control, Referrer-Policy, RateLimit-Policy, RateLimit
401

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)
404

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)
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)
429

Problema rate_limited stabile. 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.

Problema (application/problem+json); intestazioni: Retry-After, RateLimit-Policy, RateLimit
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/organizations/{org_id}

Ottieni organizzazione dashboard

Un’organizzazione così come la mostra al chiamante un elemento di GET /api/organizations, con admin, home e reseller. Una persona connessa la legge quando la amministra, amministra il reseller a cui è delegata, è staff, o la vedrebbe in quell’elenco (membro di uno dei suoi progetti attivi, oppure è la sua organizzazione di appartenenza).

Chiunque altro, e un’organizzazione che non esiste, riceve 404 not_found. Non concede alcuna appartenenza al progetto. Solo sessioni con cookie; una credenziale agente viene rifiutata.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
getDashboardOrganization

Parametri

NomeInviaObbligatorio?Descrizione
org_idpathobbligatorio
Modello richiesta e risposte
shell · modello richiesta
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/organizations/ORG_ID'

Risposte

StatoSignificatoCorpo e intestazioni
200Risultato organizzazione.OrganizationView (application/json); intestazioni: Cache-Control
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/organizations/{org_id}/projects

Dashboard Organizzazioni Progetti

Gli amministratori dell’organizzazione leggono solo nomi dei progetti, proprietari, stato e numero di schermi; questo non concede alcun accesso al progetto. Un amministratore legge i contenuti di un progetto solo dopo esservi entrato (POST .../projects/{project_id}/access), e ne gestisce le persone con le rotte proprietario e membri qui sotto.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
dashboardOrganizationsProjects

Parametri

NomeInviaObbligatorio?Descrizione
org_idpathobbligatorio
cursorequeryopzionale
limitequeryopzionale
Modello richiesta e risposte
shell · modello richiesta
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/organizations/ORG_ID/projects'

Risposte

StatoSignificatoCorpo e intestazioni
200Risultato organizzazione.OrganizationProjectPage (application/json); intestazioni: Cache-Control
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/resellers

Elenca reseller dashboard

I reseller attivi la cui organizzazione è amministrata dalla persona connessa (admin_user_ids), ordinati per nome; vuoto per tutti gli altri. Solo sessioni con cookie. Un reseller è un’organizzazione che lo staff ha reso reseller o che uno dei suoi amministratori ha iscritto (POST /api/resellers); i suoi amministratori gestiscono le organizzazioni dei suoi clienti (docs/resellers.md).

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
listDashboardResellers
Modello richiesta e risposte
shell · modello richiesta
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/resellers'

Risposte

StatoSignificatoCorpo e intestazioni
200I reseller del chiamante.ResellerList (application/json); intestazioni: Cache-Control
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/resellers

Iscrivi reseller

Un amministratore di un’organizzazione la rende subito un reseller. Il chiamante deve essere una persona connessa con un indirizzo email verificato (solo sessioni con cookie; agenti e client di servizio non hanno mai l’autorità di reseller) e un amministratore dell’organizzazione indicata da organization_id; chiunque altro riceve 404 not_found.

Il reseller parte da 2000 punti base del prezzo di listino (20%), in vigore da subito, ed è in attesa di revisione; può aggiungere fino a 10 clienti attuali (customer_limit) finché screenRIG non lo esamina. L’organizzazione deve essere attiva, non essere già un reseller, non essere cliente di un reseller e non avere il piano staff o promo (409 reseller_conflict, il dettaglio indica il motivo).

Aggiunge reseller.enrolled al registro di audit dell’organizzazione.

Autenticazione
dashboardSession
Corpo della richiesta
ResellerEnrollment
ID operazione
enrollReseller

Campi del corpo della richiesta

CampoDescrizione
organization_id (obbligatorio, stringa)L’organizzazione da rendere reseller; il chiamante deve esserne uno degli amministratori. minLength: 1 maxLength: 200
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/resellers'

Risposte

StatoSignificatoCorpo e intestazioni
201Il nuovo reseller, così come lo legge GET /api/resellers/{reseller_id}.Reseller (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/resellers/{reseller_id}

Ottieni reseller dashboard

Un reseller amministrato dal chiamante, con il suo margine. Chiunque altro riceve 404 not_found.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
getDashboardReseller

Parametri

NomeInviaObbligatorio?Descrizione
reseller_idpathobbligatorio
Modello richiesta e risposte
shell · modello richiesta
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/resellers/RESELLER_ID'

Risposte

StatoSignificatoCorpo e intestazioni
200Il reseller.Reseller (application/json); intestazioni: Cache-Control
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/resellers/{reseller_id}/customers

Elenca clienti reseller dashboard

I clienti attuali del reseller (le organizzazioni delegate a esso), ordinati per nome, con piano, conteggi e byte archiviati. Solo amministratori reseller; chiunque altro riceve 404 not_found.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
listDashboardResellerCustomers

Parametri

NomeInviaObbligatorio?Descrizione
reseller_idpathobbligatorio
cursorequeryopzionale
limitequeryopzionale
Modello richiesta e risposte
shell · modello richiesta
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/resellers/RESELLER_ID/customers'

Risposte

StatoSignificatoCorpo e intestazioni
200Una pagina di clienti.ResellerCustomerPage (application/json); intestazioni: Cache-Control
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/resellers/{reseller_id}/customers

Crea cliente reseller dashboard

Crea un’organizzazione cliente delegata al reseller fin dalla creazione, su Standard, con l’amministratore reseller chiamante come unico amministratore. L’organizzazione di appartenenza del chiamante non cambia. Gli amministratori dell’organizzazione stessa possono poi terminare la delega (DELETE /api/organizations/{org_id}/reseller).

Aggiunge organization.created e reseller.customer_started al registro di audit dell’organizzazione. Un reseller in attesa di revisione (review_state pending) può aggiungere fino a customer_limit clienti attuali; oltre, la risposta è 409 reseller_conflict.

Autenticazione
dashboardSession
Corpo della richiesta
object
ID operazione
createDashboardResellerCustomer

Parametri

NomeInviaObbligatorio?Descrizione
reseller_idpathobbligatorio

Campi del corpo della richiesta

CampoDescrizione
nome (obbligatorio, ProjectName)Nome progetto stampabile e rifilato. Rifiuta controlli, testo simile a URL, @, www. e ://. minLength: 1 maxLength: 60
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/resellers/RESELLER_ID/customers'

Risposte

StatoSignificatoCorpo e intestazioni
201Il nuovo cliente.ResellerCustomer (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/resellers/{reseller_id}/customers/{org_id}

Ottieni cliente reseller dashboard

Un cliente attuale del reseller. Solo amministratori reseller; un’organizzazione che non è un cliente attuale risponde con 404 not_found.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
getDashboardResellerCustomer

Parametri

NomeInviaObbligatorio?Descrizione
reseller_idpathobbligatorio
org_idpathobbligatorio
Modello richiesta e risposte
shell · modello richiesta
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/resellers/RESELLER_ID/customers/ORG_ID'

Risposte

StatoSignificatoCorpo e intestazioni
200Il cliente.ResellerCustomer (application/json); intestazioni: Cache-Control
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/resellers/{reseller_id}/customers/{org_id}/plan

Imposta piano cliente reseller dashboard

Imposta il piano di un cliente attuale, pagato dal reseller. standard rimuove il piano; plus e premium sono sempre consentiti, education solo per un’organizzazione idonea al piano Education. Enterprise, staff e promo sono assegnati dallo staff.

Un upgrade si applica subito, un downgrade o una rimozione al prossimo inizio mese UTC, come le modifiche del piano di un’organizzazione (docs/billing-rollup.md). Aggiunge reseller.customer_plan al registro di audit dell’organizzazione.

Autenticazione
dashboardSession
Corpo della richiesta
object
ID operazione
setDashboardResellerCustomerPlan

Parametri

NomeInviaObbligatorio?Descrizione
reseller_idpathobbligatorio
org_idpathobbligatorio

Campi del corpo della richiesta

CampoDescrizione
plan_id (obbligatorio, stringa)Consentito: "standard", "plus", "education", "premium"
Modello richiesta e risposte
shell · modello richiesta
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/resellers/RESELLER_ID/customers/ORG_ID/plan'

Risposte

StatoSignificatoCorpo e intestazioni
200Il cliente con il suo piano come memorizzato ora.ResellerCustomer (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/resellers/{reseller_id}/customers/{org_id}/projects

Elenca progetti cliente reseller dashboard

I progetti attivi di un cliente attuale con nomi, stato, numero di schermi e se il chiamante è già membro. L’elenco non concede alcun accesso ai progetti; POST .../access permette di unirsi a uno di essi.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
listDashboardResellerCustomerProjects

Parametri

NomeInviaObbligatorio?Descrizione
reseller_idpathobbligatorio
org_idpathobbligatorio
cursorequeryopzionale
limitequeryopzionale
Modello richiesta e risposte
shell · modello richiesta
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/resellers/RESELLER_ID/customers/ORG_ID/projects'

Risposte

StatoSignificatoCorpo e intestazioni
200Una pagina di progetti.ResellerCustomerProjectPage (application/json); intestazioni: Cache-Control
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/resellers/{reseller_id}/customers/{org_id}/projects/{project_id}/access

Unisciti al progetto cliente reseller dashboard

Rende l’amministratore reseller chiamante membro a pieno titolo del progetto di un cliente attuale (can_approve, nessun ambito, source reseller_admin), come fa l’ingresso di un amministratore dell’organizzazione, così da poterlo aprire con PUT /api/session/project. Se è già membro, risponde con il progetto invariato.

Aggiunge member.added_by_reseller al progetto e reseller.project_joined al registro di audit dell’organizzazione, e invia un’email al proprietario del progetto. L’appartenenza resta finché non viene rimossa; terminare la delega non la rimuove.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
joinDashboardResellerCustomerProject

Parametri

NomeInviaObbligatorio?Descrizione
reseller_idpathobbligatorio
org_idpathobbligatorio
project_idpathobbligatorio
Modello richiesta e risposte
shell · modello richiesta
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/resellers/RESELLER_ID/customers/ORG_ID/projects/PROJECT_ID/access'

Risposte

StatoSignificatoCorpo e intestazioni
200Il progetto che il chiamante può ora aprire.DashboardProjectReference (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/resellers/{reseller_id}/statement

Ottieni estratto conto reseller dashboard

Quanto il reseller deve per un mese UTC. Una riga per ogni cliente delegato in un qualsiasi momento del mese, con la parte degli addebiti d’uso nel periodo delegato del mese che il suo credito non ha coperto (al prezzo di listino e al prezzo del reseller), e il prezzo annuale del suo piano.

Il prezzo del reseller è il listino meno il margine in vigore alla più recente tra la data di inizio del mese e quella di (ri)creazione del reseller. Solo amministratori reseller.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
getDashboardResellerStatement

Parametri

NomeInviaObbligatorio?Descrizione
reseller_idpathobbligatorio
periodoqueryopzionaleIl mese UTC, YYYY-MM. Se omesso, è il mese corrente.
Modello richiesta e risposte
shell · modello richiesta
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/resellers/RESELLER_ID/statement'

Risposte

StatoSignificatoCorpo e intestazioni
200L’estratto conto.ResellerStatement (application/json); intestazioni: Cache-Control
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/organizations/{org_id}/reseller

Termina reseller organizzazione dashboard

Un amministratore dell’organizzazione termina subito la delega al proprio reseller. Da quel momento l’organizzazione paga per sé; il suo piano, i suoi progetti e i suoi membri restano invariati, comprese le appartenenze detenute dagli amministratori del reseller. L’eccedenza maturata dal suo portafoglio durante la delega, fatturata al reseller, viene annullata nella stessa modifica.

Aggiunge reseller.customer_ended al registro di audit dell’organizzazione. Un’organizzazione senza reseller risponde con 404 not_found.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
endDashboardOrganizationReseller

Parametri

NomeInviaObbligatorio?Descrizione
org_idpathobbligatorio
Modello richiesta e risposte
shell · modello richiesta
curl --request DELETE --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/organizations/ORG_ID/reseller'

Risposte

StatoSignificatoCorpo e intestazioni
200L’organizzazione, ora senza reseller.OrganizationView (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/organizations/{org_id}/discovery

Dashboard Organizzazioni Scoperta

Progetti altrove i cui proprietari hanno un’email verificata sul dominio esatto verificato. Indirizzi di contatto e sottodomini non corrispondono, e gli amministratori non possono importare progetti.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
dashboardOrganizationsDiscovery

Parametri

NomeInviaObbligatorio?Descrizione
org_idpathobbligatorio
cursorequeryopzionale
limitequeryopzionale
Modello richiesta e risposte
shell · modello richiesta
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/organizations/ORG_ID/discovery'

Risposte

StatoSignificatoCorpo e intestazioni
200Risultato organizzazione.OrganizationProjectPage (application/json); intestazioni: Cache-Control
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/organizations/{org_id}/domain-challenges

Dashboard Organizzazioni Avvia Dominio

Apri una sfida DNS TXT di 7 giorni per un dominio, sostituendo la sfida in sospeso di quel dominio; gli altri domini dell’organizzazione restano invariati. Metti il suo valore esatto nel nome DNS restituito e mantienilo lì. Un’organizzazione può avere al massimo 20 domini, verificati e in sospeso insieme (resource_conflict). Un dominio di un’altra organizzazione è resource_conflict.

Un dominio che questa organizzazione già possiede può essere dimostrato di nuovo, il che registra il nuovo valore per il controllo DNS giornaliero.

Autenticazione
dashboardSession
Corpo della richiesta
OrganizationDomainInput
ID operazione
dashboardOrganizationsStartDomain

Parametri

NomeInviaObbligatorio?Descrizione
org_idpathobbligatorio

Campi del corpo della richiesta

CampoDescrizione
dominio (obbligatorio, stringa)Dominio DNS esatto; nessun wildcard, URL o indirizzo IP. minLength: 3 maxLength: 253
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/organizations/ORG_ID/domain-challenges'

Risposte

StatoSignificatoCorpo e intestazioni
201Risultato organizzazione.OrganizationDomainChallenge (application/json); intestazioni: Cache-Control
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/organizations/{org_id}/domain-verification

Dashboard Organizzazioni Verifica Dominio

Verifica una sfida non scaduta contro DNS e aggiungi il suo dominio all’organizzazione, oltre ai domini già posseduti. Ogni dominio esatto appartiene a un’organizzazione. Una prova ruotata durante la ricerca è rifiutata. Mantieni il record TXT in posizione; un controllo giornaliero rimuove un dominio il cui record manca da sette giorni.

Una volta che il reclamo è confermato, e in background dopo questa risposta, ogni progetto il cui proprietario è una persona verificata esattamente al dominio e che è solo nell’organizzazione personale di quel proprietario viene spostato in questa organizzazione (rinominata "<name> (<owner>)" in caso di conflitto nome).

I progetti in altre organizzazioni, i progetti con un piano a pagamento del cliente proprio, e i progetti che il loro proprietario o staff ha spostato fuori da un’organizzazione di dominio restano dove sono; un progetto rifiutato dai limiti dell’organizzazione viene riprovato un giorno dopo. Il posizionamento non concede accesso.

Autenticazione
dashboardSession
Corpo della richiesta
OrganizationDomainProof
ID operazione
dashboardOrganizationsVerifyDomain

Parametri

NomeInviaObbligatorio?Descrizione
org_idpathobbligatorio

Campi del corpo della richiesta

CampoDescrizione
challenge_id (obbligatorio, stringa)
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/organizations/ORG_ID/domain-verification'

Risposte

StatoSignificatoCorpo e intestazioni
200Risultato organizzazione.VerifiedOrganizationDomain (application/json); intestazioni: Cache-Control
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/organizations/{org_id}/admins

Dashboard Organizzazioni Amministratori

Un amministratore designato legge gli amministratori dell’organizzazione, i candidati che possono diventarlo (proprietari verificati e attivi dei suoi progetti live che non sono ancora amministratori) e la revisione dell’organizzazione. Chiunque altro è rifiutato come nelle altre rotte admin dell’organizzazione. Solo persone; agenti e credenziali bearer non hanno rotta admin.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
dashboardOrganizationsAdmins

Parametri

NomeInviaObbligatorio?Descrizione
org_idpathobbligatorio
Modello richiesta e risposte
shell · modello richiesta
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/organizations/ORG_ID/admins'

Risposte

StatoSignificatoCorpo e intestazioni
200Amministratori organizzazione.OrganizationAdmins (application/json); intestazioni: Cache-Control
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/organizations/{org_id}/admins

Dashboard Organizzazioni Imposta Amministratori

Un amministratore designato sostituisce gli amministratori dell’organizzazione. If-Match contiene la revisione dell’organizzazione; una obsoleta è revision_conflict con current_revision. Il set nomina da 1 a 20 persone, ciascuna amministratore attuale o candidato, altrimenti invalid_request; un amministratore si rimuove solo se rimane un altro amministratore.

La modifica incrementa la revisione, viene registrata nell’audit dell’organizzazione, non concede appartenenza al progetto e restituisce la stessa struttura di GET. Solo persone; agenti e credenziali bearer non hanno rotta admin.

Autenticazione
dashboardSession
Corpo della richiesta
OrganizationAdminsUpdate
ID operazione
dashboardOrganizationsSetAdmins

Parametri

NomeInviaObbligatorio?Descrizione
org_idpathobbligatorio
If-MatchintestazioneobbligatorioLa revisione dell’organizzazione da GET, opzionalmente quotata.

Campi del corpo della richiesta

CampoDescrizione
admin_user_ids (obbligatorio, array)
Modello richiesta e risposte
shell · modello richiesta
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'If-Match: "REVISION"' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/organizations/ORG_ID/admins'

Risposte

StatoSignificatoCorpo e intestazioni
200Amministratori organizzazione dopo la modifica.OrganizationAdmins (application/json); intestazioni: Cache-Control
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/organizations/{org_id}/people

Dashboard Organizzazioni Persone

Un amministratore designato legge le persone dell’organizzazione. Sola lettura. projects elenca i progetti live dell’organizzazione, ordinati per nome, al massimo 500. people è l’unione dei membri dell’organizzazione (member true), delle appartenenze attive a quei progetti (le appartenenze sospese sono escluse) e degli amministratori designati.

L’ordine è: prima gli amministratori, poi i membri dell’organizzazione, poi le persone esterne (quelle che non sono membri dell’organizzazione), ciascun gruppo per nome visualizzato e poi per email.

Ogni persona riporta il proprio ruolo in ciascun progetto (owner o member), se può approvare le revisioni in quel progetto (can_approve) e se è limitata a schermi o upload (limited), se è un amministratore, se è un membro dell’organizzazione (member), se è gestita dall’organizzazione (managed) e, per una persona esterna, se la policy per gli ospiti attuale non la ammetterebbe (outside_guest_policy).

Un amministratore o un membro dell’organizzazione senza alcun progetto compare con un elenco projects vuoto. email è vuoto per una persona il cui indirizzo non è verificato. Le persone disattivate e gli agenti non compaiono mai. Vengono restituite al massimo 500 persone, sempre con gli amministratori inclusi; truncated è true quando persone, progetti o appartenenze sono stati esclusi.

Chiunque altro è rifiutato come nelle altre rotte admin dell’organizzazione. Solo persone; agenti e credenziali bearer non hanno alcuna rotta.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
dashboardOrganizationsPeople

Parametri

NomeInviaObbligatorio?Descrizione
org_idpathobbligatorio
Modello richiesta e risposte
shell · modello richiesta
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/organizations/ORG_ID/people'

Risposte

StatoSignificatoCorpo e intestazioni
200Persone organizzazione.OrganizationPeople (application/json); intestazioni: Cache-Control
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/organizations/{org_id}/admin-invitations

Dashboard Organizzazioni Elenca Inviti Amministratori

Un amministratore designato elenca gli inviti amministrativi dell’organizzazione per id, 50 alla volta, dopo aver scaduto quelli il cui tempo è passato. Gli indirizzi dei destinatari sono visibili agli amministratori dell’organizzazione, che li hanno forniti. Token e URL delle credenziali non sono mai elencati. Solo persone; agenti e credenziali bearer non hanno rotta admin.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
dashboardOrganizationsListAdminInvitations

Parametri

NomeInviaObbligatorio?Descrizione
org_idpathobbligatorio
statoqueryopzionale
cursorequeryopzionale
Modello richiesta e risposte
shell · modello richiesta
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/organizations/ORG_ID/admin-invitations'

Risposte

StatoSignificatoCorpo e intestazioni
200Gli inviti amministrativi dell’organizzazione.OrganizationAdminInvitationList (application/json); intestazioni: Cache-Control
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/organizations/{org_id}/admin-invitations

Dashboard Organizzazioni Crea Inviti Amministratori

Un amministratore designato invita persone via email a diventare amministratori. Accettare aggiunge la persona agli amministratori dell’organizzazione e crea il loro login se non ne hanno; non concede alcuna appartenenza al progetto. Al massimo 20 amministratori contando gli inviti amministrativi in sospeso (organization_admin_limit); un indirizzo la cui persona già amministra l’organizzazione è invalid_request.

Gli inviti tramite e-mail scadono dopo sette giorni; un invito in sospeso allo stesso indirizzo viene riutilizzato. I nomi dell’organizzazione e dell’invitante devono essere idonei per l’e-mail. Solo persone; agenti e credenziali bearer non hanno percorso amministratore.

Autenticazione
dashboardSession
Corpo della richiesta
OrganizationAdminInvitationCreate
ID operazione
dashboardOrganizationsCreateAdminInvitations

Parametri

NomeInviaObbligatorio?Descrizione
org_idpathobbligatorio
Idempotency-Keyintestazioneobbligatorio

Campi del corpo della richiesta

CampoDescrizione
email (obbligatorio, array)
Modello richiesta e risposte
shell · modello richiesta
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/organizations/ORG_ID/admin-invitations'

Risposte

StatoSignificatoCorpo e intestazioni
201Gli inviti amministrativi dell’organizzazione, uno per indirizzo distinto.OrganizationAdminInvitationCreated (application/json); intestazioni: Cache-Control, RateLimit-Policy, RateLimit
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)
429

Problema rate_limited stabile. 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.

Problema (application/problem+json); intestazioni: Retry-After, RateLimit-Policy, RateLimit
POST/api/organizations/{org_id}/admin-invitations/{invitation_id}/revoke

Dashboard Organizzazioni Revoca Invito Amministratore

Un amministratore designato revoca un invito amministrativo in sospeso e libera il suo slot amministrativo. Un invito già revocato restituisce 204; uno accettato restituisce invitation_consumed; un id che l’organizzazione non possiede è not_found. Solo persone; agenti e credenziali bearer non hanno rotta admin.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
dashboardOrganizationsRevokeAdminInvitation

Parametri

NomeInviaObbligatorio?Descrizione
org_idpathobbligatorio
invitation_idpathobbligatorio
Modello richiesta e risposte
shell · modello richiesta
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/organizations/ORG_ID/admin-invitations/INVITATION_ID/revoke'

Risposte

StatoSignificatoCorpo e intestazioni
204L’invito è stato revocato.nessun corpo
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/organizations/{org_id}/member-invitations

Dashboard Organizzazioni Elenca Inviti Membri

Un amministratore designato elenca gli inviti membro dell’organizzazione per id, 50 alla volta, dopo aver scaduto quelli il cui tempo è passato. Gli indirizzi dei destinatari sono visibili agli amministratori dell’organizzazione, che li hanno forniti. Token e URL delle credenziali non sono mai elencati. Solo persone; agenti e credenziali bearer non hanno rotta admin.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
dashboardOrganizationsListMemberInvitations

Parametri

NomeInviaObbligatorio?Descrizione
org_idpathobbligatorio
statoqueryopzionale
cursorequeryopzionale
Modello richiesta e risposte
shell · modello richiesta
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/organizations/ORG_ID/member-invitations'

Risposte

StatoSignificatoCorpo e intestazioni
200Gli inviti membro dell’organizzazione.OrganizationMemberInvitationList (application/json); intestazioni: Cache-Control
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/organizations/{org_id}/member-invitations

Dashboard Organizzazioni Crea Inviti Membri

Un amministratore designato invita persone via email a unirsi all’organizzazione come membri. Accettare imposta l’organizzazione di appartenenza della persona su questa, al posto di qualsiasi precedente, e crea il suo login se non ne ha uno; non concede alcuna appartenenza al progetto.

Un indirizzo la cui persona è già membro dell’organizzazione è invalid_request; uno la cui persona è gestita da un’altra organizzazione è managed_elsewhere. Gli inviti email scadono dopo sette giorni; un invito in sospeso allo stesso indirizzo viene riutilizzato. I nomi dell’organizzazione e di chi invita devono essere adatti all’email.

Accettare un invito all’organizzazione del personale (plan_id staff) rende anche la persona membro del personale; solo il personale può quindi inviare questi inviti, a un indirizzo per richiesta con una prova staff_grant associata (reauthentication_required se manca). Solo persone; gli agenti e le credenziali bearer non hanno una route amministrativa.

Autenticazione
dashboardSession
Corpo della richiesta
OrganizationMemberInvitationCreate
ID operazione
dashboardOrganizationsCreateMemberInvitations

Parametri

NomeInviaObbligatorio?Descrizione
org_idpathobbligatorio
Idempotency-Keyintestazioneobbligatorio

Campi del corpo della richiesta

CampoDescrizione
email (obbligatorio, array)
proof (opzionale, DashboardProof)
Modello richiesta e risposte
shell · modello richiesta
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/organizations/ORG_ID/member-invitations'

Risposte

StatoSignificatoCorpo e intestazioni
201Gli inviti membro dell’organizzazione, uno per indirizzo distinto.OrganizationMemberInvitationCreated (application/json); intestazioni: Cache-Control, RateLimit-Policy, RateLimit
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)
429

Problema rate_limited stabile. 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.

Problema (application/problem+json); intestazioni: Retry-After, RateLimit-Policy, RateLimit
POST/api/organizations/{org_id}/member-invitations/{invitation_id}/revoke

Dashboard Organizzazioni Revoca Invito Membro

Un amministratore designato revoca un invito membro in sospeso. Un invito già revocato restituisce 204; uno accettato restituisce invitation_consumed; un id che l’organizzazione non possiede è not_found. Solo persone; agenti e credenziali bearer non hanno rotta admin.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
dashboardOrganizationsRevokeMemberInvitation

Parametri

NomeInviaObbligatorio?Descrizione
org_idpathobbligatorio
invitation_idpathobbligatorio
Modello richiesta e risposte
shell · modello richiesta
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/organizations/ORG_ID/member-invitations/INVITATION_ID/revoke'

Risposte

StatoSignificatoCorpo e intestazioni
204L’invito è stato revocato.nessun corpo
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/organizations/{org_id}/members/{user_id}

Dashboard Organizzazioni Rimuovi Membro

Un amministratore designato rimuove un membro dall’organizzazione.

In una transazione l’organizzazione di appartenenza della persona viene azzerata e le sue appartenenze a tutti i progetti live dell’organizzazione terminano, ciascuna come se la persona venisse rimossa da quel progetto (gli inviti email in sospeso a esso vengono revocati e le sue sessioni smettono di risolverlo); le appartenenze ai progetti di altre organizzazioni restano invariate, e nessun’altra organizzazione cambia.

La modifica viene registrata nell’audit dell’organizzazione.

Una persona gestita da un provider di identità (single sign-on o SCIM) è managed_member; un amministratore designato è organization_admin_member (rimuovi prima il suo slot amministrativo con PUT /api/organizations/{org_id}/admins); una persona che possiede un qualsiasi progetto live dell’organizzazione è member_owns_projects e il dettaglio elenca i nomi dei progetti (trasferisci prima quei progetti, non viene rimosso nulla); una persona che non è membro dell’organizzazione, anche se già rimossa, è not_found.

Solo persone; agenti e credenziali bearer non hanno rotta admin.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
dashboardOrganizationsRemoveMember

Parametri

NomeInviaObbligatorio?Descrizione
org_idpathobbligatorio
user_idpathobbligatorio
Modello richiesta e risposte
shell · modello richiesta
curl --request DELETE --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/organizations/ORG_ID/members/USER_ID'

Risposte

StatoSignificatoCorpo e intestazioni
204La persona non è più membro dell’organizzazione.nessun corpo
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/organizations/{org_id}/guest-policy

Dashboard Organizzazioni Imposta Policy per gli Ospiti

Un amministratore designato stabilisce chi l’organizzazione ammette come ospite nei suoi progetti, cioè le persone la cui organizzazione di appartenenza è un’altra o che non ne hanno. mode allow (il valore predefinito) ammette ogni ospite, domains ammette un ospite il cui indirizzo email verificato è su uno dei domains, e none non ammette alcun ospite. domains elenca da 1 a 20 nomi DNS distinti in minuscolo, obbligatorio per mode domains e omesso negli altri casi; qualsiasi altra cosa è invalid_request.

La policy sostituisce la precedente, incrementa la revisione dell’organizzazione, viene registrata nell’audit dell’organizzazione e risponde con la policy in vigore. Viene controllata quando l’organizzazione concede a un ospite un’appartenenza a un progetto, tramite invito di membro del progetto (creazione e accettazione) e tramite associazione di gruppo SCIM, e rifiuta con guest_not_allowed.

Lo staff e gli amministratori dell’organizzazione stessa sono esenti, gli agenti non vengono controllati e i membri dell’organizzazione non sono mai ospiti. Restringere la policy non rimuove nessuno; outside_policy conta le persone esterne già presenti nei progetti live dell’organizzazione che la nuova policy non ammetterebbe, e GET /api/organizations/{org_id}/people segnala ciascuna di esse (outside_guest_policy).

Solo persone; agenti e credenziali bearer non hanno rotta admin.

Autenticazione
dashboardSession
Corpo della richiesta
OrganizationGuestPolicyUpdate
ID operazione
dashboardOrganizationsSetGuestPolicy

Parametri

NomeInviaObbligatorio?Descrizione
org_idpathobbligatorio

Campi del corpo della richiesta

CampoDescrizione
mode (obbligatorio, OrganizationGuestPolicyMode)

allow ammette ogni ospite. domains ammette un ospite il cui indirizzo email verificato è su uno dei domini elencati (corrispondenza esatta). none non ammette alcun ospite. I membri dell’organizzazione non sono mai ospiti. Consentito: "allow", "domains", "none"

domains (opzionale, array)Obbligatorio per mode domains (da 1 a 20 domini, duplicati rifiutati) e omesso per allow e none; in ogni caso una struttura errata è invalid_request.
Modello richiesta e risposte
shell · modello richiesta
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/organizations/ORG_ID/guest-policy'

Risposte

StatoSignificatoCorpo e intestazioni
200La policy per gli ospiti ora in vigore.OrganizationGuestPolicyResult (application/json); intestazioni: Cache-Control
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/organizations/{org_id}/library

Dashboard Organizzazioni Imposta Libreria

Un amministratore designato imposta o rimuove il progetto Libreria dell’organizzazione. project_id indica uno dei progetti attivi dell’organizzazione, oppure null per rimuoverlo.

Tutti gli altri progetti dell’organizzazione leggono allora i contenuti multimediali, le cartelle multimediali e le playlist della Libreria (library=true su GET /api/media, /api/media-folders e /api/playlists, e per id) e li usano in sola lettura: riferimenti ai contenuti multimediali nelle pagine, selettori by:folder che indicano una cartella della Libreria (i selettori per tag e per tutti non raggiungono mai la Libreria), programmi e stack degli schermi, e from_template. Solo i membri della Libreria stessa li modificano.

Il progetto Libreria non ha schermi: un progetto con schermi dà library_no_screens, e la Libreria non ne ammette in seguito. Impostare una Libreria richiede la funzionalità di piano library (Premium, Education, Enterprise; altrimenti feature_not_in_plan); rimuoverla non la richiede mai, e una Libreria mantenuta dopo un downgrade continua a essere servita.

Se la Libreria viene rimossa o sostituita, le playlist dei progetti membri che indicano i suoi elementi non riescono più a risolverli alla scrittura successiva, e gli schermi smettono di ricevere i suoi contenuti multimediali. Un progetto che è la Libreria ed è eliminato o spostato fuori dall’organizzazione la rimuove.

Risponde con la vista dell’organizzazione, viene registrata nell’audit dell’organizzazione (organization.library_changed) e incrementa la revisione. Solo persone.

Autenticazione
dashboardSession
Corpo della richiesta
OrganizationLibraryUpdate
ID operazione
dashboardOrganizationsSetLibrary

Parametri

NomeInviaObbligatorio?Descrizione
org_idpathobbligatorio

Campi del corpo della richiesta

CampoDescrizione
project_id (obbligatorio, inline)Il progetto dell’organizzazione da rendere la sua Libreria, oppure null per rimuovere la Libreria.
Modello richiesta e risposte
shell · modello richiesta
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/organizations/ORG_ID/library'

Risposte

StatoSignificatoCorpo e intestazioni
200L’organizzazione con la sua Libreria ora in vigore.OrganizationView (application/json); intestazioni: Cache-Control
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/organizations/{org_id}/project-access

Dashboard Organizzazioni Imposta Accesso al Progetto

Un amministratore designato imposta l’accesso di molte persone a molti progetti live dell’organizzazione in un’unica richiesta, senza entrare in nessuno di essi.

Ciascuna delle modifiche, da 1 a 500, nomina un progetto, una persona e un accesso, senza che una coppia (project_id, user_id) compaia due volte. member rende la persona un membro del progetto che non può approvare le revisioni (aggiunta quando non lo è; un approver perde l’approvazione), approver un membro che può approvare (aggiunta quando non lo è) e none nessun membro (rimossa quando lo è).

Tutto viene applicato in ordine in una sola transazione, e un solo rifiuto annulla l’intero lotto; ogni rifiuto indica changes[i] (il progetto o la persona) o changes[i].access in errors[].field.

Un progetto che non è un progetto live di questa organizzazione è not_found; una persona che non è una persona attiva (un agente, una persona disattivata, un id sconosciuto) o che è staff, un’appartenenza sospesa e una persona aggiunta che non è tra le persone dell’organizzazione (i suoi amministratori, i suoi membri dell’organizzazione e i membri attivi dei suoi altri progetti live; chiunque altro entra tramite un invito) sono invalid_request; il proprietario non viene mai impostato su member o none (owner_cannot_leave); un uploader non approva mai (resource_conflict, come risponde PUT /api/members/{user_id}/approver); rimuovere l’amministratore stesso è rifiutato con forbidden (un amministratore esce tramite DELETE /api/members/{user_id}); e una persona aggiunta viene ammessa come la ammetterebbe un invito, quindi i membri dell’organizzazione e i suoi amministratori sempre, e una persona esterna solo dove la policy per gli ospiti la ammette ora (guest_not_allowed).

Si applicano a ciò che viene aggiunto il limite di 200 membri del progetto e il tetto di membri del suo piano (member_limit_reached). La risposta ripete ogni modifica nell’ordine della richiesta; changed è false per quella il cui accesso era già in vigore, che non scrive né registra nulla.

Ogni modifica viene registrata nell’audit dell’organizzazione (organization.project_member_added, organization.project_member_approver_changed o organization.project_member_removed) e negli eventi del progetto (member.added_by_organization_admin, project.member_approver_changed o member.removed, contrassegnati come eseguiti dall’amministratore dell’organizzazione), e il proprietario di ogni progetto riceve una sola e-mail per il lotto, salvo che la modifica sia sua.

Solo persone; agenti e credenziali bearer non hanno rotta admin.

Autenticazione
dashboardSession
Corpo della richiesta
OrganizationProjectAccessRequest
ID operazione
dashboardOrganizationsSetProjectAccess

Parametri

NomeInviaObbligatorio?Descrizione
org_idpathobbligatorio

Campi del corpo della richiesta

CampoDescrizione
changes (obbligatorio, array)Le modifiche, applicate in ordine; nessuna coppia (project_id, user_id) compare due volte.
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/organizations/ORG_ID/project-access'

Risposte

StatoSignificatoCorpo e intestazioni
200Le modifiche come applicate, nell’ordine della richiesta.OrganizationProjectAccessResult (application/json); intestazioni: Cache-Control
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/organizations/{org_id}/projects/{project_id}/access

Dashboard Organizzazioni Unisciti al Progetto

Un amministratore designato entra in uno dei progetti live dell’organizzazione come membro senza ambito di schermi o di upload che può approvare le revisioni. È l’ingresso nel progetto a dare all’amministratore i contenuti del progetto, che le rotte dell’organizzazione non mostrano mai.

Un amministratore che è già membro senza ambito e può approvare riceve 200 con joined false e non cambia nulla; un membro con un ambito di schermi o di upload, o che non può approvare, diventa un membro senza ambito che può approvare, registrato come ingresso.

Si applica il limite di 200 membri del progetto (member_limit_reached); la policy per gli ospiti dell’organizzazione non si applica mai ai suoi amministratori. L’ingresso viene registrato nell’audit dell’organizzazione come organization.project_joined e negli eventi del progetto come member.added_by_organization_admin, e il proprietario del progetto riceve un’email.

Un progetto che l’organizzazione non possiede, o che è stato eliminato, è not_found. Solo persone; agenti e credenziali bearer non hanno rotta admin.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
dashboardOrganizationsJoinProject

Parametri

NomeInviaObbligatorio?Descrizione
org_idpathobbligatorio
project_idpathobbligatorio
Modello richiesta e risposte
shell · modello richiesta
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/organizations/ORG_ID/projects/PROJECT_ID/access'

Risposte

StatoSignificatoCorpo e intestazioni
200L’amministratore è membro del progetto.OrganizationProjectAccess (application/json); intestazioni: Cache-Control
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/organizations/{org_id}/projects/{project_id}/owner

Dashboard Organizzazioni Imposta Proprietario del Progetto

Un amministratore designato rende una persona proprietaria di uno dei progetti live dell’organizzazione senza entrarvi, da chiunque lo possieda ora, compreso un proprietario il cui account è disattivato.

Il nuovo proprietario è una persona verificata e attiva che è membro del progetto o membro dell’organizzazione (un membro dell’organizzazione che non è membro del progetto viene prima aggiunto come membro senza ambito di schermi o di upload che può approvare le revisioni; la policy per gli ospiti non si applica a un membro dell’organizzazione); chiunque altro è invalid_request in user_id.

Un amministratore si nomina proprietario solo dopo essere entrato nel progetto (POST /api/organizations/{org_id}/projects/{project_id}/access), e chi non è un membro senza ambito di schermi o di upload che può approvare è invalid_request in user_id.

L’effetto è quello del trasferimento da parte del proprietario stesso, quindi l’ambito di schermi e l’ambito di upload del nuovo proprietario vengono azzerati e le responsabilità legacy del progetto vengono assegnate a questa persona. Indicare il proprietario attuale non cambia nulla. La modifica viene registrata nell’audit dell’organizzazione come organization.project_owner_changed, e il proprietario precedente e quello nuovo ricevono un’email.

Il limite di 200 membri del progetto si applica a un membro dell’organizzazione aggiunto (member_limit_reached). Un progetto che l’organizzazione non possiede, o che è stato eliminato, è not_found. Solo persone; agenti e credenziali bearer non hanno rotta admin.

Autenticazione
dashboardSession
Corpo della richiesta
OrganizationProjectOwnerUpdate
ID operazione
dashboardOrganizationsSetProjectOwner

Parametri

NomeInviaObbligatorio?Descrizione
org_idpathobbligatorio
project_idpathobbligatorio

Campi del corpo della richiesta

CampoDescrizione
user_id (obbligatorio, stringa)Il nuovo proprietario. Una persona verificata e attiva che è membro del progetto o membro dell’organizzazione. minLength: 1 maxLength: 200
Modello richiesta e risposte
shell · modello richiesta
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/organizations/ORG_ID/projects/PROJECT_ID/owner'

Risposte

StatoSignificatoCorpo e intestazioni
200Il proprietario del progetto dopo la modifica.OrganizationProjectOwner (application/json); intestazioni: Cache-Control
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/organizations/{org_id}/projects/{project_id}/members/{user_id}

Dashboard Organizzazioni Rimuovi Membro del Progetto

Un amministratore designato rimuove un membro da uno dei progetti live dell’organizzazione senza entrarvi. Ha l’effetto della rimozione da parte del proprietario (DELETE /api/members/{user_id}). L’appartenenza termina, gli inviti email in sospeso della persona al progetto vengono revocati, le sue sessioni smettono di risolvere il progetto e le appartenenze degli agenti restano.

Il proprietario non viene mai rimosso (owner_cannot_leave; trasferire prima la proprietà con PUT /api/organizations/{org_id}/projects/{project_id}/owner). Una persona che non è membro del progetto, anche se già rimossa, e un progetto che l’organizzazione non possiede o che è stato eliminato, sono not_found.

La rimozione viene registrata nell’audit dell’organizzazione come organization.project_member_removed e negli eventi del progetto come member.removed con removed_by_organization_admin true. Solo persone; agenti e credenziali bearer non hanno rotta admin.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
dashboardOrganizationsRemoveProjectMember

Parametri

NomeInviaObbligatorio?Descrizione
org_idpathobbligatorio
project_idpathobbligatorio
user_idpathobbligatorio
Modello richiesta e risposte
shell · modello richiesta
curl --request DELETE --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/organizations/ORG_ID/projects/PROJECT_ID/members/USER_ID'

Risposte

StatoSignificatoCorpo e intestazioni
204L’iscrizione è terminata.nessun corpo
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/organizations/{org_id}/domains/{domain}

Dashboard Organizzazioni Rimuovi Un Dominio

Rimuovi un dominio, verificato o in attesa, e lascia gli altri domini dell’organizzazione. La sua collocazione e scoperta futura si fermano, e un’altra organizzazione può verificarlo. I progetti già nell’organizzazione restano. Un dominio che l’organizzazione non possiede né sta provando è not_found.

Finché l’organizzazione richiede il single sign-on, un dominio verificato è resource_conflict; disattivare Require single sign-on ha effetto dopo 72 ore, e il dominio può essere rimosso a quel punto.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
dashboardOrganizationsRemoveOneDomain

Parametri

NomeInviaObbligatorio?Descrizione
org_idpathobbligatorio
dominiopathobbligatorio
Modello richiesta e risposte
shell · modello richiesta
curl --request DELETE --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/organizations/ORG_ID/domains/DOMAIN'

Risposte

StatoSignificatoCorpo e intestazioni
200Risultato organizzazione.OrganizationDomainRemoved (application/json); intestazioni: Cache-Control
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/members/{user_id}/approver

Imposta il membro approvatore della dashboard

Imposta se un membro può approvare: decidere le revisioni e concedere agli agenti l’accesso Gestisci. Un membro che non può approvare ha i suoi agenti limitati a Propose. Solo il proprietario del progetto o un membro che amministra l’organizzazione del progetto (altrimenti forbidden); la riga del proprietario è fissa (resource_conflict); un non membro è not_found.

Aggiunge project.member_approver_changed (dettagli user_id, can_approve).

Autenticazione
dashboardSession
Corpo della richiesta
MemberApproverUpdate
ID operazione
setDashboardMemberApprover

Parametri

NomeInviaObbligatorio?Descrizione
user_idpathobbligatorio

Campi del corpo della richiesta

CampoDescrizione
can_approve (obbligatorio, booleano)
project_id (opzionale, stringa)Il progetto a cui si riferisce il chiamante; una sessione la cui selezione è cambiata è rifiutata con resource_conflict. minLength: 1 maxLength: 200
Modello richiesta e risposte
shell · modello richiesta
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/members/USER_ID/approver'

Risposte

StatoSignificatoCorpo e intestazioni
200Il membro.MembroDashboard (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/members/{user_id}/screen-scope

Imposta l’ambito degli schermi del membro della dashboard

Limita un membro a cartelle di schermi (ciascuna con ogni cartella al suo interno) e a schermi, oppure sostituisce l’ambito di un membro già limitato (docs/screen-scope.md).

In una sola transazione termina anche gli agenti che la persona ha portato nel progetto (agent.disconnected, come farebbe la loro rimozione) e aggiunge project.member_screen_scope_changed (details user_id, screen_scope, previous, changed_by_user_id). L’ambito viene letto alla richiesta successiva del membro: la modifica compare al suo prossimo GET /api/session senza dover accedere di nuovo.

Solo il proprietario del progetto o un membro che amministra l’organizzazione del progetto (altrimenti forbidden); la riga del proprietario, un uploader (un membro con ambito è limitato agli schermi, un uploader ai contenuti) e un membro che approva le revisioni con singoli schermi nell’ambito sono resource_conflict; un non membro è not_found; un id che non è una cartella di schermi o uno schermo live del progetto è invalid_request in screen_scope.folder_ids[i] o screen_scope.screen_ids[i].

Un membro con ambito che approva le revisioni approva solo dentro l’ambito; uno che non può approvare legge ed esegue comandi ma cambia ciò che viene riprodotto solo tramite approvatori (approver_required).

Un ambito viene rifiutato con resource_conflict anche mentre la persona, o un agente che la persona ha portato, ha un client di servizio live del progetto: il dettaglio nomina fino a cinque client come ID (nome) e conta gli altri, e non viene scritto nulla.

Limitare una persona agli schermi rientra nell’ambito degli schermi, che il piano Enterprise include; un progetto il cui piano ne è privo viene rifiutato con feature_not_in_plan (402). Un ambito impostato continua a limitare la persona finché non viene cancellato (DELETE), operazione consentita in ogni piano.

Autenticazione
dashboardSession
Corpo della richiesta
MemberScreenScopeUpdate
ID operazione
setDashboardMemberScreenScope

Parametri

NomeInviaObbligatorio?Descrizione
user_idpathobbligatorio

Campi del corpo della richiesta

CampoDescrizione
screen_scope (obbligatorio, ScreenScope)

Su che cosa può agire un membro o un agente con ambito (docs/screen-scope.md): gli schermi nelle cartelle di schermi elencate e in ogni cartella al loro interno, e gli schermi elencati. Almeno un id in tutto. Un id che al momento della scrittura non indica alcuna cartella o schermo live del progetto è invalid_request nella sua posizione; un’eliminazione successiva lascia un id morto, che non concede nulla.

L’ambito viene letto a ogni richiesta, quindi una modifica si applica alla successiva. I tag non sono mai ambito.

project_id (opzionale, stringa)Come in MemberApproverUpdate. minLength: 1 maxLength: 200
Modello richiesta e risposte
shell · modello richiesta
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/members/USER_ID/screen-scope'

Risposte

StatoSignificatoCorpo e intestazioni
200Il membro, con screen_scope.MembroDashboard (application/json)
402feature_not_in_plan — L’ambito degli schermi fa parte del piano Enterprise; il problema indica la funzione, il piano dell’account e required_plan.Problema (application/problem+json)
403forbidden - solo il proprietario del progetto o un membro che amministra l’organizzazione del progetto imposta un ambito, e outside_screen_scope per un membro limitato agli schermi; chiedi al proprietario del progetto.Problema (application/problem+json)
409

resource_conflict - la riga del proprietario, un uploader, un approvatore con schermi singoli nell’ambito, oppure un client di servizio live della persona o di un agente che ha portato; revoca ogni client indicato con screenrig service-client revoke ID e imposta di nuovo l’ambito.

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/members/{user_id}/screen-scope

Cancella l’ambito degli schermi del membro della dashboard

Restituisce a un membro con ambito tutti gli schermi del progetto. Solo il proprietario del progetto o un membro che amministra l’organizzazione del progetto; un membro senza ambito resta com’è. Aggiunge project.member_screen_scope_changed con screen_scope null.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
clearDashboardMemberScreenScope

Parametri

NomeInviaObbligatorio?Descrizione
user_idpathobbligatorio
project_idqueryopzionaleIl progetto a cui si riferisce il chiamante; una sessione la cui selezione è cambiata viene rifiutata con resource_conflict.
Modello richiesta e risposte
shell · modello richiesta
curl --request DELETE --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/members/USER_ID/screen-scope'

Risposte

StatoSignificatoCorpo e intestazioni
200Il membro.MembroDashboard (application/json)
403forbidden - solo il proprietario del progetto o un membro che amministra l’organizzazione del progetto imposta un ambito, e outside_screen_scope per un membro limitato agli schermi; chiedi al proprietario del progetto.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/agents/{id}/screen-scope

Imposta l’ambito degli schermi dell’agente della dashboard

Limita l’appartenenza di un agente al progetto della sessione a cartelle di schermi e schermi, oppure ne sostituisce l’ambito (docs/screen-scope.md). La portata dell’agente è questo ambito ristretto da quello della persona responsabile, quindi una persona con ambito non agisce mai tramite un agente più ampio di lei.

Solo il proprietario del progetto o un membro che amministra l’organizzazione del progetto (altrimenti forbidden); un agente che non è membro del progetto è not_found. Aggiunge agent.screen_scope_changed (dettagli agent_id, screen_scope, previous, changed_by_user_id).

L’ambito di un agente si applica alla sua richiesta successiva sull’istanza che lo ha scritto ed entro due secondi sulle altre. Un ambito viene rifiutato con resource_conflict mentre l’agente ha un client di servizio live del progetto: il dettaglio nomina fino a cinque client come ID (nome) e conta gli altri, e non viene scritto nulla.

Limitare un agente agli schermi rientra nell’ambito degli schermi, che il piano Enterprise include; un progetto il cui piano ne è privo viene rifiutato con feature_not_in_plan (402). Un ambito impostato continua a limitare l’agente finché non viene cancellato (DELETE), operazione consentita in ogni piano.

Autenticazione
dashboardSession
Corpo della richiesta
AgentScreenScopeUpdate
ID operazione
setDashboardAgentScreenScope

Parametri

NomeInviaObbligatorio?Descrizione
idpathobbligatorio

Campi del corpo della richiesta

CampoDescrizione
screen_scope (obbligatorio, ScreenScope)

Su che cosa può agire un membro o un agente con ambito (docs/screen-scope.md): gli schermi nelle cartelle di schermi elencate e in ogni cartella al loro interno, e gli schermi elencati. Almeno un id in tutto. Un id che al momento della scrittura non indica alcuna cartella o schermo live del progetto è invalid_request nella sua posizione; un’eliminazione successiva lascia un id morto, che non concede nulla.

L’ambito viene letto a ogni richiesta, quindi una modifica si applica alla successiva. I tag non sono mai ambito.

Modello richiesta e risposte
shell · modello richiesta
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/agents/RESOURCE_ID/screen-scope'

Risposte

StatoSignificatoCorpo e intestazioni
200L’agente, con screen_scope.Agent (application/json)
402feature_not_in_plan — L’ambito degli schermi fa parte del piano Enterprise; il problema indica la funzione, il piano dell’account e required_plan.Problema (application/problem+json)
403forbidden - solo il proprietario del progetto o un membro che amministra l’organizzazione del progetto imposta un ambito, e outside_screen_scope per un membro limitato agli schermi; chiedi al proprietario del progetto.Problema (application/problem+json)
409resource_conflict - l’agente ha un client di servizio live del progetto; revoca ogni client indicato con screenrig service-client revoke ID e imposta di nuovo l’ambito.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/agents/{id}/screen-scope

Cancella l’ambito degli schermi dell’agente della dashboard

Rimuove l’ambito dell’appartenenza di un agente al progetto della sessione. Solo il proprietario del progetto o un membro che amministra l’organizzazione del progetto. Aggiunge agent.screen_scope_changed con screen_scope null.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
clearDashboardAgentScreenScope

Parametri

NomeInviaObbligatorio?Descrizione
idpathobbligatorio
Modello richiesta e risposte
shell · modello richiesta
curl --request DELETE --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/agents/RESOURCE_ID/screen-scope'

Risposte

StatoSignificatoCorpo e intestazioni
200L’agente.Agent (application/json)
403forbidden - solo il proprietario del progetto o un membro che amministra l’organizzazione del progetto imposta un ambito, e outside_screen_scope per un membro limitato agli schermi; chiedi al proprietario del progetto.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/members/{user_id}/upload-scope

Imposta l’ambito di upload del membro della dashboard

Rende un membro un uploader, o sostituisce l’ambito di uno (docs/uploaders.md): le playlist di cui modifica le pagine e le cartelle media in cui carica.

In un’unica transazione impedisce loro anche di approvare revisioni, termina gli agenti che hanno portato nel progetto (agent.disconnected, come farebbe la loro rimozione) e aggiunge project.member_upload_scope_changed (dettagli user_id, upload_scope, changed_by_user_id).

L’ambito viene letto alla richiesta successiva del membro: la modifica compare al suo prossimo GET /api/session senza accedere di nuovo.

Solo il proprietario del progetto o un membro che amministra l’organizzazione del progetto (altrimenti forbidden); la riga del proprietario è resource_conflict; un non membro è not_found; un id che non è una playlist o una cartella media live del progetto è invalid_request in upload_scope.playlist_ids[i] o upload_scope.folder_ids[i]. access propose (il valore predefinito) invia le modifiche dell’uploader in revisione; manage le pubblica.

Un membro limitato agli schermi è resource_conflict: rimuovi prima quell’ambito (DELETE /api/members/{user_id}/screen-scope).

Autenticazione
dashboardSession
Corpo della richiesta
MemberUploadScopeUpdate
ID operazione
setDashboardMemberUploadScope

Parametri

NomeInviaObbligatorio?Descrizione
user_idpathobbligatorio

Campi del corpo della richiesta

CampoDescrizione
upload_scope (obbligatorio, UploadScope)

Ciò che un uploader può usare (docs/uploaders.md): le playlist di cui modifica le pagine e le cartelle media in cui carica. Le cartelle sono esattamente quelle elencate, mai le loro sottocartelle. Un id che al momento della scrittura non indica alcun oggetto attivo del progetto è invalid_request alla sua posizione; una successiva eliminazione lascia un id morto, che non concede nulla.

L’ambito viene letto a ogni richiesta, quindi una modifica si applica alla successiva.

project_id (opzionale, stringa)Come in MemberApproverUpdate. minLength: 1 maxLength: 200
Modello richiesta e risposte
shell · modello richiesta
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/members/USER_ID/upload-scope'

Risposte

StatoSignificatoCorpo e intestazioni
200Il membro, con upload_scope.MembroDashboard (application/json)
402

feature_not_in_plan — un ambito di upload crea un uploader, e il piano del progetto non include gli uploader; required_plan indica il piano che li include. Restringere un ambito e rimuoverlo sono sempre consentiti.

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/members/{user_id}/upload-scope

Cancella l’ambito di upload del membro della dashboard

Rende di nuovo un uploader un membro completo, che non approva revisioni (attivalo con setDashboardMemberApprover). Solo il proprietario del progetto o un membro che amministra l’organizzazione del progetto; un membro che non è un uploader resta com’è. Aggiunge project.member_upload_scope_changed con upload_scope null.

Autenticazione
dashboardSession
Corpo della richiesta
nessuno
ID operazione
clearDashboardMemberUploadScope

Parametri

NomeInviaObbligatorio?Descrizione
user_idpathobbligatorio
project_idqueryopzionaleIl progetto a cui si riferisce il chiamante; una sessione la cui selezione è cambiata viene rifiutata con resource_conflict.
Modello richiesta e risposte
shell · modello richiesta
curl --request DELETE --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/members/USER_ID/upload-scope'

Risposte

StatoSignificatoCorpo e intestazioni
200Il membro.MembroDashboard (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)