API-Referenz

Bildschirme-API

Bildschirme

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

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

Bildschirme

GET/api/screens

Bildschirme auflisten

Die Standardliste gibt pairing_pending und aktive Bildschirme zurück. Übergeben Sie state=archived, um nur archivierte Bildschirme aufzulisten. Übergeben Sie tag, um nur Bildschirme aufzulisten, deren Tags genau diesen Tag enthalten; ungetaggte Bildschirme werden bei vorhandenem Filter ausgelassen.

Übergeben Sie field je Feld einmal als NAME:VALUE, um nur Bildschirme aufzulisten, deren Felder jeden Wert enthalten, und near als LAT,LON,KM, um nur Bildschirme aufzulisten, die höchstens KM Kilometer vom Punkt entfernt liegen; Bildschirme ohne Standort werden ausgelassen, und jeder Filter lässt sich mit state und tag kombinieren.

Übergeben Sie folder als Bildschirmordner-ID, um nur die Bildschirme direkt darin aufzulisten (nicht die seiner Unterordner), oder root für die Bildschirme außerhalb jedes Ordners.

Bildschirme sind nach Neuesten zuerst sortiert, höchstens 500 pro Seite. next_cursor ist die Position der letzten zurückgegebenen Zeile, solange weitere Zeilen vorhanden sind; geben Sie ihn mit denselben Filtern als after zurück, um die nächste Seite zu erhalten. next_cursor ist auf der letzten Seite null. Ein auf Bildschirme beschränkter Aufrufer (docs/screen-scope.md) listet nur die Bildschirme in seinem Bereich auf.

Eine Anfrage, die kein Projekt nennt, lässt jedes Projekt aus, in dem der Aufrufer auf Bildschirme beschränkt ist; nennen Sie das Projekt, um es aufzulisten.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
listScreens

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
StatusAbfrageoptionalFür pairing_pending und active weglassen. Archivierte Bildschirme nur mit archived auflisten.
TagAbfrageoptionalExaktes Bildschirm-Tag. Bildschirme ohne Tag werden bei aktiviertem Filter ausgelassen.
fieldAbfrageoptional

NAME:VALUE, am ersten Doppelpunkt aufgeteilt: nur Bildschirme, deren Feld NAME genau VALUE enthält. Wiederholen Sie den Parameter für mehrere Felder; jedes muss übereinstimmen, und ein Name darf nur einmal angegeben werden. Ein fehlerhafter oder wiederholter Eintrag ergibt invalid_request mit Nennung von field.

nearAbfrageoptional

LAT,LON,KM in Dezimalgrad und Kilometern, zum Beispiel 47.6062,-122.3321,25: nur Bildschirme, deren Standort höchstens KM Kilometer vom Punkt entfernt liegt. Der Breitengrad reicht von -90 bis 90, der Längengrad von -180 bis 180, und KM ist größer als 0 und höchstens 20038. Bildschirme ohne Standort werden ausgelassen. Ein fehlerhafter Wert ergibt invalid_request mit Nennung von near.

OrdnerAbfrageoptionalEine Bildschirmordner-ID enthält nur die Bildschirme direkt in diesem Ordner, nicht die seiner Unterordner; root enthält nur die Bildschirme außerhalb jedes Ordners. Weggelassen listet jeden Bildschirm auf.
nachAbfrageoptionalnext_cursor der vorherigen Seite derselben Liste mit denselben Filtern. Wird ausgelassen, beginnt bei der neuesten Zeile. Ein Wert, der kein solcher Cursor ist, ist invalid_request.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens'

Antworten

StatusBedeutungTextkörper und Header
200BildschirmeScreenList (application/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/screen-folders

Bildschirmordner auflisten

Alle Bildschirmordner im Projekt auflisten, maximal 1000, sortiert nach Name.

Ordner organisieren Bildschirme und sprechen sie gezielt an: Ein Zielgruppenblatt {"folder": ID} einer Kampagne trifft auf die Bildschirme in diesem Ordner und in jedem darin enthaltenen Ordner zu, ein Flottenaktions-Selektor by:folder wirkt auf dieselben Bildschirme, und die default_playlist_id eines Ordners ist das, was seine Bildschirme ohne eigene Playlist anzeigen. parent_id ist null an der Projektwurzel; bauen Sie den Baum aus parent_id. screens zählt die Live-Bildschirme direkt in jedem Ordner.

Der Ordner eines Bildschirms ist Screen.folder_id. Ein auf Bildschirme beschränkter Aufrufer (docs/screen-scope.md) listet die Ordner innerhalb seines Bereichs und die Ordner darüber auf, die schreibgeschützt sind, damit sein Baum eine Wurzel hat; Ordner darüber tragen keine Bildschirmanzahl, und Geschwisterordner sind ausgeblendet. Eine Anfrage, die kein Projekt nennt, lässt jedes Projekt aus, in dem der Aufrufer auf Bildschirme beschränkt ist.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
listScreenFolders

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screen-folders'

Antworten

StatusBedeutungTextkörper und Header
200BildschirmordnerScreenFolderList (application/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/screen-folders

Bildschirmordner erstellen

Erstellt einen Bildschirmordner in der Projektwurzel (parent_id null oder nicht vorhanden) oder innerhalb von parent_id. Namen werden getrimmt, enthalten 1 bis 100 Unicode-Zeichen ohne Steuerzeichen, sind nicht "." oder ".." und sind unter den Ordnern derselben Ebene eindeutig (resource_conflict).

Eine Organisation hält höchstens 1000 Ordner über alle ihre Projekte (quota_exceeded), maximal 10 Ebenen tief (invalid_request). default_playlist_id muss, wenn gesetzt, eine genehmigte Playlist benennen (playlist_not_approved). Sendet screen.folder_created.

Ein auf Bildschirme beschränkter Aufrufer (docs/screen-scope.md) erstellt einen Ordner nur innerhalb eines Ordners seines Bereichs; die Projektwurzel oder jedes andere übergeordnete Element ist outside_screen_scope. Das Erstellen eines Ordners in einem geschützten Ordner ist eine protected_change-Überprüfung (202 pending_review), die eine zweite genehmigende Person entscheidet.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
ScreenFolderCreate
Operations-ID
createScreenFolder

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.

Anfrageinhalt-Felder

FeldBeschreibung
Name (erforderlich, Zeichenkette)Getrimmt; 1 bis 100 Unicode-Zeichen, keine Steuerzeichen, nicht . oder .., unter den Ordnern derselben Ebene eindeutig. minLength: 1 maxLength: 100
parent_id (optional, inline)Der Ordner, in dem er erstellt werden soll; null oder fehlt für die Projektwurzel.
default_playlist_id (optional, string)Eine genehmigte Playlist für die Bildschirme des Ordners ohne eigene. minLength: 1
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screen-folders'

Antworten

StatusBedeutungTextkörper und Header
201Ordner erstellt.ScreenFolder (application/json); Header: ETag
202

Der Schreibvorgang wurde zu einer Überprüfung und wartet auf die Genehmigung einer Person (docs/reviews.md), mit Propose-Zugriff oder auf jeder Zugriffsstufe, wenn er einen Bildschirm in einem geschützten Bildschirmordner erreicht, wo eine zweite genehmigende Person entscheidet (docs/screen-scope.md). Eine Person genehmigt, lehnt ab oder fordert Änderungen im Dashboard unter review.url an.

Eine Wiederholung mit demselben Idempotency-Key liefert denselben Body.

ReviewPending (application/json)
403outside_screen_scope wie bei OutsideScreenScope oder approver_required - ein auf Bildschirme beschränktes Mitglied, das Überprüfungen nicht genehmigen kann, ändert nicht, was ein Bildschirm abspielt oder wann (docs/screen-scope.md).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/screen-folders/{id}

Bildschirmordner erhalten

Ein auf Bildschirme beschränkter Aufrufer (docs/screen-scope.md) liest die Ordner seines Bereichs und die Ordner darüber; jeder andere Ordner und eine unbekannte ID sind outside_screen_scope.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
getScreenFolder

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screen-folders/RESOURCE_ID'

Antworten

StatusBedeutungTextkörper und Header
200Ein Bildschirmordner.ScreenFolder (application/json); Header: ETag
403

outside_screen_scope - der Aufrufer ist auf Bildschirme beschränkt, und der Bildschirm, Bildschirmordner, Selektor oder die Zielgruppe, die die Anfrage nennt oder erreicht, liegt außerhalb davon (docs/screen-scope.md). Eine ID außerhalb des Bereichs und eine ID, die nicht existiert, erhalten dieselbe Antwort; errors[0].screen_scope trägt den Bereich des Aufrufers, und der Schreibvorgang wird vollständig abgelehnt, nie eingegrenzt.

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)
PATCH/api/screen-folders/{id}

Bildschirmordner aktualisieren

Benennt einen Ordner um (name), verschiebt ihn mit allem Inhalt (parent_id, null für die Projektwurzel) oder legt die Standard-Playlist fest, die seine Bildschirme ohne eigene anzeigen (default_playlist_id, null löscht sie). Ein Ordner kann nicht in sich selbst oder einen darin enthaltenen Ordner verschoben werden, und die Verschiebung muss alle Ordner innerhalb von 10 Ebenen halten (invalid_request).

Ein Verschieben oder ein Wechsel des Standards löst die Bildschirme darin innerhalb von etwa 15 Sekunden neu auf, und die levels der Antwort nennen die Kampagnen und Ordner-Standards, die diese Bildschirme gewinnen oder verlieren. Eine Änderung erhöht die Ordner-Revision und sendet screen.folder_updated; dieselben Werte sind ein No-Op.

If-Match sichert die Revision optional ab. protected true schützt den Ordner und jeden Ordner darin, false hebt den Schutz auf; senden Sie es allein (sonst invalid_request). Nur eine Person, die genehmigen kann, setzt es: Ein Agent, ein Service-Client oder ein Mitglied, das nicht genehmigen kann, erhält approver_required.

Eine Änderung hängt screen.folder_protection_changed an (Details folder_id, protected). Das Aufheben des Schutzes sowie ein Verschieben oder ein Wechsel der Standard-Playlist bei einem Ordner, der geschützte Bildschirme enthält, ist eine protected_change-Überprüfung (202 pending_review), die eine zweite genehmigende Person entscheidet.

Ein auf Bildschirme beschränkter Aufrufer (docs/screen-scope.md) ändert nur Ordner innerhalb seines Bereichs: parent_id muss ebenfalls einen solchen nennen (die Wurzel ist outside_screen_scope), und protected darf er bei einem Ordner, den sein Bereich nennt, nicht ändern. protected true fällt unter die geschützten Ordner, die der Enterprise-Plan enthält; ein Projekt, dessen Plan dies nicht enthält, wird mit feature_not_in_plan (402) abgelehnt.

Ein gesetzter Schutz hält Änderungen weiterhin für eine zweite genehmigende Person zurück, und die Bitte, ihn zu entfernen, ist in jedem Plan eine Überprüfung.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
ScreenFolderPatch
Operations-ID
updateScreenFolder

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
If-MatchÜberschriftoptionalOptionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict.
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.

Anfrageinhalt-Felder

FeldBeschreibung
Name (optional, Zeichenkette)Getrimmt; 1 bis 100 Unicode-Zeichen, keine Steuerzeichen, nicht . oder .., unter den Ordnern derselben Ebene eindeutig. minLength: 1 maxLength: 100
parent_id (optional, inline)Verschieben Sie den Ordner in diesen; null für die Projektwurzel.
default_playlist_id (optional, inline)Eine genehmigte Playlist für die Bildschirme des Ordners ohne eigene; null löscht sie.
protected (optional, Boolean)

Schützt den Ordner und jeden Ordner darin (docs/screen-scope.md). Nur eine Person, die genehmigen kann, setzt es. Senden Sie es allein: Mit einem anderen Member ist die Anfrage invalid_request. Das Aufheben bei einem geschützten Ordner ist selbst eine geschützte Änderung, eine Überprüfung, die eine zweite genehmigende Person entscheidet (202 pending_review).

Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request PATCH --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screen-folders/RESOURCE_ID'

Antworten

StatusBedeutungTextkörper und Header
200Ordner aktualisiert.ScreenFolder (application/json); Header: ETag
202

Der Schreibvorgang wurde zu einer Überprüfung und wartet auf die Genehmigung einer Person (docs/reviews.md), mit Propose-Zugriff oder auf jeder Zugriffsstufe, wenn er einen Bildschirm in einem geschützten Bildschirmordner erreicht, wo eine zweite genehmigende Person entscheidet (docs/screen-scope.md). Eine Person genehmigt, lehnt ab oder fordert Änderungen im Dashboard unter review.url an.

Eine Wiederholung mit demselben Idempotency-Key liefert denselben Body.

ReviewPending (application/json)
402feature_not_in_plan — Geschützte Ordner sind Teil des Enterprise-Plans; das Problem nennt die Funktion, den Plan, den das Konto hat, und required_plan.Problem (application/problem+json)
403outside_screen_scope wie bei OutsideScreenScope oder approver_required - ein auf Bildschirme beschränktes Mitglied, das Überprüfungen nicht genehmigen kann, ändert nicht, was ein Bildschirm abspielt oder wann (docs/screen-scope.md).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/screen-folders/{id}

Bildschirmordner löschen

Löscht einen Ordner. Nichts darin wird gelöscht: Seine Bildschirme und Ordner werden in den übergeordneten Ordner des gelöschten Ordners verschoben (die Projektwurzel, wenn keiner vorhanden war), jeder verschobene Ordner erhöht seine Revision, und diese Bildschirme werden neu aufgelöst.

Wird mit resource_conflict abgelehnt, solange eine Kampagnen-Zielgruppe den Ordner benennt, damit kein Zeitplan unbemerkt seine Bildschirme verliert: Ändern oder löschen Sie zuerst diese Kampagnen. Antwortet mit den Ebenen, die seine Bildschirme erhalten oder verloren haben. Sendet screen.folder_deleted. If-Match schützt optional die Revision.

Ein auf Bildschirme beschränkter Aufrufer (docs/screen-scope.md) löscht nur einen Ordner innerhalb seines Bereichs, den sein Bereich nicht selbst nennt (outside_screen_scope); die darin liegenden Bildschirme rücken in den übergeordneten Ordner auf. Das Löschen eines geschützten Ordners oder eines Ordners, der geschützte Bildschirme enthält, ist eine protected_change-Überprüfung (202 pending_review), die eine zweite genehmigende Person entscheidet.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
deleteScreenFolder

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
If-MatchÜberschriftoptionalOptionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict.
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screen-folders/RESOURCE_ID'

Antworten

StatusBedeutungTextkörper und Header
200Gelöscht; dessen Inhalte befinden sich jetzt im übergeordneten Ordner. levels nennt die Standard-Playlists von Ordnern, die seine Bildschirme erhalten oder verloren haben.ScreenFolderDeleteResult (application/json)
202

Der Schreibvorgang wurde zu einer Überprüfung und wartet auf die Genehmigung einer Person (docs/reviews.md), mit Propose-Zugriff oder auf jeder Zugriffsstufe, wenn er einen Bildschirm in einem geschützten Bildschirmordner erreicht, wo eine zweite genehmigende Person entscheidet (docs/screen-scope.md). Eine Person genehmigt, lehnt ab oder fordert Änderungen im Dashboard unter review.url an.

Eine Wiederholung mit demselben Idempotency-Key liefert denselben Body.

ReviewPending (application/json)
403outside_screen_scope wie bei OutsideScreenScope oder approver_required - ein auf Bildschirme beschränktes Mitglied, das Überprüfungen nicht genehmigen kann, ändert nicht, was ein Bildschirm abspielt oder wann (docs/screen-scope.md).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/screens/move

Bildschirme verschieben

Verschiebt Bildschirme (screen_ids) und Ordner (folder_ids) in einen Ordner (folder_id) oder zur Projektwurzel, wenn folder_id null ist, in einer einzigen Alles-oder-Nichts-Anfrage mit maximal 1000 IDs. Jede ID muss existieren (not_found). Ein Ordner kann nicht in sich selbst oder einen darin enthaltenen Ordner verschoben werden, und die Verschiebung muss alle Ordner innerhalb von 10 Ebenen halten (invalid_request).

Elemente, die bereits im Ziel liegen, bleiben, wie sie sind; jeder verschobene Bildschirm und Ordner erhöht seine Revision. Verschobene Bildschirme lösen ihre Playlist innerhalb von etwa 15 Sekunden neu auf: levels nennt die Kampagnen, deren Ordner-Zielgruppe sie betreten oder verlassen, und die Standard-Playlists von Ordnern, die sie gewinnen oder verlieren.

Sendet screen.moved, dessen Details die Anzahlen (screens, folders) und den Ursprung jedes verschobenen Elements tragen: moves [{screen_id, from}] (from ist die Ordner-ID, leer für die Wurzel) und folder_moves [{folder_id, from_parent}], jeweils höchstens 1000, sodass ein Verlauf sie mit dieser Route zurückverschieben kann.

Ein auf Bildschirme beschränkter Aufrufer (docs/screen-scope.md) verschiebt Bildschirme und Ordner innerhalb seines Bereichs in einen Ordner seines Bereichs; jede ID oder jedes Ziel außerhalb davon sowie die Projektwurzel lehnen die gesamte Verschiebung ab (outside_screen_scope), auch wenn ein Bildschirm den Bereich zwischen Prüfung und Schreiben verlässt.

Ein Verschieben in einen geschützten Ordner hinein oder aus ihm heraus ist eine protected_change-Überprüfung (202 pending_review), die eine zweite genehmigende Person entscheidet.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
ScreenMove
Operations-ID
moveScreens

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.

Anfrageinhalt-Felder

FeldBeschreibung
folder_id (erforderlich, inline)Zielordner; null für die Projektwurzel.
screen_ids (optional, array)
folder_ids (optional, Array)
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/move'

Antworten

StatusBedeutungTextkörper und Header
200Wie viele Bildschirme und Ordner verschoben wurden und welche levels die verschobenen Bildschirme erhalten oder verlieren.ScreenMoveResult (application/json)
202

Der Schreibvorgang wurde zu einer Überprüfung und wartet auf die Genehmigung einer Person (docs/reviews.md), mit Propose-Zugriff oder auf jeder Zugriffsstufe, wenn er einen Bildschirm in einem geschützten Bildschirmordner erreicht, wo eine zweite genehmigende Person entscheidet (docs/screen-scope.md). Eine Person genehmigt, lehnt ab oder fordert Änderungen im Dashboard unter review.url an.

Eine Wiederholung mit demselben Idempotency-Key liefert denselben Body.

ReviewPending (application/json)
403outside_screen_scope wie bei OutsideScreenScope oder approver_required - ein auf Bildschirme beschränktes Mitglied, das Überprüfungen nicht genehmigen kann, ändert nicht, was ein Bildschirm abspielt oder wann (docs/screen-scope.md).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/schedule/calendar

Zeitplankalender erhalten

Beantwortet, was die Bildschirme eines Subjekts über [from, to) abspielen und warum, für den Zeitplankalender des Dashboards: genau eines von screen_id, folder_id (die Bildschirme im Ordner und in jedem darin enthaltenen Ordner), tag oder campaign_id (die Bildschirme ihrer Zielgruppe).

Bildschirme, deren Stacks identische Eingaben haben (dieselben Ebenen, Standard, Zeitzone und Display-Anzahl), teilen sich eine Gruppe mit einer Zeitleiste, sodass ein großes Subjekt nur Dutzende Zeitleisten kostet; eine Gruppe listet bis zu 500 ihrer Bildschirme und eine Antwort höchstens 200 Gruppen (truncated).

Jede Gruppe trägt ihren Stack, höchste zuerst (Übernahme, Kampagnen, die die Bildschirme erreichen, deren eigene Zeitplaneinträge, dann die Standard-Playlist oder die des nächstgelegenen Ordners), die spans jeder Ebene (spielt auf jedem Display, auf das sie zielt, partial mit den Displays, auf denen sie spielt, outranked oder conditional, solange sie auf Interaktion oder eine Datenbedingung wartet, die nur ein Player beobachtet), was jedes Display zeigt (on_screen; die Hauptregion einer Vollseite) und conflicts (zwei Kampagnen gleicher Priorität, die gleichzeitig gelten; eine Ebene, die gilt, aber nie spielt). from und to sind RFC-3339-Zeitpunkte, to nach from, höchstens 93 Tage auseinander; sie werden auf die Minute gekürzt.

Regeln werden in der Zeitzone jeder Gruppe gelesen, so wie der Sweep und jeder Player sie lesen; jede Ebene gilt als abspielbar. Ein auf Bildschirme beschränkter Aufrufer (docs/screen-scope.md) muss eine screen_id oder eine folder_id innerhalb seines Bereichs senden; ein Tag, eine campaign_id oder kein Subjekt ist outside_screen_scope.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
getScheduleCalendar

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
vonAbfrageerforderlich
bisAbfrageerforderlich
screen_idAbfrageoptional
folder_idAbfrageoptional
TagAbfrageoptional
campaign_idAbfrageoptional
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/schedule/calendar?from=FROM&to=TO'

Antworten

StatusBedeutungTextkörper und Header
200Der Kalender des Subjekts.ScheduleCalendar (application/json)
403

outside_screen_scope - der Aufrufer ist auf Bildschirme beschränkt, und der Bildschirm, Bildschirmordner, Selektor oder die Zielgruppe, die die Anfrage nennt oder erreicht, liegt außerhalb davon (docs/screen-scope.md). Eine ID außerhalb des Bereichs und eine ID, die nicht existiert, erhalten dieselbe Antwort; errors[0].screen_scope trägt den Bereich des Aufrufers, und der Schreibvorgang wird vollständig abgelehnt, nie eingegrenzt.

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/screens/pair

Bildschirm koppeln

Beansprucht eine fleet-weite sechsstellige Player-Pairing-Sitzung. Exakte Idempotency-Key-Wiederholungen liefern das dauerhafte Originalergebnis ohne erneuten Verbrauch des Kontingents.

Die Dashboard-Sitzung beansprucht den Code in ihrem aktuellen Projekt mit demselben Body, Idempotency-Key, denselben Budgets und Problemen, mit dem Unterschied, dass sein not_found bei einem unbekannten oder bereits beanspruchten Code keinen CLI-Befehl nennt; es ist eine Zustandsänderung, daher folgt es den Dashboard-Mutationsregeln, eine Schattensitzung ohne Staff-Schreibmodus wird abgelehnt, und die Ereignisse, die der Claim anhängt, nennen den Dashboard-Benutzer. folder_id nennt den Ordner, in dem der Bildschirm landet.

Ein auf Bildschirme beschränkter Aufrufer (docs/screen-scope.md) muss einen Ordner innerhalb seines Bereichs senden und koppelt nur als Person, die genehmigen kann (outside_screen_scope, approver_required).

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
PairScreen
Operations-ID
pairScreen

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
Idempotency-KeyÜberschrifterforderlich

Anfrageinhalt-Felder

FeldBeschreibung
Code (erforderlich, Zeichenfolge)Muster: "^[23456789ABCDEFGHJKMNPQRSTUVWXYZ]{6}$"
label (optional, string)minLength: 1 maxLength: 120
folder_id (optional, String)

Der Bildschirmordner, in dem der Bildschirm landet; ohne Angabe landet er an der Projektwurzel. Ein auf Bildschirme beschränkter Aufrufer muss einen Ordner innerhalb seines Bereichs senden (sonst outside_screen_scope). Ein Ordner, den das Projekt nicht enthält, ist für einen Aufrufer des gesamten Projekts invalid_request.

Teil der idempotenten Anfrage: Ein anderer folder_id unter demselben Idempotency-Key ist idempotency_mismatch. minLength: 1

Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/pair'

Antworten

StatusBedeutungTextkörper und Header
201Dauerhafte pairing_pending Bildschirm-Anforderung.PairingClaim (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)
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)
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)
413

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
500

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)
403outside_screen_scope wie bei OutsideScreenScope oder approver_required - ein auf Bildschirme beschränktes Mitglied, das Überprüfungen nicht genehmigen kann, ändert nicht, was ein Bildschirm abspielt oder wann (docs/screen-scope.md).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/screens/provision

Bildschirm bereitstellen

Optionale Bereitstellung eines neuen Bildschirms, nur im Browser. Legt immer einen neuen Bildschirm mit pairing_pending an; höchstens fünf warten gleichzeitig auf die Kopplung (quota_exceeded). Exakte Wiederholungen liefern zehn Minuten lang dasselbe Fragment-Token erneut aus. Die sechsstellige Kopplung bleibt der Standard- und einzige Wiederherstellungsablauf. folder_id nennt den Ordner, in dem der Bildschirm landet.

