API-Referenz

Single Sign-on-API

Single Sign-on: Anmelderouten, Identitätsanbieter und Richtlinie

HTTP-Referenz. Generiert aus dem Backend-Vertrag. Durchsuchen Sie die Endpunkte unten oder laden Sie OpenAPI herunter.

Diese Gruppe hat 13 Operationen, generiert aus api/openapi.yaml. Filtern Sie nach Pfad, Aktion oder Authentifizierung. Jeder Endpunkt listet seine Eingaben auf; klappen Sie ihn auf, um eine Anfragevorlage und die Antwortcodes zu sehen. Die Vorlagen brauchen Ihre eigenen Werte und einen schemagültigen Anfragekörper.

Großgeschriebene Platzhalter durch Ihre Werte ersetzen. Für eine JSON-Anfrage speichern Sie einen Body, der dem Schema in request.json entspricht. Cookie-Beispiele verwenden ein lokales Cookie-Archiv aus einer authentifizierten Sitzung.

Single Sign-on: Anmelderouten, Identitätsanbieter und Richtlinie

POST/api/sso/discovery

Dashboard-SSO ermitteln

Teilt der Einstiegsseite mit, wie sich eine E-Mail-Adresse anmeldet oder registriert. sso, required und provider_name werden allein von der Domain der Adresse bestimmt, anhand der verifizierten Domains von Organisationen, die eine aktivierte Identitätsanbieter-Verbindung haben: sso ist true, wenn eine solche Organisation die Domain besitzt. required ist true, wenn diese Organisation Single Sign-on verlangt, was die Anmeldung per Passwort und Passkey für die Domain ablehnt (createDashboardSession antwortet mit sso_required); ihre Break-Glass-Administratoren behalten die Passkey-Anmeldung. provider_name ist der Anzeigename der Verbindung und nur vorhanden, wenn sso true ist. account ist true, wenn eine aktive Person die Adresse besitzt, ob verifiziert oder nicht, und false, wenn niemand sie besitzt: Die Seite meldet die Person an, wenn account true ist, und bietet die Registrierung an (POST /api/signups), wenn account false und sso false ist.

Pro Client-Adresse begrenzt.

Authentifizierung
keine
Anfrageinhalt
SSODiscoveryRequest
Operations-ID
discoverDashboardSSO

Anfrageinhalt-Felder

FeldBeschreibung
E-Mail (erforderlich, Zeichenfolge)Die Adresse, die die Person eingegeben hat. Nur ihre Domain wird gelesen. minLength: 3 maxLength: 254 Format: "email"
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/sso/discovery'

Antworten

StatusBedeutungTextkörper und Header
200Die Single-Sign-on-Antwort der Domain.SSODiscovery (application/json); Header: Cache-Control, RateLimit-Policy, RateLimit
400

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
429

Stabiles rate_limited-Problem. Nur nach dem autoritativen Retry-After-Intervall erneut versuchen. Ablehnungen mit festem Fenster enthalten auch die anwendbare RateLimit-Policy und RateLimit-Mitglieder; Ablehnungen wegen gleichzeitiger Nutzung und Byte-Budget enthalten diese optionalen Angaben nicht.

Problem (application/problem+json); Header: Retry-After, RateLimit-Policy, RateLimit
Standard

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
POST/api/sso/starts

Dashboard-SSO starten

Startet eine Single-Sign-on-Anmeldung über den Identitätsanbieter der Organisation, zu der die Domain der Adresse gehört, und antwortet mit der Adresse des Anbieters, zu der die Seite navigiert. Die Antwort setzt das Cookie __Host-screenrig-sso (HttpOnly, Secure, SameSite=Strict, Path=/, 10 Minuten), das diesen Browser an die Anmeldung bindet.

Bei einer OIDC-Verbindung wird der Authorization-Code-Flow mit PKCE S256, einer Nonce und response_mode form_post angefordert; eine SAML-Verbindung erhält einen AuthnRequest per HTTP-Redirect.

