Référence API

API Clients du service

Clients de service

Référence HTTP. Générée à partir du contrat backend. Parcourez les points de terminaison ci-dessous ou téléchargez OpenAPI.

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

GET/api/service-clients

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.

Authentification
projectBearer OU dashboardSession
Corps de la requête
aucun
ID d’opération
listServiceClients

Paramètres

NomEnvoyerRequis ?Description
ScreenRig-Projecten-têteoptionnelObsolè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
shell · modèle de requête
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/service-clients'

Réponses

StatutSensCorps et en-têtes
200Le 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)
POST/api/service-clients

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

Authentification
agentIdentityBearer OU dashboardSession
Corps de la requête
ServiceClientChange
ID d’opération
createServiceClient

Paramètres

NomEnvoyerRequis ?Description
ScreenRig-Projecten-têteoptionnelObsolè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

ChampDescription
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
shell · modèle de requête
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

StatutSensCorps et en-têtes
201Le 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)
GET/api/service-clients/{id}

Obtenir le client de service

Un des clients de service du projet. Nécessite la capacité projet.

Authentification
projectBearer OU dashboardSession
Corps de la requête
aucun
ID d’opération
getServiceClient

Paramètres

NomEnvoyerRequis ?Description
ScreenRig-Projecten-têteoptionnelObsolè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.
idcheminobligatoire
Modèle de requête et réponses
shell · modèle de requête
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

StatutSensCorps et en-têtes
200Le 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)
PATCH/api/service-clients/{id}

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

Authentification
agentIdentityBearer OU dashboardSession
Corps de la requête
ServiceClientChange
ID d’opération
updateServiceClient

Paramètres

NomEnvoyerRequis ?Description
ScreenRig-Projecten-têteoptionnelObsolè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.
idcheminobligatoire

Champs du corps de la requête

ChampDescription
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
shell · modèle de requête
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

StatutSensCorps et en-têtes
200Le 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)
POST/api/service-clients/{id}/keys

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

Authentification
agentIdentityBearer OU dashboardSession
Corps de la requête
ServiceClientChange
ID d’opération
addServiceClientKey

Paramètres

NomEnvoyerRequis ?Description
ScreenRig-Projecten-têteoptionnelObsolè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.
idcheminobligatoire

Champs du corps de la requête

ChampDescription
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
shell · modèle de requête
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

StatutSensCorps et en-têtes
200Le 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)
POST/api/service-clients/{id}/keys/{kid}/remove

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

Authentification
agentIdentityBearer OU dashboardSession
Corps de la requête
ServiceClientChange
ID d’opération
removeServiceClientKey

Paramètres

NomEnvoyerRequis ?Description
ScreenRig-Projecten-têteoptionnelObsolè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.
idcheminobligatoire
kidcheminobligatoire

Champs du corps de la requête

ChampDescription
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
shell · modèle de requête
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

StatutSensCorps et en-têtes
200Le 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)
POST/api/service-clients/{id}/secrets

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

Authentification
agentIdentityBearer OU dashboardSession
Corps de la requête
ServiceClientChange
ID d’opération
addServiceClientSecret

Paramètres

NomEnvoyerRequis ?Description
ScreenRig-Projecten-têteoptionnelObsolè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.
idcheminobligatoire

Champs du corps de la requête

ChampDescription
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
shell · modèle de requête
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

StatutSensCorps et en-têtes
200Le 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)
POST/api/service-clients/{id}/secrets/{secret_id}/remove

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

Authentification
agentIdentityBearer OU dashboardSession
Corps de la requête
ServiceClientChange
ID d’opération
removeServiceClientSecret

Paramètres

NomEnvoyerRequis ?Description
ScreenRig-Projecten-têteoptionnelObsolè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.
idcheminobligatoire
secret_idcheminobligatoire

Champs du corps de la requête

ChampDescription
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
shell · modèle de requête
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

StatutSensCorps et en-têtes
200Le 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)
POST/api/service-clients/{id}/revoke

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

Authentification
agentIdentityBearer OU dashboardSession
Corps de la requête
ServiceClientChange
ID d’opération
revokeServiceClient

Paramètres

NomEnvoyerRequis ?Description
ScreenRig-Projecten-têteoptionnelObsolè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.
idcheminobligatoire

Champs du corps de la requête

ChampDescription
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
shell · modèle de requête
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

StatutSensCorps et en-têtes
200Le 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)