Ein auf Bildschirme beschränkter Aufrufer (docs/screen-scope.md) muss einen Ordner innerhalb seines Bereichs senden (sonst outside_screen_scope).

Authentifizierung
projectBearer
Anfrageinhalt
Bildschirm bereitstellen
Operations-ID
provisionScreen

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
Idempotency-KeyÜberschrifterforderlich

Anfrageinhalt-Felder

FeldBeschreibung
label (optional, string)minLength: 1 maxLength: 120
folder_id (optional, String)Der Bildschirmordner, in dem der Bildschirm landet, wie bei PairScreen. minLength: 1
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/screens/provision'

Antworten

StatusBedeutungTextkörper und Header
201Neuer Browser-Bereitstellungslink.ScreenProvisioning (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)
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)
410

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

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
500

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)
403outside_screen_scope wie bei OutsideScreenScope oder approver_required - ein auf Bildschirme beschränktes Mitglied, das Überprüfungen nicht genehmigen kann, ändert nicht, was ein Bildschirm abspielt oder wann (docs/screen-scope.md).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/screens/actions

Bildschirmaktionen anwenden

Wendet eine Aktion auf eine ausgewählte Flotte ohne Bildschirmanzahlbegrenzung an. Wählen Sie eindeutige screen_ids oder einen Tag, der aktive Bildschirme in Erstellungsreihenfolge abdeckt. Die aufgelöste Auswahl wird vor jeder Änderung fixiert, in begrenzten Blöcken gespeichert und für vierundzwanzig Stunden unter Idempotency-Key aufbewahrt.

Jeder Schritt verwendet seinen Ein-Bildschirm-Mutationspfad, bewahrt Revisionen, Ereignisse, Laufzeitsignale und Bildschirmbegrenzungen. Eine Antwort enthält eine begrenzte Seite von Ergebnissen; Übereinstimmungen, Erfolge und Fehler beschreiben diese Seite. HTTP 202 enthält total, offset und next_cursor. Fahren Sie mit demselben Selektor, Aktion und Idempotency-Key fort und übergeben Sie next_cursor als after.

Berücksichtigen Sie Retry-After, wenn vorhanden, auch bei einer Seite mit null Ergebnissen. Die Antwort gibt Idempotency-Key zurück, einschließlich eines generierten Schlüssels, wenn der Aufrufer ihn weggelassen hat; bewahren Sie diesen Schlüssel für Fortsetzungen auf. HTTP 200 beendet die Auswahl. Beantwortete Seiten werden exakt wiedergegeben, einschließlich bildschirmbezogener Fehler; unterbrochene Schritte werden ohne Wiederholung ihrer Effekte erneut abgespielt.

Große Aktionen werden gegen die bestehenden 600-pro-Minute-Organisationsbudgets für Neu laden, Toast, Übernahme, Playlist-Zeitpläne, Neustart, Display und Display-Zeitpläne abgestimmt; Erschöpfung des Organisationsbudgets pausiert die Aktion, statt die Flotte abzulehnen. Pro-Bildschirm-Erschöpfung schlägt nur bei diesem Bildschirm fehl.

Ein assign-, takeover- oder set_playlist_schedule-Schritt, der eine Playlist mit einem Format an einen Bildschirm bindet, dessen Wand eine andere Form hat, lässt nur diesen Bildschirm mit 409 playlist_format_mismatch fehlschlagen. Zuweisungen und Tag-Änderungen haben kein Nachrichtenbudget.

Eine Zuweisung, deren Playlist ein iframe src oder Anwendungsparameter hat, die ein Bildschirm-Token lesen, das einem Bildschirm der Seite fehlt, fügt dieser Seite eine screen_fact_missing-Warnung hinzu (warnings, PlaylistWarning). Teilweises Scheitern ist ein normales Ergebnis. Alle Seiten und Wiederholungen unter einem Schlüssel sind eine gemessene Aktion.

Anfragen verwenden eine begrenzte Byte-Nutzlast; verwenden Sie ein Tag für eine Auswahl, die größer als die Transportnutzlast ist. Ein fehlerhafter Selektor oder eine fehlerhafte Aktion wird abgelehnt, bevor ein Bildschirm berührt wird.

Ein auf Bildschirme beschränkter Aufrufer (docs/screen-scope.md) wählt per screen_ids oder per Ordner aus, jeweils jeden Bildschirm innerhalb seines Bereichs; ein Tag-Selektor, ein Bildschirm außerhalb des Bereichs oder ein unbekannter Bildschirm lehnt die gesamte Aktion ab (outside_screen_scope), bevor etwas festgeschrieben oder vorgeschlagen wird.

Assign, takeover, takeover_clear, set_playlist_schedule und clear_playlist_schedule, die einen geschützten Bildschirm erreichen, werden auf jeder Zugriffsstufe zu einer Überprüfung, die eine zweite genehmigende Person entscheidet (202 pending_review); set_tags, add_tags, remove_tags, toast, display, display_clear, set_display_schedule und clear_display_schedule auf einem geschützten Bildschirm sind protected_target (409).

Eine set_playlist_schedule-Aktion mit einem pausierten Eintrag (einem Entwurf) fällt unter die Änderungskontrolle für Zeitpläne, die der Enterprise-Plan enthält; ein Projekt, dessen Plan dies nicht enthält, wird mit feature_not_in_plan (402) abgelehnt.

Authentifizierung
projectBearer
Anfrageinhalt
ScreenActionRequest
Operations-ID
applyScreenActions

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
Screenrig-Review-NoteÜberschriftoptional

Optionale Vorschlag-Notiz bei einem Review-Klassen-Schreibvorgang, gesendet als prozentkodiertes UTF-8 (was JavaScript encodeURIComponent schreibt). Der Server dekodiert Prozentzeichen (ein ungültiger Escape ist 400 invalid_request); die dekodierte Notiz ist Klartext, maximal 280 Zeichen nach Trimmen, keine Steuerzeichen (sonst 400 invalid_request).

Gespeichert bei der Überprüfung, wenn der Schreibvorgang einer wird; ignoriert, wenn er live angewendet wird.

Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.
nachAbfrageoptionalnext_cursor von der vorherigen Ergebnissseite. Verwenden Sie den ursprünglichen Idempotency-Key und den Anforderungskörper erneut.

Anfrageinhalt-Felder

FeldBeschreibung
selector (erforderlich, ScreenActionSelector)
Aktion (erforderlich, ScreenAction)Eine Flottenaktion, unterschieden nach Typ. Jedes Mitglied trägt nur seine eigenen Parameter; ein Mitglied eines anderen Typs ist ein unbekanntes Feld und invalid_request.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/screens/actions'

Antworten

StatusBedeutungTextkörper und Header
200Pro Bildschirm Ergebnisse. Teilweiser Erfolg ist eine normale Antwort.ScreenActionResult (application/json); Header: Idempotency-Key, Cache-Control, RateLimit-Policy, RateLimit
202

Es verbleiben weitere Bildschirme (mit next_cursor und demselben Idempotency-Key und Body fortfahren, Retry-After beachten), oder, mit dem Status pending_review, wurde die Aktion zu einer Überprüfung bei Propose-Zugriff (docs/reviews.md) oder auf jeder Zugriffsstufe, weil sie einen Bildschirm in einem geschützten Bildschirmordner erreicht (docs/screen-scope.md).

Nur assign, takeover, takeover_clear, set_playlist_schedule und clear_playlist_schedule werden zu Reviews; jede andere Aktion ist insufficient_access für Propose.

inline (application/json); Header: Idempotency-Key, Retry-After, 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)
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)
402

feature_not_in_plan — set_reboot_schedule mit enabled true (geplante Neustarts) und set_playlist_schedule mit einer displays-Sperre (Videowände) sind Teil von Plus; die Aktionen zum Aufheben und einmalige Befehle sind offen. payment_required — das Projekt hat kein Guthaben mehr. Das Problem nennt die Funktion, den Plan des Projekts und required_plan.

Problem (application/problem+json)
403insufficient_access, outside_screen_scope, wenn ein auf Bildschirme beschränkter Aufrufer außerhalb seines Bereichs auswählt, oder approver_required bei einem auf Bildschirme beschränkten Mitglied, das nicht genehmigen kann.Problem (application/problem+json)
409

playlist_format_mismatch und die anderen Konflikte der Aktion oder protected_target, wenn set_tags, add_tags, remove_tags, toast, display, display_clear, set_display_schedule oder clear_display_schedule einen Bildschirm in einem geschützten Bildschirmordner erreicht.

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)
GET/api/screens/{id}

Bildschirm erhalten

Gibt pairing_pending, aktive und archivierte Bildschirme zurück. Gelöschte Bildschirme werden nicht gefunden.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
getScreen

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID'

Antworten

StatusBedeutungTextkörper und Header
200BildschirmBildschirm (application/json)
403

outside_screen_scope - der Aufrufer ist auf Bildschirme beschränkt, und der Bildschirm, Bildschirmordner, Selektor oder die Zielgruppe, die die Anfrage nennt oder erreicht, liegt außerhalb davon (docs/screen-scope.md). Eine ID außerhalb des Bereichs und eine ID, die nicht existiert, erhalten dieselbe Antwort; errors[0].screen_scope trägt den Bereich des Aufrufers, und der Schreibvorgang wird vollständig abgelehnt, nie eingegrenzt.

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)
PATCH/api/screens/{id}

Bildschirm aktualisieren

Aktualisiert name, playlist_id, timezone, wall, tags, fields, location, log_level, toast_level, display oder kiosk des Bildschirms. Eine Tag-Änderung antwortet mit levels: den Kampagnen, die der Bildschirm betritt oder verlässt, mit der Reichweite jeder Kampagne vorher und nachher. wall setzt die Videowand des Bildschirms (ein Objekt) oder löscht sie (null).

Das Festlegen einer Videowand erfordert einen Player, der die Host-Fähigkeit display.wall deklariert hat, sonst 409 wall_unsupported.

Wird sie geändert, wird die Manifest-Revision neu vergeben und screen.updated mit details.wall (das wall-Objekt oder null nach dem Löschen) angehängt. fields wird mit den eigenen Werten des Bildschirms zusammengeführt (ein String setzt ein Feld, null entfernt es, ein fields mit dem Wert null löscht jedes Feld) und location legt fest, wo sich der Bildschirm befindet (null löscht es).

Wird eines der beiden geändert, wird die Manifest-Revision eines Bildschirms, der eine Playlist zeigt, neu vergeben, sodass seine Kartenplatzierungen ihre {screen.…}-Tokens erneut auflösen; zugleich wird screen.updated mit details.fields (das vollständige neue Objekt, {} nach dem Löschen) oder details.location (das neue Objekt oder null nach dem Löschen) angehängt.

Ein Name oder Wert, den die Grammatik ablehnt, oder ein dreiunddreißigstes Feld ergibt invalid_request mit dessen Namen. log_level (debug, info, warn, error) und toast_level (info, alert, error) legen die niedrigste Stufe fest, die der Player erzeugt oder anzeigt, und null löscht jeweils eine; jeder andere Wert ergibt invalid_request.

Das Ändern von beiden erzeugt die Manifestrevision neu, die sie als Wurzelmitglied verbosity trägt. display setzt oder löscht die Einstellungen des Displays für das Abdunkeln im Leerlauf und die Helligkeit: display.idle {after_s, wake} dunkelt den Bildschirm nach after_s Sekunden (30 bis 86400) ohne Berührung oder Tastendruck oder, wenn wake presence aufführt, ohne dass jemand vor dem Bildschirm steht, ab, und ein Aufweckereignis (touch, presence oder beides, jeweils einmal) schaltet ihn sofort wieder ein; display.brightness {mode} ist auto (der Lichtsensor des Geräts stellt die Helligkeit ein) oder fixed (der Standard, die Helligkeit des Betreibers).

Ein Mitglied, das Sie senden, ersetzt es, null löscht es, ein weggelassenes Mitglied bleibt bestehen, und ein display mit dem Wert null löscht beide. kiosk {lock} true fixiert den Player auf dem Bildschirm (Android-Bildschirmfixierung), und false oder null hebt die Fixierung auf. Der Anzeigeplan und die Überschreibung behalten ihre eigenen Routen; ein display-Mitglied, das schedule oder override nennt, ist invalid_request.

Ein Wert außerhalb des Bereichs oder vom falschen Typ ist invalid_request und nennt den Pfad (display.idle.after_s).

Wird eine davon geändert, wird die Manifest-Revision eines Bildschirms, der eine Playlist zeigt, neu vergeben und ändert sich das Manifest-ETag jedes Bildschirms; das Manifest trägt display.idle und display.brightness im Wurzelmitglied display und die Sperre als Wurzelmitglied kiosk, und screen.manifest_changed wird angehängt; der Bildschirm liest sie als Screen.display.idle, Screen.display.brightness und Screen.kiosk zurück.

Das Backend speichert, was Sie senden, unabhängig vom Player: Ein Player wendet eine Einstellung nur an, wenn seine Host-Fähigkeiten display_power.idle, brightness.auto oder kiosk_lock deklarieren, und ältere Player ignorieren sie. Das Zuweisen einer Playlist, deren Format nicht zur Wand des Bildschirms passt, ergibt 409 playlist_format_mismatch.

Bei Propose-Zugriff wird ein Patch von playlist_id allein zu einer Überprüfung (202 pending_review); jedes andere Feld, auch wall, fields, location, display und kiosk, ergibt insufficient_access. Eine Playlist ohne genehmigte Version ist playlist_not_approved.

Hat die Playlist, die der Bildschirm dann zeigt, ein iframe src oder Anwendungsparameter, die ein Bildschirm-Token lesen, das dem Bildschirm fehlt, trägt die Antwort eine screen_fact_missing-Warnung (warnings, PlaylistWarning), und das Manifest des Bildschirms lässt dieses Primitiv weg.

Auf einem geschützten Bildschirm wird playlist_id bei jeder Zugriffsstufe von einer zweiten freigabeberechtigten Person geprüft (202 pending_review) und allein gesendet (invalid_request zusammen mit name); tags, fields, location, timezone, wall und display ergeben protected_target (409), auch zusammen mit playlist_id. Umbenennen bleibt unmittelbar wirksam. Das Leeren von playlist_id (null) auf einem archivierten Bildschirm ergibt 409 screen_archived.

Authentifizierung
projectBearer
Anfrageinhalt
ScreenPatch
Operations-ID
updateScreen

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
Screenrig-Review-NoteÜberschriftoptional

Optionale Vorschlag-Notiz bei einem Review-Klassen-Schreibvorgang, gesendet als prozentkodiertes UTF-8 (was JavaScript encodeURIComponent schreibt). Der Server dekodiert Prozentzeichen (ein ungültiger Escape ist 400 invalid_request); die dekodierte Notiz ist Klartext, maximal 280 Zeichen nach Trimmen, keine Steuerzeichen (sonst 400 invalid_request).

Gespeichert bei der Überprüfung, wenn der Schreibvorgang einer wird; ignoriert, wenn er live angewendet wird.

If-MatchÜberschriftoptionalOptionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict.
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.

Anfrageinhalt-Felder

FeldBeschreibung
Name (optional, Zeichenkette)minLength: 1 maxLength: 120
playlist_id (optional, inline)

Der Standard des Bildschirms: eine Playlist-ID weist ihn zu; null entfernt ihn; Weglassen behält ihn. Übernahmen, Kampagnen, Zeitpläne und von Ordnern geerbte Standards behalten Vorrang. Ohne wirksamen Inhalt zeigt der gekoppelte Player seine Ruheanzeige.

Zeitzone (optional, Zeichenkette)

IANA-Zeitzonenkennung, z. B. America/Los_Angeles. In dieser Zone wird jede Seiten-Sichtbarkeitsregel auf diesem Bildschirm ausgewertet. Eine Änderung erzeugt eine neue Manifestrevision. Ein Bildschirm mit einer Playlist, die Seiten-Sichtbarkeit verwendet, muss eine haben. minLength: 1 maxLength: 64

wall (optional, inline)Die Videowand des Bildschirms; null löscht sie. Das Setzen erfordert einen Player, der die Host-Fähigkeit display.wall deklariert hat, sonst 409 wall_unsupported. Eine Änderung erneuert die Manifest-Revision.
Tags (optional, ScreenTags)

Flotten-Selektortags, 0 bis 16 eindeutige exakte Tags, die jeweils der Medien-Tag-Grammatik entsprechen. Bei ScreenPatch ersetzt das Array das gesamte Set, und ein leeres Array löscht es; ein doppeltes oder fehlerhaftes Tag ist invalid_request. Das Ändern der Tags erhöht die Bildschirmrevision (If-Match schützt sie) und fügt screen.updated mit details.tags hinzu; die Manifestrevision ändert sich nie.

Tags sind niemals im Laufzeitmanifest und niemals in der Autorisierung enthalten.

fields (optional, inline)

Führt mit den eigenen Werten des Bildschirms zusammen, etwa einer Filialnummer oder einer Region: Ein String setzt ein Feld, null entfernt es, und ein fields mit dem Wert null löscht jedes Feld. Namen bestehen aus 1 bis 32 Kleinbuchstaben, Ziffern oder Unterstrichen; Werte aus 1 bis 200 Zeichen nach dem Entfernen umgebender Leerzeichen; ein Bildschirm hat höchstens 32 Felder.

Werden die Felder geändert, wird die Manifest-Revision eines Bildschirms, der eine Playlist zeigt, neu vergeben. Kartenplatzierungen lesen sie über {screen.field.NAME}-Tokens.

location (optional, inline)Wo sich der Bildschirm befindet; null löscht den Standort. Eine Änderung vergibt die Manifest-Revision eines Bildschirms, der eine Playlist zeigt, neu. Kartenplatzierungen lesen den Standort über das Token {screen.location}.
log_level (optional, inline)

Die niedrigste Log-Stufe, die der Player des Bildschirms erzeugt: Darunter schreibt er keine Logzeile, und Fehlerzeilen werden immer erzeugt; null löscht sie (die Vorgabe des Players). Das Ändern erzeugt die Manifestrevision neu, die sie als verbosity.logLevel trägt.

toast_level (optional, inline)

Die niedrigste Toast-Stufe, die der Player des Bildschirms anzeigt: Darunter zeigt er keinen Toast, und Fehler-Toasts werden immer angezeigt; null löscht sie (jeder Toast wird angezeigt). Das Ändern erzeugt die Manifestrevision neu, die sie als verbosity.toastLevel trägt.

display (optional, inline)

Die Einstellungen des Displays für das Abdunkeln im Leerlauf und die Helligkeit (display.idle, display.brightness). Ein Mitglied, das Sie senden, ersetzt es, null löscht es, ein weggelassenes Mitglied bleibt bestehen; ein display mit dem Wert null löscht beide. Wird eines der beiden geändert, wird die Manifest-Revision eines Bildschirms, der eine Playlist zeigt, neu vergeben, und das Manifest trägt sie im Wurzelmitglied display.

Auf einem geschützten Bildschirm ist es protected_target.

kiosk (optional, inline)

Die Kiosk-Sperre (kiosk.lock). lock true fixiert den Player auf dem Bildschirm; false oder null hebt die Fixierung auf. Wird sie geändert, wird die Manifest-Revision eines Bildschirms, der eine Playlist zeigt, neu vergeben, und das Manifest trägt sie als Wurzelmitglied kiosk.

Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request PATCH --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID'

Antworten

StatusBedeutungTextkörper und Header
202

Der Schreibvorgang wurde zu einer Überprüfung und wartet auf die Genehmigung einer Person (docs/reviews.md), mit Propose-Zugriff oder auf jeder Zugriffsstufe, wenn er einen Bildschirm in einem geschützten Bildschirmordner erreicht, wo eine zweite genehmigende Person entscheidet (docs/screen-scope.md). Eine Person genehmigt, lehnt ab oder fordert Änderungen im Dashboard unter review.url an.

Eine Wiederholung mit demselben Idempotency-Key liefert denselben Body.

ReviewPending (application/json)
200BildschirmBildschirm (application/json)
402

feature_not_in_plan — Videowände sind Teil von Plus: Das Setzen einer anderen Videowand als der des Bildschirms erfordert sie, null hebt sie in jedem Plan auf. Das Problem nennt die Funktion, den Plan des Projekts und required_plan.

Problem (application/problem+json)
403outside_screen_scope wie bei OutsideScreenScope oder approver_required - ein auf Bildschirme beschränktes Mitglied, das Überprüfungen nicht genehmigen kann, ändert nicht, was ein Bildschirm abspielt oder wann (docs/screen-scope.md).Problem (application/problem+json)
409

protected_target - die Änderung erreicht einen Bildschirm in einem geschützten Bildschirmordner und hat kein Überprüfungsformular (docs/screen-scope.md). Heben Sie den Schutz des Ordners über eine Überprüfung auf, nehmen Sie die Änderung vor und schützen Sie den Ordner wieder.

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/screens/{id}

Bildschirm löschen

Löscht einen berechtigten Bildschirm soft und widerruft sofort dessen Cookie-Anmeldeinformationen und Laufzeitberechtigungen. Normale Lesevorgänge liefern dann not_found; die gelöschte Zeile wird mindestens 90 Tage vor der Bereinigung aufbewahrt. If-Match schützt die Revision und Idempotency-Key wiederholt das Ergebnis.

Ein nativer identitätsgebundener Bildschirm gibt screen_archive_required zurück: Verwenden Sie archive, um diese Bindung zu behalten; ein bereits archivierter identitätsgebundener Bildschirm bleibt archiviert (dasselbe Problem mit entsprechendem Hinweis). Diese Route gewährt keine administrative Break-Glass-Berechtigung, um die native Registrierung freizugeben. Ein Bildschirm in einem geschützten Bildschirmordner ist protected_target (409).

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
deleteScreen

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
If-MatchÜberschriftoptionalOptionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict.
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID'

Antworten

StatusBedeutungTextkörper und Header
204Bildschirm weich gelöscht; sein Tombstone wird mindestens 90 Tage aufbewahrt.kein Körper
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)
409screen_archive_required bei einem nativen identitätsgebundenen Bildschirm oder protected_target, wenn der Bildschirm in einem geschützten Bildschirmordner liegt (docs/screen-scope.md).Problem (application/problem+json)
412revision_conflict – If-Match ist veraltet; die aktuelle Revision ist im Fehlerfeld current_revision enthalten.Problem (application/problem+json)
403outside_screen_scope wie bei OutsideScreenScope oder approver_required - ein auf Bildschirme beschränktes Mitglied, das Überprüfungen nicht genehmigen kann, ändert nicht, was ein Bildschirm abspielt oder wann (docs/screen-scope.md).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)
PATCH/api/screens/{id}/tags

Patch-Bildschirm-Tags

Eine angemeldete Person legt die Tags eines Bildschirms fest. Tags ist die vollständige neue Menge: Ein leeres Array löscht sie, und ein fehlerhafter oder wiederholter Tag ist invalid_request bei tags[i].

Sie ist die Tag-Änderungsaktualisierung, die updateScreen in der Dashboard-Sitzung macht: die Bildschirmrevision erhöht sich um eins, screen.updated trägt details.tags und die Person als Akteur, und die Manifestrevision ändert sich nie. Ein pairing_pending, aktiver oder archivierter Bildschirm akzeptiert sie.

Der Body hat kein weiteres Mitglied: Eine Sitzung benennt einen Bildschirm mit patchScreenName um und weist ihm seine Playlist mit patchScreenPlaylist zu, und kann seine Zeitzone nicht ändern. If-Match enthält die Bildschirm-Revision und ist erforderlich (invalid_request bei Fehlen, revision_conflict bei veraltet).

Nur die Dashboard-Sitzung; Agenten ändern Tags mit updateScreen oder einer Flottenaktion set_tags, add_tags oder remove_tags. listScreens mit tag findet den Bildschirm anhand seiner neuen Tags. Auf einem geschützten Bildschirm ist die Änderung protected_target (409).

Authentifizierung
dashboardSession
Anfrageinhalt
ScreenTagsPatch
Operations-ID
patchScreenTags

Parameter

NameSendenErforderlich?Beschreibung
idPfaderforderlich
If-MatchÜberschrifterforderlichDie aktuelle Revision des Bildschirms, zitiert oder unverändert (das ETag der letzten Leseoperation). Eine veraltete Revision ist revision_conflict mit current_revision.
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.