Der Anbieter antwortet per POST an /api/sso/oidc/{connection_id}/callback oder /api/sso/saml/{connection_id}/acs der Verbindung, und die Anmeldung endet bei /api/sso/finish. return_to ist ein Pfad unter /dashboard/, auf dem die Anmeldung landet; fehlt er, landet sie auf /dashboard/. invitation_token ist eine Einladung, die die Anmeldung annimmt, sobald die Person angemeldet ist. prompt none fordert vom Anbieter eine stille Anmeldung an, die bei /dashboard/#sso_error=interaction_required endet, wenn die Person handeln muss; prompt login lässt den Anbieter die Person erneut authentifizieren.

Eine Adresse, deren Domain keine aktivierte Verbindung hat, ist not_found. Pro Client-Adresse begrenzt.

Authentifizierung
keine
Anfrageinhalt
SSOStartRequest
Operations-ID
startDashboardSSO

Anfrageinhalt-Felder

FeldBeschreibung
E-Mail (erforderlich, Zeichenfolge)Die Adresse, die die Person eingegeben hat. Ihre Domain wählt die Verbindung der Organisation aus. minLength: 3 maxLength: 254 Format: "email"
return_to (optional, Zeichenfolge)Ein Pfad unter /dashboard/, auf dem die Anmeldung landet. Fehlt er, landet sie auf /dashboard/; jeder andere Wert ist invalid_request. minLength: 1 maxLength: 512 Muster: "^/dashboard/"
invitation_token (optional, Zeichenfolge)Eine Einladung, die die Anmeldung für die Person annimmt, sobald sie angemeldet ist. Muster: "^[A-Za-z0-9_-]{43}$"
prompt (optional, Zeichenfolge)none fordert vom Anbieter eine stille Anmeldung an und übergibt keinen Login-Hinweis, sodass email nur die Domain auswählt; login lässt ihn die Person erneut authentifizieren. Erlaubt: "none", "login"
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/sso/starts'

Antworten

StatusBedeutungTextkörper und Header
200Die Adresse des Identitätsanbieters, zu der navigiert wird, und das Transaktions-Cookie.SSOStart (application/json); Header: Cache-Control, Set-Cookie, RateLimit-Policy, RateLimit
400

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
404

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
429

Stabiles rate_limited-Problem. Nur nach dem autoritativen Retry-After-Intervall erneut versuchen. Ablehnungen mit festem Fenster enthalten auch die anwendbare RateLimit-Policy und RateLimit-Mitglieder; Ablehnungen wegen gleichzeitiger Nutzung und Byte-Budget enthalten diese optionalen Angaben nicht.

Problem (application/problem+json); Header: Retry-After, RateLimit-Policy, RateLimit
Standard

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
POST/api/sso/oidc/{connection_id}/callback

Dashboard-SSO-OIDC-Callback empfangen

Die OIDC-Redirect-URI einer Verbindung. Der Identitätsanbieter sendet von einer anderen Website hierher per POST (response_mode form_post), sodass kein Dashboard-Cookie ankommt. Die Route meldet niemanden an: Sie antwortet mit einer Seite, die dieselben Felder und die Verbindungs-ID vom Dashboard-Origin aus, wo das Transaktions-Cookie ankommt, per POST an /api/sso/finish sendet.

Eine Antwort schließt nur eine Anmeldung ab, die diese Verbindung gestartet hat; jede andere endet bei /dashboard/#sso_error=bad_state. Wenn das Discovery-Dokument des Anbieters authorization_response_iss_parameter_supported setzt, endet eine Antwort ohne iss (RFC 9207) bei /dashboard/#sso_error=verification_failed.

Die Seite führt ein Inline-Skript aus, das durch eine Nonce geschützt ist, und enthält eine noscript-Schaltfläche; ihre Content-Security-Policy ist streng, Cache-Control ist no-store und Referrer-Policy ist no-referrer. Eine ID, die keine Verbindung hat, ist not_found.

Authentifizierung
keine
Anfrageinhalt
object
Operations-ID
receiveDashboardSSOOIDCCallback

Parameter

NameSendenErforderlich?Beschreibung
connection_idPfaderforderlich

Anfrageinhalt-Felder

FeldBeschreibung
state (erforderlich, String)maxLength: 512
Code (optional, Zeichenfolge)maxLength: 8192
error (optional, Zeichenfolge)maxLength: 200
error_description (optional, Zeichenfolge)maxLength: 2048
iss (optional, Zeichenfolge)maxLength: 2048
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Content-Type: application/x-www-form-urlencoded' --data-binary '@request.bin' 'https://screenrig.ai/api/sso/oidc/CONNECTION_ID/callback'

