API-Referenz

Wiedergabe & Berichte-API

Laufzeit-Manifest, Berichte und Ereignisse

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

Diese Gruppe hat 24 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.

Laufzeit-Manifest, Berichte und Ereignisse

POST/screen/browser-provisioning/exchanges

Browser-Provisionierung austauschen

Nur Browser-Gleichursprungsaustausch. Bindet atomar das Einmal-Token an exchange_id und setzt nur das normale host-only HttpOnly Secure SameSite=Strict Cookie für gekoppelte Geräte. Android und Qt verwenden diese Berechtigung nie.

Authentifizierung
keine
Anfrageinhalt
BrowserProvisioningExchange
Operations-ID
exchangeBrowserProvisioning

Anfrageinhalt-Felder

FeldBeschreibung
provisioning_token (erforderlich, Zeichenkette)Muster: "^[A-Za-z0-9_-]{43}$"
exchange_id (erforderlich, String)Muster: "^xchg_[A-Za-z0-9_-]{43}$"
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/browser-provisioning/exchanges'

Antworten

StatusBedeutungTextkörper und Header
201Cookie des verbundenen Geräts ohne Laufzeit-Cookie oder Anmeldeinformationen im Body ausgegeben.BrowserProvisioningCompletion (application/json); Header: Cache-Control, Referrer-Policy, RateLimit-Policy, RateLimit
400

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
403

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
404

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
409

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
410

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
429

Stabiles rate_limited-Problem bei einer Player-gerichteten Laufzeit- oder Inhaltsroute im Laufzeit-Dokumentformat (RuntimeProblem). 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.

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

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
Standard

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
GET/screen/chrome

Runtime Chrome erhalten

Stage-Chrome für die aktuelle Laufzeitsitzung. Kein Teil des Laufzeit-Manifests. Auth ist dasselbe Laufzeit-Cookie oder ScreenRig-Session wie GET /screen/manifest. Cache-Control ist privat, no-store. Banner ist immer null.

Authentifizierung
runtimeCookie ODER nativeSessionAuthorization
Anfrageinhalt
keine
Operations-ID
getRuntimeChrome
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/chrome'

Antworten

StatusBedeutungTextkörper und Header
200Laufzeit-ChromeRuntimeChrome (application/json); Header: Cache-Control
Standard

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
GET/screen/manifest

Runtime-Manifest erhalten

Die eine Runtime-Manifest-Route für jede Sitzung. schemaVersion ist 3. Aufgelöstes Player-Manifest; Projektion ist ausfallsicher, ungültige Seiten und Primitiven werden ausgelassen und in der Diagnose aufgelistet.

Adslot-Seiten sind nur für eine gekoppelte Sitzung mit adslot-v1 verfügbar; jede andere Sitzung, einschließlich eines anonymen öffentlichen Bildschirmbetrachters, erhält Hausinhalte ohne Adslot-Seite. Die Root-Keys bleiben camelCase; Adslot-Seiten-Keys bleiben id, type, adslot_id und optional snake_case visibility.

Kompatibilitätsregel 4 — 200 mit pages [] und nicht-leeren Diagnosen ist eine degradierte Projektion (Player behält zuletzt bekannten Zustand); 200 mit pages [] und ohne Diagnosen ist eine erstellte leere Zuweisung (docs/player-compatibility.md §1.4).

Ein ausgesetzter Bildschirm erhält pages [] ohne Diagnosen, das Mitglied suspension und eine eigene Manifestrevision, ob ihm eine Playlist zugewiesen ist oder nicht (§6.9). Ein archivierter Bildschirm gibt das Problem screen_archived zurück und darf den zuletzt bekannten Zustand nicht aktualisieren.

Authentifizierung
runtimeCookie ODER nativeSessionAuthorization
Anfrageinhalt
keine
Operations-ID
getRuntimeManifest

Parameter

NameSendenErforderlich?Beschreibung
stream_transportsAbfrageoptional

Kommagetrennte unterstützte Stream-Transporte (hls,udp-mpegts,rtsp). Weglassen projiziert Streams auf Ersatzbilder. Nur Rendering-Verhandlung, niemals Autorisierung. UDP-MPEGTS nur werben, wenn lokal aktiviert.

Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/manifest'

Antworten

StatusBedeutungTextkörper und Header
200Aufgelöstes Player-Manifest.RuntimeManifest (application/json)
304Manifest unverändertkein Körper
409

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
Standard

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
GET/stream/events

Stream Runtime Events

Authentifizierung
runtimeCookie ODER nativeSessionAuthorization
Anfrageinhalt
keine
Operations-ID
streamRuntimeEvents

Parameter

NameSendenErforderlich?Beschreibung
nachAbfrageoptional

Ein Cursor aus einer vorherigen Antwort: ev1_ für Projekt-Ereignisse (und die Ereignisströme). Das Player-Protokoll (source=log) paginiert mit lg1_ oder ev1_ Cursorn nach dem Speicherort auf dem Server; behandeln Sie sie als undurchsichtig und geben Sie den Cursor zurück, den eine Seite zurückgegeben hat. Ein Cursor eines anderen Typs wird mit invalid_request abgelehnt.

Last-Event-IDÜberschriftoptionalDauerhafter Cursor, der verwendet wird, wenn after fehlt.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/stream/events'

Antworten

StatusBedeutungTextkörper und Header
200

Bildschirmbezogenes dauerhaftes SSE. Der Abfrage-Cursor hat Vorrang vor Last-Event-ID; jedes Ereignis trägt eine id-Cursor, der für die Wiederverbindung geeignet ist. Bereitgestellt vom Stream-Sidecar von Valkey (stream-valkey/v1); der Stream enthält keine stream.cursor-Frames, und ein Cursor wird nur mit gelieferten Ereignissen vorwärts bewegt.

Ungültige, zukünftige oder vor der Aufbewahrung liegende Cursor erhalten stream.resync_required am aktuellen Kopf und schließen. screen.toast und screen.screenshot_requested sind Laufzeit-Zuschauereignisse; scan liefert niemals vergangene details.expires_at.

Screenshot-Bildbytes sind niemals in diesem Stream. screen.archived und screen.unarchived sind Laufzeit-Zuschauerereignisse; sie löschen keine Anmeldeinformationen. screen.deleted ist ein Laufzeit-Zuschauerereignis, das ausgeliefert wird, wenn ein signierter Identitäts-Reset den Bildschirm als gelöscht markiert. Kein Laufzeitereignis autorisiert das Löschen der lokalen Identität.

Nur ein erfolgreicher, signierter Reset, der durch eine bestätigte lokale Player-Aktion initiiert wurde, erlaubt eine lokale Identitätsrotation. project.suspended und project.resumed sind Laufzeit-Zuschauerhinweise, wenn vorausbezahlte verbleibende Treffer null oder positiv werden.