Anfrageinhalt-Felder

FeldBeschreibung
Tags (erforderlich, ScreenTags)

Flotten-Selektortags, 0 bis 16 eindeutige exakte Tags, die jeweils der Medien-Tag-Grammatik entsprechen. Bei ScreenPatch ersetzt das Array das gesamte Set, und ein leeres Array löscht es; ein doppeltes oder fehlerhaftes Tag ist invalid_request. Das Ändern der Tags erhöht die Bildschirmrevision (If-Match schützt sie) und fügt screen.updated mit details.tags hinzu; die Manifestrevision ändert sich nie.

Tags sind niemals im Laufzeitmanifest und niemals in der Autorisierung enthalten.

Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request PATCH --cookie cookies.txt --cookie-jar cookies.txt --header 'If-Match: "REVISION"' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID/tags'

Antworten

StatusBedeutungTextkörper und Header
200Der Bildschirm, wie er jetzt gespeichert ist; ETag trägt seine Revision.Bildschirm (application/json); Header: ETag
412revision_conflict – If-Match ist veraltet; die aktuelle Revision ist im Fehlerfeld current_revision enthalten.Problem (application/problem+json)
403outside_screen_scope wie bei OutsideScreenScope oder approver_required - ein auf Bildschirme beschränktes Mitglied, das Überprüfungen nicht genehmigen kann, ändert nicht, was ein Bildschirm abspielt oder wann (docs/screen-scope.md).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)
PATCH/api/screens/{id}/fields

Bildschirmfelder ändern

Eine angemeldete Person ändert die Felder eines Bildschirms mit dem Merge-Patch von updateScreen: Ein String setzt ein Feld, null entfernt es, und ein fields mit dem Wert null löscht jedes Feld. Ein abgelehnter Name oder Wert oder ein dreiunddreißigstes Feld ist invalid_request bei fields oder fields.NAME.

Die Bildschirmrevision erhöht sich um eins, ein Bildschirm, der eine Playlist anzeigt, erhält eine neue Manifest-Revision, und das Ereignis trägt details.fields und die Person als seinen Akteur. Der Body hat kein anderes Mitglied. If-Match trägt die Bildschirmrevision und ist erforderlich (invalid_request bei fehlendem Header, revision_conflict bei veralteter Revision).

Nur die Dashboard-Sitzung; Agenten verwenden PATCH /api/screens/{id} (updateScreen). Auf einem geschützten Bildschirm ist die Änderung protected_target (409).

Authentifizierung
dashboardSession
Anfrageinhalt
ScreenFieldsPatch
Operations-ID
patchScreenFields

Parameter

NameSendenErforderlich?Beschreibung
idPfaderforderlich
If-MatchÜberschrifterforderlichDie aktuelle Revision des Bildschirms, zitiert oder unverändert (das ETag der letzten Leseoperation). Eine veraltete Revision ist revision_conflict mit current_revision.
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.

Anfrageinhalt-Felder

FeldBeschreibung
fields (erforderlich, inline)

Führt mit den eigenen Werten des Bildschirms zusammen, etwa einer Filialnummer oder einer Region: Ein String setzt ein Feld, null entfernt es, und ein fields mit dem Wert null löscht jedes Feld. Namen bestehen aus 1 bis 32 Kleinbuchstaben, Ziffern oder Unterstrichen; Werte aus 1 bis 200 Zeichen nach dem Entfernen umgebender Leerzeichen; ein Bildschirm hat höchstens 32 Felder.

Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request PATCH --cookie cookies.txt --cookie-jar cookies.txt --header 'If-Match: "REVISION"' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID/fields'

Antworten

StatusBedeutungTextkörper und Header
200Der Bildschirm, wie er jetzt gespeichert ist; ETag trägt seine Revision.Bildschirm (application/json); Header: ETag
412revision_conflict – If-Match ist veraltet; die aktuelle Revision ist im Fehlerfeld current_revision enthalten.Problem (application/problem+json)
403outside_screen_scope wie bei OutsideScreenScope oder approver_required - ein auf Bildschirme beschränktes Mitglied, das Überprüfungen nicht genehmigen kann, ändert nicht, was ein Bildschirm abspielt oder wann (docs/screen-scope.md).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)
PATCH/api/screens/{id}/location

Bildschirmstandort ändern

Eine angemeldete Person legt den Standort eines Bildschirms mit location von updateScreen fest oder löscht ihn: Ein Objekt mit latitude, longitude sowie optional name und address ersetzt den Standort vollständig, und null löscht ihn. Ein fehlendes Mitglied oder ein Mitglied mit falschem Typ, eine Koordinate außerhalb des gültigen Bereichs, ein Name mit mehr als 40 Zeichen oder eine Adresse mit mehr als 200 Zeichen ist invalid_request bei location.MEMBER.

Die Bildschirmrevision erhöht sich um eins, ein Bildschirm, der eine Playlist anzeigt, erhält eine neue Manifest-Revision, und das Ereignis trägt details.location und die Person als seinen Akteur. Der Body hat kein anderes Mitglied. If-Match trägt die Bildschirmrevision und ist erforderlich (invalid_request bei fehlendem Header, revision_conflict bei veralteter Revision).

Nur die Dashboard-Sitzung; Agenten verwenden PATCH /api/screens/{id} (updateScreen). Auf einem geschützten Bildschirm ist die Änderung protected_target (409).

Authentifizierung
dashboardSession
Anfrageinhalt
ScreenLocationPatch
Operations-ID
patchScreenLocation

Parameter

NameSendenErforderlich?Beschreibung
idPfaderforderlich
If-MatchÜberschrifterforderlichDie aktuelle Revision des Bildschirms, zitiert oder unverändert (das ETag der letzten Leseoperation). Eine veraltete Revision ist revision_conflict mit current_revision.
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.

Anfrageinhalt-Felder

FeldBeschreibung
location (erforderlich, inline)Wo sich der Bildschirm befindet: Das Objekt ersetzt den gesamten Standort, und null löscht ihn.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request PATCH --cookie cookies.txt --cookie-jar cookies.txt --header 'If-Match: "REVISION"' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID/location'

Antworten

StatusBedeutungTextkörper und Header
200Der Bildschirm, wie er jetzt gespeichert ist; ETag trägt seine Revision.Bildschirm (application/json); Header: ETag
412revision_conflict – If-Match ist veraltet; die aktuelle Revision ist im Fehlerfeld current_revision enthalten.Problem (application/problem+json)
403outside_screen_scope wie bei OutsideScreenScope oder approver_required - ein auf Bildschirme beschränktes Mitglied, das Überprüfungen nicht genehmigen kann, ändert nicht, was ein Bildschirm abspielt oder wann (docs/screen-scope.md).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)
PATCH/api/screens/{id}/verbosity

Ausführlichkeit eines Bildschirms ändern

Eine angemeldete Person setzt oder löscht die Log-Stufe und die Toast-Stufe eines Bildschirms mit log_level (debug, info, warn, error) und toast_level (info, alert, error) von updateScreen: Eine Zeichenfolge setzt die Stufe, null löscht sie, und ein weggelassenes Mitglied bleibt, wie es ist. Jeder andere Wert ist invalid_request bei log_level oder toast_level.

Die Bildschirmrevision rückt um eins vor, ein Bildschirm, der eine Playlist zeigt, erhält eine neue Manifestrevision, und der Player liest die Stufen aus dem Manifestmitglied verbosity. Der Body nennt mindestens eines der beiden Mitglieder und kein anderes. If-Match trägt die Bildschirmrevision und ist erforderlich (invalid_request, wenn es fehlt, revision_conflict, wenn es veraltet ist).

Nur die Dashboard-Sitzung; Agenten verwenden PATCH /api/screens/{id} (updateScreen).

Authentifizierung
dashboardSession
Anfrageinhalt
ScreenVerbosityPatch
Operations-ID
patchScreenVerbosity

Parameter

NameSendenErforderlich?Beschreibung
idPfaderforderlich
If-MatchÜberschrifterforderlichDie aktuelle Revision des Bildschirms, zitiert oder unverändert (das ETag der letzten Leseoperation). Eine veraltete Revision ist revision_conflict mit current_revision.
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.

Anfrageinhalt-Felder

FeldBeschreibung
log_level (optional, inline)Die niedrigste Log-Stufe, die der Player des Bildschirms erzeugt; Fehlerzeilen werden immer erzeugt. null löscht sie (die Vorgabe des Players). Das Ändern erzeugt die Manifestrevision neu.
toast_level (optional, inline)Die niedrigste Toast-Stufe, die der Player des Bildschirms anzeigt; Fehler-Toasts werden immer angezeigt. null löscht sie (jeder Toast wird angezeigt). Das Ändern erzeugt die Manifestrevision neu.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request PATCH --cookie cookies.txt --cookie-jar cookies.txt --header 'If-Match: "REVISION"' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID/verbosity'

Antworten

StatusBedeutungTextkörper und Header
200Der Bildschirm, wie er jetzt gespeichert ist; ETag trägt seine Revision.Bildschirm (application/json); Header: ETag
412revision_conflict – If-Match ist veraltet; die aktuelle Revision ist im Fehlerfeld current_revision enthalten.Problem (application/problem+json)
403outside_screen_scope wie bei OutsideScreenScope oder approver_required - ein auf Bildschirme beschränktes Mitglied, das Überprüfungen nicht genehmigen kann, ändert nicht, was ein Bildschirm abspielt oder wann (docs/screen-scope.md).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)
PATCH/api/screens/{id}/device-settings

Geräteeinstellungen eines Bildschirms ändern

Eine angemeldete Person setzt oder löscht die Einstellungen eines Bildschirms für das Abdunkeln im Leerlauf und die Helligkeit sowie seine Kiosk-Sperre mit den Mitgliedern display und kiosk von updateScreen: display.idle {after_s 30 bis 86400, wake touch, presence oder beides}, display.brightness {mode auto oder fixed} und kiosk.lock.

Ein gesendetes Mitglied ersetzt es, null löscht es, und ein weggelassenes Mitglied bleibt unverändert; ein display mit dem Wert null löscht beide. Ein Wert außerhalb des Bereichs oder vom falschen Typ ist invalid_request und nennt den Pfad (display.idle.after_s).

Die Bildschirmrevision erhöht sich um eins, ein Bildschirm, der eine Playlist zeigt, erhält eine neue Manifest-Revision, und der Player liest die Einstellungen aus den Manifest-Mitgliedern display (idle, brightness) und kiosk. Der Body nennt mindestens eines von display und kiosk und kein anderes Mitglied.

If-Match trägt die Bildschirmrevision und ist erforderlich (invalid_request, wenn es fehlt, revision_conflict, wenn sie veraltet ist). Auf einem geschützten Bildschirm ist eine Änderung von display protected_target (409). Nur für die Dashboard-Sitzung; Agenten verwenden PATCH /api/screens/{id} (updateScreen).

Authentifizierung
dashboardSession
Anfrageinhalt
ScreenDeviceSettingsPatch
Operations-ID
patchScreenDeviceSettings

Parameter

NameSendenErforderlich?Beschreibung
idPfaderforderlich
If-MatchÜberschrifterforderlichDie aktuelle Revision des Bildschirms, zitiert oder unverändert (das ETag der letzten Leseoperation). Eine veraltete Revision ist revision_conflict mit current_revision.
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.

Anfrageinhalt-Felder

FeldBeschreibung
display (optional, inline)

display.idle und display.brightness, wie das display von updateScreen: Ein Mitglied, das Sie senden, ersetzt es, null löscht es, ein weggelassenes Mitglied bleibt bestehen; ein display mit dem Wert null löscht beide. Wird eines der beiden geändert, wird die Manifest-Revision eines Bildschirms, der eine Playlist zeigt, neu vergeben. Auf einem geschützten Bildschirm ist es protected_target.

kiosk (optional, inline)kiosk.lock, wie das kiosk von updateScreen: lock true fixiert den Player auf dem Bildschirm, false oder null hebt die Fixierung auf.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request PATCH --cookie cookies.txt --cookie-jar cookies.txt --header 'If-Match: "REVISION"' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID/device-settings'

Antworten

StatusBedeutungTextkörper und Header
200Der Bildschirm, wie er jetzt gespeichert ist; ETag trägt seine Revision.Bildschirm (application/json); Header: ETag
412revision_conflict – If-Match ist veraltet; die aktuelle Revision ist im Fehlerfeld current_revision enthalten.Problem (application/problem+json)
403outside_screen_scope wie bei OutsideScreenScope oder approver_required - ein auf Bildschirme beschränktes Mitglied, das Überprüfungen nicht genehmigen kann, ändert nicht, was ein Bildschirm abspielt oder wann (docs/screen-scope.md).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)
PATCH/api/screens/{id}/name

Bildschirmnamen ändern

Eine angemeldete Person benennt einen Bildschirm mit dem name von updateScreen um. Der Name wird getrimmt und muss 1 bis 120 Zeichen ohne Steuerzeichen enthalten, sonst invalid_request bei name (ebenso bei fehlendem oder null-Namen).

Die Bildschirm-Revision steigt um eins und das Ereignis ist screen.manifest_changed, an den Bildschirm adressiert, mit der Person als Akteur; die Manifest-Revision bleibt, die Wiedergabe bleibt also unberührt und Player aktualisieren den Namen anhand des geänderten ETag. Eine Umbenennung auf denselben Namen erhöht die Revision trotzdem und hängt screen.updated an. Der Body hat kein weiteres Mitglied.

If-Match enthält die Bildschirm-Revision und ist erforderlich (invalid_request bei Fehlen, revision_conflict bei veraltet). Nur für die Dashboard-Sitzung; Agenten verwenden PATCH /api/screens/{id} (updateScreen).

Authentifizierung
dashboardSession
Anfrageinhalt
ScreenNamePatch
Operations-ID
patchScreenName

Parameter

NameSendenErforderlich?Beschreibung
idPfaderforderlich
If-MatchÜberschrifterforderlichDie aktuelle Revision des Bildschirms, zitiert oder unverändert (das ETag der letzten Leseoperation). Eine veraltete Revision ist revision_conflict mit current_revision.
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.

Anfrageinhalt-Felder

FeldBeschreibung
Name (erforderlich, Zeichenkette)Der Name des Bildschirms, getrimmt; 1 bis 120 Zeichen nach dem Trimmen, ohne Steuerzeichen. minLength: 1 maxLength: 120
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request PATCH --cookie cookies.txt --cookie-jar cookies.txt --header 'If-Match: "REVISION"' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID/name'

Antworten

StatusBedeutungTextkörper und Header
200Der Bildschirm, wie er jetzt gespeichert ist; ETag trägt seine Revision.Bildschirm (application/json); Header: ETag
412revision_conflict – If-Match ist veraltet; die aktuelle Revision ist im Fehlerfeld current_revision enthalten.Problem (application/problem+json)
403

outside_screen_scope - der Aufrufer ist auf Bildschirme beschränkt, und der Bildschirm, Bildschirmordner, Selektor oder die Zielgruppe, die die Anfrage nennt oder erreicht, liegt außerhalb davon (docs/screen-scope.md). Eine ID außerhalb des Bereichs und eine ID, die nicht existiert, erhalten dieselbe Antwort; errors[0].screen_scope trägt den Bereich des Aufrufers, und der Schreibvorgang wird vollständig abgelehnt, nie eingegrenzt.

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)
PATCH/api/screens/{id}/playlist

Playlist des Bildschirms ändern

Eine angemeldete Person weist die Playlist des Bildschirms mit der Zuweisung von updateScreen zu: Die Playlist muss zum Projekt gehören und eine genehmigte Version haben (playlist_not_approved), und eine Playlist mit Format braucht einen Bildschirm, dessen Wand dieselbe Form hat (409 playlist_format_mismatch).

The screen revision moves by one and the manifest is reissued from the new playlist; while a takeover, a campaign or a schedule entry is effective the playlist becomes the default behind it. Events carry the person as their actor.

The write is live, so only the project owner or a member who can approve makes it (approver_required); a staff session needs its write lease. The body has no other member. If-Match carries the screen revision and is required (invalid_request when absent, revision_conflict when stale).

Nur die Dashboard-Sitzung; Agenten verwenden PATCH /api/screens/{id} (updateScreen). Auf einem geschützten Bildschirm ist die Zuweisung einer genehmigenden Person eine Überprüfung, die eine zweite genehmigende Person entscheidet (202 pending_review).

Authentifizierung
dashboardSession
Anfrageinhalt
ScreenPlaylistPatch
Operations-ID
patchScreenPlaylist

Parameter

NameSendenErforderlich?Beschreibung
idPfaderforderlich
If-MatchÜberschrifterforderlichDie aktuelle Revision des Bildschirms, zitiert oder unverändert (das ETag der letzten Leseoperation). Eine veraltete Revision ist revision_conflict mit current_revision.
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.

Anfrageinhalt-Felder

FeldBeschreibung
playlist_id (erforderlich, inline)

Die Standard-Playlist des Bildschirms; null entfernt seine eigene Zuweisung. Eine Übernahme, eine Kampagne, ein Zeitplaneintrag oder ein von einem Ordner geerbter Standard kann weiterhin Inhalt zeigen; andernfalls zeigt der gekoppelte Player seine Ruheanzeige.

Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request PATCH --cookie cookies.txt --cookie-jar cookies.txt --header 'If-Match: "REVISION"' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID/playlist'

Antworten

StatusBedeutungTextkörper und Header
200Der Bildschirm, wie er jetzt gespeichert ist; ETag trägt seine Revision.Bildschirm (application/json); Header: ETag
412revision_conflict – If-Match ist veraltet; die aktuelle Revision ist im Fehlerfeld current_revision enthalten.Problem (application/problem+json)
403outside_screen_scope wie bei OutsideScreenScope oder approver_required - ein auf Bildschirme beschränktes Mitglied, das Überprüfungen nicht genehmigen kann, ändert nicht, was ein Bildschirm abspielt oder wann (docs/screen-scope.md).Problem (application/problem+json)
202

Der Schreibvorgang wurde zu einer Überprüfung und wartet auf die Genehmigung einer Person (docs/reviews.md), mit Propose-Zugriff oder auf jeder Zugriffsstufe, wenn er einen Bildschirm in einem geschützten Bildschirmordner erreicht, wo eine zweite genehmigende Person entscheidet (docs/screen-scope.md). Eine Person genehmigt, lehnt ab oder fordert Änderungen im Dashboard unter review.url an.

Eine Wiederholung mit demselben Idempotency-Key liefert denselben Body.

ReviewPending (application/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/screens/{id}/public-id/rotate

Screen Public Id rotieren

Authentifizierung
projectBearer
Anfrageinhalt
keine
Operations-ID
rotateScreenPublicId

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
If-MatchÜberschriftoptionalOptionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict.
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/public-id/rotate'

Antworten

StatusBedeutungTextkörper und Header
200

Öffentliche URL-Berechtigung wurde rotiert; die Anmeldung des öffentlichen Schlüssels des Players bleibt erhalten. Jede Laufzeitsitzung wird durch die neue content_access_generation ungültig, und die live gewünschten und aktiven Berechtigungen werden bei dieser Generation für ihre unveränderte Manifestrevision neu ausgegeben, sodass ein gekoppelter Player, der seine Sitzung neu erstellt, weiterhin die Inhalte autorisiert, die er bereits anzeigt.

Bildschirm (application/json)
403

outside_screen_scope - der Aufrufer ist auf Bildschirme beschränkt, und der Bildschirm, Bildschirmordner, Selektor oder die Zielgruppe, die die Anfrage nennt oder erreicht, liegt außerhalb davon (docs/screen-scope.md). Eine ID außerhalb des Bereichs und eine ID, die nicht existiert, erhalten dieselbe Antwort; errors[0].screen_scope trägt den Bereich des Aufrufers, und der Schreibvorgang wird vollständig abgelehnt, nie eingegrenzt.

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/screens/{id}/recovery/confirm

Bildschirmwiederherstellung bestätigen

Bestätigt eine ausstehende Bildschirmwiederherstellung. Ein nativer Kopplungsstart, der eine Host-DUID oder Seriennummer präsentiert, die genau einem Bildschirm in genau einem Projekt entspricht, unter einem anderen gebundenen öffentlichen Schlüssel, zeichnet ein Angebot auf diesem Bildschirm auf (Screen.recovery_pending, Projektevent screen.recovery_offered).

Das Host-Objekt ist ein Hinweis, niemals eine Anmeldeinformation: Nichts wird neu gebunden, bis das zugehörige Projekt diese Route aufruft. Eine DUID ist für jede Anwendung auf dem Panel lesbar, daher ist ein Angebot eine Phishing-Fläche.

Sie wird durch Liveness gemildert (kein Angebot, während der gebundene Schlüssel in den letzten zehn Minuten Aktivität zeigte), eine Begrenzung auf drei Angebote pro Bildschirm pro rollierender Stunde und diese Projektbestätigung; recovery_pending.host und das Ereignis enthalten Plattform, Modell, Firmware und Hersteller des anbietenden Geräts, damit der Betreiber diese mit dem Display vor sich vergleichen kann, bevor er bestätigt.

Die Bestätigung schließt die ausstehende native Kopplung am BESTEHENDEN Bildschirm ab: Das Kopplungsgerät erhält wie üblich pairing.claimed und beweist Besitz mit pairing.complete, der neue Schlüssel wird zur Bildschirmidentität, und der vorherige Schlüssel wird mit einer fünfzehnminütigen Gnadenfrist zurückgezogen, in der seine Laufzeitsitzungen weiter funktionieren und er noch minten kann, danach wird er abgelehnt.

Playlists, Bezeichnung, Zeitzone, Zeitpläne und Verlauf bleiben erhalten. Nur dasselbe Projekt; ein Bildschirm eines anderen Projekts ist not_found. If-Match ist optional. Sendet screen.recovered. recovery_not_offered wenn nichts aussteht, recovery_expired wenn die Pairing-Sitzung abgelaufen ist, recovery_ambiguous wenn die Kennung an mehr als einer Stelle angehängt ist.

Problemantworten geben niemals Gerätekennungen zurück.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
confirmScreenRecovery

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
If-MatchÜberschriftoptionalOptionale positive Ressourcenrevision. Weglassen, um einen Schlüssel zu erstellen oder zu überschreiben; eine übergebene veraltete Revision ist revision_conflict.
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/recovery/confirm'

Antworten

StatusBedeutungTextkörper und Header
200Bildschirm wurde auf den Schlüssel des Kopplungsgeräts wiederhergestellt; die Antwort enthält den aktuellen ETag.Bildschirm (application/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)
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)
410

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

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

outside_screen_scope - der Aufrufer ist auf Bildschirme beschränkt, und der Bildschirm, Bildschirmordner, Selektor oder die Zielgruppe, die die Anfrage nennt oder erreicht, liegt außerhalb davon (docs/screen-scope.md). Eine ID außerhalb des Bereichs und eine ID, die nicht existiert, erhalten dieselbe Antwort; errors[0].screen_scope trägt den Bereich des Aufrufers, und der Schreibvorgang wird vollständig abgelehnt, nie eingegrenzt.

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/screens/{id}/replace

Bildschirm ersetzen

Verschiebt das als anderer Bildschirm des Projekts gekoppelte Gerät auf diesen und archiviert jenen Bildschirm, sodass dieser Bildschirm auf neuer Hardware Name, Tags, Zeitzone, Playlist, Zeitpläne, Übernahme, Display-Zeitplan samt Überschreibung, Videowand, Kommentare und Verlauf behält.

Der öffentliche Schlüssel des Geräts (oder die Anmeldedaten des Browsers) öffnet nun diesen Bildschirm, der Host und Player des Ersatzgeräts übernimmt; Gerätezustand, Status, Speicher, Beobachtung und Befehle in der Warteschlange beginnen von vorn. Der Schlüssel, den dieser Bildschirm besaß, wird mit dem Kulanzfenster der Wiederherstellung zurückgezogen: Er kann noch fünfzehn Minuten lang Sitzungen ausstellen und wird danach abgelehnt (key_retired). Es wird nichts entbunden.

Der ersetzte Bildschirm wird mit archive_reason replaced archiviert und behält keine Bindung und keinen Host. Beide Bildschirme erhöhen content_access_generation, sodass jede Sitzung, die einer der beiden Bildschirme hielt, endet; das Gerät erhält ein player.reload, das an den Bildschirm adressiert ist, den es verlassen hat (details.reason replaced, 24 Stunden gültig), und erstellt erneut eine Sitzung als dieser Bildschirm.

