OpenAPI YAMLOpenAPI JSONproblemi YAMLPanoramica dell’API
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
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
Parametri
| Nome | Invia | Obbligatorio? | Descrizione |
|---|---|---|---|
| ScreenRig-Project | intestazione | opzionale | Deprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token. |
| dopo | query | opzionale | next_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
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/applications'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 200 | Applicazioni | ApplicationList (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) |
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.
Parametri
| Nome | Invia | Obbligatorio? | Descrizione |
|---|---|---|---|
| ScreenRig-Project | intestazione | opzionale | Deprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token. |
| Idempotency-Key | intestazione | obbligatorio | |
| ScreenRig-Archive-SHA256 | intestazione | obbligatorio | |
| ScreenRig-Expanded-Bytes | intestazione | obbligatorio | |
| ScreenRig-File-Count | intestazione | obbligatorio | |
| ScreenRig-SDK-Version | intestazione | opzionale | |
| ScreenRig-Application-Name | intestazione | opzionale | 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* | intestazione | opzionale | 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
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
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 202 | Caricamento accettato | Operazione 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) |
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.
Parametri
| Nome | Invia | Obbligatorio? | Descrizione |
|---|---|---|---|
| ScreenRig-Project | intestazione | opzionale | Deprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token. |
| id | path | obbligatorio | |
| If-Match | intestazione | opzionale | Revisione positiva opzionale della risorsa. Ometti per scrivere la risorsa corrente; una revisione obsoleta fornita è revision_conflict. |
| Idempotency-Key | intestazione | obbligatorio | |
| ScreenRig-Archive-SHA256 | intestazione | obbligatorio | |
| ScreenRig-Expanded-Bytes | intestazione | obbligatorio | |
| ScreenRig-File-Count | intestazione | obbligatorio | |
| ScreenRig-SDK-Version | intestazione | opzionale |
Modello richiesta e risposte
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
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 202 | Caricamento accettato | Operazione 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) |
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.
Parametri
| Nome | Invia | Obbligatorio? | Descrizione |
|---|---|---|---|
| ScreenRig-Project | intestazione | opzionale | Deprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token. |
| Idempotency-Key | intestazione | obbligatorio |
Campi del corpo della richiesta
| Campo | Descrizione |
|---|---|
| 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
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
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 201 | Autorizzazione 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) |
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.
Parametri
| Nome | Invia | Obbligatorio? | Descrizione |
|---|---|---|---|
| ScreenRig-Project | intestazione | opzionale | Deprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token. |
| id | path | obbligatorio | |
| If-Match | intestazione | opzionale | Revisione positiva opzionale della risorsa. Ometti per scrivere la risorsa corrente; una revisione obsoleta fornita è revision_conflict. |
| Idempotency-Key | intestazione | obbligatorio |
Campi del corpo della richiesta
| Campo | Descrizione |
|---|---|
| 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
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
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 201 | Autorizzazione 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) |
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.
Parametri
| Nome | Invia | Obbligatorio? | Descrizione |
|---|---|---|---|
| ScreenRig-Project | intestazione | opzionale | Deprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token. |
| id | path | obbligatorio | |
| Idempotency-Key | intestazione | obbligatorio |
Campi del corpo della richiesta
| Campo | Descrizione |
|---|---|
| sha256 (obbligatorio, stringa) | pattern: "^[0-9a-f]{64}$" |
| compressed_bytes (obbligatorio, intero) | minimo: 1 massimo: 104857600 |
Modello richiesta e risposte
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
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 202 | L’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) |
Ottieni app
Parametri
| Nome | Invia | Obbligatorio? | Descrizione |
|---|---|---|---|
| ScreenRig-Project | intestazione | opzionale | Deprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token. |
| id | path | obbligatorio |
Modello richiesta e risposte
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/applications/RESOURCE_ID'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 200 | Applicazione | Applicazione (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) |
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.
Parametri
| Nome | Invia | Obbligatorio? | Descrizione |
|---|---|---|---|
| ScreenRig-Project | intestazione | opzionale | Deprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token. |
| id | path | obbligatorio | |
| If-Match | intestazione | opzionale | Revisione positiva opzionale della risorsa. Ometti per scrivere la risorsa corrente; una revisione obsoleta fornita è revision_conflict. |
| Idempotency-Key | intestazione | opzionale | Ometti per un’operazione fresca. Fornisci e riutilizza una chiave per deduplicare i retry; la CLI gestisce automaticamente le chiavi. |
Campi del corpo della richiesta
| Campo | Descrizione |
|---|---|
| nome (obbligatorio, stringa) | Nome schermo dopo il trim; controlli e nomi vuoti sono rifiutati. minLength: 1 maxLength: 120 |
Modello richiesta e risposte
curl --request PATCH --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/applications/RESOURCE_ID'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 200 | App rinominata. | Applicazione (application/json); intestazioni: ETag |
| 412 | revision_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 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.
Parametri
| Nome | Invia | Obbligatorio? | Descrizione |
|---|---|---|---|
| ScreenRig-Project | intestazione | opzionale | Deprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token. |
| id | path | obbligatorio | |
| If-Match | intestazione | opzionale | Revisione positiva opzionale della risorsa. Ometti per scrivere la risorsa corrente; una revisione obsoleta fornita è revision_conflict. |
| Idempotency-Key | intestazione | opzionale | Ometti per un’operazione fresca. Fornisci e riutilizza una chiave per deduplicare i retry; la CLI gestisce automaticamente le chiavi. |
Modello richiesta e risposte
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/applications/RESOURCE_ID'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 204 | Applicazione e rilasci archiviati. | nessun corpo |
| 409 | application_in_use — un manifesto attivo fa ancora riferimento a una delle release dell'applicazione. | Problema (application/problem+json) |
| 412 | revision_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) |
Ottieni operazione
Parametri
| Nome | Invia | Obbligatorio? | Descrizione |
|---|---|---|---|
| ScreenRig-Project | intestazione | opzionale | Deprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token. |
| id | path | obbligatorio |
Modello richiesta e risposte
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/operations/RESOURCE_ID'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 200 | Operazione | 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) |
Annulla operazione
Parametri
| Nome | Invia | Obbligatorio? | Descrizione |
|---|---|---|---|
| ScreenRig-Project | intestazione | opzionale | Deprecato per una release. Deve essere coerente con le concessioni JWT dei progetti; aggiunge intestazioni Deprecation e Warning. Nessuno scambio di token. |
| id | path | obbligatorio | |
| Idempotency-Key | intestazione | obbligatorio |
Modello richiesta e risposte
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Idempotency-Key: REQUEST_ID' 'https://api.screenrig.ai/api/operations/RESOURCE_ID/cancel'Risposte
| Stato | Significato | Corpo e intestazioni |
|---|---|---|
| 200 | Operazione 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) |