Antworten

StatusBedeutungTextkörper und Header
200Die Seite, die die Antwort des Anbieters per POST an /api/sso/finish sendet.string (text/html); Header: Cache-Control, Referrer-Policy, Content-Security-Policy
400

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
404

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
Standard

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
GET/api/sso/saml/{connection_id}

Dashboard-SSO-SAML-Metadaten abrufen

Die SAML-Service-Provider-Metadaten einer Verbindung. Ihre entityID ist die Adresse dieser Route, und ihr Assertion Consumer Service ist /api/sso/saml/{connection_id}/acs mit dem HTTP-POST-Binding. Ein Administrator des Identitätsanbieters importiert sie oder kopiert dieselben Werte aus service_provider der Verbindung. Eine ID, die keine Verbindung hat, ist not_found.

Authentifizierung
keine
Anfrageinhalt
keine
Operations-ID
getDashboardSSOSAMLMetadata

Parameter

NameSendenErforderlich?Beschreibung
connection_idPfaderforderlich
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request GET 'https://screenrig.ai/api/sso/saml/CONNECTION_ID'

Antworten

StatusBedeutungTextkörper und Header
200Das Service-Provider-Metadatendokument.string (application/samlmetadata+xml)
404

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
Standard

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
POST/api/sso/saml/{connection_id}/acs

Dashboard-SSO-SAML-Assertion empfangen

Der SAML Assertion Consumer Service einer Verbindung. Der Identitätsanbieter sendet von einer anderen Website hierher per POST, sodass kein Dashboard-Cookie ankommt. Die Route meldet niemanden an: Sie antwortet mit einer Seite, die SAMLResponse, RelayState und die Verbindungs-ID vom Dashboard-Origin aus, wo das Transaktions-Cookie ankommt, per POST an /api/sso/finish sendet.

Eine Antwort schließt nur eine Anmeldung ab, die diese Verbindung gestartet hat. Die Seite führt ein Inline-Skript aus, das durch eine Nonce geschützt ist, und enthält eine noscript-Schaltfläche; ihre Content-Security-Policy ist streng, Cache-Control ist no-store und Referrer-Policy ist no-referrer. Eine ID, die keiner Verbindung gehört, ist not_found.

Authentifizierung
keine
Anfrageinhalt
object
Operations-ID
receiveDashboardSSOSAMLAssertion

Parameter

NameSendenErforderlich?Beschreibung
connection_idPfaderforderlich

Anfrageinhalt-Felder

FeldBeschreibung
SAMLResponse (erforderlich, Zeichenfolge)maxLength: 1048576
RelayState (optional, Zeichenfolge)maxLength: 512
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Content-Type: application/x-www-form-urlencoded' --data-binary '@request.bin' 'https://screenrig.ai/api/sso/saml/CONNECTION_ID/acs'

Antworten

StatusBedeutungTextkörper und Header
200Die Seite, die die Antwort des Anbieters per POST an /api/sso/finish sendet.string (text/html); Header: Cache-Control, Referrer-Policy, Content-Security-Policy
400

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
404

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
Standard

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
POST/api/sso/finish

Dashboard-SSO abschließen

Schließt eine Single-Sign-on-Anmeldung auf dem Dashboard-Origin ab, wo das Cookie __Host-screenrig-sso ankommt. Das Formular besteht aus state, der Verbindung, für die die Antwort eingegangen ist, und der Antwort des Identitätsanbieters, wie die Callback-Seite sie kopiert hat: code, error, error_description und iss für OIDC, SAMLResponse für SAML (state ist der RelayState).

Die Route bindet state an das Cookie, lehnt eine Antwort ab, die für eine andere Verbindung eingetroffen ist als die, über die die Anmeldung gestartet wurde, verifiziert das Token oder die Assertion des Anbieters, wendet die Regeln für Kontoübernahme und Verknüpfung an, prüft die Anmelderichtlinie der Organisation und antwortet mit 303.