Beide Bildschirme müssen aktiv sein und einen gekoppelten Player haben (ein pairing_pending-Bildschirm oder ein nicht gekoppelter Ersatzbildschirm ist resource_conflict, ein archivierter screen_archived); with muss einen anderen Bildschirm des Projekts nennen (invalid_request; der Bildschirm eines anderen Projekts ist not_found); ein Bildschirm mit Videowand benötigt einen Ersatz-Player, der display.wall deklariert hat (wall_unsupported).

If-Match ist optional und prüft die Revision dieses Bildschirms. Sendet das Projekt-Ereignis screen.replaced (details.from_screen_id) und kein screen.archived. Eine exakte Idempotency-Key-Wiederholung gibt vierundzwanzig Stunden lang dieselbe Antwort zurück.

Ein auf Bildschirme beschränkter Aufrufer (docs/screen-scope.md) braucht den Bildschirm und das Feld with innerhalb seines Bereichs (outside_screen_scope; nichts wird archiviert). Ein Ersetzen, bei dem einer der beiden Bildschirme geschützt ist, ist protected_target.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
ScreenReplaceWrite
Operations-ID
replaceScreen

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
If-MatchÜberschriftoptionalOptionale positive Ressourcenrevision. Weglassen, um einen Schlüssel zu erstellen oder zu überschreiben; eine übergebene veraltete Revision ist revision_conflict.
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.

Anfrageinhalt-Felder

FeldBeschreibung
with (erforderlich, Zeichenfolge)

Die ID des Bildschirms im selben Projekt, dessen gekoppeltes Gerät den Bildschirm im Pfad übernimmt. Er muss ein anderer aktiver Bildschirm mit einem gekoppelten Player sein; er wird mit archive_reason replaced archiviert. minLength: 1 maxLength: 256

Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID/replace'

Antworten

StatusBedeutungTextkörper und Header
200Das Gerät öffnet nun diesen Bildschirm; die Antwort ist dieser Bildschirm mit seiner neuen Revision und dem aktuellen ETag.Bildschirm (application/json)
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)
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)
409resource_conflict, screen_archived, wall_unsupported oder protected_target, wenn einer der Bildschirme in einem geschützten Bildschirmordner liegt.Problem (application/problem+json)
412

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)
403outside_screen_scope wie bei OutsideScreenScope oder approver_required - ein auf Bildschirme beschränktes Mitglied, das Überprüfungen nicht genehmigen kann, ändert nicht, was ein Bildschirm abspielt oder wann (docs/screen-scope.md).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/screens/{id}/archive

Bildschirm archivieren

Blendet den Bildschirm in der Standardliste aus und zeigt auf dem realen Bildschirm den Status „Bildschirm archiviert“. Die Bindung des öffentlichen Player-Schlüssels bleibt bestehen. Gibt screen_count-Kontingent frei. Bricht die wartenden Befehle reboot, clear_cache, restart_app und update des Bildschirms ab; ein wartender reload wird weiterhin zugestellt. Ein Bildschirm in einem geschützten Bildschirmordner ergibt protected_target (409).

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
archiveScreen

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
If-MatchÜberschriftoptionalOptionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict.
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/archive'

Antworten

StatusBedeutungTextkörper und Header
200Bildschirm archiviert.Bildschirm (application/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)
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

protected_target, wenn der Bildschirm in einem geschützten Bildschirmordner liegt (docs/screen-scope.md; den Schutz des Ordners über eine Überprüfung aufheben, die Änderung vornehmen, ihn wieder schützen), oder die anderen Konflikte der Operation.

Problem (application/problem+json)
412

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

outside_screen_scope - der Aufrufer ist auf Bildschirme beschränkt, und der Bildschirm, Bildschirmordner, Selektor oder die Zielgruppe, die die Anfrage nennt oder erreicht, liegt außerhalb davon (docs/screen-scope.md). Eine ID außerhalb des Bereichs und eine ID, die nicht existiert, erhalten dieselbe Antwort; errors[0].screen_scope trägt den Bereich des Aufrufers, und der Schreibvorgang wird vollständig abgelehnt, nie eingegrenzt.

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/screens/{id}/unarchive

Bildschirm entarchivieren

Führt einen archivierten Bildschirm in die Standardliste zurück und erstellt ein normales Manifest neu. Muss die Bildschirmzulassung bestehen. Ändert den gebundenen öffentlichen Schlüssel nicht.

Das Manifest wird erneut ausgegeben, sodass die Playlist des Bildschirms wie eine Zuweisung geprüft wird; eine Playlist, die auf fehlende oder nicht bereite Inhalte verweist, antwortet mit resource_conflict und nennt die Playlist, und der Bildschirm bleibt archiviert, bis die Playlist behoben ist.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
unarchiveScreen

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
If-MatchÜberschriftoptionalOptionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict.
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/unarchive'

Antworten

StatusBedeutungTextkörper und Header
200Bildschirm wiederhergestellt.Bildschirm (application/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)
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)
412

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

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

outside_screen_scope - der Aufrufer ist auf Bildschirme beschränkt, und der Bildschirm, Bildschirmordner, Selektor oder die Zielgruppe, die die Anfrage nennt oder erreicht, liegt außerhalb davon (docs/screen-scope.md). Eine ID außerhalb des Bereichs und eine ID, die nicht existiert, erhalten dieselbe Antwort; errors[0].screen_scope trägt den Bereich des Aufrufers, und der Schreibvorgang wird vollständig abgelehnt, nie eingegrenzt.

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/screens/{id}/reload

Bildschirm neu laden

Fordert den Player des benannten aktiven oder archivierten Bildschirms zum Neuladen auf (docs/player-compatibility.md §6.3). Der optionale Body setzt expires_in_s, wie lange das Neuladen ausführbar bleibt (60 bis 86400 Sekunden, Standard 86400, 24 Stunden); ein Wert außerhalb des Bereichs ist invalid_request und nennt expires_in_s.

Einem Bildschirm, der online ist, wird das dauerhafte Ereignis player.reload pro Bildschirm sofort gesendet (details.reason project, eine neue reload_id, spread_s 0, expires_at), und das Neuladen wird in Screen.commands als sent aufgezeichnet.

Ein Bildschirm, der offline ist, hält das Neuladen als queued ohne Ereignis vor; wenn das Backend den nächsten Online-Übergang des Bildschirms vor expires_at anwendet, wird das Ereignis mit derselben reload_id und expires_at angehängt, und der Befehl wird zu sent. Ein neueres Neuladen ersetzt ein älteres, das noch in der Warteschlange steht.

Ein Neuladen in der Warteschlange erscheint nach expires_at als expired, und POST /api/screens/{id}/commands/{command_id}/cancel bricht ein noch in der Warteschlange stehendes ab. Der Laufzeit-SSE-Stream leitet das Ereignis an jede Laufzeitsitzung weiter. Ein Player ignoriert ein Neuladen innerhalb von zehn Minuten nach dem letzten, auf das er reagiert hat.

Ein Web-Player lädt beim nächsten Seitenwechsel neu; ein nativer Player erstellt seine Sitzung neu, lädt sein Manifest erneut und prüft auf ein Update. Die Bildschirmrevision ändert sich nicht. If-Match und Idempotency-Key sind optional, wie bei archive; eine exakte Idempotency-Key-Wiederholung gibt vierundzwanzig Stunden lang den ursprünglichen Body zurück.

Ein pairing_pending-Bildschirm hat noch keinen Player und antwortet mit resource_conflict. Bildschirmnachrichten sind von der 1-Credit-API-Messung ausgenommen.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
ScreenCommandWrite
Operations-ID
reloadScreen

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
If-MatchÜberschriftoptionalOptionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict.
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.

Anfrageinhalt-Felder

FeldBeschreibung
expires_in_s (optional, Ganzzahl)Wie lange der Befehl ausführbar bleibt, in Sekunden ab der Anfrage. Ein Befehl in der Warteschlange wird nur vor seinem Ablauf gesendet; ein Player ignoriert einen nach expires_at. Standard: 86400 Minimum: 60 Maximum: 86400
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID/reload'

Antworten

StatusBedeutungTextkörper und Header
202

Akzeptiert. state ist sent, wenn das Neuladen an den Player des Online-Bildschirms ging, und queued, wenn es darauf wartet, dass der Bildschirm online geht. Das Neuladen ist bis expires_at ausführbar. Der ETag ist die unveränderte Bildschirmrevision.

ScreenReloadAccepted (application/json); Header: Cache-Control, ETag, 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)
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)
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)
412

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
403

outside_screen_scope - der Aufrufer ist auf Bildschirme beschränkt, und der Bildschirm, Bildschirmordner, Selektor oder die Zielgruppe, die die Anfrage nennt oder erreicht, liegt außerhalb davon (docs/screen-scope.md). Eine ID außerhalb des Bereichs und eine ID, die nicht existiert, erhalten dieselbe Antwort; errors[0].screen_scope trägt den Bereich des Aufrufers, und der Schreibvorgang wird vollständig abgelehnt, nie eingegrenzt.

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/screens/{id}/playlist-schedule

Bildschirm-Playlist-Zeitplan erhalten

Gibt den serverbewerteten Playlist-Zeitplan des Bildschirms zurück: Einträge in Prioritätsreihenfolge (leer, wenn der Bildschirm keine hat), updated_at und die effective_playlist, die sie derzeit produzieren. Das ETag ist die Bildschirmrevision. pairing_pending, aktive und archivierte Bildschirme sind lesbar; ein Bildschirm eines anderen Projekts ist not_found.

Authentifizierung
projectBearer
Anfrageinhalt
keine
Operations-ID
getScreenPlaylistSchedule

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/playlist-schedule'

Antworten

StatusBedeutungTextkörper und Header
200Playlist-Zeitplan.ScreenPlaylistScheduleView (application/json); Header: 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)
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)
403

outside_screen_scope - der Aufrufer ist auf Bildschirme beschränkt, und der Bildschirm, Bildschirmordner, Selektor oder die Zielgruppe, die die Anfrage nennt oder erreicht, liegt außerhalb davon (docs/screen-scope.md). Eine ID außerhalb des Bereichs und eine ID, die nicht existiert, erhalten dieselbe Antwort; errors[0].screen_scope trägt den Bereich des Aufrufers, und der Schreibvorgang wird vollständig abgelehnt, nie eingegrenzt.

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/screens/{id}/playlist-schedule

Bildschirm-Playlist-Zeitplan festlegen

Ersetzt den Playlist-Zeitplan des Bildschirms. Der Server wertet ihn aus, nicht der Player: Der erste Eintrag, dessen Regel zur zivilen Zeit des Bildschirms passt (screenrig.schedule/v1 Fenster und von/bis in der Bildschirmzeitzone, einschließlich Sommerzeitübergängen und Fenstern, die Mitternacht überschreiten), ist die wirksame Playlist; wenn keiner passt, ist die zugewiesene playlist_id wirksam.

Eine Übernahme gewinnt immer gegenüber jedem Eintrag. Der Bildschirm muss eine Zeitzone und eine zugewiesene Standard-playlist_id haben (sonst invalid_request), sodass immer etwas als Fallback vorhanden ist.

Jede referenzierte Playlist wird genau wie eine Zuweisung gegen den Bildschirm validiert (Eigentum, bereite Referenzen, Seiten-Sichtbarkeit benötigt eine Zeitzone, und eine Playlist mit Format benötigt einen Bildschirm, dessen Wand dieselbe Form hat, sonst 409 playlist_format_mismatch), sodass eine Playlist, die der Bildschirm ablehnen würde, hier abgelehnt wird; die Prüfung schreibt das Playlist-Dokument, sodass ein gleichzeitiges Löschen der Playlist einen Konflikt verursacht, anstatt einen Wettlauf.

Wenn eine geplante Playlist später nicht angezeigt werden kann (z. B. wenn deren Inhalt nicht mehr aufgelöst wird), werden deren Einträge bei der Auswertung übersprungen und screen.playlist_unavailable (Warnung, Details playlist_id, entry_ids, code) angehängt.

Wenn sich die effektive Playlist ändert, wird das Manifest daraus neu erstellt und der Player mit screen.manifest_changed wie bei einer Zuweisung signalisiert, und screen.playlist_switched wird angehängt. Die Bildschirmrevision wird erhöht (If-Match schützt sie) und screen.updated wird mit details.playlist_schedule_entries ergänzt.

Ein archivierter Bildschirm antwortet mit screen_archived; sein Zeitplan, seine Übernahme und sein Standard bleiben referenziert (sie blockieren das Löschen der Playlist) und werden bei der Wiederherstellung neu aufgelöst. Ratenbegrenzungen: screen-control-org 600, screen-control-screen 20 und screen-control-ip 60 pro Minute, geteilt mit DELETE und den Übernahmerouten.

Auf einem geschützten Bildschirm ist der Zeitplan auf jeder Zugriffsstufe eine Überprüfung, die eine zweite genehmigende Person entscheidet (202 pending_review). Ein neuer Eintrag mit paused true (ein Entwurf) fällt unter die Änderungskontrolle für Zeitpläne, die der Enterprise-Plan enthält; ein Projekt, dessen Plan dies nicht enthält, wird mit feature_not_in_plan (402) abgelehnt.

Bereits gespeicherte Einträge dürfen pausiert bleiben, und das Pausieren eines gespeicherten Eintrags ist in jedem Plan offen.

Authentifizierung
projectBearer
Anfrageinhalt
ScreenPlaylistScheduleWrite
Operations-ID
setScreenPlaylistSchedule

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
Screenrig-Review-NoteÜberschriftoptional

Optionale Vorschlag-Notiz bei einem Review-Klassen-Schreibvorgang, gesendet als prozentkodiertes UTF-8 (was JavaScript encodeURIComponent schreibt). Der Server dekodiert Prozentzeichen (ein ungültiger Escape ist 400 invalid_request); die dekodierte Notiz ist Klartext, maximal 280 Zeichen nach Trimmen, keine Steuerzeichen (sonst 400 invalid_request).

Gespeichert bei der Überprüfung, wenn der Schreibvorgang einer wird; ignoriert, wenn er live angewendet wird.

If-MatchÜberschriftoptionalOptionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict.
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.

Anfrageinhalt-Felder

FeldBeschreibung
Einträge (erforderlich, Array)Prioritätsreihenfolge: Der erste passende Eintrag gewinnt. DELETE löscht den Zeitplan.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request PUT --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/playlist-schedule'

Antworten

StatusBedeutungTextkörper und Header
202Der Schreibvorgang wurde unter „Zugriff vorschlagen“ zu einer Überprüfung und wartet auf die Genehmigung einer Person (docs/reviews.md). Ein Idempotency-Key-Wiedergabe gibt denselben Inhalt zurück.ReviewPending (application/json); Header: RateLimit-Policy, RateLimit
200Bildschirm mit dem gespeicherten Zeitplan und dessen effective_playlist. Der ETag ist die neue Revision.Bildschirm (application/json); Header: ETag, 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)
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)
402

feature_not_in_plan — Die Änderungskontrolle für Zeitpläne ist Teil des Enterprise-Plans; das Problem nennt die Funktion, den Plan, den das Konto hat, und required_plan. Ein Eintrag, der eine Playlist auf Display 2 oder höher einer Videowand (displays) festlegt und vom gespeicherten Eintrag des Bildschirms abweicht, ist Teil von Plus. Das Problem nennt die Funktion, den Plan des Projekts und required_plan.

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

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
403outside_screen_scope wie bei OutsideScreenScope oder approver_required - ein auf Bildschirme beschränktes Mitglied, das Überprüfungen nicht genehmigen kann, ändert nicht, was ein Bildschirm abspielt oder wann (docs/screen-scope.md).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/screens/{id}/playlist-schedule

Zeitplan für Bildschirm-Playlist löschen

Entfernt den Playlist-Zeitplan des Bildschirms; die Übernahme, sonst eine geltende Kampagne, sonst die zugewiesene Playlist wird wirksam, mit derselben Manifest-Signalisierung wie bei PUT. Ein Bildschirm ohne Zeitplan antwortet mit 200 unverändert (keine Erhöhung der Revision, kein Ereignis).

Auf einem geschützten Bildschirm ist das Löschen des Zeitplans auf jeder Zugriffsstufe eine Überprüfung, die eine zweite genehmigende Person entscheidet (202 pending_review).

Authentifizierung
projectBearer
Anfrageinhalt
keine
Operations-ID
clearScreenPlaylistSchedule

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
Screenrig-Review-NoteÜberschriftoptional

Optionale Vorschlag-Notiz bei einem Review-Klassen-Schreibvorgang, gesendet als prozentkodiertes UTF-8 (was JavaScript encodeURIComponent schreibt). Der Server dekodiert Prozentzeichen (ein ungültiger Escape ist 400 invalid_request); die dekodierte Notiz ist Klartext, maximal 280 Zeichen nach Trimmen, keine Steuerzeichen (sonst 400 invalid_request).

Gespeichert bei der Überprüfung, wenn der Schreibvorgang einer wird; ignoriert, wenn er live angewendet wird.

If-MatchÜberschriftoptionalOptionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict.
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/playlist-schedule'

Antworten

StatusBedeutungTextkörper und Header
202Der Schreibvorgang wurde unter „Zugriff vorschlagen“ zu einer Überprüfung und wartet auf die Genehmigung einer Person (docs/reviews.md). Ein Idempotency-Key-Wiedergabe gibt denselben Inhalt zurück.ReviewPending (application/json); Header: RateLimit-Policy, RateLimit
200Bildschirm ohne Playlist-Zeitplan.Bildschirm (application/json); Header: ETag, RateLimit-Policy, RateLimit
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)
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)
412

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
403outside_screen_scope wie bei OutsideScreenScope oder approver_required - ein auf Bildschirme beschränktes Mitglied, das Überprüfungen nicht genehmigen kann, ändert nicht, was ein Bildschirm abspielt oder wann (docs/screen-scope.md).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/screens/{id}/playlist-schedule/preview

Vorschau des Bildschirm-Playlist-Zeitplans

Was das Ersetzen des Playlist-Zeitplans des Bildschirms durch entries ändern würde, ohne es auszuführen.

Die Einträge werden so geprüft, wie PUT sie prüft (Grammatik, Zeitzone und Displays des Bildschirms, eine Standard-Playlist und jede Playlist als Zuweisung: Sie existiert, hat eine genehmigte Version, passt zur Wand des Bildschirms und zur Region, die sie abdeckt, und ihre Verweise werden aufgelöst), sodass eine Vorschau ablehnt, was das PUT ablehnt.

Die Antwort sagt, ob der Bildschirm Ebenen seines Zeitplans auf seinem Stack gewinnen oder verlieren würde (ein pausierter Eintrag liegt auf keinem Stack, daher kommt er beim Veröffentlichen hinzu), sowie den Zeitplankalender des Bildschirms, wie er ist (before) und wie er wäre (after), von from bis to (Standard: eine Woche ab jetzt; höchstens 93 Tage). Lesezugriff: Es wird nichts geschrieben.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
ScreenSchedulePreviewRequest
Operations-ID
previewScreenPlaylistSchedule

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich

Anfrageinhalt-Felder

FeldBeschreibung
Einträge (erforderlich, Array)
from (optional, string)Beginn der Kalender; Standard ist jetzt. format: "date-time"
to (optional, Zeichenfolge)Ende der Kalender; Standard ist eine Woche nach from, höchstens 93 Tage danach. format: "date-time"
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/playlist-schedule/preview'

Antworten

StatusBedeutungTextkörper und Header
200Die Vorschau.SchedulePreview (application/json)
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/screens/{id}/playlist-schedule/revisions

Bildschirm-Playlist-Zeitplan-Revisionen auflisten

Die Revisionen des Playlist-Zeitplans des Bildschirms, neueste zuerst: die gesamte entries-Liste, wie sie nach jedem Schreibvorgang gespeichert wurde (ein PUT, ein DELETE, eine Wiederherstellung, ein Zeitplan-Import), mit der Art der Änderung und wer sie vorgenommen hat. Eine Revision wird nach der Revision des Bildschirms beim Schreibvorgang nummeriert, sodass die Nummern Lücken haben, wo sich der Bildschirm anderweitig geändert hat.

Ein Bildschirm, dessen Verlauf noch keine Zeile hat, listet seinen Zeitplan so auf, wie er aktuell ist, mit change baseline. Revisionen gehen mit dem Purge des Bildschirms. Höchstens 50 pro Seite; next_cursor, solange weitere folgen, null auf der letzten Seite.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
listScreenPlaylistScheduleRevisions

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
nachAbfrageoptionalnext_cursor der vorherigen Seite derselben Liste mit denselben Filtern. Wird ausgelassen, beginnt bei der neuesten Zeile. Ein Wert, der kein solcher Cursor ist, ist invalid_request.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/screens/RESOURCE_ID/playlist-schedule/revisions'

Antworten

StatusBedeutungTextkörper und Header
200Die Zeitplan-Revisionen des Bildschirms, neueste zuerst.ScreenScheduleRevisionList (application/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/screens/{id}/playlist-schedule/revisions/{revision}/restore

Bildschirm-Playlist-Zeitplan-Revision wiederherstellen

Setzt die Einträge einer früheren Revision als Zeitplan des Bildschirms zurück: derselbe Schreibvorgang wie PUT /api/screens/{id}/playlist-schedule mit diesen Einträgen (oder DELETE, wenn diese Revision keine hatte), geprüft, wie sie jetzt geprüft werden (eine seither gelöschte Playlist lehnt ihn ab), sodass unter Propose-Zugriff die Wiederherstellung zu derselben screen_change-Überprüfung wird, zu der das PUT wird.

If-Match ist erforderlich und nennt die aktuelle Revision des Bildschirms. Frühere Revisionen bleiben, wie sie waren.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
restoreScreenPlaylistScheduleRevision

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
RevisionPfaderforderlichEine Revision des Datensatzes, wie ihre Revisionsliste sie nummeriert.
Screenrig-Review-NoteÜberschriftoptional

Optionale Vorschlag-Notiz bei einem Review-Klassen-Schreibvorgang, gesendet als prozentkodiertes UTF-8 (was JavaScript encodeURIComponent schreibt). Der Server dekodiert Prozentzeichen (ein ungültiger Escape ist 400 invalid_request); die dekodierte Notiz ist Klartext, maximal 280 Zeichen nach Trimmen, keine Steuerzeichen (sonst 400 invalid_request).

Gespeichert bei der Überprüfung, wenn der Schreibvorgang einer wird; ignoriert, wenn er live angewendet wird.

If-MatchÜberschriftoptionalOptionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict.
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/screens/RESOURCE_ID/playlist-schedule/revisions/REVISION/restore'

Antworten

StatusBedeutungTextkörper und Header
202Der Schreibvorgang wurde unter „Zugriff vorschlagen“ zu einer Überprüfung und wartet auf die Genehmigung einer Person (docs/reviews.md). Ein Idempotency-Key-Wiedergabe gibt denselben Inhalt zurück.ReviewPending (application/json); Header: RateLimit-Policy, RateLimit
200Bildschirm mit dem wiederhergestellten Zeitplan und seiner effective_playlist. Der ETag ist die neue Revision.Bildschirm (application/json); Header: ETag, 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)
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)
412

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/screens/{id}/takeover

Bildschirm-Übernahme festlegen

Übernimmt den Bildschirm mit einer Playlist vor Kampagnen, seinem Playlist-Zeitplan und der zugewiesenen Playlist, bis until (RFC 3339, strikt in der Zukunft und höchstens 7 Tage im Voraus) oder, wenn until null ist oder fehlt, bis die Übernahme aufgehoben wird. reason ist optional, höchstens 120 Zeichen.

Der Bildschirm muss eine zugewiesene Standard-playlist_id haben (sonst invalid_request). Eine Übernahme ersetzt eine frühere (screen.takeover_ended mit reason replaced oder expired, wenn die frühere bereits beendet war).

Die Playlist wird wie bei einer Zuweisung geprüft, einschließlich ihres Formats (eine Playlist mit Format braucht einen Bildschirm, dessen Videowand dieselbe Form hat, sonst 409 playlist_format_mismatch). Eine Übernahme, deren Playlist später nicht mehr gezeigt werden kann, endet (screen.takeover_ended mit reason playlist_deleted oder playlist_unavailable).

Hängt screen.takeover_started an und, wenn sich die wirksame Playlist ändert, screen.playlist_switched sowie das screen.manifest_changed des Players. Wenn until verstreicht, beendet der Boundary-Worker die Übernahme innerhalb von 60 Sekunden (screen.takeover_ended mit reason expired). Die Revision des Bildschirms wird erhöht (If-Match schützt sie).