Das Laufzeitpublikum ist eine Allowlist (docs/player-compatibility.md §7.1): screen.content_changed, screen.manifest_changed, screen.toast, screen.screenshot_requested, screen.archived, screen.unarchived, screen.deleted, screen.device_credential_revoked, project.suspended, project.resumed, player.reload, die jede Laufzeitsitzung erreicht, die Befehle pro Bildschirm player.reboot und player.display (docs/player-compatibility.md §6.5), player.play_page (§6.3.1) und player.identify (§6.3.2), nie über details.expires_at hinaus zugestellt, und screen.card_data_changed (Ressource {type: card_data, key}, Details {revision} oder {deleted: true}), nur an Bildschirme adressiert, deren aktueller Inhalt diese Kartendaten oder diesen Feed-Schlüssel liest.

Jeder andere Typ wird niemals an den Stream gesendet. Player ignorieren unbekannte Ereignistypen, einschließlich des Standardnachrichtentyps, und unbekannte Feldnamen und bewegen den Cursor bei jeder ID weiter.

Der Stream öffnet mit seinem eigenen Retry, der pro Verbindung zwischen 3000 und 15000 ms variiert, damit Streams, die zusammen ausfallen, nicht gleichzeitig neu verbinden; ein auslaufender Host sendet jedem Stream seinen eigenen Retry zwischen 1000 und 30000 ms.

Der In-Band-Problemrahmen (Ereignis: Problem) hat keine ID; seine Daten sind {code, detail, action?}, wobei action vorhanden ist, wenn das Register eine definiert, und der Stream dann schließt (payment_required setzt retry: 60000). Der Flotten-player.reload-Steuerungsrahmen hat keine ID und bewegt den Cursor nie. Kein Rahmen enthält mehr als 64 KiB Daten.

string (text/event-stream); Header: X-Accel-Buffering
Standard

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
POST/screen/reports

Laufzeitbericht erstellen

Authentifizierung
pairedRuntimeCookie ODER nativeSessionAuthorization
Anfrageinhalt
inline
Operations-ID
createRuntimeReport
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/reports'

Antworten

StatusBedeutungTextkörper und Header
202

Akzeptiert nach dauerhafter Speicherung. Ein Telemetrie-Batch wird als Einheit akzeptiert oder abgelehnt. Es gibt 202 zurück, erst nachdem die Rohdaten dauerhaft gespeichert sind und das Stream-Wasserzeichen verschoben wurde; es gibt stream_id, sequence, accepted (Berichtanzahl) und duplicate zurück.

Ein Batch, der den neuesten Gesundheits- oder Beobachtungszustand oder den Seitenfehler-Slot ändert oder Projekt-Ereignisse anhängt, überträgt sein Wasserzeichen mit diesem Zustand in einem Bildschirm-Schreibvorgang und hängt seine Ereignisse in derselben Transaktion an.

Ein Batch, der keine von ihnen ändert, wie ein stetiger Batch von Plays und Zustandsberichten, verschiebt nur sein Wasserzeichen, das 25 Stunden in Valkey gehalten wird; während Valkey nicht verfügbar oder der Speicher voll ist, hält der Bildschirm-Schreibvorgang es stattdessen.

Ein abgelehnter Batch (konfliktierende Wiedergabe, volle Stream-Kapazität, zurückgezogene Autorität) speichert nichts, außer einem neuen Stream, der den letzten Stream-Platz des Bildschirms an einen gleichzeitigen neuen Stream verliert, der nach Speicherung seiner Rohdaten abgelehnt wird.

Ein Batch, der wegen eines Serverfehlers oder einer verlorenen Verbindung nicht bestätigt wurde, kann einige seiner rohen Beobachtungen gespeichert haben; das erneute Abspielen derselben Bytes speichert jede fehlende Beobachtung einmal, niemals zweimal, und bestätigt dann. Ein erneutes Abspielen eines bestätigten Batches gibt 202 mit duplicate true zurück und ändert nichts.

Ein in Valkey gehaltener Wasserzeichenwert kann bei einem Failover verloren gehen oder zurückbleiben, niemals voranschreiten, sodass eine Sequenz, die das Wasserzeichen des Streams überschreitet, als nächstes ohne Lückenablehnung akzeptiert wird, und eine Wiedergabe, deren Wasserzeichen verloren ging, wird mit duplicate false erneut akzeptiert; ihre Wiedergaben werden dennoch einmal gespeichert und ihre Player-Protokolleinträge werden anhand ihrer Identitäten zusammengeführt.

Einzelberichte behalten ihre bestehende Antwort bei.

Ein Laufzeit-Zustandsbericht (jeder andere Berichtscode, z. B. player.page_skipped) wird im Player-Log (GET /api/events?source=log) aufgezeichnet, nicht in den Projektevents, und wird bestätigt, wenn die Player-Log-Warteschlange ihn akzeptiert; er ist nicht im Ereignisstrom und wird nicht an Webhooks geliefert. manifest.activated wird vor dieser Antwort festgeschrieben und ist idempotent für die aktuelle aktive Revision. playback.media_started, legacy playback.video_started und playback.application_started fügen dauerhaft eine authentifizierte Bildschirmbeobachtung (GET /api/playback/plays) vor dieser Antwort hinzu; gemeldete Artikel-, Seiten- und Manifest-Identitäten erfordern keine aktuelle Inhaltsmitgliedschaft und autorisieren keinen Inhaltszugriff.

Tägliche Zählungen, optionale Metadaten und vom Projekt verwaltete Ressource last_used_at werden durch wiederherstellbare Batches aktualisiert und können hinter der Rohbeobachtung zurückbleiben.

Gewöhnliche Wiedergabe-Start-Antworten lassen optionale Kredit-Saldo-Header weg. playback.page_failed ersetzt den neuesten Seiten-Fehler-Slot des Bildschirms und fügt ein projektweites dauerhaftes Ereignis in derselben Transaktion hinzu, ohne Bildschirm- oder Manifest-Revision zu ändern. manifest.upgrade speichert den einen latest-wins Manifest-Upgrade-Slot des Bildschirms hinter seinen Revisionssperren und fügt ein projektweites dauerhaftes Ereignis in derselben Transaktion nur hinzu, wenn sich der abgeleitete Zustand ändert; ein veralteter, überholter oder nach Aktivierung vor Aktivierung Bericht wird ohne Änderung akzeptiert, und kein Bericht fördert jemals eine Berechtigung. application.event fügt vor dieser Antwort ein dauerhaftes Projekt-Ereignis hinzu.

kein Körper; Header: RateLimit-Policy, RateLimit
Standard

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
PUT/screen/screenshot

Laufzeit-Screenshot einstellen