Eine Anmeldung, Erneuerung oder Reauthentifizierung erzeugt eine Dashboard-Sitzung mit auth_method sso (gültig 24 Stunden ab dieser Anmeldung, nicht durch Nutzung verlängert), nimmt die Einladung an, die die Anmeldung mitführt, setzt das Cookie __Host-screenrig-dashboard, lässt das Transaktions-Cookie ablaufen und leitet zu return_to oder zu /dashboard/ weiter.

Eine Verknüpfung fügt die Identität dem Konto der angemeldeten Person hinzu und behält deren Sitzung bei. Ein Test hält sein Ergebnis an der Verbindung fest (last_test) und meldet niemanden an. Jeder Fehler antwortet außerdem mit 303, auf /dashboard/#sso_error=<code>, und nie mit einem Problem-Dokument.

Die Codes sind no_email, email_unverified, domain_not_allowed, account_exists (die Person meldet sich wie bisher an und verknüpft von ihrem Konto aus), managed_elsewhere, subject_mismatch, not_provisioned, sso_required, staff_account, expired, bad_state, interaction_required (eine stille Erneuerung braucht die Person), provider_refused, provider_unavailable, verification_failed und deactivated (SSOErrorCode).

Authentifizierung
ssoTransaction
Anfrageinhalt
object
Operations-ID
finishDashboardSSO

Anfrageinhalt-Felder

FeldBeschreibung
connection_id (optional, String)maxLength: 128
state (erforderlich, String)maxLength: 512
Code (optional, Zeichenfolge)maxLength: 8192
error (optional, Zeichenfolge)maxLength: 200
error_description (optional, Zeichenfolge)maxLength: 2048
iss (optional, Zeichenfolge)maxLength: 2048
SAMLResponse (optional, Zeichenfolge)maxLength: 1048576
Anfragevorlage und Antworten
Shell · Anfragevorlage
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'

Antworten

StatusBedeutungTextkörper und Header
303Zu return_to oder /dashboard/ mit gesetztem Sitzungs-Cookie, oder zu /dashboard/#sso_error=<code>, wenn die Anmeldung nicht abgeschlossen wurde.kein Body; Header: Location, Cache-Control, Set-Cookie
Standard

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
POST/api/session/sso-starts

Dashboard-Sitzungs-SSO starten

Startet eine Single-Sign-on-Anmeldung für die angemeldete Person und antwortet mit der Adresse des Identitätsanbieters, wie POST /api/sso/starts es für eine Adresse tut, und setzt das Cookie __Host-screenrig-sso. intent renew erneuert eine Sitzung, die über Single Sign-on angemeldet wurde, still (prompt none), bevor ihre 24 Stunden enden; das Dashboard tut dies, sobald 12 Stunden vergangen sind. intent reauth lässt den Anbieter die Person erneut authentifizieren (prompt login), wodurch eine Sitzung die kürzliche Anmeldung erhält, die der sso-Nachweis benötigt. intent link verknüpft die Identität der Person beim Anbieter mit ihrem bestehenden Konto. renew und reauth benötigen eine Sitzung, die über Single Sign-on angemeldet wurde, und link benötigt eine aktivierte Verbindung an der verifizierten Domain der Person; andernfalls lautet die Antwort resource_conflict. return_to ist ein Pfad unter /dashboard/.

Authentifizierung
dashboardSession
Anfrageinhalt
SessionSSOStartRequest
Operations-ID
startDashboardSessionSSO

Anfrageinhalt-Felder

FeldBeschreibung
intent (erforderlich, Zeichenfolge)

renew: die Single-Sign-on-Sitzung still erneuern. reauth: die Person erneut authentifizieren, für den sso-Nachweis. link: die Identität der Person beim Anbieter ihrem Konto zuordnen. Erlaubt: "renew", "reauth", "link"

return_to (optional, Zeichenfolge)Ein Pfad unter /dashboard/, zu dem zurückgekehrt wird. Fehlt er, wird zu /dashboard/ zurückgekehrt. minLength: 1 maxLength: 512 Muster: "^/dashboard/"
Anfragevorlage und Antworten
Shell · Anfragevorlage
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'

Antworten

StatusBedeutungTextkörper und Header
200Die Adresse des Identitätsanbieters, zu der navigiert wird, und das Transaktions-Cookie.SSOStart (application/json); Header: Cache-Control, Set-Cookie
400

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
401

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
409

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
Standard

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
GET/api/organizations/{org_id}/identity-provider