Ein archivierter Bildschirm antwortet mit screen_archived; die Archivierung aufzuheben löst zuerst neu auf, sodass eine Übernahme, die während der Archivierung endete, dann endet. Es gelten dieselben Ratenbegrenzungen für die Bildschirmsteuerung wie bei den Zeitplan-Routen. Auf einem geschützten Bildschirm ist eine Übernahme auf jeder Zugriffsstufe eine Überprüfung, die eine zweite genehmigende Person entscheidet (202 pending_review).

Authentifizierung
projectBearer
Anfrageinhalt
ScreenTakeoverWrite
Operations-ID
setScreenTakeover

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
Screenrig-Review-NoteÜberschriftoptional

Optionale Vorschlag-Notiz bei einem Review-Klassen-Schreibvorgang, gesendet als prozentkodiertes UTF-8 (was JavaScript encodeURIComponent schreibt). Der Server dekodiert Prozentzeichen (ein ungültiger Escape ist 400 invalid_request); die dekodierte Notiz ist Klartext, maximal 280 Zeichen nach Trimmen, keine Steuerzeichen (sonst 400 invalid_request).

Gespeichert bei der Überprüfung, wenn der Schreibvorgang einer wird; ignoriert, wenn er live angewendet wird.

If-MatchÜberschriftoptionalOptionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict.
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.

Anfrageinhalt-Felder

FeldBeschreibung
playlist_id (erforderlich, Zeichenfolge)minLength: 1
bis (optional, inline)Streng in der Zukunft und höchstens 7 Tage voraus. null oder weggelassen hält die Übernahme, bis sie gelöscht wird.
Grund (optional, Zeichenkette)Operator-Notiz, die bei der Übernahme und deren Ereignissen mitgetragen wird. Keine Steuerzeichen. maxLength: 120
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/takeover'

Antworten

StatusBedeutungTextkörper und Header
202Der Schreibvorgang wurde unter „Zugriff vorschlagen“ zu einer Überprüfung und wartet auf die Genehmigung einer Person (docs/reviews.md). Ein Idempotency-Key-Wiedergabe gibt denselben Inhalt zurück.ReviewPending (application/json); Header: RateLimit-Policy, RateLimit
200Bildschirm mit der Übernahme und dessen effective_playlist. Der ETag ist die neue Revision.Bildschirm (application/json); Header: ETag, 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)
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)
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)
412

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
403outside_screen_scope wie bei OutsideScreenScope oder approver_required - ein auf Bildschirme beschränktes Mitglied, das Überprüfungen nicht genehmigen kann, ändert nicht, was ein Bildschirm abspielt oder wann (docs/screen-scope.md).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/screens/{id}/takeover

Bildschirmübernahme löschen

Beendet die Übernahme (screen.takeover_ended mit Grund cleared); der Fahrplan oder sonst die zugewiesene Playlist wird mit derselben Manifest-Signalisierung wirksam. Ein Bildschirm ohne Übernahme antwortet mit 200 unverändert (keine Revisionsänderung, kein Ereignis).

Die Übernahme eines archivierten Bildschirms wird ebenfalls aufgehoben: Er bleibt archiviert, sein Player erhält kein Signal, und beim Aufheben der Archivierung wird die wirksame Playlist ermittelt. Auf einem geschützten Bildschirm wird das Aufheben einer Übernahme bei jeder Zugriffsstufe von einer zweiten freigabeberechtigten Person geprüft (202 pending_review).

Authentifizierung
projectBearer
Anfrageinhalt
keine
Operations-ID
clearScreenTakeover

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
Screenrig-Review-NoteÜberschriftoptional

Optionale Vorschlag-Notiz bei einem Review-Klassen-Schreibvorgang, gesendet als prozentkodiertes UTF-8 (was JavaScript encodeURIComponent schreibt). Der Server dekodiert Prozentzeichen (ein ungültiger Escape ist 400 invalid_request); die dekodierte Notiz ist Klartext, maximal 280 Zeichen nach Trimmen, keine Steuerzeichen (sonst 400 invalid_request).

Gespeichert bei der Überprüfung, wenn der Schreibvorgang einer wird; ignoriert, wenn er live angewendet wird.

If-MatchÜberschriftoptionalOptionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict.
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/takeover'

Antworten

StatusBedeutungTextkörper und Header
202Der Schreibvorgang wurde unter „Zugriff vorschlagen“ zu einer Überprüfung und wartet auf die Genehmigung einer Person (docs/reviews.md). Ein Idempotency-Key-Wiedergabe gibt denselben Inhalt zurück.ReviewPending (application/json); Header: RateLimit-Policy, RateLimit
200Bildschirm ohne Übernahme.Bildschirm (application/json); Header: ETag, RateLimit-Policy, RateLimit
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)
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)
412

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
403outside_screen_scope wie bei OutsideScreenScope oder approver_required - ein auf Bildschirme beschränktes Mitglied, das Überprüfungen nicht genehmigen kann, ändert nicht, was ein Bildschirm abspielt oder wann (docs/screen-scope.md).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/tab-shares

Tab-Freigabe starten

Zeigt Browser-Tabs auf Bildschirmen. Erstellt eine temporäre Playlist mit einer bildfüllenden iframe-Seite in 1920x1080 pro Tab und übernimmt damit jeden Zielbildschirm (Grund „Shared browser tab“) bis until, höchstens 24 Stunden im Voraus (der Standard).

Die Ziele sind die Vereinigung von screen_ids, allen aktiven Bildschirmen in folder_ids samt Unterordnern und allen aktiven Bildschirmen mit mindestens einem der tags; Offline-Bildschirme sind eingeschlossen und zeigen die Freigabe bei ihrer Rückkehr.

Ein auf Bildschirme beschränkter Aufrufer (docs/screen-scope.md) erreicht nur Bildschirme in seinem Bereich: Andere werden übersprungen (outside_screen_scope); ansonsten gelten dieselben Regeln für die Anfrage.

Ein einzelner Tab bleibt bis zum Ende der Freigabe sichtbar; mehrere wechseln jeweils nach duration_s. reload_s lädt jede Seite neu. qr ergänzt unten rechts einen QR-Code der Seitenadresse mit etwa 14 % der Leinwandhöhe. cookies enthält die Seitenanmeldung des Absenders: Die Cookies sind im Ruhezustand versiegelt, erscheinen in keiner Leseantwort, keinem Ereignis, Audit-Eintrag oder Revisionsstand und werden nur im Laufzeitmanifest eines Bildschirms mit der Freigabe übermittelt (das iframe-Mitglied cookies); ein Player, der sie nicht setzen kann, ignoriert sie, ebenso der Web-Player und die an ihn delegierenden Hüllen.

Ein nicht übernehmbares Ziel (geschützter Ordner, keine Standard-Playlist, archiviert, nicht gefunden, Formatkonflikt, außerhalb des Bereichs oder ratenbegrenzt) steht in skipped, ohne die Anfrage scheitern zu lassen. Diese Freigabe ersetzt eine frühere auf dem Bildschirm; deren Playlist wird gelöscht, sobald kein Bildschirm sie mehr zeigt.

Wird kein Ziel übernommen, wird die temporäre Playlist gelöscht und die Antwort enthält das Problem des einzelnen Ziels oder 409 resource_conflict mit den Gründen. warnings listet Tab-Adressen, die das Backend nicht einbetten konnte (embedding_blocked: X-Frame-Options oder frame-ancestors verweigert die Player-Web-App), einmal pro Adresse mit 3 Sekunden Budget geprüft; die Freigabe wird nie blockiert.

Die Bildschirmsteuerungslimits gelten pro Zielbildschirm (Organisation und Bildschirm), das IP-Limit einmal pro Anfrage. Jeder Aufruf erzeugt eine neue Freigabe; ein Idempotency-Key spielt nichts erneut ab. Die Änderung wirkt sofort: insufficient_access bei Propose-Zugriff und im Dashboard-Zugriffsweg approver_required für Mitglieder ohne Freigabeberechtigung für Reviews.

Im Dashboard-Zugriffsweg wird das aktuelle Sitzungsprojekt verwendet (no_project, falls keines besteht). Die Anfrage darf vom Dashboard oder einer Chrome- oder Firefox-Erweiterung stammen (chrome-extension://ID, moz-extension://UUID), mit fehlendem Sec-Fetch-Site oder den Werten same-origin oder none; ein vorhandener X-ScreenRig-CSRF-Header muss csrf_token aus GET /api/session entsprechen.

Nur diese Route, DELETE /api/tab-shares/{id}, POST /api/playlists/{id}/pages und POST /api/screens/{id}/screenshot akzeptieren einen Erweiterungsursprung.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
TabShareWrite
Operations-ID
startTabShare

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.

Anfrageinhalt-Felder

FeldBeschreibung
screen_ids (optional, array)Bildschirme nach id. Duplikate werden zusammengeführt.
folder_ids (optional, Array)Bildschirmordner; jeder enthält alle untergeordneten Ordner.
tags (optional, array)Ein Bildschirm mit mindestens einem der Tags.
tabs (erforderlich, array)
cookies (optional, array)Die Cookies des Absenders für die Seiten, höchstens 64 KiB kodiert. Geheim; siehe POST /api/tab-shares.
reload_s (optional, integer)0 (nie, der Standard) oder 60 bis 86400: So oft wird das iframe jeder Seite neu geladen.
until (optional, string)Strikt in der Zukunft und höchstens 24 Stunden voraus; ohne Angabe 24 Stunden ab jetzt. Ende der Übernahme auf jedem Ziel und Ablauf der temporären Playlist. format: "date-time"
qr (optional, boolean)Bei true trägt jede Seite unten rechts einen QR-Code ihrer Adresse. Standardmäßig false.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/tab-shares'

Antworten

StatusBedeutungTextkörper und Header
200Die Freigabe. Mindestens ein Bildschirm wurde übernommen.TabShare (application/json); Header: 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)
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)
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)
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
403outside_screen_scope wie bei OutsideScreenScope oder approver_required - ein auf Bildschirme beschränktes Mitglied, das Überprüfungen nicht genehmigen kann, ändert nicht, was ein Bildschirm abspielt oder wann (docs/screen-scope.md).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/tab-shares/{id}

Tab-Freigabe abrufen

Liest eine Freigabe: Endzeit und Bildschirme, deren Übernahme-Playlist noch ihre ist (inzwischen anders übernommene oder archivierte Bildschirme fehlen). 404 not_found, sobald die Freigabe endete, ablief oder nie existierte. Ein beschränkter Aufrufer sieht nur Bildschirme in seinem Bereich. Für Lesezugriffe gilt keine Erweiterungsursprungsregel.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
getTabShare

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/tab-shares/RESOURCE_ID'

Antworten

StatusBedeutungTextkörper und Header
200Die Freigabe und die Bildschirme, die sie noch zeigen.TabShareState (application/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)
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)
403outside_screen_scope wie bei OutsideScreenScope oder approver_required - ein auf Bildschirme beschränktes Mitglied, das Überprüfungen nicht genehmigen kann, ändert nicht, was ein Bildschirm abspielt oder wann (docs/screen-scope.md).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/tab-shares/{id}

Tab-Freigabe beenden

Beendet eine Freigabe: Hebt die Übernahme aller Bildschirme auf, deren Playlist noch der Freigabe gehört (screen.takeover_ended mit Grund cleared; der Zeitplan oder sonst die zugewiesene Playlist wird mit derselben Manifest-Signalisierung wirksam), und löscht die Playlist. Auch bei Bildschirmen in geschützten Ordnern erlaubt.

Ein inzwischen anderweitig übernommener Bildschirm bleibt unverändert. 404 not_found, wenn die Freigabe bereits endete; der Client behandelt sie als beendet. Jede Anfrage verbraucht eine Einheit jedes Bildschirmsteuerungslimits. Ein beschränkter Aufrufer gibt nur Bildschirme in seinem Bereich frei. Zugriffswege, Zugriffsregeln und Regeln für Erweiterungsursprünge entsprechen POST /api/tab-shares.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
stopTabShare

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/tab-shares/RESOURCE_ID'

Antworten

StatusBedeutungTextkörper und Header
200Die Bildschirme, deren Übernahme aufgehoben wurde.TabShareStopped (application/json); Header: 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)
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)
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
403outside_screen_scope wie bei OutsideScreenScope oder approver_required - ein auf Bildschirme beschränktes Mitglied, das Überprüfungen nicht genehmigen kann, ändert nicht, was ein Bildschirm abspielt oder wann (docs/screen-scope.md).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/screens/{id}/play-page

Film abspielen Screen Page

Fordert den Player des Bildschirms auf, eine Seite der gerade abgespielten Playlist zu starten, damit ein nächster Screenshot diese Seite ohne Rotation zeigt (docs/player-compatibility.md §6.3.1).

Die Seite muss eine Seite der wirksamen Playlist des Bildschirms sein, aus der sein Manifest aufgebaut wird: eine aktive Übernahme, sonst eine geltende Kampagne, sonst der aktuelle Eintrag im Playlist-Zeitplan, sonst die zugewiesene Playlist. Andernfalls 409 page_not_on_screen, dessen detail diese Playlist nennt.

Der Host-Hinweis des Bildschirms muss die play_page-Fähigkeit deklarieren, sonst 409 play_page_unsupported und es wird nichts gesendet; aktualisieren Sie den Player. Der Bildschirm muss aktiv sein; ein archivierter Bildschirm antwortet mit screen_archived und ein pairing_pending mit resource_conflict.

Fügt den pro Bildschirm laufzeitbezogenen Befehl player.play_page hinzu (Details page_id, playlist_id, manifest_revision, expires_at sechzig Sekunden später; wird nie nach expires_at geliefert). Der Player startet die Seite von Anfang an, als ob die Rotation sie erreicht hätte, und setzt die Rotation von dort fort. Die Bildschirmrevision ändert sich nicht.

Der Idempotency-Key ist erforderlich, wie bei toast; eine exakte Wiederholung gibt vierundzwanzig Stunden lang den ursprünglichen Body zurück. Eine abgelehnte Anfrage, eine fehlgeschlagene und eine exakte Wiederholung verbrauchen kein Ratenbegrenzungs-Budget. Bildschirmnachrichten sind vom API-Zähler mit 1 Credit ausgenommen. Ein Bildschirm in einem geschützten Bildschirmordner ist protected_target (409).

Authentifizierung
projectBearer
Anfrageinhalt
ScreenPlayPageWrite
Operations-ID
playScreenPage

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
Idempotency-KeyÜberschrifterforderlich

Anfrageinhalt-Felder

FeldBeschreibung
page_id (erforderlich, Zeichenfolge)Die ID einer Seite der Playlist, die der Bildschirm gerade abspielt (eine ID in den Seiten dieser Playlist). minLength: 1 maxLength: 128
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/play-page'

Antworten

StatusBedeutungTextkörper und Header
202Akzeptiert. Der Befehl ist bis expires_at ausführbar. Ein exakter idempotenter Wiederholungsversuch gibt denselben Inhalt zurück.ScreenPlayPageAccepted (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)
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)
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

protected_target, wenn der Bildschirm in einem geschützten Bildschirmordner liegt (docs/screen-scope.md; den Schutz des Ordners über eine Überprüfung aufheben, die Änderung vornehmen, ihn wieder schützen), oder die anderen Konflikte der Operation.

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
403

outside_screen_scope - der Aufrufer ist auf Bildschirme beschränkt, und der Bildschirm, Bildschirmordner, Selektor oder die Zielgruppe, die die Anfrage nennt oder erreicht, liegt außerhalb davon (docs/screen-scope.md). Eine ID außerhalb des Bereichs und eine ID, die nicht existiert, erhalten dieselbe Antwort; errors[0].screen_scope trägt den Bereich des Aufrufers, und der Schreibvorgang wird vollständig abgelehnt, nie eingegrenzt.

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/screens/{id}/identify

Bildschirm identifizieren

Fordert den Player des Bildschirms auf, den Namen des Bildschirms für duration_ms (2000 bis 600000, Standard 60000) über seinem Inhalt anzuzeigen, damit eine Person vor mehreren Displays erkennen kann, welches Display zu einem Datensatz gehört (docs/player-compatibility.md §6.3.2).

Fügt den Laufzeitbefehl player.identify pro Bildschirm hinzu (details identify_id, label, screen_id, duration_ms, at, expires_at sechzig Sekunden nach at; wird nach expires_at nie zugestellt).

Der Player zeichnet eine Vollbild-Überlagerung über seinen Inhalt, den Namen sehr groß und die Bildschirm-ID klein darunter, für duration_ms ab Empfang; die Wiedergabe läuft darunter weiter, und ein neueres Identifizieren ersetzt die Überlagerung.

Der Host-Hinweis des Bildschirms muss die identify-Fähigkeit deklarieren, sonst 409 identify_unsupported und es wird nichts gesendet; aktualisieren Sie den Player oder zeigen Sie den Namen mit einem Toast an. Der Bildschirm muss aktiv sein; ein archivierter Bildschirm antwortet mit screen_archived und ein pairing_pending-Bildschirm mit resource_conflict. Die Bildschirmrevision ändert sich nicht.

Der Body und der Idempotency-Key sind optional; eine exakte Wiederholung gibt vierundzwanzig Stunden lang den ursprünglichen Body zurück. Eine abgelehnte Anfrage, eine fehlgeschlagene und eine exakte Wiederholung verbrauchen kein Rate-Limit-Budget. Bildschirmnachrichten sind von der 1-Credit-API-Messung ausgenommen.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
ScreenIdentifyWrite
Operations-ID
identifyScreen

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.

Anfrageinhalt-Felder

FeldBeschreibung
duration_ms (optional, Ganzzahl)Wie lange die Überlagerung eingeblendet bleibt, in Millisekunden ab dem Empfang durch den Player. Weggelassene Werte ergeben standardmäßig 60000. Standard: 60000 Minimum: 2000 Maximum: 600000
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID/identify'

Antworten

StatusBedeutungTextkörper und Header
202Akzeptiert. Der Befehl ist bis expires_at ausführbar. Ein exakter idempotenter Wiederholungsversuch gibt denselben Inhalt zurück.ScreenIdentifyAccepted (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)
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)
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)
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
403

outside_screen_scope - der Aufrufer ist auf Bildschirme beschränkt, und der Bildschirm, Bildschirmordner, Selektor oder die Zielgruppe, die die Anfrage nennt oder erreicht, liegt außerhalb davon (docs/screen-scope.md). Eine ID außerhalb des Bereichs und eine ID, die nicht existiert, erhalten dieselbe Antwort; errors[0].screen_scope trägt den Bereich des Aufrufers, und der Schreibvorgang wird vollständig abgelehnt, nie eingegrenzt.

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/screens/{id}/suspend

Bildschirm aussetzen

Setzt den Bildschirm aus: Sein Player zeigt message anstelle seines Inhalts (docs/player-compatibility.md §6.9). Die Nachricht umfasst 1 bis 280 Zeichen nach dem Trimmen; Zeilenvorschub ist das einzige akzeptierte Steuerzeichen.

Sonst ändert sich nichts: Playlist, Zeitplan, Übernahme, Display-Steuerung und jede andere Einstellung bleiben bestehen und entwickeln sich weiter, und resume zeigt, was der Bildschirm jetzt anzeigen würde. Screen.suspension enthält die Nachricht und since. Das erneute Aussetzen eines ausgesetzten Bildschirms ersetzt die Nachricht und behält since.

Das Laufzeit-Manifest eines ausgesetzten Bildschirms hat pages [] und ein suspension-Mitglied sowie eine eigene Manifestrevision, mit oder ohne zugewiesene Playlist; der Player wird angewiesen, es sofort erneut abzurufen. Fügt das nur für das Projekt gültige screen.suspended hinzu (details message). Ein archivierter Bildschirm antwortet mit screen_archived. If-Match und Idempotency-Key sind optional, wie bei archive.

Ein Bildschirm in einem geschützten Bildschirmordner ist protected_target (409).

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
ScreenSuspendWrite
Operations-ID
suspendScreen

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
If-MatchÜberschriftoptionalOptionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict.
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.

Anfrageinhalt-Felder

FeldBeschreibung
message (erforderlich, Zeichenfolge)Die Mitteilung, die der Bildschirm anzeigt, 1 bis 280 Zeichen nach dem Trimmen. Zeilenvorschub ist das einzige akzeptierte Steuerzeichen; ein Player bricht den Text um und behält Zeilenvorschübe. minLength: 1 maxLength: 280
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID/suspend'

Antworten

StatusBedeutungTextkörper und Header
200Bildschirm ausgesetzt. Der ETag ist die neue Bildschirmrevision.Bildschirm (application/json); Header: 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)
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

protected_target, wenn der Bildschirm in einem geschützten Bildschirmordner liegt (docs/screen-scope.md; den Schutz des Ordners über eine Überprüfung aufheben, die Änderung vornehmen, ihn wieder schützen), oder die anderen Konflikte der Operation.

Problem (application/problem+json)
412

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

outside_screen_scope - der Aufrufer ist auf Bildschirme beschränkt, und der Bildschirm, Bildschirmordner, Selektor oder die Zielgruppe, die die Anfrage nennt oder erreicht, liegt außerhalb davon (docs/screen-scope.md). Eine ID außerhalb des Bereichs und eine ID, die nicht existiert, erhalten dieselbe Antwort; errors[0].screen_scope trägt den Bereich des Aufrufers, und der Schreibvorgang wird vollständig abgelehnt, nie eingegrenzt.

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/screens/{id}/resume

Bildschirm fortsetzen

Beendet die Aussetzung des Bildschirms: Sein Player zeigt wieder den eigenen Inhalt des Bildschirms an, aus dem Manifest, das der Bildschirm jetzt erhalten würde (docs/player-compatibility.md §6.9). Der Player wird angewiesen, sofort erneut abzurufen. Fügt das nur für das Projekt gültige screen.resumed hinzu. Das Fortsetzen eines nicht ausgesetzten Bildschirms antwortet mit 200 und dem unveränderten Bildschirm: keine Revisionserhöhung und kein Ereignis.

Ein archivierter Bildschirm antwortet mit screen_archived. Kein Body. If-Match und Idempotency-Key sind optional, wie bei archive.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
resumeScreen

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
If-MatchÜberschriftoptionalOptionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict.
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/resume'

Antworten

StatusBedeutungTextkörper und Header
200Bildschirm fortgesetzt oder nicht ausgesetzt. Der ETag ist die Bildschirmrevision.Bildschirm (application/json); Header: 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)
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)
412

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

outside_screen_scope - der Aufrufer ist auf Bildschirme beschränkt, und der Bildschirm, Bildschirmordner, Selektor oder die Zielgruppe, die die Anfrage nennt oder erreicht, liegt außerhalb davon (docs/screen-scope.md). Eine ID außerhalb des Bereichs und eine ID, die nicht existiert, erhalten dieselbe Antwort; errors[0].screen_scope trägt den Bereich des Aufrufers, und der Schreibvorgang wird vollständig abgelehnt, nie eingegrenzt.

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/screens/{id}/reboot

Bildschirm neu starten

Fordert den Player des Bildschirms auf, das Gerät neu zu starten (docs/player-compatibility.md §6.5). Der optionale Body setzt expires_in_s, wie lange der Neustart ausführbar bleibt (60 bis 86400 Sekunden, Standard 86400, 24 Stunden); ein Wert außerhalb des Bereichs ist invalid_request und nennt expires_in_s. Fügt immer das nur für das Projekt gültige screen.reboot_requested hinzu.

Einem Bildschirm, der online ist, wird der Laufzeitbefehl player.reboot pro Bildschirm sofort gesendet (details reboot_id, reason project, at, expires_at; wird nach expires_at nie zugestellt), und der Neustart wird in Screen.commands als sent aufgezeichnet.

Ein Bildschirm, der offline ist, hält den Neustart als queued ohne Ereignis vor; wenn das Backend den nächsten Online-Übergang des Bildschirms vor expires_at anwendet, wird das Ereignis mit derselben reboot_id und expires_at angehängt, und der Befehl wird zu sent. Ein gesendeter Neustart wird zu done, wenn ein Zustandsbericht mit uptime_s zeigt, dass der Start nach dem Senden lag.

Ein neuerer Neustart ersetzt einen älteren, der noch in der Warteschlange steht. Ein Neustart in der Warteschlange erscheint nach expires_at als expired, und POST /api/screens/{id}/commands/{command_id}/cancel bricht einen noch in der Warteschlange stehenden ab. Der Bildschirm muss aktiv sein; ein archivierter Bildschirm antwortet mit screen_archived und ein pairing_pending-Bildschirm mit resource_conflict.