Lädt das aktuell ausstehende WebP-Standbild für den Sitzungsschirm hoch. Der Pfad benennt nicht screen_id; die gekoppelte Laufzeitsitzung bindet ihn. Der Header ScreenRig-Capture-Id muss die aktuelle ausstehende capture_id sein. Content-Type ist genau image/webp. Der Body ist rohes WebP, nicht leer, maximal 2097152 Bytes.

Der Server validiert RIFF/WEBP-Magie, dekodiert einen Standbild-Frame und speichert die hochgeladenen Bytes unverändert. Animiertes WebP ist invalid_request. Fehlende, unbekannte, abgelaufene oder nicht aktuelle capture_id ist resource_conflict. Ungepaarte Sitzungen sind verboten. Vorausbezahltes Restguthaben ist kein Tor und diese Bytes werden nicht in used_bytes gezählt.

Ein Slot pro Bildschirm wird ersetzt. screen.screenshot_ready enthält Details wie Name, capture_id, Bytes, Breite, Höhe und sha256; sie enthalten niemals Pixel oder einen Objekt-Schlüssel.

Authentifizierung
pairedRuntimeCookie ODER nativeSessionAuthorization
Anfrageinhalt
string
Operations-ID
putRuntimeScreenshot

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-Capture-IdÜberschrifterforderlich
ScreenRig-Capture-FailureÜberschriftoptional

Nicht verfügbare Aufnahme mit leerem Body melden. Player senden unsupported_surface oder capture_failed. Jeder andere nicht-leere Wert wird als capture_failed erfasst, nie abgelehnt (docs/player-compatibility.md §1.1). Nur die aktuelle ausstehende Aufnahme kann fehlschlagen.

Es werden keine Pixel oder Teilbilder gespeichert; screen.screenshot_failed enthält diesen Grund und der Status wird auf nicht verfügbar gesetzt.

Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'ScreenRig-Capture-Id: VALUE' --header 'Content-Type: image/webp' --data-binary '@request.bin' 'https://play.screenrig.ai/screen/screenshot'

Antworten

StatusBedeutungTextkörper und Header
204Standbild-WebP, gespeichert als aktueller Slot.kein Körper; Header: Cache-Control
400

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
401

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
403

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
409

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
Standard

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
POST/screen/adslots/resolve

Adslots auflösen

Löst bis zu 16 serververifizierte Seitenvorkommen auf. Ein frischer Kandidat mit möglicher Füllung wird atomar bepreist, budgetgeprüft und gegen die kampagnenweite Preisgrenze reserviert. Ein frischer Kandidat ohne mögliche Füllung gibt leer zurück, ohne Entscheidung oder Reservierung zu erzeugen.

Keine berechtigte oder bezahlbare Kampagne ist ein erfolgreiches leeres Ergebnis ohne Inhalt und ohne Belastung; es ist niemals eine Zahlungsherausforderung. Leere Ergebnisse können einen Server-Uhrzeit-No-Fill-Hinweis enthalten, der höchstens 60 Sekunden dauert und an einer früher bekannten Berechtigungsgrenze endet.

Hinweise gelten für denselben Bildschirm, Manifest, Seite, Slot und Berechtigungskontext; sie autorisieren niemals die Wiedergabe. Eine Verlängerung der Leihe verwendet dieselbe Reservierung und verschiebt die Rotation nicht, und wird verweigert, solange die Kampagne eine Preisbestätigung erfordert.

Authentifizierung
pairedRuntimeCookie ODER nativeSessionAuthorization
Anfrageinhalt
RuntimeAdslotResolveRequest
Operations-ID
resolveAdslots

Anfrageinhalt-Felder

FeldBeschreibung
manifest_revision (erforderlich, Zeichenfolge)
Kandidaten (erforderlich, Array)
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/adslots/resolve'

Antworten

StatusBedeutungTextkörper und Header
200Pro Kandidat ausgefüllte oder leere Ergebnisse in Anforderungsreihenfolge.RuntimeAdslotResolveResponse (application/json); Header: Cache-Control, RateLimit-Policy, RateLimit
400invalid_request - Batch-Größe, doppelte Schlüssel oder Prognosefenster sind ungültig.RuntimeProblem (application/problem+json)
409resource_conflict – Ein Kandidat wurde mit einem anderen Anforderungs-Hash wiederverwendet.RuntimeProblem (application/problem+json)
429

Stabiles rate_limited-Problem bei einer Player-gerichteten Laufzeit- oder Inhaltsroute im Laufzeit-Dokumentformat (RuntimeProblem). 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.

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

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
POST/screen/adslots/events

Adslot-Ereignisse melden

Authentifizierte Wiedergabe-Beweise. Ereignisse werden pro Bildschirm und Ereignis-ID dedupliziert. Eine gültige Fertigstellung verbraucht ihre gehaltene Reservierung einmal zum reservierten Preis und Gebühr, schreibt den Verkäufer brutto gut und belastet die Bedienungsgebühr in einer Transaktion. Ein bestätigtes Nicht-Wiedergabe-Endereignis gibt die Reservierung einmal frei.

Abschluss nach Freigabe ist nicht abrechenbar und belastet niemals frische Credits. Abschluss vor Start wird zur Abrechnung zurückgehalten.

Authentifizierung
pairedRuntimeCookie ODER nativeSessionAuthorization
Anfrageinhalt
RuntimeAdslotEventBatch
Operations-ID
reportAdslotEvents

Anfrageinhalt-Felder

FeldBeschreibung
Ereignisse (erforderlich, Array)
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/adslots/events'

Antworten

StatusBedeutungTextkörper und Header
200Pro Ereignis Ergebnisse.RuntimeAdslotEventResponse (application/json); Header: Cache-Control, RateLimit-Policy, RateLimit
429

Stabiles rate_limited-Problem bei einer Player-gerichteten Laufzeit- oder Inhaltsroute im Laufzeit-Dokumentformat (RuntimeProblem). 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.

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

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
PUT/screen/observation

Laufzeit-Beobachtung einstellen

Meldet die Wiedergabefläche, die der gekoppelte Player für das letzte resolveLayout verwendet hat. Der Pfad enthält keine screen_id; die gekoppelte Laufzeitsitzung bindet diese. Der Body ist JSON ScreenObservation: observed_at plus ein bis zwölf Flächen; ein Player, der eine Videowand steuert, meldet eine pro Ausgang, id = der Ausgangsname.

Zahlen sind geräteunabhängige Pixel und das Geräte-Pixel-Verhältnis neben dieser Layoutfläche, nicht die Größe des Canvas-Autors und nicht die kodierte Screenshot-Größe. Sie werden nur auf Bereich geprüft und sind niemals bewiesene Hardware oder Autorisierung. Der letzte Schreibvorgang gewinnt und ersetzt das gesamte Oberflächen-Array.

