OpenAPI YAMLOpenAPI JSONProbleme YAMLAPI-Überblick
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
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| Status | Abfrage | optional | Für pairing_pending und active weglassen. Archivierte Bildschirme nur mit archived auflisten. |
| Tag | Abfrage | optional | Exaktes Bildschirm-Tag. Bildschirme ohne Tag werden bei aktiviertem Filter ausgelassen. |
| field | Abfrage | optional | 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. |
| near | Abfrage | optional | 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. |
| Ordner | Abfrage | optional | Eine 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. |
| nach | Abfrage | optional | next_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
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Bildschirme | ScreenList (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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
Anfragevorlage und Antworten
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screen-folders'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Bildschirmordner | ScreenFolderList (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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| Idempotency-Key | Überschrift | optional | Fü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
| Feld | Beschreibung |
|---|---|
| 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
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 201 | Ordner 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) |
| 403 | outside_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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich |
Anfragevorlage und Antworten
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screen-folders/RESOURCE_ID'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Ein 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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| If-Match | Überschrift | optional | Optionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict. |
| Idempotency-Key | Überschrift | optional | Fü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
| Feld | Beschreibung |
|---|---|
| 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
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Ordner 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) |
| 402 | feature_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) |
| 403 | outside_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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| If-Match | Überschrift | optional | Optionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict. |
| Idempotency-Key | Überschrift | optional | Fü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
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screen-folders/RESOURCE_ID'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Gelö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) |
| 403 | outside_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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| Idempotency-Key | Überschrift | optional | Fü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
| Feld | Beschreibung |
|---|---|
| folder_id (erforderlich, inline) | Zielordner; null für die Projektwurzel. |
| screen_ids (optional, array) | |
| folder_ids (optional, Array) |
Anfragevorlage und Antworten
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Wie 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) |
| 403 | outside_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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| von | Abfrage | erforderlich | |
| bis | Abfrage | erforderlich | |
| screen_id | Abfrage | optional | |
| folder_id | Abfrage | optional | |
| Tag | Abfrage | optional | |
| campaign_id | Abfrage | optional |
Anfragevorlage und Antworten
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Der 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) |
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).
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| Idempotency-Key | Überschrift | erforderlich |
Anfrageinhalt-Felder
| Feld | Beschreibung |
|---|---|
| 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
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 201 | Dauerhafte 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) |
| 403 | outside_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) |
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).
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| Idempotency-Key | Überschrift | erforderlich |
Anfrageinhalt-Felder
| Feld | Beschreibung |
|---|---|
| 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
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 201 | Neuer 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) |
| 403 | outside_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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| Screenrig-Review-Note | Überschrift | optional | 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 | Überschrift | optional | Fü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. |
| nach | Abfrage | optional | next_cursor von der vorherigen Ergebnissseite. Verwenden Sie den ursprünglichen Idempotency-Key und den Anforderungskörper erneut. |
Anfrageinhalt-Felder
| Feld | Beschreibung |
|---|---|
| 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
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/screens/actions'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Pro 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) |
| 403 | insufficient_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) |
Bildschirm erhalten
Gibt pairing_pending, aktive und archivierte Bildschirme zurück. Gelöschte Bildschirme werden nicht gefunden.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich |
Anfragevorlage und Antworten
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Bildschirm | 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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| Screenrig-Review-Note | Überschrift | optional | 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 | Überschrift | optional | Optionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict. |
| Idempotency-Key | Überschrift | optional | Fü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
| Feld | Beschreibung |
|---|---|
| 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
curl --request PATCH --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/screens/RESOURCE_ID'Antworten
| Status | Bedeutung | Textkö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) |
| 200 | Bildschirm | Bildschirm (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) |
| 403 | outside_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) |
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).
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| If-Match | Überschrift | optional | Optionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict. |
| Idempotency-Key | Überschrift | optional | Fü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
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 204 | Bildschirm 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) |
| 409 | screen_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) |
| 412 | revision_conflict – If-Match ist veraltet; die aktuelle Revision ist im Fehlerfeld current_revision enthalten. | Problem (application/problem+json) |
| 403 | outside_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-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).
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| id | Pfad | erforderlich | |
| If-Match | Überschrift | erforderlich | Die aktuelle Revision des Bildschirms, zitiert oder unverändert (das ETag der letzten Leseoperation). Eine veraltete Revision ist revision_conflict mit current_revision. |
| Idempotency-Key | Überschrift | optional | Fü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
| Feld | Beschreibung |
|---|---|
| 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
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Der Bildschirm, wie er jetzt gespeichert ist; ETag trägt seine Revision. | Bildschirm (application/json); Header: ETag |
| 412 | revision_conflict – If-Match ist veraltet; die aktuelle Revision ist im Fehlerfeld current_revision enthalten. | Problem (application/problem+json) |
| 403 | outside_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) |
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).
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| id | Pfad | erforderlich | |
| If-Match | Überschrift | erforderlich | Die aktuelle Revision des Bildschirms, zitiert oder unverändert (das ETag der letzten Leseoperation). Eine veraltete Revision ist revision_conflict mit current_revision. |
| Idempotency-Key | Überschrift | optional | Fü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
| Feld | Beschreibung |
|---|---|
| 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
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Der Bildschirm, wie er jetzt gespeichert ist; ETag trägt seine Revision. | Bildschirm (application/json); Header: ETag |
| 412 | revision_conflict – If-Match ist veraltet; die aktuelle Revision ist im Fehlerfeld current_revision enthalten. | Problem (application/problem+json) |
| 403 | outside_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) |
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).
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| id | Pfad | erforderlich | |
| If-Match | Überschrift | erforderlich | Die aktuelle Revision des Bildschirms, zitiert oder unverändert (das ETag der letzten Leseoperation). Eine veraltete Revision ist revision_conflict mit current_revision. |
| Idempotency-Key | Überschrift | optional | Fü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
| Feld | Beschreibung |
|---|---|
| location (erforderlich, inline) | Wo sich der Bildschirm befindet: Das Objekt ersetzt den gesamten Standort, und null löscht ihn. |
Anfragevorlage und Antworten
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Der Bildschirm, wie er jetzt gespeichert ist; ETag trägt seine Revision. | Bildschirm (application/json); Header: ETag |
| 412 | revision_conflict – If-Match ist veraltet; die aktuelle Revision ist im Fehlerfeld current_revision enthalten. | Problem (application/problem+json) |
| 403 | outside_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) |
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).
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| id | Pfad | erforderlich | |
| If-Match | Überschrift | erforderlich | Die aktuelle Revision des Bildschirms, zitiert oder unverändert (das ETag der letzten Leseoperation). Eine veraltete Revision ist revision_conflict mit current_revision. |
| Idempotency-Key | Überschrift | optional | Fü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
| Feld | Beschreibung |
|---|---|
| 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
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Der Bildschirm, wie er jetzt gespeichert ist; ETag trägt seine Revision. | Bildschirm (application/json); Header: ETag |
| 412 | revision_conflict – If-Match ist veraltet; die aktuelle Revision ist im Fehlerfeld current_revision enthalten. | Problem (application/problem+json) |
| 403 | outside_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) |
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).
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| id | Pfad | erforderlich | |
| If-Match | Überschrift | erforderlich | Die aktuelle Revision des Bildschirms, zitiert oder unverändert (das ETag der letzten Leseoperation). Eine veraltete Revision ist revision_conflict mit current_revision. |
| Idempotency-Key | Überschrift | optional | Fü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
| Feld | Beschreibung |
|---|---|
| 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
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Der Bildschirm, wie er jetzt gespeichert ist; ETag trägt seine Revision. | Bildschirm (application/json); Header: ETag |
| 412 | revision_conflict – If-Match ist veraltet; die aktuelle Revision ist im Fehlerfeld current_revision enthalten. | Problem (application/problem+json) |
| 403 | outside_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) |
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).
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| id | Pfad | erforderlich | |
| If-Match | Überschrift | erforderlich | Die aktuelle Revision des Bildschirms, zitiert oder unverändert (das ETag der letzten Leseoperation). Eine veraltete Revision ist revision_conflict mit current_revision. |
| Idempotency-Key | Überschrift | optional | Fü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
| Feld | Beschreibung |
|---|---|
| Name (erforderlich, Zeichenkette) | Der Name des Bildschirms, getrimmt; 1 bis 120 Zeichen nach dem Trimmen, ohne Steuerzeichen. minLength: 1 maxLength: 120 |
Anfragevorlage und Antworten
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Der Bildschirm, wie er jetzt gespeichert ist; ETag trägt seine Revision. | Bildschirm (application/json); Header: ETag |
| 412 | revision_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) |
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).
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| id | Pfad | erforderlich | |
| If-Match | Überschrift | erforderlich | Die aktuelle Revision des Bildschirms, zitiert oder unverändert (das ETag der letzten Leseoperation). Eine veraltete Revision ist revision_conflict mit current_revision. |
| Idempotency-Key | Überschrift | optional | Fü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
| Feld | Beschreibung |
|---|---|
| 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
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Der Bildschirm, wie er jetzt gespeichert ist; ETag trägt seine Revision. | Bildschirm (application/json); Header: ETag |
| 412 | revision_conflict – If-Match ist veraltet; die aktuelle Revision ist im Fehlerfeld current_revision enthalten. | Problem (application/problem+json) |
| 403 | outside_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) |
Screen Public Id rotieren
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| If-Match | Überschrift | optional | Optionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict. |
| Idempotency-Key | Überschrift | optional | Fü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
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/public-id/rotate'Antworten
| Status | Bedeutung | Textkö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) |
Bildschirmlink abrufen
Der Link des Bildschirms, die Player-URL, die diesen Bildschirm in einem Browser öffnet, der keinen Speicher behält, etwa in einer vMix- oder OBS-Browserquelle. Die url ist eine Anmeldeinformation: Unterhalb von effektivem Manage ist sie leer und url_redacted ist true. Erfordert die Fähigkeit screens selbst. screen_link_not_found, wenn der Bildschirm keinen hat.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich |
Anfragevorlage und Antworten
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/screens/RESOURCE_ID/link'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Der Link des Bildschirms. | ScreenLink (application/json); Header: Cache-Control |
| 404 | not_found für einen Bildschirm außerhalb des Projekts; screen_link_not_found für einen Bildschirm ohne Link. | 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) |
Bildschirmlink erstellen
Stellt den Link des Bildschirms aus und gibt seine url zurück; ein vorhandener Link des Bildschirms wird ersetzt (replaced gibt an, ob). Der Bildschirm muss aktiv und einmal mit seinem Code gekoppelt worden sein (resource_conflict, solange er keinen gekoppelten Player hat, screen_archived, wenn er archiviert ist).
Ein Ersetzen erhöht content_access_generation des Bildschirms und stellt seine aktiven Freigaben neu aus, wie bei einer Rotation der öffentlichen ID, sodass jede Sitzung, die der alte Link geöffnet hat, sofort endet; schlüsselgebundene Player des Bildschirms stellen von selbst eine neue Sitzung aus. Der erste Link erhöht nichts. Ein Link ist keine Gerätebindung: Die Schlüssel des Bildschirms bleiben unberührt.
Hängt screen.link_changed an (details.action created oder replaced). If-Match ist optional. Die url ist eine Anmeldeinformation: Öffnen Sie sie an einer einzigen Stelle.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| If-Match | Überschrift | optional | Optionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict. |
| Idempotency-Key | Überschrift | optional | Fü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
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/screens/RESOURCE_ID/link'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Der neue Link des Bildschirms. | ScreenLink (application/json); Header: ETag, Cache-Control |
| 409 | resource_conflict (noch kein gekoppelter Player) oder screen_archived. | Problem (application/problem+json) |
| 412 | revision_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) |
Bildschirmlink löschen
Deaktiviert den Link des Bildschirms. Die alte url funktioniert sofort nicht mehr, und jede Sitzung, die sie geöffnet hat, endet, wie bei einem Ersetzen. Gelingt ohne Änderung, wenn der Bildschirm keinen Link hat. Hängt screen.link_changed an (details.action deleted), wenn ein Link existierte. If-Match ist optional.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| If-Match | Überschrift | optional | Optionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict. |
| Idempotency-Key | Überschrift | optional | Fü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
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/screens/RESOURCE_ID/link'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 204 | Gelöscht, oder es gab keinen. | kein Körper |
| 412 | revision_conflict. | 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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| If-Match | Überschrift | optional | Optionale positive Ressourcenrevision. Weglassen, um einen Schlüssel zu erstellen oder zu überschreiben; eine übergebene veraltete Revision ist revision_conflict. |
| Idempotency-Key | Überschrift | optional | Fü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
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Bildschirm 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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| If-Match | Überschrift | optional | Optionale positive Ressourcenrevision. Weglassen, um einen Schlüssel zu erstellen oder zu überschreiben; eine übergebene veraltete Revision ist revision_conflict. |
| Idempotency-Key | Überschrift | optional | Fü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
| Feld | Beschreibung |
|---|---|
| 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
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Das 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) |
| 409 | resource_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) |
| 403 | outside_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) |
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).
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| If-Match | Überschrift | optional | Optionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict. |
| Idempotency-Key | Überschrift | optional | Fü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
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/archive'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Bildschirm 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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| If-Match | Überschrift | optional | Optionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict. |
| Idempotency-Key | Überschrift | optional | Fü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
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/unarchive'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Bildschirm 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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| If-Match | Überschrift | optional | Optionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict. |
| Idempotency-Key | Überschrift | optional | Fü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
| Feld | Beschreibung |
|---|---|
| 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
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
| Status | Bedeutung | Textkö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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich |
Anfragevorlage und Antworten
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/playlist-schedule'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Playlist-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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| Screenrig-Review-Note | Überschrift | optional | 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 | Überschrift | optional | Optionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict. |
| Idempotency-Key | Überschrift | optional | Fü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
| Feld | Beschreibung |
|---|---|
| Einträge (erforderlich, Array) | Prioritätsreihenfolge: Der erste passende Eintrag gewinnt. DELETE löscht den Zeitplan. |
Anfragevorlage und Antworten
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 202 | Der 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 |
| 200 | Bildschirm 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 |
| 403 | outside_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) |
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).
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| Screenrig-Review-Note | Überschrift | optional | 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 | Überschrift | optional | Optionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict. |
| Idempotency-Key | Überschrift | optional | Fü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
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/playlist-schedule'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 202 | Der 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 |
| 200 | Bildschirm 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 |
| 403 | outside_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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich |
Anfrageinhalt-Felder
| Feld | Beschreibung |
|---|---|
| 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
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Die 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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| nach | Abfrage | optional | next_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
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Die 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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| Revision | Pfad | erforderlich | Eine Revision des Datensatzes, wie ihre Revisionsliste sie nummeriert. |
| Screenrig-Review-Note | Überschrift | optional | 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 | Überschrift | optional | Optionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict. |
| Idempotency-Key | Überschrift | optional | Fü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
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 202 | Der 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 |
| 200 | Bildschirm 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) |
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).
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| Screenrig-Review-Note | Überschrift | optional | 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 | Überschrift | optional | Optionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict. |
| Idempotency-Key | Überschrift | optional | Fü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
| Feld | Beschreibung |
|---|---|
| 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
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 202 | Der 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 |
| 200 | Bildschirm 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 |
| 403 | outside_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) |
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).
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| Screenrig-Review-Note | Überschrift | optional | 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 | Überschrift | optional | Optionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict. |
| Idempotency-Key | Überschrift | optional | Fü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
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/takeover'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 202 | Der 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 |
| 200 | Bildschirm 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 |
| 403 | outside_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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
Anfrageinhalt-Felder
| Feld | Beschreibung |
|---|---|
| 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
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Die 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 |
| 403 | outside_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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich |
Anfragevorlage und Antworten
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/tab-shares/RESOURCE_ID'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Die 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) |
| 403 | outside_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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich |
Anfragevorlage und Antworten
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/tab-shares/RESOURCE_ID'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Die 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 |
| 403 | outside_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) |
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).
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| Idempotency-Key | Überschrift | erforderlich |
Anfrageinhalt-Felder
| Feld | Beschreibung |
|---|---|
| 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
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 202 | Akzeptiert. 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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| Idempotency-Key | Überschrift | optional | Fü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
| Feld | Beschreibung |
|---|---|
| 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
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 202 | Akzeptiert. 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) |
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).
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| If-Match | Überschrift | optional | Optionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict. |
| Idempotency-Key | Überschrift | optional | Fü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
| Feld | Beschreibung |
|---|---|
| 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
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Bildschirm 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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| If-Match | Überschrift | optional | Optionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict. |
| Idempotency-Key | Überschrift | optional | Fü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
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/resume'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Bildschirm 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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| If-Match | Überschrift | optional | Optionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict. |
| Idempotency-Key | Überschrift | optional | Fü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
| Feld | Beschreibung |
|---|---|
| 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
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
| Status | Bedeutung | Textkö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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| If-Match | Überschrift | optional | Optionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict. |
| Idempotency-Key | Überschrift | optional | Fü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
| Feld | Beschreibung |
|---|---|
| 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
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
| Status | Bedeutung | Textkö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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| If-Match | Überschrift | optional | Optionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict. |
| Idempotency-Key | Überschrift | optional | Fü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
| Feld | Beschreibung |
|---|---|
| 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
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
| Status | Bedeutung | Textkö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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| If-Match | Überschrift | optional | Optionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict. |
| Idempotency-Key | Überschrift | optional | Fü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
| Feld | Beschreibung |
|---|---|
| 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
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
| Status | Bedeutung | Textkö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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| Cursor | Abfrage | optional | Der next_cursor der vorherigen Seite. |
| Limit | Abfrage | optional |
Anfragevorlage und Antworten
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/commands'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Eine 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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| command_id | Pfad | erforderlich | Die ID eines der Befehle des Bildschirms: die ID in Screen.commands oder die reboot_id bzw. reload_id der 202-Antwort. |
| If-Match | Überschrift | optional | Optionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict. |
| Idempotency-Key | Überschrift | optional | Fü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
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Der 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) |
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).
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| If-Match | Überschrift | optional | Optionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict. |
| Idempotency-Key | Überschrift | optional | Fü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
| Feld | Beschreibung |
|---|---|
| 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
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Bildschirm 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 |
| 403 | outside_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) |
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).
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| If-Match | Überschrift | optional | Optionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict. |
| Idempotency-Key | Überschrift | optional | Fü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
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/display'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Bildschirm 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 |
| 403 | outside_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) |
Bildschirm-Display-Zeitplan erhalten
Gibt display_schedule zurück (null, wenn keiner vorhanden) und den Anzeigestatus des Bildschirms. Das ETag ist die Bildschirmrevision.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich |
Anfragevorlage und Antworten
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/display-schedule'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Anzeigeplan. | 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) |
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).
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| If-Match | Überschrift | optional | Optionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict. |
| Idempotency-Key | Überschrift | optional | Fü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
| Feld | Beschreibung |
|---|---|
| aktiviert (erforderlich, Boolean) | |
| windows (erforderlich, Array) | Auf Windows. |
Anfragevorlage und Antworten
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Bildschirm 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 |
| 403 | outside_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) |
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).
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| If-Match | Überschrift | optional | Optionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict. |
| Idempotency-Key | Überschrift | optional | Fü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
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/display-schedule'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Bildschirm 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 |
| 403 | outside_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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich |
Anfragevorlage und Antworten
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Neustartplan. | 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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| If-Match | Überschrift | optional | Optionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict. |
| Idempotency-Key | Überschrift | optional | Fü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
| Feld | Beschreibung |
|---|---|
| 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
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Bildschirm 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) |
| 402 | feature_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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| If-Match | Überschrift | optional | Optionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict. |
| Idempotency-Key | Überschrift | optional | Fü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
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://screenrig.ai/api/screens/RESOURCE_ID/reboot-schedule'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Bildschirm 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 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).
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| Idempotency-Key | Überschrift | erforderlich |
Anfrageinhalt-Felder
| Feld | Beschreibung |
|---|---|
| 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
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 202 | Akzeptiert. 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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich |
Anfrageinhalt-Felder
| Feld | Beschreibung |
|---|---|
| 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
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Trockenlauf-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) |
| 412 | revision_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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| um | Abfrage | optional | 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. |
| bis | Abfrage | optional | 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
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Der 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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| capture_id | Abfrage | optional | |
| If-None-Match | Überschrift | optional | Starker ETag eines Screenshots, den diese Route zurückgab. Wird für eine Dashboard-Sitzung berücksichtigt. |
Anfragevorlage und Antworten
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/screenshot'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Aktuelles 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) |
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).
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| Idempotency-Key | Überschrift | erforderlich |
Anfragevorlage und Antworten
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 202 | Akzeptiert. 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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich |
Anfragevorlage und Antworten
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Screenshot-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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich |
Anfragevorlage und Antworten
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/live'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Die 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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich |
Anfrageinhalt-Felder
| Feld | Beschreibung |
|---|---|
| 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
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 201 | Eine neue Live-Sitzung; der Player wurde aufgefordert zu senden. | LiveSession (application/json); Header: Cache-Control, RateLimit-Policy, RateLimit |
| 200 | Die 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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich |
Anfragevorlage und Antworten
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/live'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 204 | Beendet, 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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich |
Anfragevorlage und Antworten
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 201 | Ein 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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| viewer_id | Pfad | erforderlich |
Anfrageinhalt-Felder
| Feld | Beschreibung |
|---|---|
| answer (erforderlich, SessionDescription) |
Anfragevorlage und Antworten
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 204 | Das 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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich |
Anfragevorlage und Antworten
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 202 | Der 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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| nach | Abfrage | optional | Gibt ein Frame zurück, das nach diesem Zeitpunkt aufgenommen wurde (RFC 3339, wie in ScreenRig-Captured-At). |
Anfragevorlage und Antworten
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/screens/RESOURCE_ID/live/frame'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Das 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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| Token | Abfrage | erforderlich | Das Token des Adapters, 43 Zeichen. |
Anfragevorlage und Antworten
curl --request GET 'https://api.screenrig.ai/live/frames?token=TOKEN'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 101 | Protokollwechsel 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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| Format | Abfrage | optional | json (Standard) liefert den Bericht als JSON. csv, xlsx und pdf liefern dieselben Zeilen als Dateianhang (jede Seite eines seitenweisen Berichts, bis zu 50000 Zeilen). |
| von | Abfrage | optional | Inklusive untere Grenze bei der Berichtszeit. Standardmäßig 24 Stunden vor to. |
| bis | Abfrage | optional | Exklusives oberes Limit für die Berichtszeit. Standard ist jetzt. |
| Auflösung | Abfrage | optional | raw gibt jeden Bericht zurück; hour gibt eine Zusammenfassung pro UTC-Stunde zurück. |
| Limit | Abfrage | optional | Seitengröße. |
| Cursor | Abfrage | optional | next_cursor der vorherigen Seite mit denselben Filtern. Opaque. |
Anfragevorlage und Antworten
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
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Eine 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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| Format | Abfrage | optional | json (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_from | Abfrage | optional | Erster UTC-Tag, einschließlich. Standardmäßig 29 Tage vor day_to. Mit day_to umfasst höchstens 366 Tage. |
| day_to | Abfrage | optional | Letzter UTC-Tag, inklusive. Standardmäßig heute (UTC). |
Anfragevorlage und Antworten
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/uptime'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Tä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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| seit | Abfrage | optional | Inklusive untere Grenze bei der Übergangszeit des Ereignisses. Standardmäßig 30 Tage vor until. |
| bis | Abfrage | optional | Exklusives oberes Limit für die Übergangszeit des Ereignisses. Standard ist jetzt. until - since beträgt höchstens 366 Tage. |
| Limit | Abfrage | optional | Seitengröße. Ein Wert außerhalb von 1-500 wird mit invalid_request abgelehnt, der limit benennt. |
| vor | Abfrage | optional | next_cursor der vorherigen Seite mit demselben since und until. |
Anfragevorlage und Antworten
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/screens/RESOURCE_ID/presence'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Prä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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| Format | Abfrage | optional | json (Standard) liefert den Bericht als JSON. csv, xlsx und pdf liefern dieselben Zeilen als Dateianhang (jede Seite eines seitenweisen Berichts, bis zu 50000 Zeilen). |
| von | Abfrage | optional | Inklusive untere Grenze bei der Berichtszeit. Standardmäßig 24 Stunden vor to. |
| bis | Abfrage | optional | Exklusives oberes Limit für die Berichtszeit. Standard ist jetzt. |
| Limit | Abfrage | optional | Seitengröße. |
| Cursor | Abfrage | optional | next_cursor der vorherigen Seite mit denselben Filtern. Opaque. |
Anfragevorlage und Antworten
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/health/trend'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Eine 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) |
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.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| Format | Abfrage | optional | json (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_from | Abfrage | optional | Erster UTC-Tag, einschließlich. Standardmäßig 29 Tage vor day_to. Mit day_to umfasst höchstens 366 Tage. |
| day_to | Abfrage | optional | Letzter UTC-Tag, inklusive. Standardmäßig heute (UTC). |
Anfragevorlage und Antworten
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/uptime/daily'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Tä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) |
Flottenlinks auflisten
Listet die Flottenlinks des Projekts auf, älteste zuerst (maximal 50). Unter Effektiv Verwalten ist jede URL leer und url_redacted ist wahr, da die URL Bildschirme erstellt.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
Anfragevorlage und Antworten
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/fleet-links'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Die Flotten-Links des Projekts. | FleetLinkList (application/json); Header: Cache-Control |
| 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) |
Flottenlink erstellen
Erstellt einen Flotten-Link: eine Player-URL (https://play.<domain>/player/#fleet=<secret>), die jedes Gerät, das sie öffnet, in seinen eigenen Bildschirm in diesem Projekt verwandelt, ohne Kopplungscode. Legen Sie ihn in einem Gerätemanager ab, z. B. einer Google Admin Console Kiosk-App.
Jeder neue Bildschirm erhält die Tags, Felder und Playlist des Links sowie ein Label vom Gerät (zuerst die Administrator-Asset-ID, dann den Standort), sonst das nächste Standard-Label. Ein Player, der bereits einen Bildschirm hält, erstellt keinen weiteren: Sein Schlüssel bleibt die Identität des Bildschirms über Neustarts und Neuladen hinweg.
Nach einem Powerwash oder einer Neuinstallation stellt ein Gerät, das die Seriennummer oder DUID eines Bildschirms meldet, den eine Flottenverbindung dieses Projekts erstellt hat, diesen Bildschirm wieder her (screen.recovered), anstatt einen neuen zu erstellen, sobald der alte Schlüssel zehn Minuten lang still war.
Das Geheimnis befindet sich im URL-Fragment, das Browser niemals an einen Server senden. max_screens begrenzt die Bildschirme, die der Link erstellt, und expires_at beendet den Link zu diesem Zeitpunkt, ebenso wie sein Deaktivieren. Eine Organisation hat höchstens 50 Flottenlinks über alle ihre Projekte (fleet_link_limit_reached). Hängt fleet_link.created an.
Ein exakter Wiederholungsversuch mit demselben Idempotency-Key gibt dieselbe Antwort für vierundzwanzig Stunden zurück.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| Idempotency-Key | Überschrift | optional | Fü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
| Feld | Beschreibung |
|---|---|
| label (erforderlich, string) | minLength: 1 maxLength: 80 |
| aktiviert (optional, Boolean) | Standardmäßig true. |
| 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, Objekt) | Felder, mit denen jeder vom Link erstellte Bildschirm beginnt; Kartenplatzierungen lesen sie über {screen.field.NAME}. |
| playlist_id (optional, Zeichenfolge) | |
| max_screens (optional, Ganzzahl) | Minimum: 1 Maximum: 10000 |
| expires_at (optional, String) | Wann der Link abläuft (RFC 3339); ein Link nach diesem Zeitpunkt legt keine Bildschirme an und stellt keine wieder her. Fehlt der Wert, läuft der Link nie ab. Ein bereits vergangener Zeitpunkt wird akzeptiert und lässt den Link sofort ablaufen. format: "date-time" |
Anfragevorlage und Antworten
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/fleet-links'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 201 | Erstellt, mit seiner URL. | FleetLink (application/json); Header: Cache-Control |
| 400 | invalid_request, einschließlich einer unbekannten playlist_id oder eines fehlerhaften Tags oder Felds. | Problem (application/problem+json) |
| 409 | fleet_link_limit_reached oder idempotency_mismatch. | 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) |
Fleet-Link abrufen
Ein Flottenlink. Unten ist die effektive Manage-URL leer und url_redacted ist true.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich |
Anfragevorlage und Antworten
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/fleet-links/RESOURCE_ID'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Ein Flottenlink. | FleetLink (application/json); Header: ETag, Cache-Control |
| 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) |
Flottenlink aktualisieren
Ändert eines der Felder label, enabled, tags, fields, playlist_id, max_screens und expires_at; null löscht fields, playlist_id, max_screens oder expires_at. Ein deaktivierter oder abgelaufener Link erstellt und stellt keine Bildschirme wieder her; ein Gerät, das ihn öffnet, zeigt stattdessen seinen Kopplungscode an. Änderungen gelten für Bildschirme, die der Link ab jetzt erstellt, niemals für bereits erstellte Bildschirme.
Hängt fleet_link.updated an. If-Match schützt die Revision.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| If-Match | Überschrift | optional | Optionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict. |
| Idempotency-Key | Überschrift | optional | Fü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
| Feld | Beschreibung |
|---|---|
| label (optional, string) | minLength: 1 maxLength: 80 |
| aktiviert (optional, Boolean) | |
| 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, Objekt) | ersetzt die gesamte Vorgabe; {} oder null löscht sie. |
| playlist_id (optional, Zeichenfolge) | null leert die Playlist. |
| max_screens (optional, Ganzzahl) | null entfernt die Begrenzung. Minimum: 1 Maximum: 10000 |
| expires_at (optional, String) | null entfernt das Ablaufdatum. format: "date-time" |
Anfragevorlage und Antworten
curl --request PATCH --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/fleet-links/RESOURCE_ID'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Flottenlink aktualisiert. | FleetLink (application/json); Header: ETag |
| 400 | invalid_request. | Problem (application/problem+json) |
| 412 | revision_conflict – If-Match ist veraltet; die aktuelle Revision ist im Fehlerfeld current_revision enthalten. | Problem (application/problem+json) |
| Standard | Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat. | Problem (application/problem+json) |
Flotten-Link löschen
Löscht den Flotten-Link. Seine URL funktioniert sofort nicht mehr; die von ihm erstellten Bildschirme bleiben mit ihren Playlists, Tags und Feldern bestehen. Hängt fleet_link.deleted an. If-Match schützt die Revision.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| If-Match | Überschrift | optional | Optionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict. |
| Idempotency-Key | Überschrift | optional | Fü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
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/fleet-links/RESOURCE_ID'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 204 | Gelöscht. | kein Körper |
| 412 | revision_conflict. | 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) |
Fleet Link rotieren
Ersetzt das Geheimnis des Links und gibt die neue URL zurück. Die alte URL funktioniert sofort nicht mehr; bereits erstellte Bildschirme spielen weiter, da ein gekoppelter Player den Link nie wieder anzeigt. Fügt fleet_link.updated mit details.rotated true hinzu. If-Match schützt die Revision.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| ScreenRig-Project | Überschrift | optional | Für eine Veröffentlichung veraltet. Muss mit den JWT-Projektberechtigungen übereinstimmen; fügt Deprecation- und Warning-Header hinzu. Kein Token-Austausch. |
| id | Pfad | erforderlich | |
| If-Match | Überschrift | optional | Optionale positive Ressourcenrevision. Weglassen, um die aktuelle Ressource zu schreiben; eine übergebene veraltete Revision ist revision_conflict. |
| Idempotency-Key | Überschrift | optional | Fü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
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/fleet-links/RESOURCE_ID/rotate'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Der Flottenlink mit seiner neuen URL. | FleetLink (application/json); Header: ETag, Cache-Control |
| 412 | revision_conflict. | 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) |