Der Host-Hinweis des Bildschirms muss die reboot-Fähigkeit deklarieren, sonst 409 reboot_unsupported und es wird nichts aufgezeichnet. Die Bildschirmrevision ändert sich nicht. If-Match und Idempotency-Key sind optional; eine exakte Wiederholung gibt vierundzwanzig Stunden lang denselben Body zurück.

Höchstens 2 pro Bildschirm pro 10 Minuten; eine abgelehnte Anfrage (reboot_unsupported, not_found, ein Konflikt), eine fehlgeschlagene und eine exakte Idempotency-Key-Wiederholung verbrauchen nichts.

Vom Moment des Sendens des Neustarts, bis ein Gesundheitsbericht ihn als erledigt belegt oder zehn Minuten vergehen, löst der Bildschirm keine screen_offline-, display_disconnected- oder crashing-Meldung oder -Alarm aus; eine Bedingung, die dann noch gilt, öffnet normal. Der Neustartplan (PUT /api/screens/{id}/reboot-schedule) löst denselben Neustart mit source schedule aus.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
ScreenCommandWrite
Operations-ID
rebootScreen

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
If-MatchÜberschriftoptionalOptionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict.
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.

Anfrageinhalt-Felder

FeldBeschreibung
expires_in_s (optional, Ganzzahl)Wie lange der Befehl ausführbar bleibt, in Sekunden ab der Anfrage. Ein Befehl in der Warteschlange wird nur vor seinem Ablauf gesendet; ein Player ignoriert einen nach expires_at. Standard: 86400 Minimum: 60 Maximum: 86400
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID/reboot'

Antworten

StatusBedeutungTextkörper und Header
202

Akzeptiert. state ist sent, wenn der Neustart an den Player des Online-Bildschirms ging, und queued, wenn er darauf wartet, dass der Bildschirm online geht. Der Neustart ist bis expires_at ausführbar. Der ETag ist die unveränderte Bildschirmrevision.

ScreenRebootAccepted (application/json); Header: Cache-Control, ETag, 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)
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)
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)
412

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
403

outside_screen_scope - der Aufrufer ist auf Bildschirme beschränkt, und der Bildschirm, Bildschirmordner, Selektor oder die Zielgruppe, die die Anfrage nennt oder erreicht, liegt außerhalb davon (docs/screen-scope.md). Eine ID außerhalb des Bereichs und eine ID, die nicht existiert, erhalten dieselbe Antwort; errors[0].screen_scope trägt den Bereich des Aufrufers, und der Schreibvorgang wird vollständig abgelehnt, nie eingegrenzt.

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/screens/{id}/clear-cache

Bildschirm-Cache leeren

Bittet den Player des Bildschirms, seine Caches zu leeren (docs/player-compatibility.md §6.5.1). Der Player löscht seine heruntergeladenen Medien, Anwendungspakete und Daten-Caches, behält Kopplung, Identität und Einstellungen und ruft dann das Manifest und die Inhalte erneut ab.

Der optionale Body setzt expires_in_s, wie lange der Befehl ausführbar bleibt (60 bis 86400 Sekunden, Standard 86400, 24 Stunden); ein Wert außerhalb des Bereichs ist invalid_request, das expires_in_s nennt. Hängt immer das nur im Projekt sichtbare screen.command_requested an.

Einem Online-Bildschirm wird der Laufzeitbefehl player.clear_cache pro Bildschirm sofort gesendet (Details command_id, command, reason project, at, expires_at; nach expires_at nie zugestellt), und der Befehl wird in Screen.commands als sent erfasst.

Ein Offline-Bildschirm hält den Befehl als queued ohne Ereignis; wendet das Backend den nächsten Online-Übergang des Bildschirms vor expires_at an, wird das Ereignis mit derselben command_id und demselben expires_at angehängt, und der Befehl wird zu sent.

Der Player meldet, wie der Befehl endete: Er wird in Screen.commands zu done oder failed mit der vom Player gemeldeten Ursache (cause, detail), und das nur im Projekt sichtbare screen.command_result wird angehängt. Ein gesendeter Befehl ohne Bericht bleibt sent.

Ein neuerer Befehl desselben Typs ersetzt einen noch in der Warteschlange stehenden, und POST /api/screens/{id}/commands/{command_id}/cancel bricht einen noch in der Warteschlange stehenden ab. Der Bildschirm muss aktiv sein; ein archivierter Bildschirm antwortet mit screen_archived und ein pairing_pending-Bildschirm mit resource_conflict.

Der Host-Hinweis des Bildschirms muss die Fähigkeit clear_cache melden, sonst 409 command_unsupported und nichts wird erfasst. Die Bildschirmrevision ändert sich nicht. If-Match und Idempotency-Key sind optional; eine exakte Wiederholung gibt vierundzwanzig Stunden lang denselben Body zurück.

Höchstens 2 pro Bildschirm pro 10 Minuten für clear-cache, restart-app und update zusammen; eine abgelehnte Anfrage (command_unsupported, not_found, ein Konflikt), eine fehlgeschlagene und eine exakte Wiederholung mit demselben Idempotency-Key zählen nicht.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
ScreenCommandWrite
Operations-ID
clearScreenCache

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
If-MatchÜberschriftoptionalOptionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict.
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.

Anfrageinhalt-Felder

FeldBeschreibung
expires_in_s (optional, Ganzzahl)Wie lange der Befehl ausführbar bleibt, in Sekunden ab der Anfrage. Ein Befehl in der Warteschlange wird nur vor seinem Ablauf gesendet; ein Player ignoriert einen nach expires_at. Standard: 86400 Minimum: 60 Maximum: 86400
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID/clear-cache'

Antworten

StatusBedeutungTextkörper und Header
202

Akzeptiert. state ist sent, wenn der Befehl an den Player des Online-Bildschirms ging, und queued, wenn er darauf wartet, dass der Bildschirm online geht. Der Befehl ist bis expires_at ausführbar. Der ETag ist die unveränderte Bildschirmrevision.

ScreenMaintenanceAccepted (application/json); headers: Cache-Control, ETag, 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)
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)
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)
412

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
403

outside_screen_scope - der Aufrufer ist auf Bildschirme beschränkt, und der Bildschirm, Bildschirmordner, Selektor oder die Zielgruppe, die die Anfrage nennt oder erreicht, liegt außerhalb davon (docs/screen-scope.md). Eine ID außerhalb des Bereichs und eine ID, die nicht existiert, erhalten dieselbe Antwort; errors[0].screen_scope trägt den Bereich des Aufrufers, und der Schreibvorgang wird vollständig abgelehnt, nie eingegrenzt.

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/screens/{id}/restart-app

Bildschirm-App neu starten

Bittet den Player des Bildschirms, seine Anwendung neu zu starten, nicht das Gerät (docs/player-compatibility.md §6.5.1). Der Player-Prozess startet neu und meldet sich aus dem neuen Prozess. Der optionale Body setzt expires_in_s, wie lange der Befehl ausführbar bleibt (60 bis 86400 Sekunden, Standard 86400, 24 Stunden); ein Wert außerhalb des Bereichs ist invalid_request, das expires_in_s nennt.

Hängt immer das nur im Projekt sichtbare screen.command_requested an. Einem Online-Bildschirm wird der Laufzeitbefehl player.restart_app pro Bildschirm sofort gesendet (Details command_id, command, reason project, at, expires_at; nach expires_at nie zugestellt), und der Befehl wird in Screen.commands als sent erfasst.

Ein Offline-Bildschirm hält den Befehl als queued ohne Ereignis; wendet das Backend den nächsten Online-Übergang des Bildschirms vor expires_at an, wird das Ereignis mit derselben command_id und demselben expires_at angehängt, und der Befehl wird zu sent.

Der Player meldet, wie der Befehl endete: Er wird in Screen.commands zu done oder failed mit der vom Player gemeldeten Ursache (cause, detail), und das nur im Projekt sichtbare screen.command_result wird angehängt. Ein gesendeter Befehl ohne Bericht bleibt sent.

Ein neuerer Befehl desselben Typs ersetzt einen noch in der Warteschlange stehenden, und POST /api/screens/{id}/commands/{command_id}/cancel bricht einen noch in der Warteschlange stehenden ab. Der Bildschirm muss aktiv sein; ein archivierter Bildschirm antwortet mit screen_archived und ein pairing_pending-Bildschirm mit resource_conflict.

Der Host-Hinweis des Bildschirms muss die Fähigkeit restart_app melden, sonst 409 command_unsupported und nichts wird erfasst. Die Bildschirmrevision ändert sich nicht. If-Match und Idempotency-Key sind optional; eine exakte Wiederholung gibt vierundzwanzig Stunden lang denselben Body zurück.

Höchstens 2 pro Bildschirm pro 10 Minuten für clear-cache, restart-app und update zusammen; eine abgelehnte Anfrage (command_unsupported, not_found, ein Konflikt), eine fehlgeschlagene und eine exakte Wiederholung mit demselben Idempotency-Key zählen nicht.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
ScreenCommandWrite
Operations-ID
restartScreenApp

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
If-MatchÜberschriftoptionalOptionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict.
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.

Anfrageinhalt-Felder

FeldBeschreibung
expires_in_s (optional, Ganzzahl)Wie lange der Befehl ausführbar bleibt, in Sekunden ab der Anfrage. Ein Befehl in der Warteschlange wird nur vor seinem Ablauf gesendet; ein Player ignoriert einen nach expires_at. Standard: 86400 Minimum: 60 Maximum: 86400
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID/restart-app'

Antworten

StatusBedeutungTextkörper und Header
202

Akzeptiert. state ist sent, wenn der Befehl an den Player des Online-Bildschirms ging, und queued, wenn er darauf wartet, dass der Bildschirm online geht. Der Befehl ist bis expires_at ausführbar. Der ETag ist die unveränderte Bildschirmrevision.

ScreenMaintenanceAccepted (application/json); headers: Cache-Control, ETag, 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)
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)
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)
412

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
403

outside_screen_scope - der Aufrufer ist auf Bildschirme beschränkt, und der Bildschirm, Bildschirmordner, Selektor oder die Zielgruppe, die die Anfrage nennt oder erreicht, liegt außerhalb davon (docs/screen-scope.md). Eine ID außerhalb des Bereichs und eine ID, die nicht existiert, erhalten dieselbe Antwort; errors[0].screen_scope trägt den Bereich des Aufrufers, und der Schreibvorgang wird vollständig abgelehnt, nie eingegrenzt.

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/screens/{id}/update

Bildschirm-Player aktualisieren

Bittet den Player des Bildschirms, jetzt nach der neuesten Player-Version zu suchen und sie zu installieren (docs/player- compatibility.md §6.5.1). Die Ergebnisursache ist up_to_date, wenn die neueste Version bereits läuft, und updated, wenn eine Version installiert wurde; eine vom Store oder von der Geräteverwaltung verwaltete Installation meldet keine Update-Fähigkeit.

Der optionale Body setzt expires_in_s, wie lange der Befehl ausführbar bleibt (60 bis 86400 Sekunden, Standard 86400, 24 Stunden); ein Wert außerhalb des Bereichs ist invalid_request, das expires_in_s nennt. Hängt immer das nur im Projekt sichtbare screen.command_requested an.

Einem Online-Bildschirm wird der Laufzeitbefehl player.update pro Bildschirm sofort gesendet (Details command_id, command, reason project, at, expires_at; nach expires_at nie zugestellt), und der Befehl wird in Screen.commands als sent erfasst.

Ein Offline-Bildschirm hält den Befehl als queued ohne Ereignis; wendet das Backend den nächsten Online-Übergang des Bildschirms vor expires_at an, wird das Ereignis mit derselben command_id und demselben expires_at angehängt, und der Befehl wird zu sent.

Der Player meldet, wie der Befehl endete: Er wird in Screen.commands zu done oder failed mit der vom Player gemeldeten Ursache (cause, detail), und das nur im Projekt sichtbare screen.command_result wird angehängt. Ein gesendeter Befehl ohne Bericht bleibt sent.

Ein neuerer Befehl desselben Typs ersetzt einen noch in der Warteschlange stehenden, und POST /api/screens/{id}/commands/{command_id}/cancel bricht einen noch in der Warteschlange stehenden ab. Der Bildschirm muss aktiv sein; ein archivierter Bildschirm antwortet mit screen_archived und ein pairing_pending-Bildschirm mit resource_conflict.

Der Host-Hinweis des Bildschirms muss die Fähigkeit update melden, sonst 409 command_unsupported und nichts wird erfasst. Die Bildschirmrevision ändert sich nicht. If-Match und Idempotency-Key sind optional; eine exakte Wiederholung gibt vierundzwanzig Stunden lang denselben Body zurück.

Höchstens 2 pro Bildschirm pro 10 Minuten für clear-cache, restart-app und update zusammen; eine abgelehnte Anfrage (command_unsupported, not_found, ein Konflikt), eine fehlgeschlagene und eine exakte Wiederholung mit demselben Idempotency-Key zählen nicht.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
ScreenCommandWrite
Operations-ID
updateScreenPlayer

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
If-MatchÜberschriftoptionalOptionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict.
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.

Anfrageinhalt-Felder

FeldBeschreibung
expires_in_s (optional, Ganzzahl)Wie lange der Befehl ausführbar bleibt, in Sekunden ab der Anfrage. Ein Befehl in der Warteschlange wird nur vor seinem Ablauf gesendet; ein Player ignoriert einen nach expires_at. Standard: 86400 Minimum: 60 Maximum: 86400
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID/update'

Antworten

StatusBedeutungTextkörper und Header
202

Akzeptiert. state ist sent, wenn der Befehl an den Player des Online-Bildschirms ging, und queued, wenn er darauf wartet, dass der Bildschirm online geht. Der Befehl ist bis expires_at ausführbar. Der ETag ist die unveränderte Bildschirmrevision.

ScreenMaintenanceAccepted (application/json); headers: Cache-Control, ETag, 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)
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)
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)
412

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
403

outside_screen_scope - der Aufrufer ist auf Bildschirme beschränkt, und der Bildschirm, Bildschirmordner, Selektor oder die Zielgruppe, die die Anfrage nennt oder erreicht, liegt außerhalb davon (docs/screen-scope.md). Eine ID außerhalb des Bereichs und eine ID, die nicht existiert, erhalten dieselbe Antwort; errors[0].screen_scope trägt den Bereich des Aufrufers, und der Schreibvorgang wird vollständig abgelehnt, nie eingegrenzt.

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/screens/{id}/commands

Bildschirmbefehle auflisten

Listet jeden Neustart und jedes Neuladen auf, die für einen aktiven oder archivierten Bildschirm angefordert wurden, neueste zuerst: die Befehle, die Screen.commands enthält (die neuesten 10), und jeden älteren, mit dem jeweils erreichten Status. Ein wartender Befehl nach expires_at lautet expired. Ein Befehl, der noch wartete, als das Gerät des Bildschirms ersetzt wurde, lautet cancelled.

Brechen Sie einen noch in der Warteschlange stehenden Befehl mit POST /api/screens/{id}/commands/{command_id}/cancel ab.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
listScreenCommands

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
CursorAbfrageoptionalDer next_cursor der vorherigen Seite.
LimitAbfrageoptional
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/commands'

Antworten

StatusBedeutungTextkörper und Header
200Eine Seite der Befehle des Bildschirms.ScreenCommandPage (application/json)
403

outside_screen_scope - der Aufrufer ist auf Bildschirme beschränkt, und der Bildschirm, Bildschirmordner, Selektor oder die Zielgruppe, die die Anfrage nennt oder erreicht, liegt außerhalb davon (docs/screen-scope.md). Eine ID außerhalb des Bereichs und eine ID, die nicht existiert, erhalten dieselbe Antwort; errors[0].screen_scope trägt den Bereich des Aufrufers, und der Schreibvorgang wird vollständig abgelehnt, nie eingegrenzt.

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/screens/{id}/commands/{command_id}/cancel

Bildschirmbefehl abbrechen

Bricht einen Neustart- oder Neuladebefehl ab, der für den Bildschirm noch in der Warteschlange steht, sodass er nie gesendet wird (docs/player-compatibility.md §6.3, §6.5). command_id ist eine ID in Screen.commands oder die reboot_id oder reload_id der 202-Antwort. Nur ein Befehl mit dem Zustand queued kann abgebrochen werden; er wird zu cancelled.

Ein bereits gesendeter Befehl (sent, done) antwortet mit 409 resource_conflict und der Meldung "The command was already sent."; ein Befehl, der nicht mehr in der Warteschlange steht (expired, cancelled, superseded), antwortet mit 409 resource_conflict und der Meldung "The command is no longer queued."; eine ID, die der Bildschirm nicht auflistet, antwortet mit 404 not_found. Die Liste des Bildschirms behält ihre neuesten 10 Befehle.

Die Bildschirmrevision ändert sich nicht. If-Match und Idempotency-Key sind optional; eine exakte Wiederholung gibt vierundzwanzig Stunden lang denselben Bildschirm zurück.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
cancelScreenCommand

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
command_idPfaderforderlichDie ID eines der Befehle des Bildschirms: die ID in Screen.commands oder die reboot_id bzw. reload_id der 202-Antwort.
If-MatchÜberschriftoptionalOptionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict.
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/commands/COMMAND_ID/cancel'

Antworten

StatusBedeutungTextkörper und Header
200Der Bildschirm mit abgebrochenem Befehl. Der ETag ist die unveränderte Bildschirmrevision.Bildschirm (application/json); Header: 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)
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)
412

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

outside_screen_scope - der Aufrufer ist auf Bildschirme beschränkt, und der Bildschirm, Bildschirmordner, Selektor oder die Zielgruppe, die die Anfrage nennt oder erreicht, liegt außerhalb davon (docs/screen-scope.md). Eine ID außerhalb des Bereichs und eine ID, die nicht existiert, erhalten dieselbe Antwort; errors[0].screen_scope trägt den Bereich des Aufrufers, und der Schreibvorgang wird vollständig abgelehnt, nie eingegrenzt.

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/screens/{id}/display

Bildschirm-Display festlegen

Fordert jetzt das Ein- oder Ausschalten der Anzeige an: eine manuelle Überschreibung des Anzeigeplans (docs/player-compatibility.md §6.5). power ist ein oder aus. until (RFC 3339, strikt in der Zukunft, höchstens 7 Tage voraus) beendet es; ohne until endet es an der nächsten Grenze des Anzeigeplans, wenn ein Plan aktiviert ist, sonst bleibt es aktiv, bis es ersetzt wird.

Speichert die Überschreibung (Screen.display.override), erstellt das Manifest neu (dessen Display-Mitglied trägt die Überschreibung, sodass ein offline Player sie behält), fügt den Laufzeitbefehl player.display hinzu (Details override_id, power, until, at, expires_at) und das nur projektbezogene screen.display_changed, und erhöht die Bildschirmrevision (If-Match schützt sie). Der Bildschirm muss aktiv sein.

Was der Player erreicht hat, wird in seinem Gesundheits-display.power (Screen.display.reported) zurückgemeldet. Ein Erfolg speichert die Absicht, ohne auf einen Bericht zu warten; Screen.display.override_status vergleicht spätere Beobachtungen, und Screen.display.control benennt die angekündigte Steuerungsmethode.

Ein Player nur mit Abdunklungsschicht entfernt sein Overlay bei einer Einschaltanforderung, ohne einen Hardware-Aufweckbefehl.

Ohne until und ohne eine Zeitplan-Grenze innerhalb der nächsten acht Tage (kein aktivierter Zeitplan oder keiner, der sich ändert) gilt die Überschreibung bis DELETE /api/screens/{id}/display oder eine Ersatzüberschreibung; ein späteres display-schedule PUT oder DELETE oder eine Zeitzonenänderung setzt eine until-losen Überschreibung auf die neue nächste Grenze neu.

Eine abgelehnte oder fehlgeschlagene Anfrage und eine exakte Idempotency-Key-Wiederholung verbrauchen kein Budget. Ein Bildschirm in einem geschützten Bildschirmordner ist protected_target (409).

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
ScreenDisplayWrite
Operations-ID
setScreenDisplay

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
If-MatchÜberschriftoptionalOptionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict.
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.

Anfrageinhalt-Felder

FeldBeschreibung
Leistung (erforderlich, Zeichenfolge)Erlaubt: "on", "off"
bis (optional, inline)Streng in der Zukunft, höchstens 7 Tage voraus. Weggelassen oder null: bis zur nächsten Grenze des Display-Zeitplans, sonst bis zum Ersatz.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID/display'

Antworten

StatusBedeutungTextkörper und Header
200Bildschirm mit seinem Anzeigezustand.Bildschirm (application/json); Header: ETag, 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)
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)
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

protected_target, wenn der Bildschirm in einem geschützten Bildschirmordner liegt (docs/screen-scope.md; den Schutz des Ordners über eine Überprüfung aufheben, die Änderung vornehmen, ihn wieder schützen), oder die anderen Konflikte der Operation.

Problem (application/problem+json)
412

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
403outside_screen_scope wie bei OutsideScreenScope oder approver_required - ein auf Bildschirme beschränktes Mitglied, das Überprüfungen nicht genehmigen kann, ändert nicht, was ein Bildschirm abspielt oder wann (docs/screen-scope.md).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/screens/{id}/display

Bildschirmanzeige löschen

Beendet die manuelle Anzeigeüberschreibung, sodass der Anzeigefahrplan (sonst an) wieder gilt. Erzeugt das Manifest neu (dessen Anzeige-Mitglied entfernt die Überschreibung; der Player folgt screen.manifest_changed), fügt screen.display_changed mit Änderung override_cleared hinzu und erhöht die Revision. Ein Bildschirm ohne aktive Überschreibung antwortet mit 200 unverändert.

Ein Bildschirm in einem geschützten Bildschirmordner ist protected_target (409).

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
clearScreenDisplay

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
If-MatchÜberschriftoptionalOptionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict.
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/display'

Antworten

StatusBedeutungTextkörper und Header
200Bildschirm mit seinem Anzeigezustand.Bildschirm (application/json); Header: ETag, 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)
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)
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

protected_target, wenn der Bildschirm in einem geschützten Bildschirmordner liegt (docs/screen-scope.md; den Schutz des Ordners über eine Überprüfung aufheben, die Änderung vornehmen, ihn wieder schützen), oder die anderen Konflikte der Operation.

Problem (application/problem+json)
412

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
403outside_screen_scope wie bei OutsideScreenScope oder approver_required - ein auf Bildschirme beschränktes Mitglied, das Überprüfungen nicht genehmigen kann, ändert nicht, was ein Bildschirm abspielt oder wann (docs/screen-scope.md).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/screens/{id}/display-schedule

Bildschirm-Display-Zeitplan erhalten

Gibt display_schedule zurück (null, wenn keiner vorhanden) und den Anzeigestatus des Bildschirms. Das ETag ist die Bildschirmrevision.

Authentifizierung
projectBearer
Anfrageinhalt
keine
Operations-ID
getScreenDisplaySchedule

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/display-schedule'

Antworten

StatusBedeutungTextkörper und Header
200Anzeigeplan.ScreenDisplayScheduleView (application/json); Header: 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)
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)
403

outside_screen_scope - der Aufrufer ist auf Bildschirme beschränkt, und der Bildschirm, Bildschirmordner, Selektor oder die Zielgruppe, die die Anfrage nennt oder erreicht, liegt außerhalb davon (docs/screen-scope.md). Eine ID außerhalb des Bereichs und eine ID, die nicht existiert, erhalten dieselbe Antwort; errors[0].screen_scope trägt den Bereich des Aufrufers, und der Schreibvorgang wird vollständig abgelehnt, nie eingegrenzt.

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/screens/{id}/display-schedule

Bildschirm-Display-Zeitplan festlegen

Ersetzt den Display-Zeitplan: aktiviert und 1 bis 16 screenrig.schedule/v1 Fenster (Tage, Start-/Endzeit HH:MM, Endzeit ≤ Startzeit über Mitternacht, gehört zum Starttag, ganzer Tag ohne Kanten), wenn das Display EIN ist; außerhalb jedes Fensters versetzt der Player das Display in den Standby-Modus.

Bewertet auf dem Gerät in der Bildschirmzeitzone (erforderlich, sonst invalid_request), sodass es offline weiter funktioniert: Das Anzeige-Mitglied des Manifests trägt es. enabled false hält die Fenster und lässt die Anzeige an. Erzeugt das Manifest neu, fügt screen.display_changed hinzu, erhöht die Revision (If-Match schützt es). Der Bildschirm muss pairing_pending oder aktiv sein.