Ein identisches Oberflächentupel (ID, Breite, Höhe, pixel_ratio, Präsentation, Rotation) sendet kein screen.surface_changed; ein späteres observed_at für dasselbe Tupel wird ignoriert. Ungepaarte und anonyme öffentliche Sitzungen sind verboten. Native Cookies werden abgelehnt; der Browser darf Header-Profile nicht übernehmen. Vorausbezahltes Restguthaben ist kein Zugang.

Beobachtungen fehlen bei GET /api/screens bis zum ersten akzeptierten Bericht. ScreenPatch kann sie nicht schreiben. Ein archivierter Bildschirm antwortet mit 409 screen_archived. Maximal 12 Berichte pro Minute und gepaarter Sitzung (runtime-observation): Ein 429 bedeutet, nicht vor Retry-After erneut versuchen.

Authentifizierung
pairedRuntimeCookie ODER nativeSessionAuthorization
Anfrageinhalt
RuntimeObservationWrite
Operations-ID
putRuntimeObservation

Anfrageinhalt-Felder

FeldBeschreibung
observed_at (erforderlich, String)Format: "date-time"
surfaces (erforderlich, Array)Ein bis zwölf Oberflächen; ein Player, der eine Videowand steuert, meldet eine pro Ausgang, id = der Ausgangsname.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/observation'

Antworten

StatusBedeutungTextkörper und Header
204Beobachtung wird als aktuelles Oberflächenarray gespeichert.kein Körper; Header: Cache-Control, RateLimit-Policy, RateLimit
400

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
401

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
403

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
409

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
429

Stabiles rate_limited-Problem bei einer Player-gerichteten Laufzeit- oder Inhaltsroute im Laufzeit-Dokumentformat (RuntimeProblem). 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.

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

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
PUT/screen/health

Laufzeit-Gesundheit einstellen

Meldet den Gerätezustand für den Bildschirm der gekoppelten Sitzung. Sendet eine Meldung beim Sitzungsstart und alle fünfzehn Minuten sowie sofort bei Änderungen der Display-Verbindung oder Stromversorgung.

Jedes Mitglied ist optional und der Inhalt wird tolerant gelesen (docs/player-compatibility.md §1.1): unbekannte Mitglieder werden ignoriert, ein Wert außerhalb des Bereichs wird verworfen, und ein unbekanntes display.power oder network.kind wird als unbekannt gelesen; nur ein Mitglied mit falschem JSON-Typ führt zu 400 (eine Zahl außerhalb des float64-Bereichs ist außerhalb des Bereichs: dieses Mitglied wird verworfen).

Der gespeicherte Wert ist der bereinigte ScreenHealth plus server reported_at, ersetzt den vorherigen Bericht. Höchstens ein Bericht pro Bildschirm pro Minute (runtime-health): ein 429 bedeutet, diesen Bericht zu verwerfen und den nächsten planmäßig zu senden, niemals früher als Retry-After (mindestens 1 Sekunde).

Ein 400-Fehler oder ein Serverfehler verbraucht nicht die Minute; alle Sitzungen eines Bildschirms teilen sich diese. Erfordert eine gekoppelte Sitzung mit health.write (eine vor der Einführung von health.write erstellte gekoppelte Sitzung wird von runtime.report akzeptiert); ungepaarte und anonyme Sitzungen sind verboten, und ein archivierter Bildschirm antwortet mit 409 screen_archived.

Ein Bericht aus einer Sitzung, die älter ist als die aktuelle Inhaltszugriffsgeneration des Bildschirms, wird mit 401 abgelehnt. Archivierung und Bildschirmwiederherstellung löschen Screen.health. Ein Backend ohne diese Route antwortet mit 404: Weiter abspielen und keine Gesundheitsberichte für diese Sitzung senden. Übergänge fügen das nur für das Projekt gültige screen.health_changed hinzu (niemals bei GET /screen/events).

Gesundheit ist niemals Autorisierung.

Authentifizierung
pairedRuntimeCookie ODER nativeSessionAuthorization
Anfrageinhalt
RuntimeHealthWrite
Operations-ID
putRuntimeHealth

Anfrageinhalt-Felder

FeldBeschreibung
uptime_s (optional, Ganzzahl)Sekunden seit dem Start des Geräts (Betriebssystem). Minimum: 0
app_uptime_s (optional, Integer)Sekunden seit Start des Player-Prozesses. Minimum: 0
memory (optional, Objekt)
cpu (optional, Objekt)
temperature_c (optional, Zahl)SoC- oder Panel-Temperatur in Grad Celsius. Minimum: -50 Maximum: 150
Anzeige (optional, Objekt)
Netzwerk (optional, Objekt)
battery (optional, object)Der Akku des Geräts. Senden Sie ihn nur, wenn das Gerät einen hat (Android BatteryManager mit EXTRA_PRESENT). Eine Änderung der Quelle (angeschlossen oder nicht angeschlossen) wird sofort gemeldet, wie eine Änderung am Display.
crashes_24h (optional, Ganzzahl)Player-Abstürze in den letzten 24 Stunden. Minimum: 0 Maximum: 1000000
renderer_restarts_24h (optional, Ganzzahl)Renderer- oder Web-View-Neustarts in den letzten 24 Stunden. Minimum: 0 Maximum: 1000000
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/health'

Antworten

StatusBedeutungTextkörper und Header
204Gesundheitsbericht gespeichert.kein Körper; Header: Cache-Control, RateLimit-Policy, RateLimit
400

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
401

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
403

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
409

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
429

Stabiles rate_limited-Problem bei einer Player-gerichteten Laufzeit- oder Inhaltsroute im Laufzeit-Dokumentformat (RuntimeProblem). 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.

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

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
PUT/screen/storage

Laufzeit-Speicher einstellen

Meldet den nativen Player-Speicher, den Speicherplan des Players und die Abrechnung der übertragenen Bytes. Der Pfad enthält keine screen_id; die gekoppelte Laufzeitsitzung bindet diese. Nicht gekoppelte und anonyme Sitzungen sind verboten. Native Cookies werden abgelehnt; der Browser darf Header-Profile nicht übernehmen. Unbekannte Mitglieder werden ignoriert (docs/player-compatibility.md §1.1).

Der gespeicherte Wert ist der bereinigte Projekt-ScreenStorage plus server received_at, nicht der rohe Körper. manifest_revision muss die gewünschte oder aktive Revision des Bildschirms sein, sonst 409 resource_conflict und es wird nichts gespeichert. Ausgeschlossene Seiten-IDs müssen in dieser Revision existieren.

Eine identische Fit-Klasse sendet kein screen.storage_shortfall oder screen.storage_shortfall_cleared. Diese Ereignisse sind nur projektbezogen und werden bei GET /screen/events. nicht geliefert. Speicherung ist niemals Autorisierung oder Zulassung. ScreenPatch kann sie nicht schreiben. Ein Bericht, der älter als 24 Stunden von received_at ist, gilt für Verbraucher als veraltet.