Dashboard Organisationen Identitätsanbieter abrufen

Ein benannter Administrator liest die Single-Sign-on-Verbindung der Organisation: ihr Protokoll und ihren Anbieter, die Service-Provider-Werte, die beim Identitätsanbieter einzutragen sind (die OIDC-Redirect-URI, die SAML-Entity-ID sowie die Adressen von Assertion Consumer Service und Metadaten), ihre Anmelderichtlinie und das Ergebnis des letzten Tests.

Das Client-Secret wird nie zurückgegeben; client_secret_set gibt an, ob eines gespeichert ist. ready_to_require ist true, sobald die Organisation eine verifizierte Domain hat und ein Test oder eine echte Anmeldung über die aktuelle Identität der Verbindung (ihren Issuer, Mandanten, ihre Entity-ID und Art) erfolgreich war; Require SSO wird nur akzeptiert, solange es true ist. Der ETag trägt die Revision.

Eine Organisation ohne Verbindung ist not_found. Alle anderen Personen werden wie auf den übrigen Admin-Routen der Organisation abgelehnt. Nur Personen; Agenten und Bearer-Anmeldeinformationen haben keine Route.

Authentifizierung
dashboardSession
Anfrageinhalt
keine
Operations-ID
dashboardOrganizationsGetIdentityProvider

Parameter

NameSendenErforderlich?Beschreibung
org_idPfaderforderlich
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/organizations/ORG_ID/identity-provider'

Antworten

StatusBedeutungTextkörper und Header
200Die Verbindung der Organisation.IdentityProvider (application/json); Header: Cache-Control, ETag
401

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
403

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
404

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
Standard

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
PUT/api/organizations/{org_id}/identity-provider

Dashboard Organisationen Identitätsanbieter festlegen

Ein benannter Administrator legt die Verbindung der Organisation an oder ändert sie; eine Organisation hat eine.

If-Match trägt die Revision der Verbindung aus GET oder 0, wenn die Organisation keine hat, und ist erforderlich; ein veralteter Wert ist revision_conflict mit current_revision. 201 legt an und 200 ändert. proof ist erforderlich: ein frischer Passkey- oder Passwort-Nachweis, gebunden an eine Reauthentifizierung der Art identity_provider_change mit der Organisations-ID als subject_id, oder {type: sso} aus einer Sitzung, die sich vor höchstens 10 Minuten über Single Sign-on angemeldet hat (sonst reauthentication_required).

OIDC mit preset entra nimmt tenant_id entgegen und bildet daraus den Issuer; preset generic nimmt issuer entgegen. Wird oidc.client_secret ausgelassen, bleibt das gespeicherte Secret erhalten.

Bei SAML wird metadata_xml auf Entity-ID, Anmeldeadresse und Signaturzertifikate des Identitätsanbieters gelesen, und idp_entity_id, idp_sso_url und certificates_pem geben sie direkt an; certificates_pem ersetzt die gespeicherte Liste, die höchstens 4 Einträge enthält, damit ein neues Zertifikat das alte während der Rotation überlappen kann.

Solange Require SSO gilt, ist eine Änderung der Identität (Issuer, Mandant, Entity-ID oder Art) resource_conflict, und die Rotation von Zertifikat und Client-Secret ist erlaubt; außerhalb davon setzt eine Änderung der Identität ready_to_require auf false, bis ein Test oder eine Anmeldung erfolgreich ist. Gibt die Verbindung mit ihrem ETag zurück. Nur Personen; Agenten und Bearer-Anmeldeinformationen haben keine Route.

Das Anlegen der ersten Verbindung (If-Match 0) fällt unter das Single Sign-on, das der Enterprise-Plan enthält; eine Organisation, deren Plan dies nicht enthält, wird mit feature_not_in_plan (402) abgelehnt.

Das Ändern einer bestehenden Verbindung, etwa das Rotieren eines Zertifikats oder Client-Geheimnisses oder das Aktualisieren der Metadaten, sowie das Lesen, Testen und Entfernen einer Verbindung sind in jedem Plan offen, und eine bestehende Verbindung meldet weiterhin Personen an.

Authentifizierung
dashboardSession
Anfrageinhalt
IdentityProviderWrite
Operations-ID
dashboardOrganizationsSetIdentityProvider

