Riferimento API

API Applicazioni

Applicazioni e operazioni

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

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

Applicazioni e operazioni

GET/api/applications

Elenca applicazioni

Elenca le applicazioni dalla più recente, massimo 500 per pagina. I nomi sono etichette e non devono essere unici; indirizza un’applicazione per ID. next_cursor è la posizione dell’ultima riga restituita mentre ci sono altre righe; passalo come after, con gli stessi filtri, per la pagina successiva. next_cursor è null nell’ultima pagina

Autenticazione
projectBearer O dashboardSession
Corpo della richiesta
nessuno
ID operazione
listApplications

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

Risposte

StatoSignificatoCorpo e intestazioni
200ApplicazioniApplicationList (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/applications

Carica applicazione

Flussi un tar.gz prodotto da CLI direttamente in staging durevole limitato. I metadati sono negli header così l’archivio non è mai codificato base64 o materializzato come JSON dal server.

Il proxy davanti all’API termina una richiesta a cui non ha risposto entro circa 100 s, quindi un archivio grande su un uplink lento fallisce qui; POST /api/applications/uploads invia invece l’archivio direttamente all’archivio oggetti.

Autenticazione
projectBearer
Corpo della richiesta
string
ID operazione
uploadApplication

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.
Idempotency-Keyintestazioneobbligatorio
ScreenRig-Archive-SHA256intestazioneobbligatorio
ScreenRig-Expanded-Bytesintestazioneobbligatorio
ScreenRig-File-Countintestazioneobbligatorio
ScreenRig-SDK-Versionintestazioneopzionale
ScreenRig-Application-Nameintestazioneopzionale

Nome applicazione ASCII; mutuamente esclusivo con ScreenRig-Application-Name*. Spazi iniziali e finali sono rimossi. Controlli e valori header duplicati sono rifiutati. Il nome decodificato è limitato a 120 valori scalari Unicode.

ScreenRig-Application-Name*intestazioneopzionale

Nome applicazione Unicode codificato come RFC 8187 UTF-8'' seguito da byte UTF-8 percent-encoded (lingua vuota, charset UTF-8 esatto). Esclusivo con ScreenRig-Application-Name. Escape non validi, UTF-8 non valido, controlli e valori duplicati nell’intestazione sono rifiutati.

Gli spazi bianchi iniziali e finali vengono rimossi; il nome decodificato è limitato a 120 valori scalari Unicode. Nessuna intestazione nome può rinominare un aggiornamento di rilascio. Questo evita Unicode grezzo nei valori delle intestazioni HTTP.

Modello richiesta e risposte
shell · modello richiesta
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Idempotency-Key: REQUEST_ID' --header 'ScreenRig-Archive-SHA256: VALUE' --header 'ScreenRig-Expanded-Bytes: VALUE' --header 'ScreenRig-File-Count: VALUE' --header 'Content-Type: application/gzip' --data-binary '@request.bin' 'https://screenrig.ai/api/applications'

Risposte

StatoSignificatoCorpo e intestazioni
202Caricamento accettatoOperazione accettata (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)
POST/api/applications/{id}/releases

Carica rilascio applicazione

Pubblica una nuova versione immutabile di un'applicazione di proprietà usando la stessa pipeline di caricamento tar.gz vincolata. If-Match protegge la revisione dell'applicazione; l'accettazione la incrementa, e la pubblicazione riuscita la incrementa di nuovo quando latest_ready_release cambia. Nome e identità dell'applicazione sono preservati. I pin di rilascio della playlist esistenti non vengono modificati.

Un retry idempotente identico restituisce l’operazione originale anche dopo modifiche di revisione. Il proxy davanti all’API termina una richiesta a cui non ha risposto entro circa 100 s, quindi un archivio grande su un uplink lento fallisce qui; POST /api/applications/{id}/uploads invia invece l’archivio direttamente all’archivio oggetti.

Autenticazione
projectBearer
Corpo della richiesta
string
ID operazione
uploadApplicationRelease

Parametri

NomeInviaObbligatorio?Descrizione
ScreenRig-ProjectintestazioneopzionaleDeprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token.
idpathobbligatorio
If-MatchintestazioneopzionaleRevisione positiva opzionale della risorsa. Ometti per scrivere la risorsa corrente; una revisione obsoleta fornita è revision_conflict.
Idempotency-Keyintestazioneobbligatorio
ScreenRig-Archive-SHA256intestazioneobbligatorio
ScreenRig-Expanded-Bytesintestazioneobbligatorio
ScreenRig-File-Countintestazioneobbligatorio
ScreenRig-SDK-Versionintestazioneopzionale
Modello richiesta e risposte
shell · modello richiesta
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Idempotency-Key: REQUEST_ID' --header 'ScreenRig-Archive-SHA256: VALUE' --header 'ScreenRig-Expanded-Bytes: VALUE' --header 'ScreenRig-File-Count: VALUE' --header 'Content-Type: application/gzip' --data-binary '@request.bin' 'https://api.screenrig.ai/api/applications/RESOURCE_ID/releases'

Risposte

StatoSignificatoCorpo e intestazioni
202Caricamento accettatoOperazione accettata (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)
POST/api/applications/uploads

Crea caricamento applicazione

Dichiara un caricamento diretto di un tar.gz prodotto dalla CLI che crea una nuova applicazione. La risposta è un’autorizzazione firmata per esattamente un PUT di oggetto dell’archivio, quindi i byte vanno direttamente all’archivio oggetti e mai attraverso l’API, il cui proxy termina una richiesta a cui non ha risposto entro circa 100 s.

Invia l’archivio con PUT a upload_url, poi conferma con POST /api/applications/uploads/{id}/commit e attendi l’operazione. L’applicazione, la sua versione e l’operazione ricevente esistono da questa risposta, come dopo POST /api/applications. Un caricamento non confermato entro 24 ore fallisce, e un’applicazione che non ha mai pubblicato una versione viene rimossa.

La stessa Idempotency-Key e lo stesso corpo restituiscono lo stesso caricamento con un URL appena firmato. GET /api/capabilities imposta features.application_direct_uploads dove queste route sono servite.

Autenticazione
projectBearer
Corpo della richiesta
ApplicationUploadDeclaration
ID operazione
createApplicationUpload

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.
Idempotency-Keyintestazioneobbligatorio

Campi del corpo della richiesta

CampoDescrizione
nome (opzionale, stringa)

Nome di una nuova applicazione, tagliato; al massimo 120 caratteri Unicode e nessun controllo. Omesso o vuoto seleziona un nome generato. Una dichiarazione di versione (POST /api/applications/{id}/uploads) non deve portarne uno. maxLength: 120

sha256 (obbligatorio, stringa)SHA-256 dei byte dell’archivio. pattern: "^[0-9a-f]{64}$"
compressed_bytes (obbligatorio, intero)Dimensione dell’archivio in byte. minimo: 1 massimo: 104857600
expanded_bytes (obbligatorio, intero)minimo: 1 massimo: 262144000
file_count (obbligatorio, intero)minimo: 1 massimo: 5000
sdk_version (opzionale, stringa)maxLength: 64
Modello richiesta e risposte
shell · modello richiesta
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/applications/uploads'

Risposte

StatoSignificatoCorpo e intestazioni
201Autorizzazione firmata per esattamente un PUT di oggetto dell’archivio. Invia il metodo restituito e ogni intestazione restituita testualmente; il PUT deve iniziare prima di expires_at, due ore dopo la dichiarazione.ApplicationUploadSession (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)
POST/api/applications/{id}/uploads

Crea caricamento versione applicazione

Dichiara un caricamento diretto di una nuova versione immutabile di un’applicazione posseduta, con risposta come POST /api/applications/uploads. If-Match protegge la revisione dell’applicazione come su POST /api/applications/{id}/releases, e l’accettazione la incrementa. Il corpo non porta alcun nome; una versione conserva il nome della sua applicazione. I pin di versione di playlist esistenti non vengono modificati.

Autenticazione
projectBearer
Corpo della richiesta
ApplicationUploadDeclaration
ID operazione
createApplicationReleaseUpload

Parametri

NomeInviaObbligatorio?Descrizione
ScreenRig-ProjectintestazioneopzionaleDeprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token.
idpathobbligatorio
If-MatchintestazioneopzionaleRevisione positiva opzionale della risorsa. Ometti per scrivere la risorsa corrente; una revisione obsoleta fornita è revision_conflict.
Idempotency-Keyintestazioneobbligatorio

Campi del corpo della richiesta

CampoDescrizione
nome (opzionale, stringa)

Nome di una nuova applicazione, tagliato; al massimo 120 caratteri Unicode e nessun controllo. Omesso o vuoto seleziona un nome generato. Una dichiarazione di versione (POST /api/applications/{id}/uploads) non deve portarne uno. maxLength: 120

sha256 (obbligatorio, stringa)SHA-256 dei byte dell’archivio. pattern: "^[0-9a-f]{64}$"
compressed_bytes (obbligatorio, intero)Dimensione dell’archivio in byte. minimo: 1 massimo: 104857600
expanded_bytes (obbligatorio, intero)minimo: 1 massimo: 262144000
file_count (obbligatorio, intero)minimo: 1 massimo: 5000
sdk_version (opzionale, stringa)maxLength: 64
Modello richiesta e risposte
shell · modello richiesta
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/applications/RESOURCE_ID/uploads'

Risposte

StatoSignificatoCorpo e intestazioni
201Autorizzazione firmata per esattamente un PUT di oggetto dell’archivio. Invia il metodo restituito e ogni intestazione restituita testualmente; il PUT deve iniziare prima di expires_at, due ore dopo la dichiarazione.ApplicationUploadSession (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)
POST/api/applications/uploads/{id}/commit

Commit Application Upload

Conferma un caricamento diretto di applicazione una volta terminato il suo PUT. Il server verifica l’archivio preparato rispetto alla dichiarazione (la sua dimensione e il checksum SHA-256 che l’archivio oggetti ha preso con il PUT), lo copia nella propria area di preparazione caricamenti e mette in coda la pubblicazione.

Attendi l’Operation restituita con GET /api/operations/{id} finché è succeeded o failed, come dopo POST /api/applications. Un commit prima che il PUT finisca risponde invalid_request e non cambia nulla, quindi può essere inviato di nuovo; byte preparati che differiscono dalla dichiarazione fanno fallire il caricamento. Un commit ripetuto risponde la stessa operazione.

Autenticazione
projectBearer
Corpo della richiesta
ApplicationUploadCommit
ID operazione
commitApplicationUpload

Parametri

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

Campi del corpo della richiesta

CampoDescrizione
sha256 (obbligatorio, stringa)pattern: "^[0-9a-f]{64}$"
compressed_bytes (obbligatorio, intero)minimo: 1 massimo: 104857600
Modello richiesta e risposte
shell · modello richiesta
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/applications/uploads/RESOURCE_ID/commit'

Risposte

StatoSignificatoCorpo e intestazioni
202L’archivio è preparato e la sua pubblicazione è in coda.Operazione (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/applications/{id}

Ottieni app

Autenticazione
projectBearer O dashboardSession
Corpo della richiesta
nessuno
ID operazione
getApplication

Parametri

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

Risposte

StatoSignificatoCorpo e intestazioni
200ApplicazioneApplicazione (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/applications/{id}

Rinomina app

Modifica il nome visualizzato di un’applicazione di proprietà del progetto autenticato. I nomi sono trimmati, contengono da 1 a 120 caratteri Unicode senza controlli e possono ripetersi all’interno di un progetto. Identità dell’app, release, dati K/V e pin di rilascio playlist sono preservati.

Un nome modificato avanza la revisione dell’applicazione ed emette application.updated; lo stesso nome è un’operazione nulla. If-Match protegge opzionalmente la revisione. Un ritentativo idempotente identico restituisce la risposta originale dopo modifiche successive ai metadati.

Autenticazione
projectBearer
Corpo della richiesta
Rinomina applicazione
ID operazione
renameApplication

Parametri

NomeInviaObbligatorio?Descrizione
ScreenRig-ProjectintestazioneopzionaleDeprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token.
idpathobbligatorio
If-MatchintestazioneopzionaleRevisione positiva opzionale della risorsa. Ometti per scrivere la risorsa corrente; una revisione obsoleta fornita è revision_conflict.
Idempotency-KeyintestazioneopzionaleOmetti per un’operazione fresca. Fornisci e riutilizza una chiave per deduplicare i retry; la CLI gestisce automaticamente le chiavi.

Campi del corpo della richiesta

CampoDescrizione
nome (obbligatorio, stringa)Nome schermo dopo il trim; controlli e nomi vuoti sono rifiutati. minLength: 1 maxLength: 120
Modello richiesta e risposte
shell · modello richiesta
curl --request PATCH --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/applications/RESOURCE_ID'

Risposte

StatoSignificatoCorpo e intestazioni
200App rinominata.Applicazione (application/json); intestazioni: ETag
412revision_conflict — If-Match è obsoleto; current_revision dell’errore riporta la revisione corrente.Problema (application/problem+json)
predefinito

Risposta problema stabile RFC 9457. Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

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

Elimina app

Tombstone un’applicazione di proprietà del progetto autenticato e tutte le sue release. Il titolare del progetto è autorevole; un id sconosciuto o di altro progetto è not_found. If-Match protegge la revisione dell’applicazione. Un riferimento a manifest live blocca l’eliminazione con application_in_use; non esiste percorso di eliminazione forzata.

Autenticazione
projectBearer O dashboardSession
Corpo della richiesta
nessuno
ID operazione
deleteApplication

Parametri

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

Risposte

StatoSignificatoCorpo e intestazioni
204Applicazione e rilasci archiviati.nessun corpo
409application_in_use — un manifesto attivo fa ancora riferimento a una delle release dell'applicazione.Problema (application/problem+json)
412revision_conflict — If-Match è obsoleto; current_revision dell’errore riporta la revisione corrente.Problema (application/problem+json)
predefinito

Risposta problema stabile RFC 9457. Un 421 server_draining ha Retry-After di 1 secondo, un 500 not_ready o dependency_unavailable ha 5, e un 500 manifest_degraded ha 60, salvo valore più specifico impostato dal gestore.

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

Ottieni operazione

Autenticazione
projectBearer O dashboardSession
Corpo della richiesta
nessuno
ID operazione
getOperation

Parametri

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

Risposte

StatoSignificatoCorpo e intestazioni
200OperazioneOperazione (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/operations/{id}/cancel

Annulla operazione

Autenticazione
projectBearer
Corpo della richiesta
nessuno
ID operazione
cancelOperation

Parametri

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

Risposte

StatoSignificatoCorpo e intestazioni
200Operazione duratura annullata. Una barriera di lavoro corrente non può più finalizzarla.Operazione (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)