Ein Bildschirm ohne Manifest (nie erzeugt oder ohne Playlist) speichert den Zeitplan, und sein erstes Manifest enthält ihn; ein Bildschirm ohne Playlist wendet ihn an, sobald eine Playlist zugewiesen ist. Eine Überschreibung ohne until wird an die nächste Grenze des neuen Zeitplans neu gebunden. Ein Bildschirm in einem geschützten Bildschirmordner ist protected_target (409).

Authentifizierung
projectBearer
Anfrageinhalt
ScreenDisplayScheduleWrite
Operations-ID
setScreenDisplaySchedule

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
If-MatchÜberschriftoptionalOptionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict.
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.

Anfrageinhalt-Felder

FeldBeschreibung
aktiviert (erforderlich, Boolean)
windows (erforderlich, Array)Auf Windows.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request PUT --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/display-schedule'

Antworten

StatusBedeutungTextkörper und Header
200Bildschirm mit seinem Anzeigezustand.Bildschirm (application/json); Header: ETag, 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)
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)
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

protected_target, wenn der Bildschirm in einem geschützten Bildschirmordner liegt (docs/screen-scope.md; den Schutz des Ordners über eine Überprüfung aufheben, die Änderung vornehmen, ihn wieder schützen), oder die anderen Konflikte der Operation.

Problem (application/problem+json)
412

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
403outside_screen_scope wie bei OutsideScreenScope oder approver_required - ein auf Bildschirme beschränktes Mitglied, das Überprüfungen nicht genehmigen kann, ändert nicht, was ein Bildschirm abspielt oder wann (docs/screen-scope.md).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/screens/{id}/display-schedule

Zeitplan für Bildschirmanzeige löschen

Entfernt den Display-Zeitplan (das Display bleibt an, sofern nicht überschrieben). Das Löschen von nichts wird mit 200 unverändert beantwortet. Ein Bildschirm in einem geschützten Bildschirmordner ist protected_target (409).

Authentifizierung
projectBearer
Anfrageinhalt
keine
Operations-ID
clearScreenDisplaySchedule

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
If-MatchÜberschriftoptionalOptionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict.
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/display-schedule'

Antworten

StatusBedeutungTextkörper und Header
200Bildschirm mit seinem Anzeigezustand.Bildschirm (application/json); Header: ETag, 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)
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)
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

protected_target, wenn der Bildschirm in einem geschützten Bildschirmordner liegt (docs/screen-scope.md; den Schutz des Ordners über eine Überprüfung aufheben, die Änderung vornehmen, ihn wieder schützen), oder die anderen Konflikte der Operation.

Problem (application/problem+json)
412

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
403outside_screen_scope wie bei OutsideScreenScope oder approver_required - ein auf Bildschirme beschränktes Mitglied, das Überprüfungen nicht genehmigen kann, ändert nicht, was ein Bildschirm abspielt oder wann (docs/screen-scope.md).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/screens/{id}/reboot-schedule

Neustartplan des Bildschirms abrufen

Gibt reboot_schedule (null, wenn keiner) und next_reboot_at zurück, den Beginn des nächsten Fensters, zu dem das Backend den Bildschirm neu startet (null, wenn es keines gibt). Das ETag ist die Bildschirmrevision.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
getScreenRebootSchedule

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/reboot-schedule'

Antworten

StatusBedeutungTextkörper und Header
200Neustartplan.ScreenRebootScheduleView (application/json); Header: 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)
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/screens/{id}/reboot-schedule

Neustartplan des Bildschirms setzen

Ersetzt den Neustartplan: enabled und 1 bis 16 screenrig.schedule/v1-Fenster (days, start/end HH:MM, end <= start überschreitet Mitternacht und gehört dem Starttag, ganzer Tag ohne Grenzen), jeweils 5 Minuten bis 24 Stunden lang.

Zu Beginn jedes Fensters in der Zeitzone des Bildschirms (erforderlich, sonst invalid_request) löst das Backend denselben Neustart aus wie POST /api/screens/{id}/reboot, mit source schedule in Screen.commands, screen.reboot_requested und den player.reboot-Details.

Ein Start innerhalb einer Lücke bei der Umstellung auf Sommerzeit löst zur ersten gültigen Minute des Fensters aus; ein Fenster ohne gültige Minute an diesem Tag, weil es ganz in der Lücke liegt, wird mit screen.reboot_skipped reason window_missed übersprungen (next_reboot_at zeigt die Minute, in der die Lücke endet). Eine Wiederholung bei der Umstellung auf Winterzeit löst einmal pro Fenster und lokalem Datum aus.

Ein Bildschirm, der online ist, erhält den Neustart sofort; ein Offline-Bildschirm behält ihn nur in der Warteschlange, bis sein Fenster endet (expires_at), sodass ein verspäteter Neustart nie außerhalb davon landet. Ein Termin ersetzt nie einen von einer Person angeforderten Neustart, der noch auf den Bildschirm wartet: Er wird mit screen.reboot_skipped reason reboot_pending übersprungen.

Eine Zeitzonenänderung bricht die noch wartenden geplanten Neustarts ab und verschiebt next_reboot_at in die neue Zone.

Ein Neustart, ob geplant oder angefordert, löst nach dem Senden zehn Minuten lang keinen screen_offline-, display_disconnected- oder crashing-Alarm aus, und eine Meldung zu einem davon, die in dieser Zeit fällig wird, wartet bis zum Ende des Zeitraums plus ihrer Wartezeit (eine crashing-Meldung wird als planned_reboot übersprungen). enabled false behält die Fenster und startet nichts neu.

Zeitfenster, die keine Lücke lassen, sodass kein Start folgt, sind invalid_request. Der Host-Hinweis des Bildschirms muss die Fähigkeit reboot deklarieren, sonst 409 reboot_unsupported und nichts wird gespeichert; ein Bildschirm, der sie später verliert, überspringt jedes Fenster mit screen.reboot_skipped und behält seinen Plan.

Hängt screen.reboot_schedule_changed an, erhöht die Revision (If-Match schützt sie) und erstellt das Manifest nie neu. Der Bildschirm muss aktiv sein.

Authentifizierung
projectBearer
Anfrageinhalt
ScreenRebootScheduleWrite
Operations-ID
setScreenRebootSchedule

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
If-MatchÜberschriftoptionalOptionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict.
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.

Anfrageinhalt-Felder

FeldBeschreibung
aktiviert (erforderlich, Boolean)
windows (erforderlich, Array)Neustartfenster: Das Backend startet den Bildschirm zu Beginn jedes Fensters in der Zeitzone des Bildschirms neu. Jedes ist 5 Minuten bis 24 Stunden lang.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request PUT --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID/reboot-schedule'

Antworten

StatusBedeutungTextkörper und Header
200Bildschirm mit seinem Neustartplan und next_reboot_at.Bildschirm (application/json); Header: ETag, 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)
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 — Geplante Neustarts sind Teil von Plus; enabled true erfordert sie, enabled false und DELETE nicht. Das Problem nennt die Funktion, den Plan des Projekts und required_plan.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)
412

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)
LÖSCHEN/api/screens/{id}/reboot-schedule

Neustartplan des Bildschirms löschen

Entfernt den Neustartplan und next_reboot_at; ein bereits ausgelöster Neustart wird nicht abgebrochen (POST /api/screens/{id}/commands/{command_id}/cancel bricht einen noch wartenden ab). Das Löschen, wenn keiner gesetzt ist, antwortet mit 200 unverändert.

Authentifizierung
projectBearer
Anfrageinhalt
keine
Operations-ID
clearScreenRebootSchedule

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
If-MatchÜberschriftoptionalOptionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict.
Idempotency-KeyÜberschriftoptionalFür einen frischen Vorgang weglassen. Geben Sie einen Schlüssel an und verwenden Sie ihn erneut, um Wiederholungen zu deduplizieren; die CLI verwaltet Schlüssel automatisch.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://screenrig.ai/api/screens/RESOURCE_ID/reboot-schedule'

Antworten

StatusBedeutungTextkörper und Header
200Bildschirm ohne Neustartplan.Bildschirm (application/json); Header: ETag, 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)
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)
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)
412

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/screens/{id}/toast

Post Screen Toast

Sendet einen einmaligen Bühnen-Chrome-Toast an den benannten Bildschirm. Ein Toast ist kein Primitiv: Er belegt keinen Leinwandplatz, hat keine Ebene und nimmt nie an Bereitstellung oder Überblendung teil. Der dauerhafte Ereignistyp ist screen.toast im bestehenden Laufzeit-SSE-Stream. Der Laufzeitscan liefert nach expires_at keinen Toast mehr, sodass ein gespeicherter Cursor ihn später nicht erneut abspielen kann.

Ebenenfarben sind Teil der Player-Oberfläche und keine API-Felder. Text ist 1 bis 120 Zeichen lang, Zeilenumbruch ist nur als Zeilenvorschub erlaubt, und maximal drei Zeilen werden akzeptiert; ein Player zeigt einen Toast in einer Zeile an, einen Zeilenvorschub als Leerzeichen.

Erkennbare ScreenRig-Zugangsdaten und andere Steuerzeichen werden abgelehnt. duration_ms hat standardmäßig 60000 und muss zwischen 2000 und 60000 liegen. Ein exakter Idempotency-Key-Wiederholungsversuch gibt die ursprüngliche expires_at für vierundzwanzig Stunden zurück. Latest-wins: Es gibt keine Warteschlange und kein Abbruch-Verb. Bildschirmnachrichten sind von der 1-Credit-API-Messung ausgenommen.

Ein Bildschirm in einem geschützten Bildschirmordner ist protected_target (409).

Authentifizierung
projectBearer
Anfrageinhalt
ScreenToastWrite
Operations-ID
postScreenToast

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
Idempotency-KeyÜberschrifterforderlich

Anfrageinhalt-Felder

FeldBeschreibung
Level (erforderlich, Zeichenkette)Geschlossener Schweregrad-Token. Player-Chrome wählt die Füllfarbe; die API überträgt nie eine Farbe. Erlaubt: "error", "alert", "info"
Text (erforderlich, string)

1 bis 120 Zeichen. Zeilenumbruch ist der einzige akzeptierte Zeilenumbruch. Maximal drei Zeilen; ein Player zeigt den Toast in einer Zeile an, einen Zeilenvorschub als Leerzeichen. Andere Steuerzeichen und erkennbare ScreenRig-Zugangsdaten werden abgelehnt. minLength: 1 maxLength: 120

duration_ms (optional, Ganzzahl)Sichtbare Dauer in Millisekunden. Weggelassene Werte standardmäßig 60000. Standard: 60000 Minimum: 2000 Maximum: 60000
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/toast'

Antworten

StatusBedeutungTextkörper und Header
202Akzeptiert. Der Toast ist bis expires_at dauerhaft. Ein exakter idempotenter Wiederholungsversuch gibt dieselbe Ablaufzeit zurück.ScreenToastAccepted (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)
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)
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

protected_target, wenn der Bildschirm in einem geschützten Bildschirmordner liegt (docs/screen-scope.md; den Schutz des Ordners über eine Überprüfung aufheben, die Änderung vornehmen, ihn wieder schützen), oder die anderen Konflikte der Operation.

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
403

outside_screen_scope - der Aufrufer ist auf Bildschirme beschränkt, und der Bildschirm, Bildschirmordner, Selektor oder die Zielgruppe, die die Anfrage nennt oder erreicht, liegt außerhalb davon (docs/screen-scope.md). Eine ID außerhalb des Bereichs und eine ID, die nicht existiert, erhalten dieselbe Antwort; errors[0].screen_scope trägt den Bereich des Aufrufers, und der Schreibvorgang wird vollständig abgelehnt, nie eingegrenzt.

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/screens/{id}/storage-forecast

Prognose Bildschirm-Speicher

Vorab-Fit-Trockenlauf: Beantwortet, ob eine Playlist auf den benannten Bildschirm passen würde, bevor sie zugewiesen wird, mit derselben Zielauswahl wie Screen.storage_forecast (die zuletzt gemeldete Kapazität des Bildschirms, nur Plan A.3, keine Übergangsvorhersage, nichts als lokal behandelt).

Es schreibt nichts: keine Zuweisung, keine Bildschirmrevision, kein Ereignis, und das storage_forecast-Lesemodell des Bildschirms bleibt unverändert. Der Projektträger ist maßgeblich; ein Bildschirm oder eine Playlist eines anderen Projekts ist not_found. Die Passung ist unbekannt, wenn der Bildschirm keinen Speicherbericht hat oder wenn die Inhaltsverweise der Playlist nicht bereit sind und beide Byte-Zahlen dann null sind.

Eine optionale playlist_revision lehnt eine Playlist ab, die sich seit dem Lesen durch den Aufrufer geändert hat, mit revision_conflict. Ein Bericht, der älter als 24 Stunden ist, ist veraltet, wird aber weiterhin wie Screen.storage_forecast prognostiziert.

Authentifizierung
projectBearer
Anfrageinhalt
ScreenStorageForecastRequest
Operations-ID
forecastScreenStorage

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich

Anfrageinhalt-Felder

FeldBeschreibung
playlist_id (erforderlich, Zeichenfolge)minLength: 1
playlist_revision (optional, Ganzzahl)Optionale erwartete Playlist-Revision. Eine andere gespeicherte Revision ist revision_conflict und es wird keine Prognose zurückgegeben. Minimum: 1
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/storage-forecast'

Antworten

StatusBedeutungTextkörper und Header
200Trockenlauf-Prognose. fit unknown bedeutet, dass keine Prognose möglich ist; die Byte-Anzahlen und received_at sind null.ScreenStorageForecastDryRun (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)
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)
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)
412revision_conflict – playlist_revision ist nicht die aktuelle Revision der Playlist; keine Prognose wird zurückgegeben.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
403

outside_screen_scope - der Aufrufer ist auf Bildschirme beschränkt, und der Bildschirm, Bildschirmordner, Selektor oder die Zielgruppe, die die Anfrage nennt oder erreicht, liegt außerhalb davon (docs/screen-scope.md). Eine ID außerhalb des Bereichs und eine ID, die nicht existiert, erhalten dieselbe Antwort; errors[0].screen_scope trägt den Bereich des Aufrufers, und der Schreibvorgang wird vollständig abgelehnt, nie eingegrenzt.

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/screens/{id}/campaigns

Bildschirmkampagnen erklären

Warum jede Kampagne des Projekts auf diesem Bildschirm abgespielt wird oder nicht, in Rangfolge, mit der wirksamen Playlist des Bildschirms. items und effective_playlist sind der aktuelle Stand des Bildschirms.

Mit at (und optional to) ist at derselbe Resolver, den der Grenzdurchlauf ausführt, zu diesem Zeitpunkt befragt, mit einem Urteil für die Übernahme, jede Kampagne und jeden Zeitplaneintrag (won, outranked, not_started, ended, outside_hours, off), der Playlist zu diesem Zeitpunkt und dem, was die Antwort nicht beurteilt.

Mit auch to listet at.timeline die Abschnitte zwischen at und to auf, in denen sich die Playlist nicht ändert. Zeitplan, Übernahme und Kampagnen werden so gelesen, wie sie jetzt sind.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
explainScreenCampaigns

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
umAbfrageoptional

Der zu erklärende Zeitpunkt, entweder RFC 3339 mit Zone (2026-03-08T09:30:00Z oder 2026-03-08T01:30:00-08:00) oder eine Uhrzeit auf der eigenen Uhr des Bildschirms (2026-03-08T09:30, optional mit Sekunden). Eine Uhrzeit, die die Sommerzeit überspringt oder wiederholt, wird mit invalid_request unter Nennung von at abgelehnt, und eine wiederholte nennt die zwei Zeitpunkte zur Auswahl.

Standardmäßig jetzt, wenn nur to angegeben ist.

bisAbfrageoptional

Ende der Zeitleiste der Wechsel, die bei at beginnt, in denselben zwei Formen wie at. Später als at, ohne Begrenzung, wie weit; eine Antwort listet höchstens 500 Abschnitte auf, wobei acht Tage ohne Änderung als einer zählen, und timeline_truncated zeigt an, dass sie vor Erreichen von to endete.

Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/screens/RESOURCE_ID/campaigns'

Antworten

StatusBedeutungTextkörper und Header
200Der Stand jeder Kampagne auf dem Bildschirm.ScreenCampaigns (application/json)
403

outside_screen_scope - der Aufrufer ist auf Bildschirme beschränkt, und der Bildschirm, Bildschirmordner, Selektor oder die Zielgruppe, die die Anfrage nennt oder erreicht, liegt außerhalb davon (docs/screen-scope.md). Eine ID außerhalb des Bereichs und eine ID, die nicht existiert, erhalten dieselbe Antwort; errors[0].screen_scope trägt den Bereich des Aufrufers, und der Schreibvorgang wird vollständig abgelehnt, nie eingegrenzt.

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/screens/{id}/screenshot

Bildschirm-Screenshot erhalten

Gibt das aktuelle, bereite WebP für den benannten Bildschirm zurück. Die optionale capture_id muss mit diesem bereiten Slot übereinstimmen. Eine benannte capture_id, die ohne Upload abgelaufen ist, ist screenshot_unavailable. Eine benannte capture_id, die durch eine spätere Anfrage ersetzt wurde, ist resource_conflict. Bilddaten sind niemals eine signierte URL oder ein Objekt-Schlüssel. Range wird nicht akzeptiert.

Bildschirmnachrichten sind von der 1-Credit-API-Abrechnung ausgenommen. Der ETag ist der starke SHA-256 des gespeicherten WebP. Eine Dashboard-Sitzungsantwort ist privat, no-cache, und ein Dashboard If-None-Match, der mit dem aktuellen Bild übereinstimmt, geprüft nach Auflösung von Bildschirm und Aufnahme im Projekt der Sitzung, gibt 304 zurück, ohne die gespeicherten Bytes zu öffnen.

Eine Projektträger-Antwort bleibt privat, no-store.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
getScreenScreenshot

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
capture_idAbfrageoptional
If-None-MatchÜberschriftoptionalStarker ETag eines Screenshots, den diese Route zurückgab. Wird für eine Dashboard-Sitzung berücksichtigt.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/screenshot'

Antworten

StatusBedeutungTextkörper und Header
200Aktuelles Standbild noch WebP.string (image/webp); Header: Content-Type, Content-Length, ETag, X-ScreenRig-Capture-ID, X-ScreenRig-Captured-At, Cache-Control, Content-Disposition
304

Nur Dashboard-Sitzung. Der ETag des aktuellen Bildes stimmt mit If-None-Match überein. Es wird kein Body erzeugt und der Objektspeicher wird nicht gelesen. Die Capture-Header benennen die aktuelle Aufnahme, die sich von der gespeicherten Antwort unterscheiden kann, wenn eine spätere Aufnahme auf dieselben Bytes kodiert wurde.

kein Körper; Header: ETag, Cache-Control, X-ScreenRig-Capture-ID, X-ScreenRig-Captured-At
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)
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)
403

outside_screen_scope - der Aufrufer ist auf Bildschirme beschränkt, und der Bildschirm, Bildschirmordner, Selektor oder die Zielgruppe, die die Anfrage nennt oder erreicht, liegt außerhalb davon (docs/screen-scope.md). Eine ID außerhalb des Bereichs und eine ID, die nicht existiert, erhalten dieselbe Antwort; errors[0].screen_scope trägt den Bereich des Aufrufers, und der Schreibvorgang wird vollständig abgelehnt, nie eingegrenzt.

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/screens/{id}/screenshot

Bildschirm-Screenshot anfordern

Fordert einen Standbild-Screenshot des benannten aktiven Bildschirms an. Neuere Anfragen ersetzen laufende capture_id und verursachen keinen 409. Der aktuelle bereite Slot bleibt, bis ein späterer Upload erfolgreich ist. capture_id ist ein optionales Umgebungspräfix, dann shot_ und ein zufälliger Suffix. expires_at ist 30 Sekunden nach Annahme.

Der dauerhafte Ereignistyp ist screen.screenshot_requested im bestehenden Runtime-SSE-Stream; der Runtime-Scan liefert es nach expires_at nie mehr. Ereignisdetails: name capture_id, expires_at, max_width_divisor 2, max_height_divisor 2, format image/webp, quality 80 und max_bytes 2097152. Bilddaten erscheinen nie im SSE.

Verbleibendes vorausbezahltes Guthaben ist kein Zugangshindernis, und dieser Bildschirm-Nachrichtenpfad ist von der 1-Credit-API-Messung ausgenommen. Ein exakter Idempotency-Key-Wiederholungsversuch gibt die ursprüngliche capture_id und expires_at für vierundzwanzig Stunden zurück.

Im Dashboard-Zugriffsweg darf die Anfrage wie POST /api/tab-shares von einer Chrome- oder Firefox-Erweiterung stammen, um einen geteilten Tab zu bestätigen (GET /api/screens/{id}/screenshot/status und GET /api/screens/{id}/screenshot brauchen keine Ursprungsregel).

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
requestScreenScreenshot

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
Idempotency-KeyÜberschrifterforderlich
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Idempotency-Key: REQUEST_ID' 'https://screenrig.ai/api/screens/RESOURCE_ID/screenshot'

Antworten

StatusBedeutungTextkörper und Header
202Akzeptiert. Die Anfrage ist bis expires_at dauerhaft. Ein exakter idempotenter Wiederholungsversuch gibt dieselbe capture_id und Ablaufzeit zurück.ScreenScreenshotAccepted (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)
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)
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)
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
403

outside_screen_scope - der Aufrufer ist auf Bildschirme beschränkt, und der Bildschirm, Bildschirmordner, Selektor oder die Zielgruppe, die die Anfrage nennt oder erreicht, liegt außerhalb davon (docs/screen-scope.md). Eine ID außerhalb des Bereichs und eine ID, die nicht existiert, erhalten dieselbe Antwort; errors[0].screen_scope trägt den Bereich des Aufrufers, und der Schreibvorgang wird vollständig abgelehnt, nie eingegrenzt.

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/screens/{id}/screenshot/status

Status des Bildschirm-Screenshots erhalten

Gibt die Statusmaschine für Screenshots des benannten Bildschirms zurück, wenn sie für dieses Projekt existiert. idle hat keine Anfrage und keinen bereiten Slot. pending ist die aktuelle capture_id vor expires_at ohne Upload. ready bedeutet, dass der letzte erfolgreiche Upload mit der aktuellen capture_id übereinstimmt. timed_out bedeutet, dass die aktuelle ID expires_at ohne Upload erreicht hat.

Timeout ist faul: Der erste Status-GET oder nächste POST nach Ablauf zeichnet es auf und fügt screen.screenshot_failed einmal mit Grund expired hinzu. Eine abgelaufene Anfrage löscht keinen älteren Bereit-Slot. Bildschirmnachrichten sind vom 1-Credit-API-Zähler ausgenommen.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
getScreenScreenshotStatus

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/screenshot/status'

Antworten

StatusBedeutungTextkörper und Header
200Screenshot-Status für den Bildschirm dieses Projekts.ScreenScreenshotStatus (application/json); Header: Cache-Control
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)
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)
403

outside_screen_scope - der Aufrufer ist auf Bildschirme beschränkt, und der Bildschirm, Bildschirmordner, Selektor oder die Zielgruppe, die die Anfrage nennt oder erreicht, liegt außerhalb davon (docs/screen-scope.md). Eine ID außerhalb des Bereichs und eine ID, die nicht existiert, erhalten dieselbe Antwort; errors[0].screen_scope trägt den Bereich des Aufrufers, und der Schreibvorgang wird vollständig abgelehnt, nie eingegrenzt.

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/screens/{id}/live

Live-Sitzung des Bildschirms abrufen

Returns the screen's live session after lazy expiry: idle when it has none, requested while the Player has been asked to publish, publishing once the media relay holds its video, ended with ended_reason (stopped, expired, consent_denied, consent_timeout, capture_failed, connection_failed or player_stopped; an open enum) for ten minutes after it ended. publisher.connected is true only while the Player's last report, at most 45 seconds old, said it is connected; it is the Player's own word, not proof of picture. 404 feature_unavailable when the server has no media relay configured.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
getScreenLive

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/live'

Antworten

StatusBedeutungTextkörper und Header
200Die Live-Sitzung des Bildschirms.LiveSession (application/json); Header: Cache-Control
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)
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)
403