Parameter

NameSendenErforderlich?Beschreibung
org_idPfaderforderlich
If-MatchÜberschrifterforderlichDie Revision der Verbindung aus GET, optional in Anführungszeichen, oder 0 zum Anlegen.

Anfrageinhalt-Felder

FeldBeschreibung
kind (erforderlich, string)Erlaubt: "oidc", "saml"
preset (erforderlich, Zeichenfolge)Erlaubt: "entra", "generic"
Name (erforderlich, Zeichenkette)minLength: 1 maxLength: 80
jit (optional, Boolean)Eine Person bei der ersten Anmeldung anlegen, wenn niemand die Adresse besitzt. Fehlt der Wert, bleibt der gespeicherte Wert erhalten, bei einer neuen Verbindung ist es true.
oidc (optional, IdentityProviderOIDCWrite)
saml (optional, IdentityProviderSAMLWrite)
proof (erforderlich, DashboardProof)
Anfragevorlage und Antworten
Shell · Anfragevorlage
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'

Antworten

StatusBedeutungTextkörper und Header
200Die geänderte Verbindung.IdentityProvider (application/json); Header: Cache-Control, ETag
201Die neue Verbindung.IdentityProvider (application/json); Header: Cache-Control, ETag
400

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
401

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
402feature_not_in_plan — Single Sign-on ist Teil des Enterprise-Plans; das Problem nennt die Funktion, den Plan, den das Konto hat, und required_plan.Problem (application/problem+json)
403

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
409

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
412revision_conflict – If-Match ist veraltet; die aktuelle Revision ist im Fehlerfeld current_revision enthalten.Problem (application/problem+json)
Standard

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
LÖSCHEN/api/organizations/{org_id}/identity-provider

Dashboard Organisationen Identitätsanbieter entfernen

Ein benannter Administrator entfernt die Verbindung der Organisation nach frischem Nachweis (der Body enthält proof, wie bei PUT). Es ist resource_conflict, solange Require SSO gilt, eine geplante Entfernung eingeschlossen, und not_found, wenn die Organisation keine Verbindung hat. Nur Personen; Agenten und Bearer-Anmeldeinformationen haben keine Route.

Authentifizierung
dashboardSession
Anfrageinhalt
DashboardProofRequest
Operations-ID
dashboardOrganizationsRemoveIdentityProvider

Parameter

NameSendenErforderlich?Beschreibung
org_idPfaderforderlich

Anfrageinhalt-Felder

FeldBeschreibung
proof (erforderlich, DashboardProof)
Anfragevorlage und Antworten
Shell · Anfragevorlage
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'

Antworten

StatusBedeutungTextkörper und Header
204Die Verbindung wird entfernt.kein Körper
401

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
403

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
404

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
409

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
Standard

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
POST/api/organizations/{org_id}/identity-provider/tests

Dashboard Organisationen Identitätsanbieter testen

Ein benannter Administrator startet eine Test-Anmeldung über die Verbindung der Organisation, um zu belegen, dass sie funktioniert, bevor sie verlangt wird. Die Antwort enthält die Adresse des Identitätsanbieters, zu der die Seite navigiert, und setzt das Cookie __Host-screenrig-sso.

Die Antwort des Anbieters endet bei /api/sso/finish, das das Ergebnis an der Verbindung festhält (last_test; ein Erfolg lässt ready_to_require true werden) und den Browser zum Dashboard zurückführt. Ein Test meldet niemanden an. Eine Organisation ohne Verbindung ist not_found. Nur Personen; Agenten und Bearer-Anmeldeinformationen haben keine Route.

Authentifizierung
dashboardSession
Anfrageinhalt
keine
Operations-ID
dashboardOrganizationsTestIdentityProvider

Parameter

NameSendenErforderlich?Beschreibung
org_idPfaderforderlich
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/organizations/ORG_ID/identity-provider/tests'

Antworten

StatusBedeutungTextkörper und Header
200Die Adresse des Identitätsanbieters, zu der navigiert wird, und das Transaktions-Cookie.SSOTestStart (application/json); Header: Cache-Control, Set-Cookie
401

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
403

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
404

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
Standard

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
PUT/api/organizations/{org_id}/sso-policy

Dashboard Organisationen SSO-Richtlinie festlegen

