OpenAPI YAMLOpenAPI JSONProbleme YAMLAPI-Überblick
Diese Gruppe hat 38 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.
Medien-Uploads
Medien auflisten
Bereite Medien neueste zuerst auflisten, maximal 1000 pro Seite. folder enthält nur die Dateien direkt in einem Medienordner (dessen ID) oder mit root nur die an der Bibliothekswurzel; eine wohlgeformte Ordner-ID, die keinen Ordner benennt, listet nichts auf. next_cursor ist die Position der zuletzt zurückgegebenen Zeile, solange weitere Zeilen vorhanden sind; geben Sie ihn als after mit denselben Filtern für die nächste Seite zurück. next_cursor ist auf der letzten Seite null.
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. |
| Tag | Abfrage | optional | Exaktes Medientag. Unmarkierte Objekte werden ausgelassen, wenn dieser Filter vorhanden ist. |
| primitive | Abfrage | optional | |
| Ordner | Abfrage | optional | Eine Medienordner-ID enthält nur die Dateien direkt in diesem Ordner, nicht die seiner Unterordner; root enthält nur die Dateien im Bibliotheksstamm. Weggelassen listet jede Datei auf. |
| ids | Abfrage | optional | Kommagetrennte Medien-IDs, höchstens 200 verschiedene; mehr wird mit invalid_request bei ids abgelehnt. Es bleiben nur diese Dateien: Eine ID, die keine fertige Datei benennt, fehlt im Ergebnis, und die übrigen Filter und die Paginierung gelten weiterhin. Ein leerer Wert listet nichts auf. |
| library | Abfrage | optional | true listet statt dieses Projekts das Bibliotheksprojekt der Organisation auf: Seine Elemente sind hier schreibgeschützt und tragen library true. Eine Organisation ohne Bibliothek oder das Bibliotheksprojekt selbst listet mit true nichts 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/media'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Medien | MediaList (application/json) |
Medienerstellung starten
Ein Standbild aus einem Prompt erzeugen, es als fertiges privates Projektmedium speichern und seine Nutzung berechnen. POST antwortet sofort mit 202 und Operation, mit oder ohne Prefer: respond-async, weil ein Proxy vor der API eine Anfrage verwirft, die 100 s lang kein Byte sendet, und ein Standbild in hoher Qualität länger dauern kann.
Fragen Sie GET /api/operations/{id} ab, bis Operation succeeded ist, wenn result {media_id, usage: {quality, credits, usd}} (MediaGenerationUsage) ist, oder failed ist, wenn error das Problem ist. Eine Ablehnung, die vor jeder Arbeit des Anbieters entschieden wird (payment_required, reseller_generation_limit, rate_limited, not_ready, invalid_request), beantwortet den POST dennoch.
Sie enthält niemals Bildbytes, b64_json, Objektschlüssel, signierte URLs, Anbieter-URLs, Anbieter-Kosten, Anbieter-Tokens oder den Namen des Bereitstellungsmodells. Der Prompt sind Kundenbytes und wird nicht zurückgegeben.
Bevor der Prompt den Bildanbieter erreicht, fügt der Server feste Rahmenanforderungen hinzu: Das Kunstwerk muss den Rahmen randfüllend ausfüllen, und es dürfen kein Fernseher, Monitor, Bildschirm, Display, Rahmen, Rand, Halterung, Ständer, Wand, Raum, Geräte-Mockup, Schatten oder Foto eines installierten Schildes dargestellt werden. Jegliche Beschreibung im Prompt, wo das Schild hängen wird oder welches Gerät es zeigt, wird als Platzierungsmetadaten und nicht als Motiv behandelt.
Dekorative Regeln und Rahmen innerhalb des Designs selbst bleiben verfügbar. Der Prompt des Aufrufers wird niemals umgeschrieben oder entfernt und wird unverändert gespeichert. Idempotency-Key spielt dieselbe Operation erneut ab, niemals einen zweiten berechneten Versuch. Clients führen kein PUT aus und committen die generierten Bytes nicht.
Die gespeicherte Wiedergabe ist verlustbehaftetes WebP (Qualität 90) in genauem Seitenverhältnis mit einer kurzen Kante von 1080 px (16:9 ist 1920x1080, 9:16 1080x1920, 1:1 1080x1080, 4:3 1440x1080, 3:4 1080x1440, 3:2 1620x1080, 2:3 1080x1620); die Lieferanten-Leinwand wird zentriert zugeschnitten und auf diese Größe neu abgetastet.
Der Dateiname ist pro Generation unverwechselbar, z. B. generated-16x9-1a2b3c4d.webp, mit dem Suffix aus der Medien-ID. Holen Sie die Bytes mit GET /api/media/{id}/content. Eigene Generierung und anschließendes Hochladen bleibt gültig.
Bei Standard führt ein Guthaben, das nach dem Einführungsniveau (minus 1.000.000 Credits bis 2027-01-01, dann null) nicht die doppelten Anbieterkosten des Standbilds abdeckt, auf ganze Credits aufgerundet, zu payment_required, außer SCREENRIG__ENVIRONMENT=development, und die Zulassung vor dem Anbieteraufruf erfordert ein Guthaben über diesem Niveau um den Mindestwert pro Qualität: 200 Credits für niedrig, 800 für mittel, 2000 für hoch.
Andere Pläne werden nie wegen ihres Guthabens abgelehnt.
Eine über einen Reseller abgerechnete Organisation wird mit reseller_generation_limit (402) abgelehnt, sobald den delegierten Kunden ihres Resellers das monatliche Limit für die Bildgenerierung in Rechnung gestellt wurde ($100 zum Listenpreis, solange der Reseller auf die Prüfung wartet, danach $1,000, gezählt pro UTC-Monat), es sei denn, das eigene Guthaben der Organisation deckt das Bild; eine bereits zugelassene Generierung wird abgeschlossen.
Eine leere Konfiguration des gewählten Anbieters liefert not_ready. Nur Projekt-Bearer. Eine laufende Generierung pro Organisation; weitere Parallelität ist rate_limited.
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 | |
| Prefer | Überschrift | optional | Optional. Die Route antwortet mit oder ohne diesen Header sofort mit 202 und Operation; fragen Sie Operation ab. |
Anfrageinhalt-Felder
| Feld | Beschreibung |
|---|---|
| prompt (erforderlich, Zeichenkette) | minLength: 1 maxLength: 4000 |
| aspect_ratio (optional, string) | Erlaubt: "1:1", "16:9", "9:16", "4:3", "3:4", "3:2", "2:3" Standard: "16:9" |
| Qualität (optional, Zeichenkette) | Erlaubt: "low", "medium", "high" Standard: "medium" |
| Tag (optional, string) | Muster: "^[A-Za-z0-9]{1,32}$" |
| Referenzen (optional, Array) |
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/media/generations'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 202 | Die Generierung wurde akzeptiert und läuft weiter; fragen Sie GET /api/operations/{id} ab, bis Operation succeeded (result media_id und usage) oder failed (error) ist. Derselbe Idempotency-Key antwortet mit derselben Operation. | Operation (application/json); Header: Preference-Applied, RateLimit-Policy, RateLimit |
| 402 | Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_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) |
| 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) |
| 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) |
Medienordner auflisten
Alle Medienordner im Projekt auflisten, maximal 1000, sortiert nach Name. Ordner organisieren die Medienbibliothek, und ein Playlist-Selector nach:folder spielt die Dateien direkt in einem Ordner ab. Die parent_id eines Ordners ist null an der Bibliothekswurzel.
Bauen Sie den Baum aus parent_id; der Ordner einer Datei ist Media.folder_id. library=true listet stattdessen die Ordner der Bibliothek der Organisation auf (schreibgeschützt; ein by:folder-Selektor kann einen davon benennen).
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. |
| library | Abfrage | optional | true listet statt dieses Projekts das Bibliotheksprojekt der Organisation auf: Seine Elemente sind hier schreibgeschützt und tragen library true. Eine Organisation ohne Bibliothek oder das Bibliotheksprojekt selbst listet mit true nichts auf. |
Anfragevorlage und Antworten
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/media-folders'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Medienordner | MediaFolderList (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) |
Medienordner erstellen
Erstellt einen Medienordner im Bibliotheksstamm (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 können sich wiederholen. Eine Organisation hält höchstens 1000 Ordner über alle ihre Projekte (quota_exceeded), maximal 10 Ebenen tief (invalid_request). Sendet media.folder_created.
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. |
| project_id | Abfrage | optional | Bei dashboardSession das beim Erstellen des Ordners angezeigte Projekt. Falls angegeben, muss es dem ausgewählten Sitzungsprojekt entsprechen, sonst resource_conflict; ein leerer oder wiederholter Wert ergibt invalid_request. Weglassen erhält die Kompatibilität mit älteren Dashboard-Clients. Anfragen mit Projekt-Bearer verwenden ihr autorisiertes Projekt. |
Anfrageinhalt-Felder
| Feld | Beschreibung |
|---|---|
| Name (erforderlich, Zeichenkette) | Gekürzt; 1 bis 100 Unicode-Zeichen, keine Steuerzeichen, nicht . oder .. minLength: 1 maxLength: 100 |
| parent_id (optional, inline) | Der Ordner, in dem es erstellt werden soll; null oder fehlt für die Bibliothekswurzel. |
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/media-folders'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 201 | Ordner erstellt. | MediaFolder (application/json); Header: ETag |
| 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) |
Medienordner erhalten
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/media-folders/RESOURCE_ID'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Ein Medienordner. | MediaFolder (application/json); Header: ETag |
| 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) |
Medienordner aktualisieren
Benennt einen Ordner um (Name) oder verschiebt ihn mit allem Inhalt (parent_id, null für die Bibliothekswurzel). 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). Eine Änderung erhöht die Ordnerrevision und löst media.folder_updated aus; dieselben Werte sind eine No-Op.
If-Match schützt optional 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 |
|---|---|
| Name (optional, Zeichenkette) | Gekürzt; 1 bis 100 Unicode-Zeichen, keine Steuerzeichen, nicht . oder .. minLength: 1 maxLength: 100 |
| parent_id (optional, inline) | Verschieben Sie den Ordner in diesen; null für den Bibliotheksstamm. |
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/media-folders/RESOURCE_ID'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Ordner aktualisiert. | MediaFolder (application/json); Header: ETag |
| 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) |
Medienordner löschen
Löscht einen Ordner. Nichts darin wird gelöscht – seine Dateien und Ordner werden in den übergeordneten Ordner des gelöschten Ordners verschoben (die Bibliothekswurzel, wenn keiner vorhanden war), jede verschobene Datei und jeder verschobene Ordner erhält eine neue Revision. Ein Playlist-Selector nach:folder, der den gelöschten Ordner benennt, trifft dann auf nichts; abspielende Bildschirme entfernen dieses Primitive bei der nächsten Selector-Auflösung.
Gibt media.folder_deleted aus. If-Match schützt optional 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://screenrig.ai/api/media-folders/RESOURCE_ID'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 204 | Gelöscht; dessen Inhalte befinden sich jetzt im übergeordneten Ordner. | kein Körper |
| 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) |
Medien verschieben
Verschiebt Dateien (media_ids) und Ordner (folder_ids) in einen Ordner (folder_id) oder zum Bibliotheksstamm, 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 sich bereits am Ziel befinden, bleiben unverändert; jede verschobene Datei und jeder verschobene Ordner erhöht deren Revision. Das Verschieben von Dateien ändert, was die by:folder-Selektoren ihrer alten und neuen Ordner abspielen, basierend auf der nächsten Selektorauflösung jedes Bildschirms; das Verschieben eines Ordners ändert keine eigenen Dateien eines Ordners. Sendet media.moved.
Eine Propose-Anmeldeinformation macht jede verschobene Datei ausstehend und setzt ihre Medienüberprüfung in die Warteschlange; genehmigte Playlists lösen sie durch den Ordner auf, mit dem sie genehmigt wurde, bis eine Person die Änderung genehmigt (docs/reviews.md).
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 Bibliothekswurzel. |
| media_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/media/move'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Wie viele Dateien und Ordner verschoben wurden. | MediaMoveResult (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) |
Medien-Upload starten
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 | |
| project_id | Abfrage | optional | Erforderlich mit dashboardSession: das Projekt, in dem die Datei in die Warteschlange gestellt wurde. Muss mit dem ausgewählten Projekt der Sitzung übereinstimmen, sonst resource_conflict. Dies bindet die Upload-Zulassung über Tabs hinweg. Die zurückgegebene Upload-ID bleibt projektbezogen für Byte-Upload und Commit. Weggelassen bei einem Projekt-Bearer. |
Anfrageinhalt-Felder
| Feld | Beschreibung |
|---|---|
| Dateiname (erforderlich, String) | Name der hochgeladenen Bytes, wie sie gesendet werden: ein reiner Dateiname mit höchstens 255 UTF-8-Bytes, ohne Verzeichnis, Backslash oder Steuerzeichen. minLength: 1 maxLength: 255 |
| source_filename (optional, Zeichenfolge) | Ursprünglicher Dateiname des Aufrufers vor jeglicher clientseitiger Transkodierung. Nur Dateiname ohne Pfad, höchstens 255 UTF-8-Bytes. Wird unverändert als source_filename im fertigen Medium gespeichert und zur Ableitung von filename verwendet. minLength: 1 maxLength: 255 |
| content_type (erforderlich, Zeichenfolge) | Erlaubt: "image/png", "image/jpeg", "image/webp", "image/gif", "video/mp4", "video/webm", "audio/mpeg" |
| Bytes (erforderlich, Ganzzahl) | Minimum: 1 Maximum: 1073741824 |
| sha256 (erforderlich, Zeichenfolge) | Muster: "^[a-f0-9]{64}$" |
| Tag (optional, string) | Muster: "^[A-Za-z0-9]{1,32}$" |
| folder_id (optional, String) | Der Medienordner, in dem das fertige Medium landet; weggelassen landet es im Stammverzeichnis der Bibliothek. Der Ordner muss existieren, wenn der Upload deklariert wird (sonst invalid_request bei folder_id) und wenn er abgeschlossen wird (die Operation schlägt mit invalid_request fehl: erneut deklarieren). Ein Uploader (docs/uploaders.md) muss einen seiner Ordner senden (sonst outside_upload_scope). |
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/media/uploads'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 201 | Kurzlebige signierte Autorisierung für genau ein privates Objekt-PUT. Senden Sie die zurückgegebene Methode und jeden zurückgegebenen Header wörtlich. So lädt auch das Dashboard hoch. Sein Browser überträgt die Bytes per PUT direkt an den Objektspeicher, niemals über die API, weil ein Proxy vor der API einen Request-Body über 100 MB ablehnt. Ein Browser setzt Content-Length selbst aus dem Body, daher sendet er jeden zurückgegebenen Header außer diesem. | MediaUploadSession (application/json); Header: Cache-Control, 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) |
Medien-Upload bestätigen
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 |
|---|---|
| content_type (erforderlich, Zeichenfolge) | Erlaubt: "image/png", "image/jpeg", "image/webp", "image/gif", "video/mp4", "video/webm", "audio/mpeg" |
| Bytes (erforderlich, Ganzzahl) | Minimum: 1 Maximum: 1073741824 |
| sha256 (erforderlich, Zeichenfolge) | Muster: "^[a-f0-9]{64}$" |
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/media/uploads/RESOURCE_ID/commit'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 202 | Exakte Erklärung, die für asynchrone Verifizierung und unveränderliche private Veröffentlichung gespeichert wird. | Operation (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) |
Vorschau-Auswahl
Nur lesende Vorschau aktueller projekt-eigener bereiter Bild- oder Videoübereinstimmungen. Gibt Dateinamenreihenfolge und normalisierte Richtlinie zurück; zufällige Wiedergabe mischt bei jedem neuen Durchlauf auf dem Player. Bewegt keine Cursor, erstellt keine Inhaltsberechtigungen und ändert keine Manifeste. Mehr als 1024 Übereinstimmungen führen zu invalid_request.
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 |
|---|---|
| Zeitzone (optional, Zeichenkette) | IANA-Zone, in der die Medienverfügbarkeit gelesen wird; Standard UTC. |
| rect (optional, Objekt) | Die Rect-Größe der Primitive; erforderlich mit selector.fit aspect. |
| primitive (erforderlich, Zeichenfolge) | Erlaubt: "image", "video" |
| selector (erforderlich, inline) |
Anfragevorlage und Antworten
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/selectors/preview'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Aktuelle Selektoren stimmen überein. | SelectorPreview (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) |
Medien erhalten
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/media/RESOURCE_ID'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Bereit private Medienmetadaten. Originalbytes sind dem Eigentümerprojekt über die Projektexportroute und einem Bildschirm nur über eine genaue Laufzeitmanifest-Berechtigung verfügbar. | Medien (application/json); Header: ETag |
| 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-Medien
Setzt oder löscht die Tags des Medienobjekts. Eine Änderung des Tag-Sets durch eine Propose-Berechtigung macht das Objekt ausstehend und stellt seine Medienbewertung in die Warteschlange; genehmigte Playlists lösen es durch die Tags auf, mit denen es genehmigt wurde, bis eine Person die Änderung genehmigt (docs/reviews.md). Ein Patch, der dasselbe Tag-Set beibehält, wird angewendet und das Objekt bleibt genehmigt.
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 PATCH --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/media/RESOURCE_ID'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Bereit Medien mit aktualisiertem Tag. Laufzeit-Tag-Selektoren erkennen die Änderung bei ihrer nächsten Playlist-Schleifen-Aktualisierung. | Medien (application/json); Header: ETag |
| 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) |
Medien löschen
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/media/RESOURCE_ID'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 204 | Archiviert. Referenzierte gewünschte oder aktive Berechtigungen können nicht gelöscht werden. | kein Körper |
| 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-Medien-Tags
Eine angemeldete Person setzt die Tags eines Medienobjekts. tags ist die vollständige neue Menge, sortiert: Ein einzelnes Tag eines Objekts, wenn vorhanden, zählt als eines seiner Tags und wird durch die anderen ersetzt, also senden Sie es erneut, um es zu behalten. Ein leeres Array löscht alle Tags, ein fehlerhaftes oder doppeltes Tag oder mehr als 32 sind invalid_request.
Es ist die Tag-Änderung, die patchMedia unter einer Manage-Berechtigung in der Dashboard-Sitzung vornimmt: Die Medienrevision erhöht sich um eins und media.updated trägt die Person als Akteur, unabhängig davon, ob sich die Menge geändert hat. Eine Änderung einer Person ist live, niemals eine Überprüfung.
Medien, die auf die Überprüfung durch eine Person warten (review_state pending, hinterlassen durch einen Upload oder eine Änderung mit Propose-Berechtigung), werden mit media_pending_review (409) abgelehnt und es ändert sich nichts: Entscheiden Sie zuerst über die Überprüfung in Reviews, damit eine Tag-Bearbeitung niemals einen Vorschlag eines Agenten genehmigt. Playlist-Selektoren nach Tag erkennen die neuen Tags bei ihrer nächsten Playlist-Schleifenaktualisierung.
Der Body hat kein anderes Mitglied. If-Match trägt die Medienrevision und ist erforderlich (invalid_request bei Abwesenheit, revision_conflict bei veraltetem Stand). Nur die Dashboard-Sitzung; Agenten ändern Tags mit patchMedia. listMedia mit Tag findet das Element anhand seiner neuen Tags.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| id | Pfad | erforderlich | |
| If-Match | Überschrift | erforderlich | Die aktuelle Revision des Medienobjekts, 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, Array) | Ersetztes Tag-Set; ein leeres Array löscht es. |
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/media/RESOURCE_ID/tags'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Das fertige Medienobjekt, wie es jetzt gespeichert ist; ETag trägt seine Revision. | Medien (application/json); Header: ETag |
| 409 | media_pending_review — der Eintrag wartet auf die Überprüfung durch eine Person; bitte zuerst entscheiden. | 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) |
Medienverfügbarkeit ändern
Legt fest, wann ein Medienelement von den dynamischen Selektoren (all, tag und folder), die es abspielen, ausgewählt werden darf, oder entfernt die Regel mit availability null. Die Regel entspricht der des Zeitplans: from und until (zivil, Minutengenauigkeit, until ausschließlich), Vorkommen aus windows, monthly und dates sowie except-Daten, gelesen in der Zeitzone jedes Bildschirms, der den Selektor auflöst.
Eine Datei außerhalb ihrer Regel wird an der nächsten Playlist-Schleifengrenze aus der Auswahl genommen und kehrt zurück, sobald die Regel wieder gilt; einer Fenstergrenze folgt der Player innerhalb einer Minute nach seiner nächsten Schleife. Keine Playlist- oder Manifestrevision ändert sich. Explizite IDs (Selektor per id oder ids) ignorieren die Regel, ebenso alles, was kein dynamischer Selektor ist.
Ein Bildschirm, der offline ist, behält seine letzte Auswahl, bis er sich wieder verbindet. Das Setzen der Regel, die das Element bereits hat, ändert nichts. Eine Propose-Anmeldeinformation kann sie nicht setzen (insufficient_access): Wann Medien abgespielt werden, bestimmt eine Person mit Manage-Zugriff. Medien, die auf die Überprüfung durch eine Person warten, werden mit media_pending_review abgelehnt.
If-Match enthält die Medienrevision und ist erforderlich.
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 | erforderlich | Die aktuelle Revision des Medienelements, in Anführungszeichen oder bare (das ETag des letzten Lesens). Eine veraltete Revision ergibt 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 |
|---|---|
| availability (erforderlich, inline) | Die neue Regel, oder null, damit die Datei immer verfügbar ist. |
Anfragevorlage und Antworten
curl --request PATCH --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'If-Match: "REVISION"' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/media/RESOURCE_ID/availability'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Das fertige Medienobjekt, wie es jetzt gespeichert ist; ETag trägt seine Revision. | Medien (application/json); Header: ETag |
| 409 | media_pending_review — der Eintrag wartet auf die Überprüfung durch eine Person; bitte zuerst entscheiden. | Problem (application/problem+json) |
| 412 | revision_conflict — If-Match ist veraltet. | 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) |
Medien ersetzen
Ersetzt die Datei eines bereiten Medienelements an Ort und Stelle durch einen deklarierten Upload (createMediaUpload), dessen Bytes geschrieben wurden, statt ihn als neues Medium zu übernehmen.
Das Medium behält seine ID, sodass jede Playlist und jeder Zeitplan, die es nennen, die neue Datei ohne Neuplanung abspielen, und die Ordner-, Tag- und Alle-Medien-Selektoren, die es auswählen, spielen sie bei ihrer nächsten Auflösung. Der Ersatz muss dieselbe Dateiart sein (Bild für Bild, Video für Video, Audio für Audio); eine andere Art ergibt invalid_request.
Ein geändertes Seitenverhältnis ist erlaubt: Das Ergebnis der Operation enthält einen warnings-Eintrag aspect_ratio_changed, der die Playlists nennt, die das Element verwenden. Alle Upload-Regeln gelten (das Video-Bytelimit des Tarifs, die Größenlimits, das Speicherkontingent).
Die aktive Datei bleibt im Versionsverlauf des Mediums (listMediaVersions) und zählt zu den gespeicherten Bytes, bis ihre Version gelöscht wird. If-Match ist, falls gesendet, die Medienrevision, die der Aufrufer gelesen hat (revision_conflict, wenn veraltet).
Die Antwort ist die Operation des Uploads, wie bei commitMediaUpload: getOperation abfragen; das Ergebnis einer erfolgreichen Operation ist {media_id, id, version, warnings}. Bytes, die der aktiven Datei entsprechen, ersetzen nichts und lassen die Operation mit resource_conflict scheitern.
Bei wirksamem Propose wartet der Ersatz stattdessen auf Prüfung: Die Operation gelingt mit result.status pending_review und result.review_id, das Medium spielt seine Datei weiter, bis eine Person genehmigt, und ein neuerer Ersatz desselben Mediums löst den wartenden 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 | |
| If-Match | Überschrift | optional | Die aktuelle Revision des Medienelements, in Anführungszeichen oder ohne. Weggelassen bedeutet jede. |
| 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 |
|---|---|
| upload_id (erforderlich, String) | Die ID eines mit createMediaUpload deklarierten und an seine upload_url geschriebenen, aber nicht übernommenen Uploads. minLength: 1 |
| note (optional, string) | Eine Notiz, die mit der neuen Version gespeichert wird. 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/media/RESOURCE_ID/replace'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 202 | Der Ersatz wurde erfasst; die Operation des Uploads trägt sein Ergebnis. | Operation (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) |
Medienversionen auflisten
Listet die Versionen eines Medienelements auf, die neueste zuerst, die aktive Version an erster Stelle (current: true). Eine Version ist eine Datei, die das Element hatte: number ist seine Inhaltsepoche plus eins (1 für den Upload, jeweils eins mehr für jeden Ersatz, jede Wiederherstellung oder jede Änderung durch die Mediensynchronisierung), und ihre Bytes bleiben erhalten, bis die Version gelöscht wird.
Die Bytes einer Version lesen Sie mit GET /api/media/{id}/content?version=N.
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/media/RESOURCE_ID/versions'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Eine Seite mit Versionen. | MediaVersionPage (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) |
Medienversion löschen
Entfernt eine frühere Version: Ihr Datensatz verschwindet, ihre Bytes zählen sofort nicht mehr zu den gespeicherten Bytes des Projekts, und ihr Objekt wird nach 24 Stunden entfernt, sofern nicht eine andere Version oder die aktive Version dieselbe Datei hält. Die aktive Version kann nicht gelöscht werden (resource_conflict), und keine Version kann gelöscht werden, solange ein Ersatz des Mediums auf Prüfung wartet.
Eine gelöschte Version lässt sich nicht wiederherstellen.
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 | |
| Version | Pfad | erforderlich | Eine Versionsnummer des Medienelements (listMediaVersions). |
Anfragevorlage und Antworten
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/media/RESOURCE_ID/versions/VERSION'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 204 | Die Version wurde entfernt. | kein Körper |
| 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) |
Medienversion wiederherstellen
Setzt eine frühere Version als neue Version in der nächsten Inhaltsepoche des Mediums wieder in Betrieb: Das Medium behält seine ID, die Revision steigt um eins, sodass jede Playlist und jeder Zeitplan, die es nennen, diese Datei wieder abspielen, ohne neu geplant zu werden. Die kopierte Version bleibt im Verlauf und teilt ihre Bytes; die neue Version zählt wie jede andere zu den gespeicherten Bytes.
Die aktive Version lässt sich nicht wiederherstellen (resource_conflict). If-Match ist, falls gesendet, die Medienrevision, die der Aufrufer gelesen hat. Der Body kann eine Notiz enthalten. Bei wirksamem Propose wird die Wiederherstellung zur Prüfung: 202 pending_review, und das Medium behält seine Datei, bis eine Person genehmigt.
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 | |
| Version | Pfad | erforderlich | Eine Versionsnummer des Medienelements (listMediaVersions). |
| If-Match | Überschrift | optional | Die aktuelle Revision des Medienelements, in Anführungszeichen oder ohne. Weggelassen bedeutet jede. |
Anfrageinhalt-Felder
| Feld | Beschreibung |
|---|---|
| note (optional, string) | Eine Notiz, die mit der neuen Version gespeichert wird. 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/media/RESOURCE_ID/versions/VERSION/restore'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Das Medium, wie es jetzt ist, und Warnungen zur wiederhergestellten Datei. | MediaRestored (application/json); Header: ETag |
| 202 | Die Wiederherstellung wartet auf die Prüfung durch eine Person. | MediaRestorePending (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) |
Medieninhalt exportieren
Exportiert die originale unveränderliche Version, die vom authentifizierten Projekt besessen wird. Dem Projekt-Berechtigten werden die normalen authentifizierten API-Anforderungsgutschriften berechnet, und die abgeschlossenen Antwortbytes werden als project_media_export-Ausgang erfasst. Der Medienbezeichner ist niemals authority: Ein Bezeichner eines anderen Projekts gibt not_found zurück.
Die API streamt aus privatem Speicher und veröffentlicht niemals einen Objektschlüssel, eine Speicher-URL oder einen signierten GET. Der Anhangsdateiname ist der Medienbezeichner plus die kanonische Erweiterung für den verifizierten Inhaltstyp. Das Lesen von Inhalten wird nie wegen des Guthabens abgelehnt.
Eine Dashboard-Sitzung zeigt dieselben Bytes inline an: abgeschlossene Bytes werden als dashboard_media egress erfasst, und die Antwort ist privat, no-cache, sodass der Browser eine Kopie behält und sie mit If-None-Match erneut validiert. Eine Projekt-Bearer-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 | |
| Bereich | Überschrift | optional | V1 akzeptiert nur einen Bytebereich. |
| If-None-Match | Überschrift | optional | Exakter starker Medien-SHA-256-ETag, der von dieser Route zurückgegeben wird. |
| Version | Abfrage | optional | Diese Version des Mediums (listMediaVersions) statt der aktiven lesen. |
Anfragevorlage und Antworten
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/media/RESOURCE_ID/content'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Vollständige Originalversion. | string (image/png), string (image/jpeg), string (image/webp), string (image/gif), string (video/mp4), string (video/webm), string (audio/mpeg); Header: Accept-Ranges, Content-Length, Content-Type, Content-Disposition, ETag, Cache-Control, X-Content-Type-Options |
| 206 | Ein standardkonformer Bytebereich. | string (image/png), string (image/jpeg), string (image/webp), string (image/gif), string (video/mp4), string (video/webm), string (audio/mpeg); Header: Accept-Ranges, Content-Range, Content-Length, Content-Type, Content-Disposition, ETag, Cache-Control, X-Content-Type-Options |
| 304 | Der exakte unveränderliche Medien-ETag entspricht If-None-Match. Kein Body oder Egress-Inkrement wird erzeugt. | kein Körper; Header: ETag, Cache-Control |
| 402 | Stabile RFC 9457-Fehlerantwort. Ein 421 server_draining enthält Retry-After von 1 Sekunde, ein 500 not_ready oder dependency_unavailable enthält 5, und ein 500 manifest_degraded enthält 60, sofern der Handler keinen spezifischeren Wert gesetzt hat. | Problem (application/problem+json) |
| 416 | Nicht erfüllbarer oder fehlerhafter Bereich. | Problem (application/problem+json); Header: Accept-Ranges, Content-Range |
| 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) |
Medieninhalt
Wendet dieselben Projektbesitz-, Bedingungs-, Bereichs- und Privat-Speicherregeln wie exportMediaContent an, ohne die gespeicherte Version zu öffnen oder zu übertragen.
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 | |
| Bereich | Überschrift | optional | V1 akzeptiert nur einen Bytebereich. |
| If-None-Match | Überschrift | optional | Exakter starker Medien-SHA-256-ETag, der von dieser Route zurückgegeben wird. |
| Version | Abfrage | optional | Diese Version des Mediums (listMediaVersions) statt der aktiven lesen. |
Anfragevorlage und Antworten
curl --request HEAD --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/media/RESOURCE_ID/content'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Metadaten der vollständigen Version ohne Body. | kein Körper; Header: Accept-Ranges, Content-Length, Content-Type, Content-Disposition, ETag, Cache-Control, X-Content-Type-Options |
| 206 | Byte-Bereichs-Metadaten ohne Body. | kein Körper; Header: Accept-Ranges, Content-Range, Content-Length, Content-Type, Content-Disposition, ETag, Cache-Control, X-Content-Type-Options |
| 304 | Der exakte unveränderliche Medien-ETag entspricht If-None-Match. Kein Body wird erzeugt. | kein Körper; Header: ETag, Cache-Control |
| 402 | Der 1-Credit-API-Zähler hat die Bearer-Anfrage eines Standard-Projekts über sein Kontingent hinaus ohne Guthaben abgelehnt. Eine HEAD-Antwort enthält keinen Problemtext. | kein Körper |
| 416 | Nicht erfüllbarer oder fehlerhafter Bereich. | Problem (application/problem+json); Header: Accept-Ranges, Content-Range |
| 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) |
Konten der Mediensynchronisierung auflisten
Lists the project's media sync accounts, newest first (200 per page; next_cursor continues). Each shows its tenant and client id, its state and its last test; the client secret is never returned, only whether one is set and its last four characters.
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. |
| Cursor | Abfrage | optional | Der next_cursor der vorherigen Seite. |
Anfragevorlage und Antworten
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/media-sync-accounts'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Die Konten des Projekts. | MediaSyncAccountList (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) |
Konto für die Mediensynchronisierung anlegen
Fügt ein Konto hinzu, das lesend synchronisiert. kind microsoft365 speichert die Zugangsdaten der eigenen Microsoft-Entra-App des Projekts, sodass Synchronisierungen einen SharePoint- oder OneDrive-for-Work-Ordner lesen können: config.tenant_id ist die Verzeichnis-ID oder primäre Domain des Mandanten (common, organizations und consumers werden abgelehnt), config.client_id die Anwendungs-ID der App und secret der Wert eines der Client-Secrets der App; die App braucht die Microsoft-Graph-Anwendungsberechtigung Sites.Selected (für jede Website erteilt) oder Files.Read.All, mit Administratorzustimmung.
Anstelle dieser drei benennt config.connection_id eine Microsoft-Verbindung des Projekts (createConnection), in beiden Modi, die sich anmeldet und das Secret hält. kind canva nimmt nur einen Namen: Das Konto ist pending_consent, und die Antwort trägt authorize_url, einen einmaligen Link (gültig bis authorize_expires_at), den die Person, der das Canva-Konto gehört, bei Canva angemeldet öffnet, um es über die Canva-Integration von screenRIG zu verbinden.
Die Freigabe gehört dem Projekt, sodass ihre Synchronisierungen die Person überdauern, die das Konto verbunden hat.
Ein Server ohne die Canva-Integration antwortet mit 409 canva_not_configured. kind dropbox funktioniert wie canva: Das Konto ist pending_consent, und authorize_url ist ein einmaliger Link, den die Person, der das Dropbox-Konto gehört, bei Dropbox angemeldet öffnet, um Lesezugriff zu erlauben (files.metadata.read, files.content.read, account_info.read, sharing.read).
Die Verbindung läuft über die Dropbox-App von screenRIG oder, wenn config.app_key sie benennt, über die eigene Dropbox-App des Kunden (PKCE, daher kein App-Secret; die App muss https://API_ORIGIN/api/dropbox/callback als Redirect-URI eingetragen haben).
Ein Server ohne die Dropbox-App von screenRIG antwortet auf ein dropbox-Konto ohne app_key mit 409 dropbox_not_configured. kind google_drive ist sofort ready und liest die Ordner, die für config.service_account_email freigegeben sind: das Dienstkonto von screenRIG oder das eigene des Kunden, wenn secret der JSON-Schlüssel dieses Dienstkontos ist.
Ein für das Dienstkonto von screenRIG freigegebener Ordner wird nur synchronisiert, wenn ein Projektmitglied mit verifizierter E-Mail ihn freigegeben hat oder besitzt. Ein Server ohne das Dienstkonto von screenRIG antwortet auf ein google_drive-Konto ohne Schlüssel mit 409 google_drive_not_configured. Ein Secret wird im Ruhezustand versiegelt und nie zurückgegeben oder protokolliert. Hängt media_sync_account.created an.
Ein exakter Wiederholungsversuch mit demselben Idempotency-Key gibt dasselbe Konto zurück (ein Wiederholungsversuch für ein Canva- oder Dropbox-Konto erhält einen neuen Link).
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 |
|---|---|
| kind (erforderlich, string) | Erlaubt: "microsoft365", "canva", "dropbox", "google_drive" |
| Name (erforderlich, Zeichenkette) | minLength: 1 maxLength: 80 |
| config (optional, object) | Für microsoft365 entweder tenant_id und client_id (beide) mit secret oder connection_id allein: die ID einer Microsoft-Verbindung dieses Projekts. Für dropbox benennt app_key optional die eigene Dropbox-App des Kunden. Nicht akzeptiert für canva oder google_drive. |
| secret (optional, String) | Erforderlich für microsoft365 mit tenant_id und client_id: der Wert eines der Client-Secrets der App (nicht ihre ID), höchstens 1024 Zeichen. Für google_drive optional: der JSON-Schlüssel des eigenen Google-Cloud-Dienstkontos des Kunden (type service_account), dessen client_email zur service_account_email des Kontos wird; ohne ihn liest das Konto über das Dienstkonto von screenRIG. Nicht akzeptiert zusammen mit connection_id und nicht für canva oder dropbox. minLength: 1 maxLength: 8192 |
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/media-sync-accounts'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 201 | Angelegt, mit maskiertem Secret; ein Canva- oder Dropbox-Konto enthält zusätzlich authorize_url. | MediaSyncAccountConnect (application/json); Header: ETag, Cache-Control |
| 400 | invalid_request. | Problem (application/problem+json) |
| 402 | feature_not_in_plan — der Plan des Projekts enthält keine Mediensynchronisierung; required_plan nennt den Plan, der sie enthält. | Problem (application/problem+json) |
| 409 | canva_not_configured (dieser Server hat keine Canva-Integration; nur kind canva), dropbox_not_configured (keine Dropbox-App von screenRIG und kein config.app_key; nur kind dropbox), google_drive_not_configured (kein Dienstkonto von screenRIG und kein Schlüssel; nur kind google_drive), resource_conflict 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) |
Konto der Mediensynchronisierung abrufen
Ein Konto der Mediensynchronisierung mit maskiertem Secret.
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/media-sync-accounts/RESOURCE_ID'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Ein Konto. | MediaSyncAccount (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) |
Konto der Mediensynchronisierung ändern
Changes the name, tenant, client id or secret; an omitted secret keeps the stored one. A change of credentials discards the last test. A Canva account takes only a name; media sync account connect renews its connection. Appends media_sync_account.updated. If-Match guards the 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 |
|---|---|
| Name (optional, Zeichenkette) | minLength: 1 maxLength: 80 |
| config (optional, MediaSyncAccountConfig) | |
| secret (optional, String) | Ersetzt das gespeicherte Secret (ein microsoft365-Client-Secret oder der eigene Dienstkonto-Schlüssel eines google_drive-Kontos, der zur selben client_email gehören muss); lassen Sie es weg, um das gespeicherte zu behalten. minLength: 1 maxLength: 8192 |
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/media-sync-accounts/RESOURCE_ID'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Konto aktualisiert. | MediaSyncAccount (application/json); Header: ETag, Cache-Control |
| 400 | invalid_request. | Problem (application/problem+json) |
| 402 | feature_not_in_plan — der Plan des Projekts enthält keine Mediensynchronisierung; required_plan nennt den Plan, der sie enthält. Eine Änderung, die nur das Geheimnis ersetzt, ist immer erlaubt, sodass ein Konto, dessen Client-Geheimnis abgelaufen ist, aktuell bleibt. | 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) |
Konto der Mediensynchronisierung löschen
Deletes the account. Refused 409 resource_conflict while a sync reads through it; the detail names those syncs. Deleting a Canva account also revokes its tokens at Canva (a failure to revoke is logged and does not undo the delete). Appends media_sync_account.deleted. If-Match guards the 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/media-sync-accounts/RESOURCE_ID'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 204 | Gelöscht. | kein Körper |
| 409 | resource_conflict (das Konto wird von Synchronisierungen verwendet) oder idempotency_mismatch. | 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) |
Konto der Mediensynchronisierung testen
Signs in with the account's app and reports what Microsoft granted it: whether the credentials work and which Graph application permissions the token carries (Sites.Selected, Files.Read.All and the like). Sites.Selected is reported with a warning, because each site needs a grant for the app.
For a Canva account it reports whether Canva still accepts the connection. It does not judge a site's grant, a folder or a design, or consent beyond what the token carries. The result is stored as last_test. A failed check is ok false in the answer, not a problem.
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. |
Anfragevorlage und Antworten
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/media-sync-accounts/RESOURCE_ID/test'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Was das Token der App trägt. | MediaSyncTest (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) |
Konto der Mediensynchronisierung verbinden
Erzeugt einen neuen einmaligen Zustimmungslink (authorize_url, gültig bis authorize_expires_at) für ein Canva- oder Dropbox-Konto, den Sie an die Person senden, der dieses Konto gehört; sie öffnet ihn bei Canva oder Dropbox angemeldet und erlaubt den Zugriff. Er ersetzt jeden früheren Link.
Ein verbundenes Konto bleibt verbunden, bis die neue Zustimmung abgeschlossen ist; damit lässt sich also auch eine Verbindung erneuern (Zustand reconnect_required) oder auf ein anderes Canva- oder Dropbox-Konto umstellen. Der Link ist eine Zugangsberechtigung der Zustimmung: Senden Sie ihn nur an diese Person.
Ein Server ohne die Canva-Integration antwortet mit 409 canva_not_configured; bei einem Dropbox-Konto ohne app_key auf einem Server ohne die Dropbox-App von screenRIG lautet die Antwort 409 dropbox_not_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 | |
| 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/media-sync-accounts/RESOURCE_ID/connect'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Das Konto mit einer neuen authorize_url. | MediaSyncAccountConnect (application/json); Header: ETag, Cache-Control |
| 400 | invalid_request — das Konto ist kein Canva- oder Dropbox-Konto. | Problem (application/problem+json) |
| 409 | canva_not_configured (dieser Server hat keine Canva-Integration) oder dropbox_not_configured (keine Dropbox-App von screenRIG, und das Konto hat keinen app_key). | 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) |
Designs der Mediensynchronisierung auflisten
Lists the Canva designs the connected person can see, most recently changed first (50 per page; continuation continues), optionally those matching query. Each shows its id, title, last change, page count and a view address. An account that is not connected is 409 canva_reconnect_required; a server without the Canva integration is 409 canva_not_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 | |
| Abfrage | Abfrage | optional | Listet nur die Designs auf, deren Titel oder Text passt. |
| Fortsetzung | Abfrage | optional | Die Fortsetzung der vorherigen Seite. |
Anfragevorlage und Antworten
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/media-sync-accounts/RESOURCE_ID/designs'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Eine Seite mit Designs. | MediaSyncDesignList (application/json); Header: Cache-Control |
| 400 | invalid_request: Das Konto ist kein Canva-Konto, oder query oder continuation ist ungültig. | Problem (application/problem+json) |
| 409 | canva_reconnect_required (das Konto ist nicht verbunden, oder Canva erkennt die Verbindung nicht mehr an) oder canva_not_configured (dieser Server hat keine Canva-Integration). | 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) |
Canva-Zustimmung abschließen
Wohin Canva die Person schickt, nachdem sie den Zugriff in einem Einwilligungslink erlaubt (oder abgelehnt) hat.
It carries no credential: the one-time state in the query finds the Canva account, must be unexpired and is used once, in the same write that stores the connection. screenRIG exchanges the code (PKCE, client authentication with the integration's credentials), reads whose Canva account it is, seals the tokens and appends media_sync_account.connected.
The answer is a short page naming the account and the project it was connected to; an error, an unknown, expired or used state, or a refused code renders the same page with the reason and changes nothing. Answers only on the API host.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| Code | Abfrage | optional | |
| Status | Abfrage | optional | |
| Fehler | Abfrage | optional |
Anfragevorlage und Antworten
curl --request GET 'https://api.screenrig.ai/api/canva/callback'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Die Seite, die meldet, dass das Konto verbunden ist. | string (text/html) |
| 400 | Die Seite, die erklärt, warum nichts verbunden wurde. | string (text/html) |
| 502 | Canva war nicht erreichbar; derselbe Link funktioniert wieder. | string (text/html) |
| 409 | Canva ist auf diesem Server nicht konfiguriert. | string (text/html) |
| 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) |
Dropbox-Zustimmung abschließen
Wohin Dropbox die Person schickt, nachdem sie den Zugriff in einem Zustimmungslink erlaubt (oder abgelehnt) hat.
Sie trägt keine Zugangsdaten: Der einmalige State in der Abfrage findet das Dropbox-Konto, darf nicht abgelaufen sein und wird einmal verwendet, im selben Schreibvorgang, der die Verbindung speichert. screenRIG tauscht den Code ein (PKCE, mit der Dropbox-App von screenRIG oder dem eigenen app_key des Kontos), liest, wessen Dropbox-Konto es ist, versiegelt die Token und hängt media_sync_account.connected an.
The answer is a short page naming the account and the project it was connected to; an error, an unknown, expired or used state, or a refused code renders the same page with the reason and changes nothing. Answers only on the API host.
Parameter
| Name | Senden | Erforderlich? | Beschreibung |
|---|---|---|---|
| Code | Abfrage | optional | |
| Status | Abfrage | optional | |
| Fehler | Abfrage | optional |
Anfragevorlage und Antworten
curl --request GET 'https://api.screenrig.ai/api/dropbox/callback'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Die Seite, die meldet, dass das Konto verbunden ist. | string (text/html) |
| 400 | Die Seite, die erklärt, warum nichts verbunden wurde. | string (text/html) |
| 502 | Dropbox war nicht erreichbar; derselbe Link funktioniert wieder. | string (text/html) |
| 409 | Das Konto hat keinen app_key, und die Dropbox-App von screenRIG ist auf diesem Server nicht konfiguriert. | string (text/html) |
| 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) |
Mediensynchronisierungen auflisten
Lists the project's media syncs, newest first (200 per page; next_cursor continues), optionally of one account_id or state. Each shows its source folder, the media folder it fills, its cadence, state, next run and the summary of its last run.
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. |
| Cursor | Abfrage | optional | Der next_cursor der vorherigen Seite. |
| account_id | Abfrage | optional | Listet nur die Synchronisierungen auf, die über dieses Konto lesen. |
| Status | Abfrage | optional | Listet nur die Synchronisierungen in diesem Zustand auf. |
Anfragevorlage und Antworten
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/media-syncs'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Die Synchronisierungen des Projekts. | MediaSyncList (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) |
Mediensynchronisierung anlegen
provider canva: liest das Design (design ist seine ID oder seine Adresse canva.com/design/ID/...) über ein verbundenes Canva-Konto und speichert die Synchronisierung, jetzt fällig.
Each run asks Canva for the design's last change and, when it moved, exports the pages (pages, default all; format png gives one image per page and mp4 one video) and imports them into the media folder, replacing the bytes of a page already imported under the same media id so the playlists that use it update; a page the design no longer has leaves play like a removed SharePoint file.
Ein Design, das Canva nicht mehr anzeigt, stoppt die Synchronisierung im Zustand error (Laufzeitfehler design_unavailable) und behält die Medien.
Ein Design oder eine Seite, die das Konto nicht sehen kann, ist 409 media_sync_source_refused. provider dropbox: url ist die Adresse des Ordners in Dropbox (https://www.dropbox.com/home/...), ein Link zu einem freigegebenen Ordner, den das verbundene Konto seiner Dropbox hinzugefügt hat, oder ein mit / beginnender Pfad; sie wird einmal über ein verbundenes Dropbox-Konto gelesen, und die Synchronisierung wird gespeichert, jetzt fällig.
Ordner in einem Team-Space werden vom Stammverzeichnis des Teams aus gelesen. Jeder Lauf setzt an der von Dropbox gespeicherten Position im Ordner fort, sodass nur Änderungen gelesen werden.
Ein Ordner, den das Konto nicht öffnen kann, ist 409 media_sync_source_refused; ein Konto, dessen Verbindung Dropbox nicht mehr anerkennt, ist 409 dropbox_reconnect_required. provider google_drive: url ist die Google-Drive-Adresse des Ordners (https://drive.google.com/drive/folders/ID) oder seine ID, freigegeben (Viewer genügt) für die service_account_email des Kontos.
Jeder Lauf listet den Ordner auf und vergleicht die Prüfsumme jeder Datei. Dateien aus Google Docs, Sheets und Slides werden als unsupported_type übersprungen. Ein Ordner, der sich über die Adresse nicht öffnen lässt, ist 409 media_sync_source_refused.
Über das Dienstkonto von screenRIG muss der Ordner von einem Projektmitglied mit verifizierter E-Mail freigegeben worden sein oder diesem gehören (403 media_sync_sharer_not_member), und jeder Lauf prüft das erneut (der Laufzeitfehler sharer_not_member stoppt die Synchronisierung im Zustand error). provider sharepoint: liest die Adresse des Ordners über das Konto (eine SharePoint-Website-Adresse wie https://TENANT.sharepoint.com/sites/SITE/LIBRARY/FOLDER oder ein Freigabelink; die App muss sie sehen können: Sites.Selected braucht eine Freigabe für die Website, ein Freigabelink braucht Files.Read.All) und speichert die Synchronisierung, jetzt fällig. folder_id ist der Medienordner, in dem die Dateien landen; ohne ihn legt die Synchronisierung einen an, der nach dem Quellordner benannt ist.
Each run imports the images (png, jpeg, webp, gif), videos (mp4, webm) and audio (mp3) directly in the source folder, replaces the bytes of a file that changed under the same media id so playlists that use it update, and takes a file removed at the source out of play: its media is deleted, or, while screens still hold it, moved to a Removed subfolder and deleted later.
Subfolders are ignored; other files are listed as skipped with the reason. every is the seconds between runs, 300 to 86400, default 900. A folder the provider refuses is 409 media_sync_source_refused and one it cannot reach is 500 media_sync_source_unavailable; nothing is stored. Appends media_sync.created.
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 |
|---|---|
| provider (erforderlich, String) | Erlaubt: "sharepoint", "canva", "dropbox", "google_drive" |
| account_id (erforderlich, String) | Ein Konto der Art des Anbieters: microsoft365 für sharepoint, canva, dropbox oder google_drive. |
| url (optional, Zeichenfolge) | sharepoint (erforderlich): die SharePoint-Adresse des Ordners oder ein Freigabelink, einmal gelesen, um den Ordner zu finden, und nicht gespeichert. dropbox (erforderlich): die Dropbox-Adresse des Ordners, ein Link zu einem freigegebenen Ordner, den das Konto hinzugefügt hat, oder ein mit / beginnender Pfad. google_drive (erforderlich): die Google-Drive-Adresse des Ordners oder seine ID. maxLength: 4096 |
| design (optional, String) | canva (erforderlich): die ID des Designs oder seine Adresse canva.com/design/ID/... maxLength: 2048 |
| Seiten (optional, Array) | canva: die zu synchronisierenden Seiten; weglassen für alle Seiten. Ein Design, das später weniger Seiten hat, nimmt die fehlenden aus der Wiedergabe. |
| format (optional, String) | canva: png liefert ein Bild pro Seite; mp4 ein Video der Seiten. Allowed: "png", "mp4" default: "png" |
| folder_id (optional, String) | Der Medienordner, in dem die Dateien landen. Weglassen, um einen nach dem Quellordner benannten anzulegen. |
| every (optional, Integer) | Sekunden zwischen den Läufen; Standard 900. minimum: 300 maximum: 86400 |
| Name (optional, Zeichenkette) | Standardmäßig der Name des Quellordners. minLength: 1 maxLength: 80 |
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/media-syncs'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 201 | Erstellt, jetzt fällig. | MediaSync (application/json); Header: ETag, Cache-Control |
| 400 | invalid_request. | Problem (application/problem+json) |
| 402 | feature_not_in_plan — der Plan des Projekts enthält keine Mediensynchronisierung; required_plan nennt den Plan, der sie enthält. | Problem (application/problem+json) |
| 403 | media_sync_sharer_not_member — ein über das Dienstkonto von screenRIG gelesener Google-Drive-Ordner war weder von einem Projektmitglied mit verifizierter E-Mail freigegeben noch in dessen Besitz. | Problem (application/problem+json) |
| 409 | media_sync_source_refused (der Anbieter hat die App, ihre Berechtigung oder den Ordner abgelehnt), dropbox_reconnect_required (das Dropbox-Konto muss erneut verbunden werden), dropbox_not_configured, google_drive_not_configured, resource_conflict (dieselbe Quelle wird bereits in diesen Medienordner synchronisiert) oder idempotency_mismatch. | Problem (application/problem+json) |
| 500 | media_sync_source_unavailable: Der Anbieter war nicht erreichbar oder antwortete mit einem Fehler. | 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) |
Mediensynchronisierung abrufen
Eine Mediensynchronisierung mit der Zusammenfassung ihres letzten Laufs.
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/media-syncs/RESOURCE_ID'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Eine Synchronisierung. | MediaSync (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) |
Mediensynchronisierung ändern
Changes the name, every (seconds between runs), state (active or paused; active also resumes a sync an error stopped) or folder_id. A new folder_id points the sync at another media folder and makes its next run read the whole source again, which puts every synced file there. Appends media_sync.updated. If-Match guards the 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 |
|---|---|
| Name (optional, Zeichenkette) | minLength: 1 maxLength: 80 |
| every (optional, Integer) | Sekunden zwischen den Läufen. minimum: 300 maximum: 86400 |
| state (optional, String) | Erlaubt: "active", "paused" |
| folder_id (optional, String) |
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/media-syncs/RESOURCE_ID'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 200 | Synchronisierung aktualisiert. | MediaSync (application/json); Header: ETag, Cache-Control |
| 400 | invalid_request. | Problem (application/problem+json) |
| 402 | feature_not_in_plan — der Plan des Projekts enthält keine Mediensynchronisierung; required_plan nennt den Plan, der sie enthält. Das Pausieren einer Synchronisierung ist immer erlaubt. | 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) |
Mediensynchronisierung löschen
Beendet die Synchronisierung und vergisst, welche Quelldatei zu welchem Medium wurde. Die Medien und ihr Ordner bleiben bestehen. Hängt media_sync.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/media-syncs/RESOURCE_ID'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 204 | Gelöscht. | kein Körper |
| 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) |
Mediensynchronisierung ausführen
Macht die Synchronisierung jetzt fällig und antwortet 202; ein Worker führt sie innerhalb von etwa 30 Sekunden aus, und die Antwort von GET /api/media-syncs/{id} zeigt ihr last_run.
Eine durch einen Fehler gestoppte Synchronisierung läuft wieder; eine pausierte wird abgelehnt, bis sie fortgesetzt wird. force=true lässt eine Canva-Synchronisierung das Design auch dann exportieren, wenn Canva es als unverändert meldet (bei einer SharePoint-Synchronisierung abgelehnt: Sie lädt ohnehin jede geänderte Datei herunter).
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. |
| erzwingen | Abfrage | optional | Eine Canva-Synchronisierung exportiert das Design auch dann, wenn Canva es als unverändert meldet. |
Anfragevorlage und Antworten
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/api/media-syncs/RESOURCE_ID/run'Antworten
| Status | Bedeutung | Textkörper und Header |
|---|---|---|
| 202 | Die Synchronisierung, jetzt fällig. | MediaSync (application/json); Header: ETag, Cache-Control |
| 400 | invalid_request. | 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) |