Authentifizierung
pairedRuntimeCookie ODER nativeSessionAuthorization
Anfrageinhalt
RuntimeStorageWrite
Operations-ID
putRuntimeStorage

Anfrageinhalt-Felder

FeldBeschreibung
observed_at (erforderlich, String)Format: "date-time"
volume (erforderlich, ScreenStorageVolume)
Cache (erforderlich, ScreenStorageCache)
Haltbarkeit (erforderlich, Zeichenfolge)Erlaubt: "durable", "purgeable"
Plan (erforderlich, ScreenStoragePlan)
transfer_24h (erforderlich, ScreenStorageTransfer)
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/storage'

Antworten

StatusBedeutungTextkörper und Header
204Speicherbericht gespeichert.kein Körper; Header: Cache-Control, RateLimit-Policy, RateLimit
400

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
401

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
403

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
409resource_conflict – manifest_revision ist nicht die gewünschte oder aktive Revision des Bildschirms. Der Bericht wird nicht gespeichert.RuntimeProblem (application/problem+json)
429

Stabiles rate_limited-Problem bei einer Player-gerichteten Laufzeit- oder Inhaltsroute im Laufzeit-Dokumentformat (RuntimeProblem). 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.

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

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
PUT/screen/status

Laufzeit-Status einstellen

Meldet den Status-Chip, den der gekoppelte Player auf dem Bildschirm zeigt: die Bedingung aus screenrig.overlay/v1, die ihren Rang gewinnt, oder null, wenn kein Chip erscheint. Der Pfad enthält keine screen_id; die gekoppelte Laufzeitsitzung bindet diese.

Der Body ist JSON RuntimeStatusWrite {observed_at, chip}; unbekannte Mitglieder werden ignoriert (docs/player-compatibility.md §1.1). chip muss die ID einer Bedingung im Katalog des Backends sein (packages/overlay/overlay.json, die Datei, die Player bündeln); der Upgrade-Hinweis und die Startmeldungen sind keine Chips.

Fehlt chip, ist der Wert von einem anderen Typ oder listet der Katalog die ID nicht auf, lautet die Antwort 400 invalid_request mit errors[0].field chip, und nichts wird gespeichert. Der gespeicherte Wert ist der Projekt-ScreenStatus: level und icon stammen aus dem Katalog für chip, nie vom Player, und received_at ist die Empfangszeit des Servers. Der letzte Schreibvorgang gewinnt und ersetzt den gesamten Status.

Ein Bericht, der weder chip noch level noch icon ändert, ist ein No-op: Er behält die gespeicherten observed_at und received_at und hängt nichts an. Eine Änderung fügt das nur für das Projekt gültige screen.status_changed mit details {chip, level, icon} hinzu, das nie bei GET /screen/events geliefert wird. Nicht gekoppelte und anonyme öffentliche Sitzungen sind verboten.

Native Cookies werden abgelehnt; der Browser darf Header-Profile nicht übernehmen. Vorausbezahltes Restguthaben ist kein Zugang. Der Status fehlt bei GET /api/screens bis zum ersten akzeptierten Bericht und wird bei Identitäts-Reset, Entpaarung und Archivierung gelöscht. ScreenPatch kann ihn nicht schreiben. Ein archivierter Bildschirm antwortet mit 409 screen_archived.

Maximal 12 Berichte pro Minute und gepaarter Sitzung (runtime-status): Ein 429 bedeutet, nicht vor Retry-After erneut versuchen. Ein Backend ohne diese Route antwortet mit 404: Weiter abspielen und keine Statusberichte für diese Sitzung mehr senden. Der Status ist niemals Autorisierung oder Zulassung. Die Player-Regeln stehen in docs/player-compatibility.md §9.5.

Authentifizierung
pairedRuntimeCookie ODER nativeSessionAuthorization
Anfrageinhalt
RuntimeStatusWrite
Operations-ID
putRuntimeStatus

Anfrageinhalt-Felder

FeldBeschreibung
observed_at (erforderlich, String)Zeitpunkt auf der Player-Uhr, zu dem sich der Chip zuletzt geändert hat oder die Sitzung gestartet wurde. Format: "date-time"
chip (erforderlich, inline)

Die ID der Bedingung aus screenrig.overlay/v1, die der Player zeigt (conditions[].id in packages/overlay/overlay.json), oder null, wenn er keinen Chip zeigt, etwa auf einer unterdrückten Oberfläche (fatal, starting, pairing). Erforderlich. Eine ID, die der Katalog des Backends nicht auflistet, wird abgelehnt.

Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/status'

Antworten

StatusBedeutungTextkörper und Header
204Status gespeichert oder unverändert.kein Körper; Header: Cache-Control, RateLimit-Policy, RateLimit
400

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
401

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
403

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
409

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
429

Stabiles rate_limited-Problem bei einer Player-gerichteten Laufzeit- oder Inhaltsroute im Laufzeit-Dokumentformat (RuntimeProblem). 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.

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

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
PUT/screen/screen-label

Laufzeit-Bildschirmbezeichnung einstellen

Benennt den Bildschirm um, der an die gekoppelte Laufzeitsitzung gebunden ist. Es ist dieselbe Umbenennung wie PATCH /api/screens/{id} name: Der Server entfernt führende und nachfolgende Leerzeichen aus screen_label und verlangt 1 bis 120 Zeichen ohne Steuerzeichen, sonst invalid_request.

Die Umbenennung zeichnet dieselben Bildschirmevents auf und ändert bei einem zugewiesenen Bildschirm das Manifest screen_label und sendet screen.manifest_changed an den Player. Pfad und Body nennen keine screen_id; die gekoppelte Laufzeitsitzung bindet sie. Kein If-Match oder Idempotency-Key; der letzte Schreibvorgang gewinnt. Auth ist das Laufzeit-Cookie oder ScreenRig-Session, wie GET /screen/chrome.

Anonyme und ungepaarte Sitzungen sind nicht autorisiert. Ein archivierter Bildschirm ist screen_archived. Vorausbezahltes Restguthaben ist kein Zugangskriterium. Ein Player, der 404 erhält, behandelt die Route als nicht unterstützt und behält den Namen lokal bei (docs/player-compatibility.md §2.5).

Authentifizierung
pairedRuntimeCookie ODER nativeSessionAuthorization
Anfrageinhalt
RuntimeScreenLabelWrite
Operations-ID
putRuntimeScreenLabel

Anfrageinhalt-Felder

FeldBeschreibung
screen_label (erforderlich, Zeichenkette)minLength: 1
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/screen-label'

Antworten