Ein benannter Administrator schaltet Require SSO ein oder aus und benennt die Break-Glass-Administratoren. required true lehnt die Anmeldung per Passwort und Passkey für die verifizierten Domains der Organisation ab (sso_required) und setzt eine verifizierte Domain und ready_to_require an der Verbindung voraus, sonst resource_conflict; es erhöht policy_revision. required false hebt die Pflicht nicht sofort auf: Es plant die Entfernung für 72 Stunden nach der Anfrage (enforcement_ends_at) und benachrichtigt jeden Administrator per E-Mail, und DELETE .../sso-policy/removal bricht sie ab. break_glass_user_ids benennt höchstens 2 benannte Administratoren, die einen Passkey besitzen, sonst invalid_request; sie behalten die Passkey-Anmeldung, solange SSO verlangt wird, und jede solche Anmeldung wird protokolliert.

If-Match trägt policy_revision und ist erforderlich; ein veralteter Wert ist revision_conflict mit current_revision. proof ist erforderlich: ein frischer Passkey- oder Passwort-Nachweis, gebunden an eine Reauthentifizierung der Art sso_policy_change mit der Organisations-ID als subject_id, oder {type: sso} aus einer Sitzung, die sich vor höchstens 10 Minuten über Single Sign-on angemeldet hat.

Gibt die Richtlinie mit ihrem ETag zurück. Nur Personen; Agenten und Bearer-Anmeldeinformationen haben keine Route. Das Setzen von required true fällt unter das Single Sign-on, das der Enterprise-Plan enthält; eine Organisation, deren Plan dies nicht enthält, wird mit feature_not_in_plan (402) abgelehnt. required false wird immer akzeptiert, und ein aktives Require SSO bleibt durchgesetzt, bis es ausgeschaltet wird.

Authentifizierung
dashboardSession
Anfrageinhalt
SSOPolicyWrite
Operations-ID
dashboardOrganizationsSetSSOPolicy

Parameter

NameSendenErforderlich?Beschreibung
org_idPfaderforderlich
If-MatchÜberschrifterforderlichDie policy_revision aus GET identity-provider, optional in Anführungszeichen.

Anfrageinhalt-Felder

FeldBeschreibung
required (erforderlich, Boolean)true verlangt Single Sign-on. false plant die Entfernung für 72 Stunden nach der Anfrage und benachrichtigt jeden Administrator per E-Mail.
break_glass_user_ids (erforderlich, Array)Höchstens 2 benannte Administratoren, die einen Passkey besitzen. Die Liste ersetzt die gespeicherte.
proof (erforderlich, DashboardProof)
Anfragevorlage und Antworten
Shell · Anfragevorlage
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'

Antworten

StatusBedeutungTextkörper und Header
200Die aktuell geltende Richtlinie.SSOPolicy (application/json); Header: Cache-Control, ETag
400

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
401

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
402feature_not_in_plan — Single Sign-on ist Teil des Enterprise-Plans; das Problem nennt die Funktion, den Plan, den das Konto hat, und required_plan.Problem (application/problem+json)
403

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
404

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
409

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
412revision_conflict – If-Match ist veraltet; die aktuelle Revision ist im Fehlerfeld current_revision enthalten.Problem (application/problem+json)
Standard

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
LÖSCHEN/api/organizations/{org_id}/sso-policy/removal

Dashboard Organisationen SSO-Entfernung abbrechen

Jeder benannte Administrator bricht eine geplante Entfernung von Require SSO ab, sodass es in Kraft bleibt. Ist keine Entfernung geplant, ändert sich nichts. Antwortet mit der Richtlinie. Nur Personen; Agenten und Bearer-Anmeldeinformationen haben keine Route.

Authentifizierung
dashboardSession
Anfrageinhalt
keine
Operations-ID
dashboardOrganizationsCancelSSORemoval

Parameter

NameSendenErforderlich?Beschreibung
org_idPfaderforderlich
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request DELETE --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/organizations/ORG_ID/sso-policy/removal'

Antworten

StatusBedeutungTextkörper und Header
200Die aktuell geltende Richtlinie.SSOPolicy (application/json); Header: Cache-Control, ETag
401

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
403

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
404

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)
Standard

Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat.

Problem (application/problem+json)