OpenAPI YAMLOpenAPI JSONproblèmes YAMLVue d’ensemble de l’API
Ce groupe compte 11 opérations, générées à partir de api/openapi.yaml. Filtrez par chemin, action ou authentification. Chaque point de terminaison liste ses entrées ; développez-le pour voir un modèle de requête et les codes de réponse. Les modèles demandent vos propres valeurs et un corps conforme au schéma.
Remplacez les espaces réservés en majuscules par vos valeurs. Pour une requête JSON, enregistrez un corps correspondant au schéma dans request.json. Les exemples de cookies utilisent un pot à cookies local issu d’une session authentifiée.
Applications et opérations
Lister les applications
Liste les applications, les plus récentes d’abord, au maximum 500 par page. Les noms sont des étiquettes et ne doivent pas être uniques ; adressez une application par son identifiant. next_cursor est la position de la dernière ligne retournée tant qu’il reste des lignes ; renvoyez-le comme after, avec les mêmes filtres, pour la page suivante. next_cursor est null à la dernière page.
Paramètres
| Nom | Envoyer | Requis ? | Description |
|---|---|---|---|
| ScreenRig-Project | en-tête | optionnel | Obsolète pour une version. Doit être cohérent avec les droits JWT des projets ; ajoute les en-têtes Deprecation et Warning. Pas d’échange de jeton. |
| après | requête | optionnel | next_cursor de la page précédente de la même liste, avec les mêmes filtres. Omission commence à la ligne la plus récente. Une valeur qui n’est pas un tel curseur est invalid_request. |
Modèle de requête et réponses
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/applications'Réponses
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 200 | Applications | ApplicationList (application/json) |
| par défaut | Réponse stable RFC 9457 à un problème. Un 421 server_draining porte un Retry-After de 1 seconde, un 500 not_ready ou dependency_unavailable porte 5, et un 500 manifest_degraded porte 60, sauf si le gestionnaire a défini une valeur plus spécifique. | Problème (application/problem+json) |
Téléverser l’application
Diffuse un tar.gz produit par CLI directement dans une mise en scène durable bornée. Les métadonnées sont dans les en-têtes, donc l’archive n’est jamais enveloppée en base64 ni matérialisée en JSON par le serveur.
Le proxy devant l’API met fin à une requête à laquelle il n’a pas répondu en environ 100 s, donc une grande archive sur une liaison montante lente échoue ici ; POST /api/applications/uploads envoie plutôt l’archive directement au magasin d’objets.
Paramètres
| Nom | Envoyer | Requis ? | Description |
|---|---|---|---|
| ScreenRig-Project | en-tête | optionnel | Obsolète pour une version. Doit être cohérent avec les droits JWT des projets ; ajoute les en-têtes Deprecation et Warning. Pas d’échange de jeton. |
| Idempotency-Key | en-tête | obligatoire | |
| ScreenRig-Archive-SHA256 | en-tête | obligatoire | |
| ScreenRig-Expanded-Bytes | en-tête | obligatoire | |
| ScreenRig-File-Count | en-tête | obligatoire | |
| ScreenRig-SDK-Version | en-tête | optionnel | |
| ScreenRig-Application-Name | en-tête | optionnel | Nom ASCII de l’application ; exclusif avec ScreenRig-Application-Name*. Les espaces en début et fin sont supprimés. Les contrôles et valeurs d’en-tête dupliquées sont rejetés. Le nom décodé est limité à 120 valeurs scalaires Unicode. |
| ScreenRig-Application-Name* | en-tête | optionnel | Nom d’application Unicode encodé en RFC 8187 UTF-8'' suivi d’octets UTF-8 encodés en pourcentage (langue vide, jeu de caractères UTF-8 exact). Mutuellement exclusif avec ScreenRig-Application-Name. Les échappements invalides, UTF-8 invalide, contrôles et valeurs d’en-tête en double sont rejetés. Les espaces blancs en début et fin sont supprimés ; le nom décodé est limité à 120 valeurs scalaires Unicode. Aucun en-tête de nom ne peut renommer une mise à jour de version. Cela évite les Unicode bruts dans les valeurs d’en-tête HTTP. |
Modèle de requête et réponses
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'Réponses
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 202 | Téléversement accepté | Opération acceptée (application/json) ; en-têtes : RateLimit-Policy, RateLimit |
| par défaut | Réponse stable RFC 9457 à un problème. Un 421 server_draining porte un Retry-After de 1 seconde, un 500 not_ready ou dependency_unavailable porte 5, et un 500 manifest_degraded porte 60, sauf si le gestionnaire a défini une valeur plus spécifique. | Problème (application/problem+json) |
Téléverser la version de l’application
Publie une nouvelle version immuable d’une application possédée en utilisant la même chaîne de téléversement tar.gz liée. If-Match protège la révision de l’application ; l’acceptation l’incrémente, et la publication réussie l’incrémente à nouveau lorsque latest_ready_release change. Le nom et l’identité de l’application sont conservés. Les épingles de version de liste de lecture existantes ne sont pas modifiées.
Une nouvelle tentative idempotente identique renvoie l’opération originale même après des modifications de révision. Le proxy devant l’API met fin à une requête à laquelle il n’a pas répondu en environ 100 s, donc une grande archive sur une liaison montante lente échoue ici ; POST /api/applications/{id}/uploads envoie plutôt l’archive directement au magasin d’objets.
Paramètres
| Nom | Envoyer | Requis ? | Description |
|---|---|---|---|
| ScreenRig-Project | en-tête | optionnel | Obsolète pour une version. Doit être cohérent avec les droits JWT des projets ; ajoute les en-têtes Deprecation et Warning. Pas d’échange de jeton. |
| id | chemin | obligatoire | |
| If-Match | en-tête | optionnel | Révision positive optionnelle de ressource. Omettre pour écrire la ressource actuelle ; une révision périmée fournie est revision_conflict. |
| Idempotency-Key | en-tête | obligatoire | |
| ScreenRig-Archive-SHA256 | en-tête | obligatoire | |
| ScreenRig-Expanded-Bytes | en-tête | obligatoire | |
| ScreenRig-File-Count | en-tête | obligatoire | |
| ScreenRig-SDK-Version | en-tête | optionnel |
Modèle de requête et réponses
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'Réponses
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 202 | Téléversement accepté | Opération acceptée (application/json) ; en-têtes : RateLimit-Policy, RateLimit |
| par défaut | Réponse stable RFC 9457 à un problème. Un 421 server_draining porte un Retry-After de 1 seconde, un 500 not_ready ou dependency_unavailable porte 5, et un 500 manifest_degraded porte 60, sauf si le gestionnaire a défini une valeur plus spécifique. | Problème (application/problem+json) |
Créer un téléversement d’application
Déclare un téléversement direct d’un tar.gz produit par la CLI qui crée une nouvelle application. La réponse est une autorisation signée pour exactement un PUT d’objet de l’archive, donc les octets vont directement au magasin d’objets et ne passent jamais par l’API, dont le proxy met fin à une requête à laquelle il n’a pas répondu en environ 100 s.
Envoyez l’archive par PUT à upload_url, puis validez avec POST /api/applications/uploads/{id}/commit et attendez l’opération. L’application, sa version et l’opération de réception existent dès cette réponse, comme après POST /api/applications. Un téléversement non validé dans les 24 heures échoue, et une application qui n’a jamais publié de version est supprimée.
La même Idempotency-Key et le même corps renvoient le même téléversement avec une URL fraîchement signée. GET /api/capabilities définit features.application_direct_uploads là où ces routes sont servies.
Paramètres
| Nom | Envoyer | Requis ? | Description |
|---|---|---|---|
| ScreenRig-Project | en-tête | optionnel | Obsolète pour une version. Doit être cohérent avec les droits JWT des projets ; ajoute les en-têtes Deprecation et Warning. Pas d’échange de jeton. |
| Idempotency-Key | en-tête | obligatoire |
Champs du corps de la requête
| Champ | Description |
|---|---|
| nom (optionnel, chaîne) | Nom d’une nouvelle application, rogné ; au plus 120 caractères Unicode et aucun caractère de contrôle. Omis ou vide sélectionne un nom généré. Une déclaration de version (POST /api/applications/{id}/uploads) ne doit pas en porter un. maxLength: 120 |
| sha256 (obligatoire, chaîne) | SHA-256 des octets de l’archive. pattern: "^[0-9a-f]{64}$" |
| compressed_bytes (obligatoire, entier) | Taille de l’archive en octets. minimum : 1 maximum : 104 857 600 |
| expanded_bytes (obligatoire, entier) | minimum : 1 maximum : 262 144 000 |
| file_count (obligatoire, entier) | minimum : 1 maximum : 5 000 |
| sdk_version (optionnel, chaîne) | maxLength : 64 |
Modèle de requête et réponses
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'Réponses
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 201 | Autorisation signée pour exactement un PUT d’objet de l’archive. Envoyez la méthode retournée et chaque en-tête retourné textuellement ; le PUT doit commencer avant expires_at, deux heures après la déclaration. | ApplicationUploadSession (application/json) ; en-têtes : Cache-Control, RateLimit-Policy, RateLimit |
| par défaut | Réponse stable RFC 9457 à un problème. Un 421 server_draining porte un Retry-After de 1 seconde, un 500 not_ready ou dependency_unavailable porte 5, et un 500 manifest_degraded porte 60, sauf si le gestionnaire a défini une valeur plus spécifique. | Problème (application/problem+json) |
Créer un téléversement de version d’application
Déclare un téléversement direct d’une nouvelle version immuable d’une application possédée, avec une réponse comme pour POST /api/applications/uploads. If-Match protège la révision de l’application comme sur POST /api/applications/{id}/releases, et l’acceptation l’incrémente. Le corps ne porte aucun nom ; une version conserve le nom de son application. Les épinglages de version de listes de lecture existants ne sont pas modifiés.
Paramètres
| Nom | Envoyer | Requis ? | Description |
|---|---|---|---|
| ScreenRig-Project | en-tête | optionnel | Obsolète pour une version. Doit être cohérent avec les droits JWT des projets ; ajoute les en-têtes Deprecation et Warning. Pas d’échange de jeton. |
| id | chemin | obligatoire | |
| If-Match | en-tête | optionnel | Révision positive optionnelle de ressource. Omettre pour écrire la ressource actuelle ; une révision périmée fournie est revision_conflict. |
| Idempotency-Key | en-tête | obligatoire |
Champs du corps de la requête
| Champ | Description |
|---|---|
| nom (optionnel, chaîne) | Nom d’une nouvelle application, rogné ; au plus 120 caractères Unicode et aucun caractère de contrôle. Omis ou vide sélectionne un nom généré. Une déclaration de version (POST /api/applications/{id}/uploads) ne doit pas en porter un. maxLength: 120 |
| sha256 (obligatoire, chaîne) | SHA-256 des octets de l’archive. pattern: "^[0-9a-f]{64}$" |
| compressed_bytes (obligatoire, entier) | Taille de l’archive en octets. minimum : 1 maximum : 104 857 600 |
| expanded_bytes (obligatoire, entier) | minimum : 1 maximum : 262 144 000 |
| file_count (obligatoire, entier) | minimum : 1 maximum : 5 000 |
| sdk_version (optionnel, chaîne) | maxLength : 64 |
Modèle de requête et réponses
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'Réponses
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 201 | Autorisation signée pour exactement un PUT d’objet de l’archive. Envoyez la méthode retournée et chaque en-tête retourné textuellement ; le PUT doit commencer avant expires_at, deux heures après la déclaration. | ApplicationUploadSession (application/json) ; en-têtes : Cache-Control, RateLimit-Policy, RateLimit |
| par défaut | Réponse stable RFC 9457 à un problème. Un 421 server_draining porte un Retry-After de 1 seconde, un 500 not_ready ou dependency_unavailable porte 5, et un 500 manifest_degraded porte 60, sauf si le gestionnaire a défini une valeur plus spécifique. | Problème (application/problem+json) |
Valider téléversement d’application
Valide un téléversement direct d’application une fois son PUT terminé. Le serveur vérifie l’archive préparée par rapport à la déclaration (sa taille et la somme de contrôle SHA-256 que le magasin d’objets a prise avec le PUT), la copie dans sa propre zone de préparation de téléversement et met la publication en file d’attente.
Attendez l’Operation retournée avec GET /api/operations/{id} jusqu’à ce qu’elle soit succeeded ou failed, comme après POST /api/applications. Une validation avant la fin du PUT répond invalid_request et ne change rien, donc elle peut être envoyée à nouveau ; des octets préparés qui diffèrent de la déclaration font échouer le téléversement. Une validation répétée répond la même opération.
Paramètres
| Nom | Envoyer | Requis ? | Description |
|---|---|---|---|
| ScreenRig-Project | en-tête | optionnel | Obsolète pour une version. Doit être cohérent avec les droits JWT des projets ; ajoute les en-têtes Deprecation et Warning. Pas d’échange de jeton. |
| id | chemin | obligatoire | |
| Idempotency-Key | en-tête | obligatoire |
Champs du corps de la requête
| Champ | Description |
|---|---|
| sha256 (obligatoire, chaîne) | modèle : "^[0-9a-f]{64}$" |
| compressed_bytes (obligatoire, entier) | minimum : 1 maximum : 104 857 600 |
Modèle de requête et réponses
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'Réponses
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 202 | L’archive est préparée et sa publication est mise en file d’attente. | Opération (application/json) |
| par défaut | Réponse stable RFC 9457 à un problème. Un 421 server_draining porte un Retry-After de 1 seconde, un 500 not_ready ou dependency_unavailable porte 5, et un 500 manifest_degraded porte 60, sauf si le gestionnaire a défini une valeur plus spécifique. | Problème (application/problem+json) |
Obtenir l’application
Paramètres
| Nom | Envoyer | Requis ? | Description |
|---|---|---|---|
| ScreenRig-Project | en-tête | optionnel | Obsolète pour une version. Doit être cohérent avec les droits JWT des projets ; ajoute les en-têtes Deprecation et Warning. Pas d’échange de jeton. |
| id | chemin | obligatoire |
Modèle de requête et réponses
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/applications/RESOURCE_ID'Réponses
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 200 | Application | Application (application/json) |
| par défaut | Réponse stable RFC 9457 à un problème. Un 421 server_draining porte un Retry-After de 1 seconde, un 500 not_ready ou dependency_unavailable porte 5, et un 500 manifest_degraded porte 60, sauf si le gestionnaire a défini une valeur plus spécifique. | Problème (application/problem+json) |
Renommer l’application
Modifie le nom d’affichage d’une application appartenant au projet authentifié. Les noms sont tronqués, contiennent de 1 à 120 caractères Unicode sans contrôles, et peuvent se répéter dans un projet. L’identité de l’application, les versions, les données K/V et les épingles de version de liste de lecture sont conservées.
Un nom modifié fait avancer la révision de l’application et émet application.updated ; le même nom est une opération sans effet. If-Match protège optionnellement la révision. Une nouvelle tentative idempotente identique renvoie la réponse originale après des modifications ultérieures des métadonnées.
Paramètres
| Nom | Envoyer | Requis ? | Description |
|---|---|---|---|
| ScreenRig-Project | en-tête | optionnel | Obsolète pour une version. Doit être cohérent avec les droits JWT des projets ; ajoute les en-têtes Deprecation et Warning. Pas d’échange de jeton. |
| id | chemin | obligatoire | |
| If-Match | en-tête | optionnel | Révision positive optionnelle de ressource. Omettre pour écrire la ressource actuelle ; une révision périmée fournie est revision_conflict. |
| Idempotency-Key | en-tête | optionnel | Omettre pour une opération fraîche. Fournissez et réutilisez une clé pour dédupliquer les tentatives ; le CLI gère les clés automatiquement. |
Champs du corps de la requête
| Champ | Description |
|---|---|
| nom (obligatoire, chaîne) | Nom d’écran après suppression des espaces; contrôles et noms vides rejetés. minLength : 1 maxLength : 120 |
Modèle de requête et réponses
curl --request PATCH --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/applications/RESOURCE_ID'Réponses
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 200 | Application renommée. | Application (application/json) ; en-têtes : ETag |
| 412 | revision_conflict — If-Match est périmé; la propriété current_revision de l’erreur contient la révision actuelle. | Problème (application/problem+json) |
| par défaut | Réponse stable RFC 9457 à un problème. Un 421 server_draining porte un Retry-After de 1 seconde, un 500 not_ready ou dependency_unavailable porte 5, et un 500 manifest_degraded porte 60, sauf si le gestionnaire a défini une valeur plus spécifique. | Problème (application/problem+json) |
Supprimer l’application
Supprime une application appartenant au projet authentifié et toutes ses versions. Le porteur du projet est autorisé ; un identifiant inconnu ou d’un autre projet est not_found. If-Match protège la révision de l’application. Une référence manifeste active bloque la suppression avec application_in_use ; il n’y a pas de suppression forcée.
Paramètres
| Nom | Envoyer | Requis ? | Description |
|---|---|---|---|
| ScreenRig-Project | en-tête | optionnel | Obsolète pour une version. Doit être cohérent avec les droits JWT des projets ; ajoute les en-têtes Deprecation et Warning. Pas d’échange de jeton. |
| id | chemin | obligatoire | |
| If-Match | en-tête | optionnel | Révision positive optionnelle de ressource. Omettre pour écrire la ressource actuelle ; une révision périmée fournie est revision_conflict. |
| Idempotency-Key | en-tête | optionnel | Omettre pour une opération fraîche. Fournissez et réutilisez une clé pour dédupliquer les tentatives ; le CLI gère les clés automatiquement. |
Modèle de requête et réponses
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/applications/RESOURCE_ID'Réponses
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 204 | Application et versions tombstonées. | pas de corps |
| 409 | application_in_use — un manifeste actif référence encore une des versions de l’application. | Problème (application/problem+json) |
| 412 | revision_conflict — If-Match est périmé; la propriété current_revision de l’erreur contient la révision actuelle. | Problème (application/problem+json) |
| par défaut | Réponse stable RFC 9457 à un problème. Un 421 server_draining porte un Retry-After de 1 seconde, un 500 not_ready ou dependency_unavailable porte 5, et un 500 manifest_degraded porte 60, sauf si le gestionnaire a défini une valeur plus spécifique. | Problème (application/problem+json) |
Obtenir l’opération
Paramètres
| Nom | Envoyer | Requis ? | Description |
|---|---|---|---|
| ScreenRig-Project | en-tête | optionnel | Obsolète pour une version. Doit être cohérent avec les droits JWT des projets ; ajoute les en-têtes Deprecation et Warning. Pas d’échange de jeton. |
| id | chemin | obligatoire |
Modèle de requête et réponses
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/operations/RESOURCE_ID'Réponses
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 200 | Opération | Opération (application/json) |
| par défaut | Réponse stable RFC 9457 à un problème. Un 421 server_draining porte un Retry-After de 1 seconde, un 500 not_ready ou dependency_unavailable porte 5, et un 500 manifest_degraded porte 60, sauf si le gestionnaire a défini une valeur plus spécifique. | Problème (application/problem+json) |
Annuler l’opération
Paramètres
| Nom | Envoyer | Requis ? | Description |
|---|---|---|---|
| ScreenRig-Project | en-tête | optionnel | Obsolète pour une version. Doit être cohérent avec les droits JWT des projets ; ajoute les en-têtes Deprecation et Warning. Pas d’échange de jeton. |
| id | chemin | obligatoire | |
| Idempotency-Key | en-tête | obligatoire |
Modèle de requête et réponses
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Idempotency-Key: REQUEST_ID' 'https://api.screenrig.ai/api/operations/RESOURCE_ID/cancel'Réponses
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 200 | Opération durable annulée. Une clôture de travailleur en cours ne peut plus la finaliser. | Opération (application/json) |
| par défaut | Réponse stable RFC 9457 à un problème. Un 421 server_draining porte un Retry-After de 1 seconde, un 500 not_ready ou dependency_unavailable porte 5, et un 500 manifest_degraded porte 60, sauf si le gestionnaire a défini une valeur plus spécifique. | Problème (application/problem+json) |