OpenAPI YAMLOpenAPI JSONproblèmes YAMLVue d’ensemble de l’API
Ce groupe compte 13 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.
Authentification unique : routes d’ouverture de session, fournisseur d’identité et politique
Découvrir l’authentification unique du tableau de bord
Indique à la page d’entrée comment une adresse courriel se connecte ou s’inscrit. sso, required et provider_name sont déterminés par le domaine de l’adresse seul, d’après les domaines vérifiés des organisations qui ont une connexion de fournisseur d’identité activée : sso est true lorsqu’une telle organisation détient le domaine. required est true lorsque cette organisation exige l’authentification unique, ce qui refuse la connexion par mot de passe et par clé d’accès pour le domaine (createDashboardSession répond sso_required) ; ses administrateurs d’urgence conservent la connexion par clé d’accès. provider_name est le nom d’affichage de la connexion, présent seulement lorsque sso est true. account est true lorsqu’une personne active détient l’adresse, vérifiée ou non, et false lorsque personne ne la détient : la page connecte la personne lorsqu’il est true et propose l’inscription (POST /api/signups) lorsqu’il est false et que sso est false.
Limité par adresse cliente.
Champs du corps de la requête
| Champ | Description |
|---|---|
| courriel (requis, chaîne) | L’adresse saisie par la personne. Seul son domaine est lu. minLength: 3 maxLength: 254 format: "email" |
Modèle de requête et réponses
curl --request POST --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/sso/discovery'Réponses
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 200 | La réponse d’authentification unique du domaine. | SSODiscovery (application/json); en-têtes : Cache-Control, RateLimit-Policy, RateLimit |
| 400 | 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) |
| 429 | Problème stable rate_limited. Réessayez seulement après l’intervalle Retry-After autoritaire. Les refus à fenêtre fixe incluent aussi la politique RateLimit-Policy applicable et les membres RateLimit ; les refus de concurrence et de budget d’octets omettent ces divulgations optionnelles. | Problème (application/problem+json) ; en-têtes : Retry-After, 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) |
Démarrer l’authentification unique du tableau de bord
Lance une ouverture de session par authentification unique auprès du fournisseur d’identité de l’organisation qui détient le domaine de l’adresse et répond par l’adresse du fournisseur, vers laquelle la page navigue. La réponse pose le cookie __Host-screenrig-sso (HttpOnly, Secure, SameSite=Strict, Path=/, 10 minutes) qui lie ce navigateur à l’ouverture de session.
Une connexion OIDC se voit demander le flux de code d’autorisation avec PKCE S256, un nonce et response_mode form_post; une connexion SAML reçoit une AuthnRequest HTTP-Redirect.
Le fournisseur répond par un POST vers /api/sso/oidc/{connection_id}/callback ou /api/sso/saml/{connection_id}/acs de la connexion, et l’ouverture de session se termine à /api/sso/finish. return_to est un chemin sous /dashboard/ où aboutit l’ouverture de session; en son absence, elle aboutit à /dashboard/. invitation_token est une invitation que l’ouverture de session accepte une fois la personne connectée. prompt none demande au fournisseur une ouverture de session silencieuse, qui se termine à /dashboard/#sso_error=interaction_required lorsque la personne doit intervenir; prompt login fait authentifier de nouveau la personne par le fournisseur.
Une adresse dont le domaine n’a aucune connexion activée est not_found. Limité par adresse cliente.
Champs du corps de la requête
| Champ | Description |
|---|---|
| courriel (requis, chaîne) | L’adresse saisie par la personne. Son domaine sélectionne la connexion de l’organisation. minLength: 3 maxLength: 254 format: "email" |
| return_to (facultatif, chaîne) | Un chemin sous /dashboard/ où aboutit l’ouverture de session. En son absence, elle aboutit à /dashboard/; toute autre valeur est invalid_request. minLength: 1 maxLength: 512 pattern: "^/dashboard/" |
| invitation_token (facultatif, chaîne) | Une invitation que l’ouverture de session accepte pour la personne une fois celle-ci connectée. pattern: "^[A-Za-z0-9_-]{43}$" |
| prompt (facultatif, chaîne) | none demande au fournisseur une ouverture de session silencieuse et ne transmet aucun indice de connexion (login hint), de sorte que email ne sélectionne que le domaine; login lui fait authentifier de nouveau la personne. Autorisés : « none », « login » |
Modèle de requête et réponses
curl --request POST --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/sso/starts'Réponses
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 200 | L’adresse du fournisseur d’identité vers laquelle naviguer, et le cookie de transaction. | SSOStart (application/json); en-têtes : Cache-Control, Set-Cookie, RateLimit-Policy, RateLimit |
| 400 | 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) |
| 404 | 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) |
| 429 | Problème stable rate_limited. Réessayez seulement après l’intervalle Retry-After autoritaire. Les refus à fenêtre fixe incluent aussi la politique RateLimit-Policy applicable et les membres RateLimit ; les refus de concurrence et de budget d’octets omettent ces divulgations optionnelles. | Problème (application/problem+json) ; en-têtes : Retry-After, 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) |
Recevoir le rappel OIDC de l’authentification unique du tableau de bord
L’URI de redirection OIDC d’une connexion. Le fournisseur d’identité envoie ici un POST depuis un autre site (response_mode form_post), de sorte qu’aucun cookie du tableau de bord n’arrive. La route ne connecte personne : elle répond par une page qui envoie par POST les mêmes membres et l’id de la connexion à /api/sso/finish depuis l’origine du tableau de bord, où arrive le cookie de transaction.
Une réponse ne termine qu’une ouverture de session démarrée par cette connexion; toute autre se termine à /dashboard/#sso_error=bad_state. Lorsque le document de découverte du fournisseur définit authorization_response_iss_parameter_supported, une réponse sans iss (RFC 9207) se termine à /dashboard/#sso_error=verification_failed.
La page exécute un script en ligne protégé par un nonce et comporte un bouton noscript; sa Content-Security-Policy est stricte, Cache-Control vaut no-store et Referrer-Policy vaut no-referrer. Un id qu’aucune connexion ne détient est not_found.
Paramètres
| Nom | Envoyer | Requis ? | Description |
|---|---|---|---|
| connection_id | chemin | obligatoire |
Champs du corps de la requête
| Champ | Description |
|---|---|
| state (obligatoire, chaîne) | maxLength: 512 |
| code (facultatif, chaîne) | maxLength: 8192 |
| error (facultatif, chaîne) | maxLength : 200 |
| error_description (facultatif, chaîne) | maxLength: 2048 |
| iss (facultatif, chaîne) | maxLength: 2048 |
Modèle de requête et réponses
curl --request POST --header 'Content-Type: application/x-www-form-urlencoded' --data-binary '@request.bin' 'https://screenrig.ai/api/sso/oidc/CONNECTION_ID/callback'Réponses
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 200 | La page qui envoie par POST la réponse du fournisseur à /api/sso/finish. | chaîne (text/html); en-têtes : Cache-Control, Referrer-Policy, Content-Security-Policy |
| 400 | 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) |
| 404 | 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) |
| 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 les métadonnées SAML de l’authentification unique du tableau de bord
Les métadonnées du fournisseur de services SAML d’une connexion. Son entityID est l’adresse de cette route et son service consommateur d’assertions est /api/sso/saml/{connection_id}/acs avec la liaison HTTP-POST. Un administrateur du fournisseur d’identité les importe, ou copie les mêmes valeurs depuis le service_provider de la connexion. Un id qu’aucune connexion ne détient est not_found.
Paramètres
| Nom | Envoyer | Requis ? | Description |
|---|---|---|---|
| connection_id | chemin | obligatoire |
Modèle de requête et réponses
curl --request GET 'https://screenrig.ai/api/sso/saml/CONNECTION_ID'Réponses
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 200 | Le document de métadonnées du fournisseur de services. | string (application/samlmetadata+xml) |
| 404 | 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) |
| 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) |
Recevoir l’assertion SAML de l’authentification unique du tableau de bord
Le service consommateur d’assertions SAML d’une connexion. Le fournisseur d’identité envoie ici un POST depuis un autre site, de sorte qu’aucun cookie du tableau de bord n’arrive. La route ne connecte personne : elle répond par une page qui envoie par POST le SAMLResponse, son RelayState et l’id de la connexion à /api/sso/finish depuis l’origine du tableau de bord, où arrive le cookie de transaction.
Une réponse ne termine qu’une ouverture de session démarrée par cette connexion. La page exécute un script en ligne protégé par un nonce et comporte un bouton noscript; sa Content-Security-Policy est stricte, Cache-Control vaut no-store et Referrer-Policy vaut no-referrer. Un id qu’aucune connexion ne détient est not_found.
Paramètres
| Nom | Envoyer | Requis ? | Description |
|---|---|---|---|
| connection_id | chemin | obligatoire |
Champs du corps de la requête
| Champ | Description |
|---|---|
| SAMLResponse (obligatoire, chaîne) | maxLength: 1048576 |
| RelayState (facultatif, chaîne) | maxLength: 512 |
Modèle de requête et réponses
curl --request POST --header 'Content-Type: application/x-www-form-urlencoded' --data-binary '@request.bin' 'https://screenrig.ai/api/sso/saml/CONNECTION_ID/acs'Réponses
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 200 | La page qui envoie par POST la réponse du fournisseur à /api/sso/finish. | chaîne (text/html); en-têtes : Cache-Control, Referrer-Policy, Content-Security-Policy |
| 400 | 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) |
| 404 | 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) |
| 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) |
Terminer l’authentification unique du tableau de bord
Termine une ouverture de session par authentification unique sur l’origine du tableau de bord, où arrive le cookie __Host-screenrig-sso. Le formulaire est state, la connexion pour laquelle la réponse est arrivée, et la réponse du fournisseur d’identité telle que la page de rappel l’a copiée : code, error, error_description et iss pour OIDC, SAMLResponse pour SAML (state est le RelayState).
La route lie state au cookie, refuse une réponse arrivée pour une autre connexion que celle par laquelle l’ouverture de session a démarré, vérifie le jeton ou l’assertion du fournisseur, applique les règles d’adoption et de liaison de comptes, vérifie la politique d’ouverture de session de l’organisation et répond 303.
Une ouverture de session, un renouvellement ou une réauthentification émet une session du tableau de bord avec auth_method sso, qui dure 24 heures à compter de cette ouverture de session et n’est pas prolongée par l’usage, accepte l’invitation que porte l’ouverture de session, pose le cookie __Host-screenrig-dashboard, fait expirer le cookie de transaction et redirige vers return_to, ou vers /dashboard/.
Un lien ajoute l’identité au compte de la personne connectée et conserve sa session. Un test consigne son résultat sur la connexion (last_test) et ne connecte personne. Chaque échec répond aussi 303, vers /dashboard/#sso_error=<code>, et jamais par un document de problème.
Les codes sont no_email, email_unverified, domain_not_allowed, account_exists (la personne se connecte comme auparavant et établit le lien depuis son compte), managed_elsewhere, subject_mismatch, not_provisioned, sso_required, staff_account, expired, bad_state, interaction_required (un renouvellement silencieux requiert la personne), provider_refused, provider_unavailable, verification_failed et deactivated (SSOErrorCode).
Champs du corps de la requête
| Champ | Description |
|---|---|
| connection_id (facultatif, chaîne) | maxLength : 128 |
| state (obligatoire, chaîne) | maxLength: 512 |
| code (facultatif, chaîne) | maxLength: 8192 |
| error (facultatif, chaîne) | maxLength : 200 |
| error_description (facultatif, chaîne) | maxLength: 2048 |
| iss (facultatif, chaîne) | maxLength: 2048 |
| SAMLResponse (facultatif, chaîne) | maxLength: 1048576 |
Modèle de requête et réponses
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/x-www-form-urlencoded' --data-binary '@request.bin' 'https://screenrig.ai/api/sso/finish'Réponses
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 303 | Vers return_to ou /dashboard/ avec le cookie de session posé, ou vers /dashboard/#sso_error=<code> lorsque l’ouverture de session n’a pas abouti. | pas de corps; en-têtes : Location, Cache-Control, Set-Cookie |
| 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) |
Démarrer l’authentification unique de la session du tableau de bord
Lance une ouverture de session par authentification unique pour la personne connectée et répond par l’adresse du fournisseur d’identité, comme le fait POST /api/sso/starts pour une adresse, en posant le cookie __Host-screenrig-sso. intent renew renouvelle une session ouverte par authentification unique, en silence (prompt none), avant la fin de ses 24 heures; le tableau de bord le fait après 12 heures écoulées. intent reauth fait authentifier de nouveau la personne par le fournisseur (prompt login), ce qui donne à une session l’ouverture de session récente qu’exige la preuve sso. intent link rattache l’identité de la personne chez le fournisseur à son compte existant. renew et reauth exigent une session ouverte par authentification unique, et link exige une connexion activée au domaine vérifié de la personne; sinon la réponse est resource_conflict. return_to est un chemin sous /dashboard/.
Champs du corps de la requête
| Champ | Description |
|---|---|
| intent (obligatoire, chaîne) | renew : renouveler en silence la session d’authentification unique. reauth : authentifier de nouveau la personne, pour la preuve sso. link : rattacher l’identité de la personne chez le fournisseur à son compte. Autorisés : « renew », « reauth », « link » |
| return_to (facultatif, chaîne) | Un chemin sous /dashboard/ vers lequel revenir. En son absence, le retour se fait vers /dashboard/. minLength: 1 maxLength: 512 pattern: "^/dashboard/" |
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://screenrig.ai/api/session/sso-starts'Réponses
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 200 | L’adresse du fournisseur d’identité vers laquelle naviguer, et le cookie de transaction. | SSOStart (application/json); en-têtes : Cache-Control, Set-Cookie |
| 400 | 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) |
| 401 | 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) |
| 409 | 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) |
| 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) |
Tableau de bord Organisations Obtenir le fournisseur d’identité
Un administrateur désigné lit la connexion d’authentification unique de l’organisation : son protocole et son fournisseur, les valeurs du fournisseur de services à saisir chez le fournisseur d’identité (l’URI de redirection OIDC, l’ID d’entité SAML, les adresses du service consommateur d’assertions et des métadonnées), sa politique d’ouverture de session et le résultat du dernier test.
Le secret client n’est jamais renvoyé; client_secret_set indique si un secret est stocké. ready_to_require est true dès que l’organisation détient un domaine vérifié et qu’un test ou une véritable ouverture de session a réussi avec l’identité actuelle de la connexion (son issuer, son locataire, son ID d’entité et son kind); Require SSO n’est accepté que tant qu’il est true. L’ETag porte la révision.
Une organisation sans connexion est not_found. Toute autre personne est refusée comme sur les autres routes administrateur d’organisation. Uniquement des personnes; les agents et les identifiants porteurs n’ont pas de route.
Paramètres
| Nom | Envoyer | Requis ? | Description |
|---|---|---|---|
| org_id | chemin | obligatoire |
Modèle de requête et réponses
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/organizations/ORG_ID/identity-provider'Réponses
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 200 | La connexion de l’organisation. | IdentityProvider (application/json); en-têtes : Cache-Control, ETag |
| 401 | 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) |
| 403 | 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) |
| 404 | 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) |
| 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) |
Tableau de bord Organisations Définir le fournisseur d’identité
Un administrateur désigné crée la connexion de l’organisation ou la modifie; une organisation en détient une.
If-Match porte la révision de la connexion obtenue par GET, ou 0 lorsque l’organisation n’en a aucune, et est obligatoire; une valeur obsolète donne revision_conflict avec current_revision. 201 crée et 200 modifie. proof est obligatoire : une preuve récente par clé d’accès ou mot de passe liée à une réauthentification de kind identity_provider_change avec l’ID de l’organisation comme subject_id, ou {type: sso} d’une session ouverte par authentification unique il y a 10 minutes au plus (sinon reauthentication_required).
OIDC avec le preset entra prend tenant_id et en construit l’issuer; le preset generic prend issuer. Omettre oidc.client_secret conserve le secret stocké.
Pour SAML, metadata_xml est lu pour l’ID d’entité, l’adresse d’ouverture de session et les certificats de signature du fournisseur d’identité, et idp_entity_id, idp_sso_url et certificates_pem les indiquent directement; certificates_pem remplace la liste stockée, qui en contient au plus 4 afin qu’un nouveau certificat puisse chevaucher l’ancien pendant la rotation.
Tant que Require SSO est en vigueur, un changement d’identité (issuer, locataire, ID d’entité ou kind) donne resource_conflict, et la rotation des certificats et du secret client est permise; hors de ce cas, un changement d’identité met ready_to_require à false jusqu’à ce qu’un test ou une ouverture de session réussisse. Renvoie la connexion avec son ETag. Uniquement des personnes; les agents et les identifiants porteurs n’ont pas de route.
La création de la première connexion (If-Match 0) relève de l’authentification unique, que le forfait Enterprise inclut ; une organisation dont le forfait n’inclut pas cette fonctionnalité est refusée avec feature_not_in_plan (402).
La modification d’une connexion existante, comme la rotation d’un certificat ou d’un secret client ou l’actualisation des métadonnées, ainsi que sa lecture, son test et son retrait, sont ouverts à tous les forfaits, et une connexion existante continue d’ouvrir la session des personnes.
Paramètres
| Nom | Envoyer | Requis ? | Description |
|---|---|---|---|
| org_id | chemin | obligatoire | |
| If-Match | en-tête | obligatoire | La révision de la connexion obtenue par GET, éventuellement entre guillemets, ou 0 pour créer. |
Champs du corps de la requête
| Champ | Description |
|---|---|
| type (obligatoire, chaîne) | Autorisés : « oidc », « saml » |
| preset (obligatoire, chaîne) | Autorisés : « entra », « generic » |
| nom (obligatoire, chaîne) | minLength : 1 maxLength : 80 |
| jit (facultatif, booléen) | Crée une personne à sa première ouverture de session lorsque personne ne détient l’adresse. Absent, la valeur stockée est conservée, et true pour une nouvelle connexion. |
| oidc (facultatif, IdentityProviderOIDCWrite) | |
| saml (facultatif, IdentityProviderSAMLWrite) | |
| preuve (requise, DashboardProof) |
Modèle de requête et réponses
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'If-Match: "REVISION"' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/organizations/ORG_ID/identity-provider'Réponses
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 200 | La connexion modifiée. | IdentityProvider (application/json); en-têtes : Cache-Control, ETag |
| 201 | La nouvelle connexion. | IdentityProvider (application/json); en-têtes : Cache-Control, ETag |
| 400 | 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) |
| 401 | 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) |
| 402 | feature_not_in_plan — L’authentification unique fait partie du forfait Enterprise ; le problème nomme la fonctionnalité, le forfait du compte et required_plan. | Problème (application/problem+json) |
| 403 | 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) |
| 409 | 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) |
| 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) |
Tableau de bord Organisations Retirer le fournisseur d’identité
Un administrateur désigné retire la connexion de l’organisation après une preuve récente (le corps porte proof, comme pour PUT). Le résultat est resource_conflict tant que Require SSO est en vigueur, retrait planifié compris, et not_found lorsque l’organisation n’a aucune connexion. Uniquement des personnes; les agents et les identifiants porteurs n’ont pas de route.
Paramètres
| Nom | Envoyer | Requis ? | Description |
|---|---|---|---|
| org_id | chemin | obligatoire |
Champs du corps de la requête
| Champ | Description |
|---|---|
| preuve (requise, DashboardProof) |
Modèle de requête et réponses
curl --request DELETE --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/organizations/ORG_ID/identity-provider'Réponses
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 204 | La connexion est supprimée. | pas de corps |
| 401 | 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) |
| 403 | 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) |
| 404 | 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) |
| 409 | 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) |
| 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) |
Tableau de bord Organisations Tester le fournisseur d’identité
Un administrateur désigné lance un test d’ouverture de session par la connexion de l’organisation, pour prouver qu’elle fonctionne avant de l’exiger. Il répond par l’adresse du fournisseur d’identité vers laquelle la page navigue et pose le cookie __Host-screenrig-sso.
La réponse du fournisseur aboutit à /api/sso/finish, qui consigne le résultat sur la connexion (last_test; un succès permet à ready_to_require de devenir true) et ramène le navigateur au tableau de bord. Un test ne connecte personne. Une organisation sans connexion est not_found. Uniquement des personnes; les agents et les identifiants porteurs n’ont pas de route.
Paramètres
| Nom | Envoyer | Requis ? | Description |
|---|---|---|---|
| org_id | chemin | obligatoire |
Modèle de requête et réponses
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/organizations/ORG_ID/identity-provider/tests'Réponses
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 200 | L’adresse du fournisseur d’identité vers laquelle naviguer, et le cookie de transaction. | SSOTestStart (application/json); en-têtes : Cache-Control, Set-Cookie |
| 401 | 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) |
| 403 | 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) |
| 404 | 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) |
| 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) |
Tableau de bord Organisations Définir la politique SSO
Un administrateur désigné active ou désactive Require SSO et nomme les administrateurs d’urgence. required true refuse l’ouverture de session par mot de passe et par clé d’accès pour les domaines vérifiés de l’organisation (sso_required) et exige un domaine vérifié et ready_to_require sur la connexion, sinon resource_conflict; il incrémente policy_revision. required false ne lève pas l’exigence immédiatement : il planifie le retrait 72 heures après la requête (enforcement_ends_at) et envoie un courriel à chaque administrateur, et DELETE .../sso-policy/removal l’annule. break_glass_user_ids nomme au plus 2 administrateurs désignés qui détiennent une clé d’accès, sinon invalid_request; ils conservent l’ouverture de session par clé d’accès tant que l’authentification unique est exigée, et chacune de ces ouvertures de session est auditée.
If-Match porte policy_revision et est obligatoire; une valeur obsolète donne revision_conflict avec current_revision. proof est obligatoire : une preuve récente par clé d’accès ou mot de passe liée à une réauthentification de kind sso_policy_change avec l’ID de l’organisation comme subject_id, ou {type: sso} d’une session ouverte par authentification unique il y a 10 minutes au plus.
Renvoie la politique avec son ETag. Uniquement des personnes ; les agents et les identifiants porteurs n’ont pas de route. Définir required true relève de l’authentification unique, que le forfait Enterprise inclut ; une organisation dont le forfait n’inclut pas cette fonctionnalité est refusée avec feature_not_in_plan (402). required false est toujours accepté, et Require SSO, lorsqu’il est activé, reste en vigueur jusqu’à ce qu’il soit désactivé.
Paramètres
| Nom | Envoyer | Requis ? | Description |
|---|---|---|---|
| org_id | chemin | obligatoire | |
| If-Match | en-tête | obligatoire | La valeur policy_revision obtenue par GET identity-provider, éventuellement entre guillemets. |
Champs du corps de la requête
| Champ | Description |
|---|---|
| required (obligatoire, booléen) | true exige l’authentification unique. false planifie le retrait 72 heures après la requête et envoie un courriel à chaque administrateur. |
| break_glass_user_ids (obligatoire, tableau) | Au plus 2 administrateurs désignés qui détiennent une clé d’accès. La liste remplace celle qui est stockée. |
| preuve (requise, DashboardProof) |
Modèle de requête et réponses
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'If-Match: "REVISION"' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/organizations/ORG_ID/sso-policy'Réponses
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 200 | La politique en vigueur. | SSOPolicy (application/json); en-têtes : Cache-Control, ETag |
| 400 | 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) |
| 401 | 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) |
| 402 | feature_not_in_plan — L’authentification unique fait partie du forfait Enterprise ; le problème nomme la fonctionnalité, le forfait du compte et required_plan. | Problème (application/problem+json) |
| 403 | 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) |
| 404 | 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) |
| 409 | 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) |
| 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) |
Tableau de bord Organisations Annuler le retrait SSO
Tout administrateur désigné annule un retrait planifié de Require SSO, qui reste alors en vigueur. Sans retrait planifié, rien ne change. Répond par la politique. Uniquement des personnes; les agents et les identifiants porteurs n’ont pas de route.
Paramètres
| Nom | Envoyer | Requis ? | Description |
|---|---|---|---|
| org_id | chemin | obligatoire |
Modèle de requête et réponses
curl --request DELETE --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/organizations/ORG_ID/sso-policy/removal'Réponses
| Statut | Sens | Corps et en-têtes |
|---|---|---|
| 200 | La politique en vigueur. | SSOPolicy (application/json); en-têtes : Cache-Control, ETag |
| 401 | 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) |
| 403 | 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) |
| 404 | 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) |
| 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) |