OpenAPI YAMLOpenAPI JSONproblèmes YAMLVue d’ensemble de l’API
Ce groupe compte 9 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.
Clients de service
Lister les clients de service
Les clients de service du projet (spécification : un serveur client, script ou tâche CI appartenant au projet), du plus récent au plus ancien, actifs et révoqués, avec leurs clés publiques, identifiants secrets et usage ; jamais un secret ou son résumé. Nécessite la capacité du projet.
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. |
Modèle de requête et réponses
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/service-clients'Réponses
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 200 | Le client de service. | ServiceClientList (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) |
Créer un client de service
Crée un client de service appartenant au projet avec un nom, des capacités (omises signifie les six ; chacune doit être détenue par le gestionnaire, sinon 403), un accès (lecture, par défaut, ou gestion), et une clé JWK publique (OKP Ed25519, EC P-256 ou RSA d’au moins 2048 bits) et/ou un secret vrai. Le secret est retourné une seule fois, ici uniquement. Au maximum 50 clients actifs par organisation.
Les agents ont besoin de la portée d’identité, de la gestion d’identité active, de leur propre droit de gestion avec la capacité projet sur le projet, et d’un rôle d’administrateur d’organisation actif ; une personne utilise la session du tableau de bord avec project_id et une preuve récente (type service_client_change, sujet l’identifiant client, ou l’identifiant projet lors de la création) dans le corps. Un jeton de service est refusé 403.
Un membre limité aux écrans ne connecte pas d’agents, n’émet pas d’identifiants et ne gère pas les personnes du projet : outside_screen_scope (demandez au propriétaire du projet).
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. |
Champs du corps de la requête
| Champ | Description |
|---|---|
| project_id (optionnel, chaîne) | Session du tableau de bord uniquement. |
| preuve (optionnelle, DashboardProof) | |
| nom (optionnel, chaîne) | minLength : 1 maxLength : 80 |
| capacités (facultatif, tableau) | |
| accès (facultatif, chaîne) | Gérer nécessite une personne pouvant approuver les révisions (403 approver_required). Autorisé : « lire », « proposer », « gérer » |
| clé (optionnelle, objet) | Une JWK publique : OKP Ed25519, EC P-256 ou RSA d’au moins 2048 bits. |
| secret (optionnel, booléen) | Générer un secret (création uniquement). |
| upload_scope (facultatif, UploadScope) | Ce qu’un téléverseur peut utiliser (docs/uploaders.md) : les listes de lecture dont il modifie les pages et les dossiers de médias dans lesquels il téléverse. Les dossiers sont exactement ceux qui sont listés, jamais leurs sous-dossiers. Un id qui ne désigne aucun objet actif du projet à l’écriture donne invalid_request à sa position ; une suppression ultérieure laisse un id mort, qui ne donne aucun droit. Le périmètre est lu à chaque requête, de sorte qu’un changement s’applique à la suivante. |
Modèle de requête et réponses
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/service-clients'Réponses
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 201 | Le client de service. | ServiceClientResult (application/json) |
| 402 | feature_not_in_plan — un périmètre de téléversement crée un téléverseur, et le forfait du projet n’inclut pas les téléverseurs ; required_plan nomme le forfait qui les inclut. Restreindre un périmètre et le retirer sont toujours autorisés. | Problème (application/problem+json) |
| 403 | outside_screen_scope - l’appelant est limité aux écrans et l’écran, le dossier d’écrans, le sélecteur ou l’audience que la requête nomme ou atteint est en dehors de ceux-ci (docs/screen-scope.md). Un ID en dehors du périmètre et un ID qui n’existe pas obtiennent la même réponse ; errors[0].screen_scope porte le périmètre de l’appelant, et l’écriture est refusée en entier, jamais restreinte. | 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 le client de service
Un des clients de service du projet. Nécessite la capacité projet.
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://api.screenrig.ai/api/service-clients/RESOURCE_ID'Réponses
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 200 | Le client de service. | ServiceClient (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) |
Mettre à jour le client de service
Renomme un client de service ou modifie ses capacités (dans celles du gestionnaire) ou son accès. Restreindre l’un ou l’autre révoque les jetons actuels du client en quelques secondes.
Les agents ont besoin de la portée d’identité, de la gestion d’identité active, de leur propre droit de gestion avec la capacité projet sur le projet, et d’un rôle d’administrateur d’organisation actif ; une personne utilise la session du tableau de bord avec project_id et une preuve récente (type service_client_change, sujet l’identifiant client, ou l’identifiant projet lors de la création) dans le corps. Un jeton de service est refusé 403.
Un membre limité aux écrans ne connecte pas d’agents, n’émet pas d’identifiants et ne gère pas les personnes du projet : outside_screen_scope (demandez au propriétaire du projet).
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 |
Champs du corps de la requête
| Champ | Description |
|---|---|
| project_id (optionnel, chaîne) | Session du tableau de bord uniquement. |
| preuve (optionnelle, DashboardProof) | |
| nom (optionnel, chaîne) | minLength : 1 maxLength : 80 |
| capacités (facultatif, tableau) | |
| accès (facultatif, chaîne) | Gérer nécessite une personne pouvant approuver les révisions (403 approver_required). Autorisé : « lire », « proposer », « gérer » |
| clé (optionnelle, objet) | Une JWK publique : OKP Ed25519, EC P-256 ou RSA d’au moins 2048 bits. |
| secret (optionnel, booléen) | Générer un secret (création uniquement). |
| upload_scope (facultatif, UploadScope) | Ce qu’un téléverseur peut utiliser (docs/uploaders.md) : les listes de lecture dont il modifie les pages et les dossiers de médias dans lesquels il téléverse. Les dossiers sont exactement ceux qui sont listés, jamais leurs sous-dossiers. Un id qui ne désigne aucun objet actif du projet à l’écriture donne invalid_request à sa position ; une suppression ultérieure laisse un id mort, qui ne donne aucun droit. Le périmètre est lu à chaque requête, de sorte qu’un changement s’applique à la suivante. |
Modèle de requête et réponses
curl --request PATCH --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/service-clients/RESOURCE_ID'Réponses
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 200 | Le client de service. | ServiceClientResult (application/json) |
| 402 | feature_not_in_plan — un périmètre de téléversement crée un téléverseur, et le forfait du projet n’inclut pas les téléverseurs ; required_plan nomme le forfait qui les inclut. Restreindre un périmètre et le retirer sont toujours autorisés. | Problème (application/problem+json) |
| 403 | outside_screen_scope - l’appelant est limité aux écrans et l’écran, le dossier d’écrans, le sélecteur ou l’audience que la requête nomme ou atteint est en dehors de ceux-ci (docs/screen-scope.md). Un ID en dehors du périmètre et un ID qui n’existe pas obtiennent la même réponse ; errors[0].screen_scope porte le périmètre de l’appelant, et l’écriture est refusée en entier, jamais restreinte. | 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) |
Ajouter une clé client de service
Enregistre une seconde clé JWK publique (clé dans le corps) pour une rotation sans interruption ; un client détient au maximum deux clés.
Les agents ont besoin de la portée d’identité, de la gestion d’identité active, de leur propre droit de gestion avec la capacité projet sur le projet, et d’un rôle d’administrateur d’organisation actif ; une personne utilise la session du tableau de bord avec project_id et une preuve récente (type service_client_change, sujet l’identifiant client, ou l’identifiant projet lors de la création) dans le corps. Un jeton de service est refusé 403.
Un membre limité aux écrans ne connecte pas d’agents, n’émet pas d’identifiants et ne gère pas les personnes du projet : outside_screen_scope (demandez au propriétaire du projet).
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 |
Champs du corps de la requête
| Champ | Description |
|---|---|
| project_id (optionnel, chaîne) | Session du tableau de bord uniquement. |
| preuve (optionnelle, DashboardProof) | |
| nom (optionnel, chaîne) | minLength : 1 maxLength : 80 |
| capacités (facultatif, tableau) | |
| accès (facultatif, chaîne) | Gérer nécessite une personne pouvant approuver les révisions (403 approver_required). Autorisé : « lire », « proposer », « gérer » |
| clé (optionnelle, objet) | Une JWK publique : OKP Ed25519, EC P-256 ou RSA d’au moins 2048 bits. |
| secret (optionnel, booléen) | Générer un secret (création uniquement). |
| upload_scope (facultatif, UploadScope) | Ce qu’un téléverseur peut utiliser (docs/uploaders.md) : les listes de lecture dont il modifie les pages et les dossiers de médias dans lesquels il téléverse. Les dossiers sont exactement ceux qui sont listés, jamais leurs sous-dossiers. Un id qui ne désigne aucun objet actif du projet à l’écriture donne invalid_request à sa position ; une suppression ultérieure laisse un id mort, qui ne donne aucun droit. Le périmètre est lu à chaque requête, de sorte qu’un changement s’applique à la suivante. |
Modèle de requête et réponses
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/service-clients/RESOURCE_ID/keys'Réponses
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 200 | Le client de service. | ServiceClientResult (application/json) |
| 403 | outside_screen_scope - l’appelant est limité aux écrans et l’écran, le dossier d’écrans, le sélecteur ou l’audience que la requête nomme ou atteint est en dehors de ceux-ci (docs/screen-scope.md). Un ID en dehors du périmètre et un ID qui n’existe pas obtiennent la même réponse ; errors[0].screen_scope porte le périmètre de l’appelant, et l’écriture est refusée en entier, jamais restreinte. | 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) |
Retirer une clé client de service
Supprime une clé ; les jetons actuels du client prennent fin en quelques secondes. Un client conserve au moins une clé ou un secret.
Les agents ont besoin de la portée d’identité, de la gestion d’identité active, de leur propre droit de gestion avec la capacité projet sur le projet, et d’un rôle d’administrateur d’organisation actif ; une personne utilise la session du tableau de bord avec project_id et une preuve récente (type service_client_change, sujet l’identifiant client, ou l’identifiant projet lors de la création) dans le corps. Un jeton de service est refusé 403.
Un membre limité aux écrans ne connecte pas d’agents, n’émet pas d’identifiants et ne gère pas les personnes du projet : outside_screen_scope (demandez au propriétaire du projet).
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 | |
| kid | chemin | obligatoire |
Champs du corps de la requête
| Champ | Description |
|---|---|
| project_id (optionnel, chaîne) | Session du tableau de bord uniquement. |
| preuve (optionnelle, DashboardProof) | |
| nom (optionnel, chaîne) | minLength : 1 maxLength : 80 |
| capacités (facultatif, tableau) | |
| accès (facultatif, chaîne) | Gérer nécessite une personne pouvant approuver les révisions (403 approver_required). Autorisé : « lire », « proposer », « gérer » |
| clé (optionnelle, objet) | Une JWK publique : OKP Ed25519, EC P-256 ou RSA d’au moins 2048 bits. |
| secret (optionnel, booléen) | Générer un secret (création uniquement). |
| upload_scope (facultatif, UploadScope) | Ce qu’un téléverseur peut utiliser (docs/uploaders.md) : les listes de lecture dont il modifie les pages et les dossiers de médias dans lesquels il téléverse. Les dossiers sont exactement ceux qui sont listés, jamais leurs sous-dossiers. Un id qui ne désigne aucun objet actif du projet à l’écriture donne invalid_request à sa position ; une suppression ultérieure laisse un id mort, qui ne donne aucun droit. Le périmètre est lu à chaque requête, de sorte qu’un changement s’applique à la suivante. |
Modèle de requête et réponses
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/service-clients/RESOURCE_ID/keys/KID/remove'Réponses
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 200 | Le client de service. | ServiceClientResult (application/json) |
| 403 | outside_screen_scope - l’appelant est limité aux écrans et l’écran, le dossier d’écrans, le sélecteur ou l’audience que la requête nomme ou atteint est en dehors de ceux-ci (docs/screen-scope.md). Un ID en dehors du périmètre et un ID qui n’existe pas obtiennent la même réponse ; errors[0].screen_scope porte le périmètre de l’appelant, et l’écriture est refusée en entier, jamais restreinte. | 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) |
Ajouter un secret client de service
Génère un second secret, retourné une fois, pour une rotation sans interruption; un client détient au maximum deux.
Les agents ont besoin de la portée d’identité, de la gestion d’identité active, de leur propre droit de gestion avec la capacité projet sur le projet, et d’un rôle d’administrateur d’organisation actif ; une personne utilise la session du tableau de bord avec project_id et une preuve récente (type service_client_change, sujet l’identifiant client, ou l’identifiant projet lors de la création) dans le corps. Un jeton de service est refusé 403.
Un membre limité aux écrans ne connecte pas d’agents, n’émet pas d’identifiants et ne gère pas les personnes du projet : outside_screen_scope (demandez au propriétaire du projet).
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 |
Champs du corps de la requête
| Champ | Description |
|---|---|
| project_id (optionnel, chaîne) | Session du tableau de bord uniquement. |
| preuve (optionnelle, DashboardProof) | |
| nom (optionnel, chaîne) | minLength : 1 maxLength : 80 |
| capacités (facultatif, tableau) | |
| accès (facultatif, chaîne) | Gérer nécessite une personne pouvant approuver les révisions (403 approver_required). Autorisé : « lire », « proposer », « gérer » |
| clé (optionnelle, objet) | Une JWK publique : OKP Ed25519, EC P-256 ou RSA d’au moins 2048 bits. |
| secret (optionnel, booléen) | Générer un secret (création uniquement). |
| upload_scope (facultatif, UploadScope) | Ce qu’un téléverseur peut utiliser (docs/uploaders.md) : les listes de lecture dont il modifie les pages et les dossiers de médias dans lesquels il téléverse. Les dossiers sont exactement ceux qui sont listés, jamais leurs sous-dossiers. Un id qui ne désigne aucun objet actif du projet à l’écriture donne invalid_request à sa position ; une suppression ultérieure laisse un id mort, qui ne donne aucun droit. Le périmètre est lu à chaque requête, de sorte qu’un changement s’applique à la suivante. |
Modèle de requête et réponses
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/service-clients/RESOURCE_ID/secrets'Réponses
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 200 | Le client de service. | ServiceClientResult (application/json) |
| 403 | outside_screen_scope - l’appelant est limité aux écrans et l’écran, le dossier d’écrans, le sélecteur ou l’audience que la requête nomme ou atteint est en dehors de ceux-ci (docs/screen-scope.md). Un ID en dehors du périmètre et un ID qui n’existe pas obtiennent la même réponse ; errors[0].screen_scope porte le périmètre de l’appelant, et l’écriture est refusée en entier, jamais restreinte. | 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) |
Retirer un secret client de service
Supprime un secret ; les jetons actuels du client prennent fin en quelques secondes.
Les agents ont besoin de la portée d’identité, de la gestion d’identité active, de leur propre droit de gestion avec la capacité projet sur le projet, et d’un rôle d’administrateur d’organisation actif ; une personne utilise la session du tableau de bord avec project_id et une preuve récente (type service_client_change, sujet l’identifiant client, ou l’identifiant projet lors de la création) dans le corps. Un jeton de service est refusé 403.
Un membre limité aux écrans ne connecte pas d’agents, n’émet pas d’identifiants et ne gère pas les personnes du projet : outside_screen_scope (demandez au propriétaire du projet).
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 | |
| secret_id | chemin | obligatoire |
Champs du corps de la requête
| Champ | Description |
|---|---|
| project_id (optionnel, chaîne) | Session du tableau de bord uniquement. |
| preuve (optionnelle, DashboardProof) | |
| nom (optionnel, chaîne) | minLength : 1 maxLength : 80 |
| capacités (facultatif, tableau) | |
| accès (facultatif, chaîne) | Gérer nécessite une personne pouvant approuver les révisions (403 approver_required). Autorisé : « lire », « proposer », « gérer » |
| clé (optionnelle, objet) | Une JWK publique : OKP Ed25519, EC P-256 ou RSA d’au moins 2048 bits. |
| secret (optionnel, booléen) | Générer un secret (création uniquement). |
| upload_scope (facultatif, UploadScope) | Ce qu’un téléverseur peut utiliser (docs/uploaders.md) : les listes de lecture dont il modifie les pages et les dossiers de médias dans lesquels il téléverse. Les dossiers sont exactement ceux qui sont listés, jamais leurs sous-dossiers. Un id qui ne désigne aucun objet actif du projet à l’écriture donne invalid_request à sa position ; une suppression ultérieure laisse un id mort, qui ne donne aucun droit. Le périmètre est lu à chaque requête, de sorte qu’un changement s’applique à la suivante. |
Modèle de requête et réponses
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/service-clients/RESOURCE_ID/secrets/SECRET_ID/remove'Réponses
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 200 | Le client de service. | ServiceClientResult (application/json) |
| 403 | outside_screen_scope - l’appelant est limité aux écrans et l’écran, le dossier d’écrans, le sélecteur ou l’audience que la requête nomme ou atteint est en dehors de ceux-ci (docs/screen-scope.md). Un ID en dehors du périmètre et un ID qui n’existe pas obtiennent la même réponse ; errors[0].screen_scope porte le périmètre de l’appelant, et l’écriture est refusée en entier, jamais restreinte. | 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) |
Révoquer le client de service
Révoque un client de service de façon permanente : ses clés et digests secrets sont supprimés, l’enregistrement reste pour audit, et ses jetons expirent en quelques secondes (propagation appliquée ou en attente).
Les agents ont besoin de la portée d’identité, de la gestion d’identité active, de leur propre droit de gestion avec la capacité projet sur le projet, et d’un rôle d’administrateur d’organisation actif ; une personne utilise la session du tableau de bord avec project_id et une preuve récente (type service_client_change, sujet l’identifiant client, ou l’identifiant projet lors de la création) dans le corps. Un jeton de service est refusé 403.
Un membre limité aux écrans ne connecte pas d’agents, n’émet pas d’identifiants et ne gère pas les personnes du projet : outside_screen_scope (demandez au propriétaire du projet).
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 |
Champs du corps de la requête
| Champ | Description |
|---|---|
| project_id (optionnel, chaîne) | Session du tableau de bord uniquement. |
| preuve (optionnelle, DashboardProof) | |
| nom (optionnel, chaîne) | minLength : 1 maxLength : 80 |
| capacités (facultatif, tableau) | |
| accès (facultatif, chaîne) | Gérer nécessite une personne pouvant approuver les révisions (403 approver_required). Autorisé : « lire », « proposer », « gérer » |
| clé (optionnelle, objet) | Une JWK publique : OKP Ed25519, EC P-256 ou RSA d’au moins 2048 bits. |
| secret (optionnel, booléen) | Générer un secret (création uniquement). |
| upload_scope (facultatif, UploadScope) | Ce qu’un téléverseur peut utiliser (docs/uploaders.md) : les listes de lecture dont il modifie les pages et les dossiers de médias dans lesquels il téléverse. Les dossiers sont exactement ceux qui sont listés, jamais leurs sous-dossiers. Un id qui ne désigne aucun objet actif du projet à l’écriture donne invalid_request à sa position ; une suppression ultérieure laisse un id mort, qui ne donne aucun droit. Le périmètre est lu à chaque requête, de sorte qu’un changement s’applique à la suivante. |
Modèle de requête et réponses
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/service-clients/RESOURCE_ID/revoke'Réponses
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 200 | Le client de service. | ServiceClientResult (application/json) |
| 403 | outside_screen_scope - l’appelant est limité aux écrans et l’écran, le dossier d’écrans, le sélecteur ou l’audience que la requête nomme ou atteint est en dehors de ceux-ci (docs/screen-scope.md). Un ID en dehors du périmètre et un ID qui n’existe pas obtiennent la même réponse ; errors[0].screen_scope porte le périmètre de l’appelant, et l’écriture est refusée en entier, jamais restreinte. | 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) |