outside_screen_scope - der Aufrufer ist auf Bildschirme beschränkt, und der Bildschirm, Bildschirmordner, Selektor oder die Zielgruppe, die die Anfrage nennt oder erreicht, liegt außerhalb davon (docs/screen-scope.md). Eine ID außerhalb des Bereichs und eine ID, die nicht existiert, erhalten dieselbe Antwort; errors[0].screen_scope trägt den Bereich des Aufrufers, und der Schreibvorgang wird vollständig abgelehnt, nie eingegrenzt.

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/screens/{id}/live

Live-Sitzung des Bildschirms starten

Starts live view of the named screen, or renews the one it has (docs/player-compatibility.md §6.10): sub-second video of what the screen plays, from the Player through a media relay to the dashboard. A screen has one live session, shared by every viewer.

Its lease runs duration_s from now (30 to 300, default 300) and a start or renewal sets lease_until to the later of its current end and that instant, never past max_until, five minutes after the session began. The session ends by itself at the latest then: nothing renews or restarts it, and a new session needs a new start.

Sie endet früher, wenn die Lease ohne Verlängerung abläuft, bei DELETE oder wenn der Player sie beendet; der Player hört etwa 20 Sekunden nach Ende der Lease auf zu senden.

With live_id the request only renews that session: when it is not the screen's live session (it ended, or the screen started another) the answer is 409 live_unavailable naming ended_reason, and no session starts or is extended.

Eine neue Sitzung hängt den Laufzeitbefehl pro Bildschirm player.live_publish an (Details live_id, at, expires_at sechzig Sekunden später, max_until; wird nach expires_at nie mehr zugestellt); eine Verlängerung sendet ihn nur erneut, wenn der Player nie beigetreten ist und der letzte Befehl abgelaufen ist.

The screen must be active and online and its host hint must declare the live_view capability: 409 live_unsupported (update the Player, or use a screenshot), 409 live_unavailable (offline), screen_archived. 404 feature_unavailable when the server has no media relay configured. 201 is a new session, 200 a renewed one; both return the LiveSession with a viewer_url that opens the dashboard viewer.

Der Zustand requested dauert, bis der Player sendet: Fragen Sie GET ab, bis publisher.connected gesetzt ist. Die Live-Ansicht ist kostenlos und vom API-Zähler mit 1 Credit ausgenommen, wie ein Screenshot.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
LiveStartRequest
Operations-ID
startScreenLive

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich

Anfrageinhalt-Felder

FeldBeschreibung
duration_s (optional, Integer)Wie lange die Lease ab jetzt läuft, in Sekunden. Eine Sitzung dauert höchstens fünf Minuten, unabhängig von der Lease. default: 300 minimum: 30 maximum: 300
live_id (optional, String)

Renew this session only. When it is not the screen's live session, the answer is live_unavailable (the detail names ended_reason) and nothing starts or is extended. Without it, a start begins a session when the screen has none. pattern: "^lv_[a-z2-7]{26}$"

Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID/live'

Antworten

StatusBedeutungTextkörper und Header
201Eine neue Live-Sitzung; der Player wurde aufgefordert zu senden.LiveSession (application/json); Header: Cache-Control, RateLimit-Policy, RateLimit
200Die Live-Sitzung des Bildschirms, verlängert.LiveSession (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)
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)
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)
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
403

outside_screen_scope - der Aufrufer ist auf Bildschirme beschränkt, und der Bildschirm, Bildschirmordner, Selektor oder die Zielgruppe, die die Anfrage nennt oder erreicht, liegt außerhalb davon (docs/screen-scope.md). Eine ID außerhalb des Bereichs und eine ID, die nicht existiert, erhalten dieselbe Antwort; errors[0].screen_scope trägt den Bereich des Aufrufers, und der Schreibvorgang wird vollständig abgelehnt, nie eingegrenzt.

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/screens/{id}/live

Live-Sitzung des Bildschirms beenden

Ends the screen's live session (ended_reason stopped), appends player.live_stop (details live_id, at, expires_at sixty seconds later), and closes its tracks on the media relay. 204 also when the screen has no live session. A Player that misses the command stops at its next heartbeat. 404 feature_unavailable when the server has no media relay configured.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
stopScreenLive

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/live'

Antworten

StatusBedeutungTextkörper und Header
204Beendet, oder es gab nichts zu beenden.kein Körper; Header: Cache-Control
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)
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)
403

outside_screen_scope - der Aufrufer ist auf Bildschirme beschränkt, und der Bildschirm, Bildschirmordner, Selektor oder die Zielgruppe, die die Anfrage nennt oder erreicht, liegt außerhalb davon (docs/screen-scope.md). Eine ID außerhalb des Bereichs und eine ID, die nicht existiert, erhalten dieselbe Antwort; errors[0].screen_scope trägt den Bereich des Aufrufers, und der Schreibvorgang wird vollständig abgelehnt, nie eingegrenzt.

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/screens/{id}/live/viewers

Live-Betrachter des Bildschirms anlegen

Öffnet einen Betrachter der Live-Sitzung des Bildschirms: eine neue Media-Relay-Sitzung, die das Video des Players abonniert, und das WebRTC-Angebot des Relays.

Apply offer with setRemoteDescription on an RTCPeerConnection built with ice_servers (short-lived credentials), create the answer, wait for ICE gathering to complete or two seconds, then PUT the answer to /api/screens/{id}/live/viewers/{viewer_id} within two minutes.

Candidates travel inside the SDP; there is no separate candidate call. 409 live_not_ready while the session is requested, 409 live_unavailable when the screen has no live session or it ended (the detail names ended_reason). 404 feature_unavailable when the server has no media relay configured.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
object
Operations-ID
createScreenLiveViewer

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID/live/viewers'

Antworten

StatusBedeutungTextkörper und Header
201Ein Betrachter und das Angebot des Relays.LiveViewer (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)
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)
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)
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
403

outside_screen_scope - der Aufrufer ist auf Bildschirme beschränkt, und der Bildschirm, Bildschirmordner, Selektor oder die Zielgruppe, die die Anfrage nennt oder erreicht, liegt außerhalb davon (docs/screen-scope.md). Eine ID außerhalb des Bereichs und eine ID, die nicht existiert, erhalten dieselbe Antwort; errors[0].screen_scope trägt den Bereich des Aufrufers, und der Schreibvorgang wird vollständig abgelehnt, nie eingegrenzt.

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/screens/{id}/live/viewers/{viewer_id}

Live-Betrachter des Bildschirms beantworten

Applies the viewer's WebRTC answer to the relay's offer. A viewer answers once, within two minutes of its offer; an unknown, expired, already answered or another screen's viewer_id is 404 not_found. 204 once the relay accepts the answer; media then flows from the relay to the viewer. 404 feature_unavailable when the server has no media relay configured.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
LiveViewerAnswer
Operations-ID
answerScreenLiveViewer

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
viewer_idPfaderforderlich

Anfrageinhalt-Felder

FeldBeschreibung
answer (erforderlich, SessionDescription)
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request PUT --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID/live/viewers/VIEWER_ID'

Antworten

StatusBedeutungTextkörper und Header
204Das Relay hat die Antwort akzeptiert.kein Körper; Header: Cache-Control
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)
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)
403

outside_screen_scope - der Aufrufer ist auf Bildschirme beschränkt, und der Bildschirm, Bildschirmordner, Selektor oder die Zielgruppe, die die Anfrage nennt oder erreicht, liegt außerhalb davon (docs/screen-scope.md). Eine ID außerhalb des Bereichs und eine ID, die nicht existiert, erhalten dieselbe Antwort; errors[0].screen_scope trägt den Bereich des Aufrufers, und der Schreibvorgang wird vollständig abgelehnt, nie eingegrenzt.

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/screens/{id}/live/frames

Live-Frames des Bildschirms starten

Starts JPEG frames of the screen's live session, for an agent that has HTTPS and no WebRTC: the media relay decodes the Player's published video and delivers one JPEG about every second, and GET /api/screens/{id}/live/frame returns the latest.

Die Sitzung muss senden (bis dahin 409 live_not_ready, 409 live_unavailable, wenn es keine gibt oder sie beendet ist; starten Sie eine mit POST /api/screens/{id}/live).

Frames are started once per session: asking again answers the same adapter's progress, and a Player that reconnects ends its frames, so ask again. state is starting until the first frame arrives, streaming while frames arrive, and silent when the adapter is older than fifteen seconds and none has arrived in that time (last_frame_at, when present, says when frames last came).

The frames end with the session. 404 feature_unavailable when the server has no media relay or no frames origin configured. Live frames are free and exempt from the 1-credit API meter, like a screenshot. They are what the Player's encoder sent, scaled and lossy; they do not replace a screenshot as proof of layout.

Authentifizierung
projectBearer
Anfrageinhalt
object
Operations-ID
startScreenLiveFrames

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/live/frames'

Antworten

StatusBedeutungTextkörper und Header
202Der Frame-Adapter und sein Fortschritt.LiveFrames (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)
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)
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)
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
403

outside_screen_scope - der Aufrufer ist auf Bildschirme beschränkt, und der Bildschirm, Bildschirmordner, Selektor oder die Zielgruppe, die die Anfrage nennt oder erreicht, liegt außerhalb davon (docs/screen-scope.md). Eine ID außerhalb des Bereichs und eine ID, die nicht existiert, erhalten dieselbe Antwort; errors[0].screen_scope trägt den Bereich des Aufrufers, und der Schreibvorgang wird vollständig abgelehnt, nie eingegrenzt.

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/screens/{id}/live/frame

Live-Frame des Bildschirms abrufen

Gibt das neueste JPEG-Frame der Live-Sitzung des Bildschirms zurück.

Without after it returns the latest frame there is; with after (the ScreenRig-Captured-At of the frame you already have) it returns the first frame captured later, waiting up to five seconds for one, so a loop that passes each answer's ScreenRig-Captured-At back as after receives every new frame once.

ScreenRig-Captured-At gibt an, wann das Backend das Frame empfangen hat.

When no new frame comes in time the answer is 409 live_not_ready with Retry-After: 1; 409 resource_conflict answers a session whose frames were not started (POST /api/screens/{id}/live/frames first, and again after the Player reconnects); 409 live_unavailable answers a session that has ended or whose adapter is silent.

Frames are relay-decoded JPEGs of the live stream, at most 1280 by 720: they show what the Player encoded and sent, not a screenshot. They end with the session (max_until at the latest). 404 feature_unavailable when the server has no media relay or no frames origin configured. Free and exempt from the 1-credit API meter.

Authentifizierung
projectBearer
Anfrageinhalt
keine
Operations-ID
getScreenLiveFrame

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
nachAbfrageoptionalGibt ein Frame zurück, das nach diesem Zeitpunkt aufgenommen wurde (RFC 3339, wie in ScreenRig-Captured-At).
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/live/frame'

Antworten

StatusBedeutungTextkörper und Header
200Das Frame.string (image/jpeg); Header: Content-Type, Content-Length, ETag, Cache-Control, ScreenRig-Live-Id, ScreenRig-Captured-At, ScreenRig-Frame-Width, ScreenRig-Frame-Height, 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)
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)
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)
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
403

outside_screen_scope - der Aufrufer ist auf Bildschirme beschränkt, und der Bildschirm, Bildschirmordner, Selektor oder die Zielgruppe, die die Anfrage nennt oder erreicht, liegt außerhalb davon (docs/screen-scope.md). Eine ID außerhalb des Bereichs und eine ID, die nicht existiert, erhalten dieselbe Antwort; errors[0].screen_scope trägt den Bereich des Aufrufers, und der Schreibvorgang wird vollständig abgelehnt, nie eingegrenzt.

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/live/frames

Live-Frames verbinden

The media relay's frame adapter connects here with a WebSocket upgrade; no client, agent or Player calls it. The token is the credential: POST /api/screens/{id}/live/frames hands it to the relay inside the adapter's endpoint and stores only its SHA-256.

Each binary message the relay sends is one protobuf Packet (field 1 sequenceNumber, field 2 timestamp, field 5 payload) whose payload is one whole JPEG of at most 2 MiB; anything else is skipped. The backend keeps the latest frame for fifteen seconds. One connection per token: a newer one replaces the older.

The connection is closed with 1000 when the live session ends, and a token of an ended session is refused with 401 before the upgrade. 404 feature_unavailable when the server has no frames origin configured.

Authentifizierung
keine
Anfrageinhalt
keine
Operations-ID
connectLiveFrames

Parameter

NameSendenErforderlich?Beschreibung
TokenAbfrageerforderlichDas Token des Adapters, 43 Zeichen.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request GET 'https://api.screenrig.ai/live/frames?token=TOKEN'

Antworten

StatusBedeutungTextkörper und Header
101Protokollwechsel zu WebSocket.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)
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/screens/{id}/health/history

Bildschirm-Gesundheitsverlauf erhalten

Der Gesundheitszustand, den ein Bildschirm im Zeitverlauf gemeldet hat. resolution=raw (Standard) gibt jeden akzeptierten Bericht in zeitlicher Reihenfolge zurück, geformt wie Screen.health ohne veraltet; resolution=hour gibt eine Zusammenfassung pro UTC-Stunde zurück (Berichte, Spitzen- und Durchschnittstemperatur, Spitzenlast und Speichernutzung, schwächstes Wi-Fi-Signal, ob das Display getrennt war, Spitzenanzahl von Abstürzen und Renderer-Neustarts). from (einschließlich) und to (ausschließlich) standardmäßig die letzten 24 Stunden; der Bereich beträgt höchstens 31 Tage für raw und 93 Tage für hour.

Eine Seite enthält höchstens limit Zeilen (Standard 100, maximal 500) mit next_cursor, null am Ende. Die Historie wird für die Ereignisaufbewahrung des Plans gespeichert. Rohberichte sind innerhalb von Sekunden in dieser Ansicht verfügbar, stündliche Zusammenfassungen innerhalb von etwa 5 Minuten. Ein Bildschirm eines anderen Projekts ist not_found. Screen.health, der neueste Bericht, bleibt unverändert.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
getScreenHealthHistory

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
FormatAbfrageoptionaljson (Standard) liefert den Bericht als JSON. csv, xlsx und pdf liefern dieselben Zeilen als Dateianhang (jede Seite eines seitenweisen Berichts, bis zu 50000 Zeilen).
vonAbfrageoptionalInklusive untere Grenze bei der Berichtszeit. Standardmäßig 24 Stunden vor to.
bisAbfrageoptionalExklusives oberes Limit für die Berichtszeit. Standard ist jetzt.
AuflösungAbfrageoptionalraw gibt jeden Bericht zurück; hour gibt eine Zusammenfassung pro UTC-Stunde zurück.
LimitAbfrageoptionalSeitengröße.
CursorAbfrageoptionalnext_cursor der vorherigen Seite mit denselben Filtern. Opaque.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/health/history'

Antworten

StatusBedeutungTextkörper und Header
200Eine Seite mit Berichten oder stündlichen Zusammenfassungen.ScreenHealthHistory (application/json); Header: Cache-Control
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)
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)
403

outside_screen_scope - der Aufrufer ist auf Bildschirme beschränkt, und der Bildschirm, Bildschirmordner, Selektor oder die Zielgruppe, die die Anfrage nennt oder erreicht, liegt außerhalb davon (docs/screen-scope.md). Eine ID außerhalb des Bereichs und eine ID, die nicht existiert, erhalten dieselbe Antwort; errors[0].screen_scope trägt den Bereich des Aufrufers, und der Schreibvorgang wird vollständig abgelehnt, nie eingegrenzt.

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/screens/{id}/uptime

Bildschirmverfügbarkeit erhalten

Tägliche Verfügbarkeit eines Bildschirms über inklusive UTC-Tage (day_to standardmäßig heute und day_from 29 Tage davor, maximal 366 Tage). Jede Zeile enthält die an diesem Tag aufgezeichneten Online- und Offline-Sekunden, Verfügbarkeit (Online über aufgezeichnete Zeit, null wenn nichts aufgezeichnet wurde) und Abdeckung (Anteil des Tages mit aufgezeichnetem Zustand).

Zeit ohne aufgezeichneten Zustand wird nie als Ausfallzeit gezählt: Sie verringert nur die Abdeckung. Das aktuelle offene Intervall des Bildschirms ist bis jetzt enthalten und markiert seine Tage live. Tage ohne Aufzeichnung haben keine Zeile. Offline wird aufgezeichnet, nachdem der Bildschirm 60 Sekunden lang nicht erreichbar war. Ein Bildschirm eines anderen Projekts ist not_found.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
getScreenUptime

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
FormatAbfrageoptionaljson (Standard) liefert den Bericht als JSON. csv, xlsx und pdf liefern dieselben Zeilen als Dateianhang (jede Seite eines seitenweisen Berichts, bis zu 50000 Zeilen).
day_fromAbfrageoptionalErster UTC-Tag, einschließlich. Standardmäßig 29 Tage vor day_to. Mit day_to umfasst höchstens 366 Tage.
day_toAbfrageoptionalLetzter UTC-Tag, inklusive. Standardmäßig heute (UTC).
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/uptime'

Antworten

StatusBedeutungTextkörper und Header
200Tägliche Betriebszeitzeilen, älteste zuerst.ScreenUptime (application/json); Header: Cache-Control
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)
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)
403

outside_screen_scope - der Aufrufer ist auf Bildschirme beschränkt, und der Bildschirm, Bildschirmordner, Selektor oder die Zielgruppe, die die Anfrage nennt oder erreicht, liegt außerhalb davon (docs/screen-scope.md). Eine ID außerhalb des Bereichs und eine ID, die nicht existiert, erhalten dieselbe Antwort; errors[0].screen_scope trägt den Bereich des Aufrufers, und der Schreibvorgang wird vollständig abgelehnt, nie eingegrenzt.

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/screens/{id}/presence

Bildschirmpräsenz erhalten

Die Online- und Offline-Übergänge des Bildschirms, neueste zuerst, aus seinen screen.online- und screen.offline-Ereignissen, unabhängig davon, was die Protokollspur speichert. since (einschließlich) und until (ausschließlich) begrenzen die Ereigniszeit; until standardmäßig jetzt und since maximal 30 Tage davor, höchstens 366 Tage. Übergänge werden für die Ereignisaufbewahrung des Plans gespeichert.

Eine Seite enthält höchstens limit Übergänge (Standard 100, maximal 500) mit next_cursor, null am Ende; geben Sie ihn wie zuvor zurück. Ein Offline-Übergang, den der Server erst beim erneuten Verbinden des Bildschirms bemerkte, trägt detected_on_reconnect, und sein at ist der Zeitpunkt, an dem die Präsenzlizenz endete. Offline wird aufgezeichnet, nachdem der Bildschirm 60 Sekunden lang nicht erreichbar war.

Ein Bildschirm eines anderen Projekts ist not_found.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
getScreenPresence

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
idPfaderforderlich
seitAbfrageoptionalInklusive untere Grenze bei der Übergangszeit des Ereignisses. Standardmäßig 30 Tage vor until.
bisAbfrageoptionalExklusives oberes Limit für die Übergangszeit des Ereignisses. Standard ist jetzt. until - since beträgt höchstens 366 Tage.
LimitAbfrageoptionalSeitengröße. Ein Wert außerhalb von 1-500 wird mit invalid_request abgelehnt, der limit benennt.
vorAbfrageoptionalnext_cursor der vorherigen Seite mit demselben since und until.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/presence'

Antworten

StatusBedeutungTextkörper und Header
200Präsenzübergänge, neueste zuerst.ScreenPresenceHistory (application/json); Header: Cache-Control
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)
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)
403

outside_screen_scope - der Aufrufer ist auf Bildschirme beschränkt, und der Bildschirm, Bildschirmordner, Selektor oder die Zielgruppe, die die Anfrage nennt oder erreicht, liegt außerhalb davon (docs/screen-scope.md). Eine ID außerhalb des Bereichs und eine ID, die nicht existiert, erhalten dieselbe Antwort; errors[0].screen_scope trägt den Bereich des Aufrufers, und der Schreibvorgang wird vollständig abgelehnt, nie eingegrenzt.

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/health/trend

Health Trend erhalten

Der Flottenzustand des Projekts nach UTC-Stunde: wie viele Bildschirme meldeten sich, und wie viele davon waren heiß (80 °C oder mehr), hatten ein getrenntes Display oder stürzten ab (3 oder mehr Abstürze in 24 Stunden). from (einschließlich) und to (ausschließlich) standardmäßig die letzten 24 Stunden, maximal 93 Tage; eine Seite enthält höchstens limit Zeilen (Standard 100, maximal 500) mit next_cursor, null am Ende.

Stunden hinken Berichten um bis zu etwa 5 Minuten hinterher. Einem auf Bildschirme beschränkten Aufrufer verweigert (outside_screen_scope); GET /api/screens/{id}/health/history ist die Form pro Bildschirm.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
getHealthTrend

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
FormatAbfrageoptionaljson (Standard) liefert den Bericht als JSON. csv, xlsx und pdf liefern dieselben Zeilen als Dateianhang (jede Seite eines seitenweisen Berichts, bis zu 50000 Zeilen).
vonAbfrageoptionalInklusive untere Grenze bei der Berichtszeit. Standardmäßig 24 Stunden vor to.
bisAbfrageoptionalExklusives oberes Limit für die Berichtszeit. Standard ist jetzt.
LimitAbfrageoptionalSeitengröße.
CursorAbfrageoptionalnext_cursor der vorherigen Seite mit denselben Filtern. Opaque.
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/health/trend'

Antworten

StatusBedeutungTextkörper und Header
200Eine Seite mit stündlicher Flotten-Gesundheit.HealthTrend (application/json); Header: Cache-Control
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)
403

outside_screen_scope - der Aufrufer ist auf Bildschirme beschränkt, und der Bildschirm, Bildschirmordner, Selektor oder die Zielgruppe, die die Anfrage nennt oder erreicht, liegt außerhalb davon (docs/screen-scope.md). Eine ID außerhalb des Bereichs und eine ID, die nicht existiert, erhalten dieselbe Antwort; errors[0].screen_scope trägt den Bereich des Aufrufers, und der Schreibvorgang wird vollständig abgelehnt, nie eingegrenzt.

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/uptime/daily

Projektverfügbarkeit erhalten

Tägliche Verfügbarkeit der Bildschirme des Projekts über inklusive UTC-Tage (Standards und Bereich wie GET /api/screens/{id}/uptime). Jede Zeile summiert die Online- und Offline-Sekunden der Bildschirme mit aufgezeichnetem Zustand an diesem Tag; Abdeckung ist der Anteil des Tages dieser Bildschirme mit aufgezeichnetem Zustand.

Intervalle zählen, wenn sie enden, sodass die Zeile von heute die bisher beendeten Intervalle abdeckt; die Live-Online-Zahl steht in der Dashboard-Zusammenfassung. Einem auf Bildschirme beschränkten Aufrufer verweigert (outside_screen_scope); GET /api/screens/{id}/uptime ist die Form pro Bildschirm.

Authentifizierung
projectBearer ODER dashboardSession
Anfrageinhalt
keine
Operations-ID
getProjectUptime

Parameter

NameSendenErforderlich?Beschreibung
ScreenRig-ProjectÜberschriftoptionalFür eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch.
FormatAbfrageoptionaljson (Standard) liefert den Bericht als JSON. csv, xlsx und pdf liefern dieselben Zeilen als Dateianhang (jede Seite eines seitenweisen Berichts, bis zu 50000 Zeilen).
day_fromAbfrageoptionalErster UTC-Tag, einschließlich. Standardmäßig 29 Tage vor day_to. Mit day_to umfasst höchstens 366 Tage.
day_toAbfrageoptionalLetzter UTC-Tag, inklusive. Standardmäßig heute (UTC).
Anfragevorlage und Antworten
Shell · Anfragevorlage
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/uptime/daily'

Antworten

StatusBedeutungTextkörper und Header
200Tägliche Betriebszeitzeilen, älteste zuerst.ProjectUptime (application/json); Header: Cache-Control
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)
403

outside_screen_scope - der Aufrufer ist auf Bildschirme beschränkt, und der Bildschirm, Bildschirmordner, Selektor oder die Zielgruppe, die die Anfrage nennt oder erreicht, liegt außerhalb davon (docs/screen-scope.md). Eine ID außerhalb des Bereichs und eine ID, die nicht existiert, erhalten dieselbe Antwort; errors[0].screen_scope trägt den Bereich des Aufrufers, und der Schreibvorgang wird vollständig abgelehnt, nie eingegrenzt.

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)