StatusBedeutungTextkörper und Header
200Bildschirm umbenannt. screen_label ist der gespeicherte Name.RuntimeScreenLabel (application/json); Header: Cache-Control, RateLimit-Policy, RateLimit
400

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
401

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
403

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
409

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
429

Stabiles rate_limited-Problem bei einer Player-gerichteten Laufzeit- oder Inhaltsroute im Laufzeit-Dokumentformat (RuntimeProblem). 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.

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

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
POST/screen/commands/{command_id}/result

Ergebnis eines Laufzeitbefehls senden

Ein gekoppelter Player meldet, wie ein an ihn gesendeter Befehl endete (docs/player-compatibility.md §6.5.1): done oder failed, mit einem statischen Ursachen-Token und einem optionalen kurzen Detail. Der Befehl wird in Screen.commands zu done oder failed mit done_at, cause und detail, und das nur im Projekt sichtbare screen.command_result wird angehängt.

Nur ein gesendeter Befehl der Sitzung des Bildschirms nimmt ein Ergebnis an: eine ID, die der Bildschirm nicht auflistet, oder ein nicht gesendeter Befehl ist 404 not_found, und der Player verwirft den Bericht. Eine exakte Wiederholung des erfassten Ergebnisses ist 202 und ändert nichts; ein anderes Ergebnis für einen abgeschlossenen Befehl ist 409 resource_conflict. Ein Ergebnis failed erfordert cause.

Pfad und Body benennen den Bildschirm nicht; die gekoppelte Laufzeitsitzung bindet ihn. Die Authentifizierung ist das Laufzeit-Cookie oder ScreenRig-Session. Anonyme und nicht gekoppelte Sitzungen sind unauthorized; ein archivierter Bildschirm ist screen_archived. Verbleibendes Prepaid-Guthaben ist keine Sperre.

Authentifizierung
pairedRuntimeCookie ODER nativeSessionAuthorization
Anfrageinhalt
RuntimeCommandResultWrite
Operations-ID
postRuntimeCommandResult

Parameter

NameSendenErforderlich?Beschreibung
command_idPfaderforderlich

Anfrageinhalt-Felder

FeldBeschreibung
state (erforderlich, String)Erlaubt: "done", "failed"
cause (optional, String)

Ein statisches Token: erforderlich bei failed (clear_failed, restart_failed, update_check_failed, download_failed, install_failed, no_update_channel), optional bei done (cleared, restarted, up_to_date, updated). Muster: "^[a-z0-9_]{1,40}$"

detail (optional, String)Ein kurzer Satz ohne Steuerzeichen; nie eine URL mit Zugangsdaten, ein Token oder ein privater Pfad. maxLength: 200
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/commands/COMMAND_ID/result'

Antworten

StatusBedeutungTextkörper und Header
202Gespeichert oder eine exakte Wiederholung des gespeicherten Ergebnisses.kein Körper; Header: Cache-Control, RateLimit-Policy, RateLimit
400

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
401

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
403

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
404

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
409

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
429

Stabiles rate_limited-Problem bei einer Player-gerichteten Laufzeit- oder Inhaltsroute im Laufzeit-Dokumentformat (RuntimeProblem). 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.

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

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
POST/screen/live/{live_id}/join

Live-Sitzung beitreten

Ein Player, der player.live_publish erhalten hat, tritt der Sitzung bei (docs/player-compatibility.md §6.10.2): Er bekommt kurzlebige TURN-ice_servers, die Lease, die Videogrenzen, die er senden darf, und die Heartbeat-Periode. Die live_id muss die aktuelle Sitzung des Bildschirms sein, sonst 410 live_session_ended (Senden beenden, weiter abspielen).

Die Authentifizierung erfolgt über das gekoppelte Runtime-Cookie oder ScreenRig-Session.

Authentifizierung
pairedRuntimeCookie ODER nativeSessionAuthorization
Anfrageinhalt
RuntimeLiveJoinRequest
Operations-ID
joinRuntimeLive

Parameter

NameSendenErforderlich?Beschreibung
live_idPfaderforderlich
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/live/LIVE_ID/join'

Antworten

StatusBedeutungTextkörper und Header
200Die Sitzung, an die der Player sendet.RuntimeLiveJoin (application/json); Header: Cache-Control, RateLimit-Policy, RateLimit
400

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
401

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
403

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
409

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
410

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
429

Stabiles rate_limited-Problem bei einer Player-gerichteten Laufzeit- oder Inhaltsroute im Laufzeit-Dokumentformat (RuntimeProblem). 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.

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

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
POST/screen/live/{live_id}/offer

Angebot der Live-Sitzung

The Player sends its gathered sendonly offer: exactly one video m-section, ICE gathering complete or two seconds old, no separate candidates ever. The backend opens a fresh media relay session for it, replacing any earlier publisher of the session, and returns the relay's answer, which the Player applies with setRemoteDescription.

Kein Video-m-Abschnitt oder zwei ergeben invalid_request. Ein Relay-Fehler ergibt dependency_unavailable. 410 live_session_ended, wenn die live_id nicht die aktuelle Sitzung des Bildschirms ist.

Authentifizierung
pairedRuntimeCookie ODER nativeSessionAuthorization
Anfrageinhalt
RuntimeLiveOffer
Operations-ID
offerRuntimeLive

Parameter

NameSendenErforderlich?Beschreibung
live_idPfaderforderlich

Anfrageinhalt-Felder

FeldBeschreibung
sdp (erforderlich, String)Genau ein Video-m-Abschnitt sendonly; ICE-Gathering abgeschlossen oder zwei Sekunden alt.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/live/LIVE_ID/offer'

Antworten

StatusBedeutungTextkörper und Header
200Die Antwort des Relays.RuntimeLiveOffer (application/json); Header: Cache-Control, RateLimit-Policy, RateLimit
400

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
401

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
403

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
409

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
410

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
429

Stabiles rate_limited-Problem bei einer Player-gerichteten Laufzeit- oder Inhaltsroute im Laufzeit-Dokumentformat (RuntimeProblem). 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.

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

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
POST/screen/live/{live_id}/heartbeat

Herzschlag der Live-Sitzung

The Player reports its connection state and what its encoder sends every 20 seconds. The answer carries the lease; a lapsed lease or max_until ends the session here with 410 live_session_ended, and the Player stops publishing. The report is the Player's own word and feeds publisher.connected on the project API.

Authentifizierung
pairedRuntimeCookie ODER nativeSessionAuthorization
Anfrageinhalt
RuntimeLiveHeartbeat
Operations-ID
heartbeatRuntimeLive

Parameter

NameSendenErforderlich?Beschreibung
live_idPfaderforderlich

Anfrageinhalt-Felder

FeldBeschreibung
connection (erforderlich, String)Erlaubt: "new", "connecting", "connected", "disconnected", "failed", "closed"
video (optional, object)
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/live/LIVE_ID/heartbeat'

Antworten

StatusBedeutungTextkörper und Header
200Die Sitzung ist live; lease_until und max_until sind ihre Grenzen.RuntimeLiveHeartbeatAnswer (application/json); Header: Cache-Control, RateLimit-Policy, RateLimit
400

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
401

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
403

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
409

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
410

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
429

Stabiles rate_limited-Problem bei einer Player-gerichteten Laufzeit- oder Inhaltsroute im Laufzeit-Dokumentformat (RuntimeProblem). 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.

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

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
POST/screen/live/{live_id}/stopped

Live-Sitzung beendet

The Player reports it stopped publishing. The reason is an open enum (stopped, lease_ended, superseded, consent_denied, consent_timeout, projection_stopped, capture_failed, encoder_unavailable, connection_failed, relay_refused); a reason this server does not know reads player_stopped. 204 always, also for a live_id that is not the screen's current session.

Authentifizierung
pairedRuntimeCookie ODER nativeSessionAuthorization
Anfrageinhalt
RuntimeLiveStopped
Operations-ID
stoppedRuntimeLive

Parameter

NameSendenErforderlich?Beschreibung
live_idPfaderforderlich

Anfrageinhalt-Felder

FeldBeschreibung
Grund (erforderlich, Zeichenkette)

stopped, lease_ended, superseded, consent_denied, consent_timeout, projection_stopped, capture_failed, encoder_unavailable, connection_failed or relay_refused. An open enum; an unknown reason reads player_stopped.

Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/live/LIVE_ID/stopped'

Antworten

StatusBedeutungTextkörper und Header
204Aufgezeichnet.kein Körper; Header: Cache-Control, RateLimit-Policy, RateLimit
400

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
401

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
403

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
409

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
410

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
429

Stabiles rate_limited-Problem bei einer Player-gerichteten Laufzeit- oder Inhaltsroute im Laufzeit-Dokumentformat (RuntimeProblem). 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.

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

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
GET/screen/playlists

Runtime-Bildschirm-Playlists erhalten

Listet die Playlists auf, die das On-Device-Einstellungsmenü des gekoppelten Players für den Bildschirm anbietet: die Live-Playlists des Projekts des Bildschirms, die eine genehmigte Version haben, alphabetisch nach Namen ohne Berücksichtigung der Groß-/Kleinschreibung, dann nach ID. Es werden maximal 500 zurückgegeben; mehr ist wahr, wenn das Projekt weitere Playlists hat.

Die gekoppelte Runtime-Sitzung bindet das Projekt; der Pfad benennt keines. Auth ist das Runtime-Cookie oder ScreenRig-Session, wie GET /screen/chrome. Anonyme und nicht gekoppelte Sitzungen sind nicht autorisiert. Ein archivierter Bildschirm ist screen_archived. Cache-Control ist privat, no-store.

Ein Player, der 404 erhält, behandelt die Route als nicht unterstützt und meldet dies wie jeden anderen Ladefehler der Liste (docs/player-compatibility.md §2.6).

Authentifizierung
pairedRuntimeCookie ODER nativeSessionAuthorization
Anfrageinhalt
keine
Operations-ID
getRuntimeScreenPlaylists
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/playlists'

Antworten

StatusBedeutungTextkörper und Header
200Die dem Projekt zuweisbaren Playlists.RuntimeScreenPlaylists (application/json); Header: Cache-Control, RateLimit-Policy, RateLimit
401

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
403

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
409

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
429

Stabiles rate_limited-Problem bei einer Player-gerichteten Laufzeit- oder Inhaltsroute im Laufzeit-Dokumentformat (RuntimeProblem). 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.

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

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
PUT/screen/playlist

Laufzeit-Bildschirm-Playlist einstellen

Weist dem Bildschirm, der an die gekoppelte Laufzeitsitzung gebunden ist, eine Playlist zu. Es ist dieselbe Zuweisung wie PATCH /api/screens/{id} playlist_id, vorgenommen von der Person am Gerät: Es wird keine Überprüfung eröffnet.

Die Playlist muss zum Projekt des Bildschirms gehören und eine genehmigte Version haben (ansonsten playlist_not_approved); eine Playlist, die im Projekt nicht existiert, ist invalid_request. Die Zuweisung zeichnet dieselben Bildschirmereignisse auf und sendet screen.manifest_changed an den Player.

Sie setzt die zugewiesene Playlist des Bildschirms; eine aktive Übernahme oder ein passender Playlist-Zeitplaneintrag entscheidet noch, was abgespielt wird. Pfad und Body nennen nicht screen_id; die gekoppelte Laufzeitsitzung bindet sie. Kein If-Match oder Idempotency-Key; last write wins. Auth ist das Laufzeit-Cookie oder ScreenRig-Session, wie GET /screen/chrome.

Anonyme und ungepaarte Sitzungen sind nicht autorisiert. Ein archivierter Bildschirm ist screen_archived. Ein Player, der 404 erhält, behandelt die Route als nicht unterstützt und meldet dies wie jeden anderen Fehler beim Ändern der Playlist (docs/player-compatibility.md §2.6).

Authentifizierung
pairedRuntimeCookie ODER nativeSessionAuthorization
Anfrageinhalt
RuntimeScreenPlaylistWrite
Operations-ID
putRuntimeScreenPlaylist

Anfrageinhalt-Felder

FeldBeschreibung
playlist_id (erforderlich, Zeichenfolge)minLength: 1
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/playlist'

Antworten

StatusBedeutungTextkörper und Header
200Playlist zugewiesen. playlist_id ist die der Playlist, die dem Bildschirm zugewiesen ist.RuntimeScreenPlaylist (application/json); Header: Cache-Control, RateLimit-Policy, RateLimit
400

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
401

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
403

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
409

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
429

Stabiles rate_limited-Problem bei einer Player-gerichteten Laufzeit- oder Inhaltsroute im Laufzeit-Dokumentformat (RuntimeProblem). 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.

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

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
POST/screen/unpair

Laufzeit entkoppeln

Nur Cookie-Entkopplung. Archiviert einen cookie-gekoppelten Bildschirm ohne Player-Öffentlichen-Schlüssel-Anmeldung mit archive_reason device_unpair. Die Geräteanmeldeinformationen bleiben gebunden: Ein Browser, der sie noch hält, erstellt eine archivierte Sitzung (dunkles Glas), und das Entarchivieren setzt sie ohne erneutes Koppeln fort (docs/player-compatibility.md §5.1).

Ein Bildschirm, der bereits archiviert oder bereits entfernt ist, gilt als Erfolg. Bildschirme mit Identitätsregistrierung geben screen_archive_required zurück; diese Player werden nur über POST /screen/native/identity/reset. zurückgesetzt. Pfad und Body nennen kein screen_id; die gekoppelte Laufzeitsitzung bindet es. Kein If-Match oder Idempotency-Key. Browser 204 läuft die Laufzeit, das Gerät und die Pairing-Host-Cookies ab.

Native identitätsgebundene Aufrufe geben niemals 204 zurück. Anonyme oder nicht gekoppelte Sitzungen sind verboten. Vorausbezahltes Restguthaben ist kein Zugangshindernis.

Authentifizierung
pairedRuntimeCookie ODER nativeSessionAuthorization
Anfrageinhalt
keine
Operations-ID
unpairRuntime
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/unpair'

Antworten

StatusBedeutungTextkörper und Header
204Cookie-gekoppelter Bildschirm archiviert mit erhaltenen Anmeldeinformationen. Browser-Pairing-Cookies sind abgelaufen.kein Körper; Header: Cache-Control, RateLimit-Policy, RateLimit
401

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
403

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
409

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
429

Stabiles rate_limited-Problem bei einer Player-gerichteten Laufzeit- oder Inhaltsroute im Laufzeit-Dokumentformat (RuntimeProblem). 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.

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

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
POST/screen/manifests/{manifest_revision}/releases/{release_id}/launch

Anwendungs-Release starten

Erstellt das einmalig verwendbare Ticket für ein Anwendungs-Release des aktuellen Manifests des Bildschirms. launch_url ist die Indexseite des Release-Hosts mit zuerst dem Ticket und dann den Parametern der Anwendung (die Parameter des Primitivs, mit den Fakten dieses Bildschirms gefüllt, prozentkodiert, zusammen höchstens 4096 Zeichen), sodass die Anwendung sie aus location.search liest.

Nur der Web-Player und die Player, die ihn ausführen, rufen diese Route auf; die Qt-, Android-, Apple- und Windows-Player laden die Anwendung aus ihrem lokalen Paket und erhalten keine Parameter. Der Release-Host gibt sie an die Seite weiter und fügt seine eigene Richtlinienmarkierung hinzu.

Ein Bildschirm, dem ein von einem Parameter gelesener Wert fehlt oder dessen Werte sich zu mehr als dem Limit füllen, hat keine solche Anwendung in seinem Manifest (Diagnose screen_fact_missing oder screen_fact_invalid), und ein Start für ihr Release wird abgelehnt.

Parameter sind nicht an das Ticket gebunden: Eine Anwendung behandelt sie als nicht vertrauenswürdige Hinweise und liest die Identität des Bildschirms aus context.screen_id.

Authentifizierung
runtimeCookie ODER nativeSessionAuthorization
Anfrageinhalt
keine
Operations-ID
launchApplicationRelease

Parameter

NameSendenErforderlich?Beschreibung
manifest_revisionPfaderforderlich
release_idPfaderforderlich
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/manifests/MANIFEST_REVISION/releases/RELEASE_ID/launch'

Antworten

StatusBedeutungTextkörper und Header
201Einmaliger 30-Sekunden-Start-Ticket für exakten Release-HostReleaseLaunch (application/json); Header: Referrer-Policy, RateLimit-Policy, RateLimit
Standard

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
POST/screen/manifests/{manifest_revision}/selectors/resolve

Alle dynamischen Medienauswahlen für eine Playlist-Schleife auflösen

Verwendet die dem authentifizierten Bildschirm zugewiesene Playlist und deren Manifestrevision. Gibt eine feste Momentaufnahme in Dateinamenreihenfolge zurück; Player behalten Cursor- und Shuffle-Zustand über Schleifen hinweg. Uploads und Tag-Änderungen überschreiben dieses Manifest nie. Leere Übereinstimmungen sind gültig.

Ausgewählte Medien sind durch die Laufzeitberechtigung des Bildschirms unabhängig von der unveränderlichen Manifestdefinition autorisiert.

Authentifizierung
runtimeCookie ODER nativeSessionAuthorization
Anfrageinhalt
keine
Operations-ID
resolveRuntimeSelectors

Parameter

NameSendenErforderlich?Beschreibung
manifest_revisionPfaderforderlich
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/screen/manifests/MANIFEST_REVISION/selectors/resolve'

Antworten

StatusBedeutungTextkörper und Header
200Snapshot der aufgelösten Schleife, einschließlich Metadaten des Elements und Sicherheitsfristen für media_end.RuntimeSelectorSnapshot (application/json)
401Laufzeitsitzung ungültig oder abgelaufenRuntimeProblem (application/problem+json)
403Laufzeit-Fähigkeit verweigertRuntimeProblem (application/problem+json)
503Manifestprojektion ausstehend oder Snapshot des Selektors verschlechtert; aktuelle Schleife beibehalten und erneut versuchenRuntimeProblem (application/problem+json)
Standard

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)
GET/screen/card-data/{key}

Runtime-Kartendaten erhalten

Gibt ein Kartendaten- oder Feed-Dokument zurück: den Kartendaten- oder Feed-Schlüssel eines Kartenprimitivs im aktuellen Manifest des Bildschirms oder den Schlüssel der visibility.data-Bedingung einer Seite. Ein Schlüssel ist nur lesbar, solange eine gewünschte, aktive oder Übergangs-Gnadenfrist des Sitzungsbildschirms ihn auflistet; das Wissen um einen Schlüssel allein reicht nie aus.

Feed-Schlüssel beginnen mit feed: und lesen den System-Feed-Namespace (screenrig.weather/v1 und die anderen Feed-Schemata), ebenso die Wetterbedingungs-Schlüssel, die mit feed.conditions.v1: beginnen (die {screen.weather}-Bedingung einer Seite, im Manifest jedes Bildschirms eingesetzt); alle anderen Schlüssel lesen die Kartendaten des Projekts des Bildschirms. Der Body ist das Dokument selbst.

ETag ist der sha256 seiner Bytes und If-None-Match antwortet mit 304; das letzte gute Dokument wird für die Offline-Wiedergabe gespeichert und bei screen.card_data_changed für den Schlüssel neu abgerufen. 404 bedeutet, dass noch kein Dokument gespeichert ist; die Karte bleibt verborgen.

Authentifizierung
runtimeCookie ODER nativeSessionAuthorization
Anfrageinhalt
keine
Operations-ID
getRuntimeCardData

Parameter

NameSendenErforderlich?Beschreibung
keyPfaderforderlich
If-None-MatchÜberschriftoptional
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/card-data/KEY'

Antworten

StatusBedeutungTextkörper und Header
200Das DokumentObjekt (application/json); Header: ETag
304Nicht geändertkein Körper
Standard

Stabile RFC 9457-Fehlerantwort bei einer Player-gerichteten Laufzeit-, Inhalts- oder Probe-Route im Laufzeit-Dokumentformat (RuntimeProblem). 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.

RuntimeProblem (application/problem+json)