OpenAPI YAMLOpenAPI JSON問題 YAMLAPI の概要
このグループには 24 件のオペレーションがあり、api/openapi.yaml から生成されています。パス、アクション、認証で絞り込めます。各エンドポイントには入力が一覧され、展開するとリクエストテンプレートとレスポンスコードを確認できます。テンプレートには、ご自身の値とスキーマに適合する本文が必要です。
大文字のプレースホルダーをあなたの値に置き換えます。JSONリクエストの場合、request.jsonのスキーマに合うボディを保存します。Cookie例は認証済みセッションのローカルCookieジャーを使用します。
ランタイムマニフェスト、レポート、およびイベント
Exchange ブラウザプロビジョニング
ブラウザのみ同一オリジン交換。ワンタイムトークンを exchange_id に原子的にバインドし、通常のホスト限定 HttpOnly Secure SameSite=Strict ペアリングデバイスクッキーのみを設定します。Android と Qt はこの権限を消費しません。
リクエスト本文フィールド
| フィールド | 説明 |
|---|---|
| provisioning_token(必須、文字列) | パターン: "^[A-Za-z0-9_-]{43}$" |
| exchange_id(必須、文字列) | パターン: "^xchg_[A-Za-z0-9_-]{43}$" |
リクエストテンプレートとレスポンス
curl --request POST --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/browser-provisioning/exchanges'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 201 | ランタイムクッキーや認証情報なしでペアリングデバイスクッキーが発行されました。 | BrowserProvisioningCompletion(application/json);ヘッダー:Cache-Control、Referrer-Policy、RateLimit-Policy、RateLimit |
| 400 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 403 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 404 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 409 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 410 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 429 | Player 対応のランタイムまたはコンテンツルートでの安定した rate_limited 問題応答。ランタイムドキュメント形式(RuntimeProblem)。権威ある Retry-After 間隔後にのみリトライしてください。固定ウィンドウ拒否は適用される RateLimit-Policy と RateLimit メンバーも含みます。並行性とバイト予算拒否はこれらの開示を省略します。 | ランタイム問題(application/problem+json);ヘッダー:Retry-After、RateLimit-Policy、RateLimit |
| 500 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| デフォルト | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
ランタイム Chrome を取得
現在のランタイムセッションのステージクローム。ランタイムマニフェストの一部ではありません。認証は同じランタイムクッキーまたはGET /screen/manifest.のScreenRig-Sessionです。Cache-Controlはプライベートでno-storeです。バナーは常にnullです。
リクエストテンプレートとレスポンス
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/chrome'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 200 | ランタイム chrome | RuntimeChrome(application/json);ヘッダー:Cache-Control |
| デフォルト | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
ランタイムマニフェストを取得
すべてのセッションに対する単一のランタイムマニフェストルート。schemaVersionは3です。解決済みプレイヤーマニフェスト;プロジェクションはフェイルセーフで、無効なページやプリミティブは省略され診断にリストされます。
Adslotページはadslot-v1が付与されたペアリングセッションにのみ含まれます。他のすべてのセッション(匿名の公開スクリーンビューアを含む)は広告スロットページなしのハウスコンテンツを受け取ります。ルートキーはcamelCaseのまま、adslotページキーはid、type、adslot_id、およびオプションのsnake_caseのvisibilityです。
互換ルール4 — pages [] で diagnostics が空でない 200 は劣化した投影です(Player は最後に正常だったコンテンツを保持します)。pages [] で diagnostics がない 200 は、意図的に空として作成された割り当てです(docs/player-compatibility.md §1.4)。
一時停止中のスクリーンには、プレイリストが割り当てられているかどうかにかかわらず、diagnostics を伴わない pages []、suspension メンバー、そのスクリーン固有のマニフェストリビジョンが配信されます(§6.9)。アーカイブ済みのスクリーンは問題 screen_archived を返し、最後に正常だった状態を更新してはなりません。
パラメーター
| 名前 | 送信する | 必須? | 説明 |
|---|---|---|---|
| stream_transports | クエリ | オプション | カンマ区切りの対応ストリームトランスポート(hls、udp-mpegts、rtsp)。省略時はストリームをフォールバック画像に投影。レンダリング交渉のみで認証は行いません。udp-mpegtsはローカルで有効な場合のみ広告。 |
リクエストテンプレートとレスポンス
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/manifest'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 200 | 解決済みプレーヤーマニフェスト。 | ランタイムマニフェスト(application/json) |
| 304 | マニフェストは変更されていません | 本文なし |
| 409 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| デフォルト | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
ストリームランタイムイベント
パラメーター
| 名前 | 送信する | 必須? | 説明 |
|---|---|---|---|
| 以降 | クエリ | オプション | 前回の応答からのカーソル:プロジェクトイベント(およびイベントストリーム)用の ev1_。プレーヤーログ(source=log)はサーバーが保持する場所で lg1_ または ev1_ カーソルでページングします。これらは不透明として扱い、ページが返したものを返します。別種のカーソルは invalid_request で拒否されます。 |
| Last-Event-ID | ヘッダー | オプション | afterがない場合に使用される耐久カーソル。 |
リクエストテンプレートとレスポンス
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/stream/events'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 200 | スクリーンスコープの耐久SSE。クエリーカーソルはLast-Event-IDより優先されます。各イベントは再接続に適したidカーソルを持ちます。Valkey(stream-valkey/v1)からのストリームサイドカーによって提供されます。ストリームはstream.cursorフレームを持たず、カーソルは配信されたイベントでのみ進みます。 無効、未来、または事前保持カーソルは現在のヘッドで stream.resync_required を受け取り閉じます。screen.toast と screen.screenshot_requested はランタイムのオーディエンスイベントであり、scan は過去の details.expires_at を配信しません。 スクリーンショット画像のバイトはこのストリームには含まれません。screen.archivedとscreen.unarchivedはランタイムのオーディエンスイベントで、資格情報を消去しません。screen.deletedは署名済みIDリセットでスクリーンを墓標化したときのランタイムイベントです。ローカルIDをクリアするランタイムイベントはありません。 確認済みのローカルPlayer操作による成功した署名付きリセットのみがローカルIDローテーションを許可します。project.suspended と project.resumed はプリペイド残高がゼロまたは正に変わるときの実行時オーディエンスヒントです。 ランタイムの対象は許可リストで定められています(docs/player-compatibility.md §7.1)。screen.content_changed、screen.manifest_changed、screen.toast、screen.screenshot_requested、screen.archived、screen.unarchived、screen.deleted、screen.device_credential_revoked、project.suspended、project.resumed、player.reload(すべてのランタイムセッションに届きます)、スクリーン単位のコマンド player.reboot と player.display(docs/player-compatibility.md §6.5)、player.play_page(§6.3.1)、player.identify(§6.3.2)(いずれも details.expires_at を過ぎると配信されません)、および screen.card_data_changed(resource {type: card_data, key}、details {revision} または {deleted: true}。現在のコンテンツがそのカードデータまたはフィードキーを読むスクリーンにのみ送られます)。 その他のすべてのタイプはストリームに公開されません。プレーヤーは不明なイベントタイプ(デフォルトのメッセージタイプを含む)や不明なフィールド名を無視し、すべてのIDからカーソルを進めます。 ストリームは独自のリトライで開きます。接続ごとに 3000~15000 ms の間で描画され、同時に切断されたストリームが同時に再接続しないようにします。ドレイン中のホストは各ストリームに 1000~30000 ms のリトライを送信します。 インバンド問題フレーム(イベント:problem)にはIDがなく、データは{code、detail、action?}です。actionはレジストリが定義すると存在し、ストリームは閉じます(payment_requiredはretry: 60000を設定)。フリートplayer.reload制御フレームはIDがなくカーソルを動かしません。64KiB以上のデータを持つフレームはありません。 | string (text/event-stream); ヘッダー: X-Accel-Buffering |
| デフォルト | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
ランタイムレポートを作成
リクエストテンプレートとレスポンス
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/reports'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 202 | 永続的な保存後に承諾されます。テレメトリのバッチは単位として承諾または拒否されます。生の観測が永続化され、ストリームのウォーターマークが進んだ後にのみ202を返します。stream_id、sequence、accepted(レポート数)、duplicateを返します。 最新のヘルスや観測状態、ページ障害スロットを変更するバッチやプロジェクトイベントを追加するバッチは、その状態でウォーターマークを 1 回のスクリーン書き込みでコミットし、イベントも同じトランザクションで追加します。 いずれも変更しないバッチ(再生や状態レポートの安定したバッチなど)は、そのウォーターマークのみを Valkey に 25 時間保持します。Valkey が利用不可またはメモリ不足の場合は、スクリーン書き込みが代わりに保持します。 拒否されたバッチ(競合するリプレイ、ストリーム容量満杯、権限廃止)は何も保存しません。ただし、新しいストリームがスクリーンの最後のストリーム位置を失い、その生の観測が保存された後に拒否されます。 サーバーエラーや接続切断で未確認となったバッチは、一部の生観測データを保存している場合があります。同じバイト列を再送すると、欠落した観測のみ 1 回ずつ保存され、重複保存はされず、その後確認されます。確認済みバッチの再送は duplicate true で 202 を返し、何も変更しません。 Valkey に保持されたウォーターマークはフェイルオーバーで失われたり遅れたりし、先行しません。ストリームのウォーターマークを超えるシーケンスはギャップ拒否なく次として受け入れられ、ウォーターマークを失ったリプレイは duplicate false で再受け入れられます。再生は1回だけ保存され、プレーヤーログの記録は識別子でまとめられます。 個別レポートは既存の応答を保持します。 ランタイム条件レポート(player.page_skippedなどの他のレポートコード)はPlayerログ(GET /api/events?source=log)に記録され、プロジェクトのイベントには含まれません。Playerログキューが受け入れると承認されます。イベントストリームにはなくWebhookにも配信されません。manifest.activatedはこの応答前にコミットされ、現在のアクティブリビジョンに対して冪等です。playback.media_started、旧playback.video_started、playback.application_startedはこの応答前に認証されたスクリーン観測(GET /api/playback/plays)を永続的に追加します。報告されたアイテム、ページ、マニフェストのIDは現在のコンテンツメンバーシップを必要とせず、コンテンツアクセスを許可しません。 日次カウント、オプションのメタデータ、およびプロジェクト所有のリソースlast_used_atは回復可能なバッチで更新され、生の観測より遅れることがあります。 通常の再生開始応答はオプションのクレジット残高ヘッダーを省略します。playback.page_failedはスクリーンの最新のページ失敗スロットを置き換え、同じトランザクションでプロジェクト専用の永続イベントを追加し、スクリーンやマニフェストリビジョンは変更しません。manifest.upgradeはスクリーンの最新勝利マニフェストアップグレードスロットをリビジョンフェンスの背後に保存し、派生状態が変わった場合のみ同じトランザクションでプロジェクト専用の永続イベントを追加します。古い、置き換えられた、または事前アクティベーションレポートは変更なしで受け入れられ、レポートは付与を昇格しません。application.eventはこの応答の前に永続プロジェクトイベントを追加します。 | 本文なし;ヘッダー:RateLimit-Policy、RateLimit |
| デフォルト | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
ランタイムスクリーンショットをPUT
現在保留中のセッションスクリーン用の静止 WebP をアップロードします。パスは screen_id を指定しません。ペアリングされたランタイムセッションがそれを結びつけます。ヘッダー ScreenRig-Capture-Id は現在保留中の capture_id でなければなりません。Content-Type は正確に image/webp です。ボディは空でなく、最大 2097152 バイトの生の WebP です。
サーバーはRIFF/WEBPマジックを検証し、単一の静止フレームをデコードし、アップロードされたバイトを変更せずに保存します。アニメーションWebPはinvalid_requestです。欠落、未知、有効期限切れ、または非現在のcapture_idはresource_conflictです。未ペアのセッションは禁止されています。前払い残高クレジットはゲートではなく、これらのバイトはused_bytesにカウントされません。
スクリーンごとに1つのスロットが置き換えられます。screen.screenshot_ready は name、capture_id、bytes、width、height、sha256 を詳細に含み、ピクセルやオブジェクトキーは含みません。
パラメーター
| 名前 | 送信する | 必須? | 説明 |
|---|---|---|---|
| ScreenRig-Capture-Id | ヘッダー | 必須 | |
| ScreenRig-Capture-Failure | ヘッダー | オプション | 空の本文で利用不可のキャプチャを報告します。プレイヤーはunsupported_surfaceまたはcapture_failedを送信します。他の非空値はcapture_failedとして記録され、拒否されません(docs/player-compatibility.md §1.1)。現在保留中のキャプチャのみ失敗可能です。 ピクセルや部分的な画像は保存されません。screen.screenshot_failed に理由が入り、ステータスは利用不可になります。 |
リクエストテンプレートとレスポンス
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'ScreenRig-Capture-Id: VALUE' --header 'Content-Type: image/webp' --data-binary '@request.bin' 'https://play.screenrig.ai/screen/screenshot'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 204 | 現在のスロットとして保存された静止 WebP。 | 本文なし;ヘッダー:Cache-Control |
| 400 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 401 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 403 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 409 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| デフォルト | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
広告枠を解決
最大16件のサーバー検証済みページ出現を解決します。可能なフィルがある新規候補は原子単位で価格設定、予算チェック、キャンペーン全体の価格フェンスに対して予約されます。可能なフィルがない新規候補は決定や予約を作成せず空を返します。
適格または手頃なキャンペーンがない場合は、コンテンツなし、デビットなしの成功した空の結果です。支払いチャレンジではありません。空の結果には最大60秒続くサーバークロックのno-fillヒントが含まれ、既知の適格境界で早期終了します。
ヒントは同じスクリーン、マニフェスト、ページ、スロット、適格性コンテキストに適用されますが、再生を許可することはありません。リースの更新は同じ予約を再利用し、ローテーションは進みません。また、キャンペーンで価格再承認が必要な場合は拒否されます。
リクエスト本文フィールド
| フィールド | 説明 |
|---|---|
| manifest_revision(必須、文字列) | |
| 候補者(必須、配列) |
リクエストテンプレートとレスポンス
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/adslots/resolve'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 200 | 候補ごとのリクエスト順の結果(埋まっているか空か)。 | RuntimeAdslotResolveResponse(application/json);ヘッダー:Cache-Control、RateLimit-Policy、RateLimit |
| 400 | invalid_request - バッチサイズ、重複キー、または予測ウィンドウが無効です。 | ランタイム問題(application/problem+json) |
| 409 | resource_conflict - 異なるリクエストハッシュで候補が再利用されました。 | ランタイム問題(application/problem+json) |
| 429 | Player 対応のランタイムまたはコンテンツルートでの安定した rate_limited 問題応答。ランタイムドキュメント形式(RuntimeProblem)。権威ある Retry-After 間隔後にのみリトライしてください。固定ウィンドウ拒否は適用される RateLimit-Policy と RateLimit メンバーも含みます。並行性とバイト予算拒否はこれらの開示を省略します。 | ランタイム問題(application/problem+json);ヘッダー:Retry-After、RateLimit-Policy、RateLimit |
| デフォルト | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
広告スロットイベントを報告
認証済み再生証拠。イベントはスクリーンとイベントIDで重複排除。正当な完了は予約済み価格と手数料で1回だけ保持予約を消費し、販売者に総額をクレジットし、サービス手数料をデビットする単一トランザクション。確認済みの非再生終端イベントは保持を1回解除。
リリース後の完了は課金対象外で新規クレジットを減算しません。開始前の完了は調整保留されます。
リクエスト本文フィールド
| フィールド | 説明 |
|---|---|
| イベント(必須、配列) |
リクエストテンプレートとレスポンス
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/adslots/events'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 200 | イベントごとの結果。 | RuntimeAdslotEventResponse(application/json);ヘッダー:Cache-Control、RateLimit-Policy、RateLimit |
| 429 | Player 対応のランタイムまたはコンテンツルートでの安定した rate_limited 問題応答。ランタイムドキュメント形式(RuntimeProblem)。権威ある Retry-After 間隔後にのみリトライしてください。固定ウィンドウ拒否は適用される RateLimit-Policy と RateLimit メンバーも含みます。並行性とバイト予算拒否はこれらの開示を省略します。 | ランタイム問題(application/problem+json);ヘッダー:Retry-After、RateLimit-Policy、RateLimit |
| デフォルト | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
ランタイム観察をPUT
ペアリングされたプレーヤーが最後の resolveLayout で使用した再生サーフェスを報告します。パスは screen_id を指定しません。ペアリングされたランタイムセッションがこれをバインドします。本文は JSON の ScreenObservation で、observed_at と1~12のサーフェスを含みます。ビデオウォールを操作するプレーヤーは出力ごとに1つ報告し、id は出力名です。
数値はデバイス非依存ピクセルとそのレイアウト面のデバイスピクセル比であり、キャンバスの作者サイズやエンコードされたスクリーンショットサイズではありません。範囲チェックのみで、ハードウェアや認証の証明ではありません。最後の書き込みが勝ち、surfaces配列全体を置き換えます。
同一のサーフェスタプル(ID、幅、高さ、pixel_ratio、プレゼンテーション、回転)はscreen.surface_changedを発行しません。同じタプルに対する後のobserved_atは無視されます。未ペアリングおよび匿名の公開セッションは禁止です。ネイティブクッキーは拒否され、ブラウザはヘッダープロファイルを採用してはいけません。プリペイド残高はゲートではありません。
GET /api/screensでは最初の受理されたレポートまで観測情報はありません。ScreenPatchは書き込みできません。アーカイブされたスクリーンは409 screen_archivedで応答します。ペアリングされたセッションごとに1分あたり最大12件のレポート(runtime-observation):429はRetry-After以降の再試行を意味します。
リクエスト本文フィールド
| フィールド | 説明 |
|---|---|
| observed_at(必須、文字列) | フォーマット: "date-time" |
| surfaces(必須、配列) | 1〜12個のサーフェス;ビデオウォールを操作するPlayerは出力ごとに1つ報告し、id は出力名です。 |
リクエストテンプレートとレスポンス
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/observation'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 204 | 観測情報は現在のsurfaces配列として保存されます。 | 本文なし;ヘッダー:Cache-Control、RateLimit-Policy、RateLimit |
| 400 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 401 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 403 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 409 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 429 | Player 対応のランタイムまたはコンテンツルートでの安定した rate_limited 問題応答。ランタイムドキュメント形式(RuntimeProblem)。権威ある Retry-After 間隔後にのみリトライしてください。固定ウィンドウ拒否は適用される RateLimit-Policy と RateLimit メンバーも含みます。並行性とバイト予算拒否はこれらの開示を省略します。 | ランタイム問題(application/problem+json);ヘッダー:Retry-After、RateLimit-Policy、RateLimit |
| デフォルト | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
ランタイムヘルスをPUT
ペアリングされたセッションのスクリーンのデバイス状態を報告します。セッション開始時と15分ごとに1回、ディスプレイの接続または電源が変わったときに1回送信します。
すべてのメンバーはオプションで、本文は寛容に読み取られます(docs/player-compatibility.md §1.1):不明なメンバーは無視され、範囲外の値は破棄され、不明なdisplay.powerまたはnetwork.kindは不明として読み取られます。誤ったJSON型のメンバーのみが400エラーになります(float64範囲を超える数値は範囲外で、そのメンバーは破棄されます)。
保存された値はサニタイズされた ScreenHealth とサーバーの reported_at で、前回のレポートを置き換えます。スクリーンごとに最大 1 分に 1 件のレポート(runtime-health)。429 はこのレポートを破棄し、次のレポートをスケジュール通りに送信し、Retry-After(最低 1 秒)より早い再試行はしないことを意味します。
400 またはサーバーエラーでは分は消費されません。同じスクリーンのすべてのセッションで共有されます。health.write を保持するペアリング済みセッションが必要です(health.write 登場前に発行されたペアリング済みセッションは runtime.report で認められます)。ペアリングされていない、または匿名セッションは禁止され、アーカイブ済みスクリーンは 409 screen_archived を返します。
スクリーンの現在のコンテンツアクセス世代より古いセッションからのレポートは401で拒否されます。アーカイブとスクリーン回復はScreen.healthをクリアします。このルートがないバックエンドは404を返します:再生を続け、該当セッションのヘルス報告を停止します。遷移はプロジェクト専用のscreen.health_changedを追加します(GET /screen/eventsではありません)。
ヘルスは認証ではありません。
リクエスト本文フィールド
| フィールド | 説明 |
|---|---|
| uptime_s(任意、整数) | デバイス(OS)起動からの秒数。最小値:0 |
| app_uptime_s(任意、整数) | プレーヤープロセス開始からの秒数。最小値:0 |
| memory(任意、オブジェクト) | |
| cpu(任意、オブジェクト) | |
| temperature_c(オプション、数値) | SoCまたはパネル温度(摂氏)。最小:-50 最大:150 |
| display(任意、オブジェクト) | |
| network(任意、オブジェクト) | |
| battery(任意、オブジェクト) | デバイスのバッテリー。デバイスにバッテリーがある場合にのみ送信します (EXTRA_PRESENT を伴う Android の BatteryManager)。電源の変化 (接続または取り外し) は、ディスプレイの変化と同様に、すぐに報告されます。 |
| crashes_24h(任意、整数) | 過去24時間のプレーヤークラッシュ。最小: 0 最大: 1000000 |
| renderer_restarts_24h(任意、整数) | 過去24時間のレンダラーまたはWebビューの再起動数。最小値:0 最大値:1000000 |
リクエストテンプレートとレスポンス
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/health'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 204 | ヘルスレポートを保存しました。 | 本文なし;ヘッダー:Cache-Control、RateLimit-Policy、RateLimit |
| 400 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 401 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 403 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 409 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 429 | Player 対応のランタイムまたはコンテンツルートでの安定した rate_limited 問題応答。ランタイムドキュメント形式(RuntimeProblem)。権威ある Retry-After 間隔後にのみリトライしてください。固定ウィンドウ拒否は適用される RateLimit-Policy と RateLimit メンバーも含みます。並行性とバイト予算拒否はこれらの開示を省略します。 | ランタイム問題(application/problem+json);ヘッダー:Retry-After、RateLimit-Policy、RateLimit |
| デフォルト | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
ランタイムストレージをPUT
ネイティブプレーヤーのストレージ、プレーヤーのストレージプラン、および転送バイトの計算を報告します。パスは screen_id を指定しません。ペアリングされたランタイムセッションがこれをバインドします。ペアリングされていない匿名セッションは禁止されています。ネイティブクッキーは拒否され、ブラウザはヘッダープロファイルを採用してはいけません。未知のメンバーは無視されます(docs/player-compatibility.md §1.1)。
保存された値はサニタイズされたプロジェクトの ScreenStorage とサーバーの received_at で、生の本文ではありません。manifest_revision はスクリーンの希望またはアクティブなリビジョンでなければならず、そうでない場合は 409 resource_conflict で何も保存されません。除外されたページ ID はそのリビジョンに存在する必要があります。
同一のフィットクラスはscreen.storage_shortfallやscreen.storage_shortfall_clearedを発行しません。これらのイベントはプロジェクト専用でGET /screen/events.では配信されません。ストレージは認証や入場ではありません。ScreenPatchは書き込みできません。received_atによる24時間以上前のレポートは利用者にとって古いものです。
リクエスト本文フィールド
| フィールド | 説明 |
|---|---|
| observed_at(必須、文字列) | フォーマット: "date-time" |
| volume(必須、ScreenStorageVolume) | |
| cache(必須、ScreenStorageCache) | |
| durability(必須、文字列) | 許可:"durable"、"purgeable" |
| プラン(必須、ScreenStoragePlan) | |
| transfer_24h(必須、ScreenStorageTransfer) |
リクエストテンプレートとレスポンス
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/storage'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 204 | 保存されたストレージレポート。 | 本文なし;ヘッダー:Cache-Control、RateLimit-Policy、RateLimit |
| 400 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 401 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 403 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 409 | resource_conflict - manifest_revision がスクリーンの希望またはアクティブなリビジョンではありません。レポートは保存されません。 | ランタイム問題(application/problem+json) |
| 429 | Player 対応のランタイムまたはコンテンツルートでの安定した rate_limited 問題応答。ランタイムドキュメント形式(RuntimeProblem)。権威ある Retry-After 間隔後にのみリトライしてください。固定ウィンドウ拒否は適用される RateLimit-Policy と RateLimit メンバーも含みます。並行性とバイト予算拒否はこれらの開示を省略します。 | ランタイム問題(application/problem+json);ヘッダー:Retry-After、RateLimit-Policy、RateLimit |
| デフォルト | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
ランタイムステータスをPUT
ペアリングされた Player が画面に表示するステータスチップを報告します。ランクで勝つ screenrig.overlay/v1 の条件、またはチップが表示されない場合は null です。パスは screen_id を指定しません。ペアリングされたランタイムセッションがこれをバインドします。
本文は JSON の RuntimeStatusWrite {observed_at, chip} です。不明なメンバーは無視されます(docs/player-compatibility.md §1.1)。chip はバックエンドのカタログ(packages/overlay/overlay.json、Player が取り込むファイル)にある条件の id でなければなりません。アップグレード通知と起動メッセージはチップではありません。
chip がない場合、値が別の型の場合、またはカタログにない id の場合は、errors[0].field が chip の 400 invalid_request となり、何も保存されません。保存される値はプロジェクトの ScreenStatus です。level と icon は chip に対するカタログの値であり、Player の値ではありません。received_at はサーバーの受信時刻です。最後の書き込みが勝ち、ステータス全体を置き換えます。
chip、level、icon のいずれも変更しないレポートは何もしません。保存済みの observed_at と received_at を保持し、何も追加しません。変更があると、details {chip, level, icon} を持つプロジェクト専用の screen.status_changed を追加します。GET /screen/events では配信されません。ペアリングされていない公開セッションと匿名セッションは禁止されています。
ネイティブクッキーは拒否され、ブラウザはヘッダープロファイルを採用してはいけません。プリペイド残高はゲートではありません。ステータスは最初に受理されたレポートまで GET /api/screens に存在せず、IDリセット、アンペア、アーカイブでクリアされます。ScreenPatchは書き込みできません。アーカイブされたスクリーンは 409 screen_archived で応答します。
ペアリングされたセッションごとに1分あたり最大12件のレポート(runtime-status):429はRetry-After以降の再試行を意味します。このルートがないバックエンドは404を返します:再生を続け、該当セッションのステータス報告を停止します。ステータスは認証や入場にはなりません。Playerのルールは docs/player-compatibility.md §9.5 にあります。
リクエスト本文フィールド
| フィールド | 説明 |
|---|---|
| observed_at(必須、文字列) | チップが最後に変わった時点、またはセッションが開始された時点の Player の時刻。形式:「date-time」 |
| chip(必須、インライン) | Player が表示する screenrig.overlay/v1 の条件の id(packages/overlay/overlay.json の conditions[].id)。抑制されたサーフェス(fatal、starting、pairing)のようにチップを表示しない場合は null。必須。バックエンドのカタログにない id は拒否されます。 |
リクエストテンプレートとレスポンス
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/status'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 204 | ステータスを保存、または変更なし。 | 本文なし;ヘッダー:Cache-Control、RateLimit-Policy、RateLimit |
| 400 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 401 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 403 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 409 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 429 | Player 対応のランタイムまたはコンテンツルートでの安定した rate_limited 問題応答。ランタイムドキュメント形式(RuntimeProblem)。権威ある Retry-After 間隔後にのみリトライしてください。固定ウィンドウ拒否は適用される RateLimit-Policy と RateLimit メンバーも含みます。並行性とバイト予算拒否はこれらの開示を省略します。 | ランタイム問題(application/problem+json);ヘッダー:Retry-After、RateLimit-Policy、RateLimit |
| デフォルト | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
ランタイムスクリーンラベルをPUT
ペアリングされたランタイムセッションに紐づくスクリーンの名前を変更します。PATCH /api/screens/{id} nameと同じ名前変更です。サーバーはscreen_labelの前後の空白を取り除き、制御文字を含まない1~120文字を要求します。そうでなければinvalid_requestです。
リネームは同じスクリーンイベントを記録し、割り当てられたスクリーンではマニフェストscreen_labelを変更し、screen.manifest_changedをプレーヤーに送信します。パスとボディはscreen_idを指定しません。ペアリングされたランタイムセッションがそれにバインドします。If-MatchやIdempotency-Keyはありません。最後の書き込みが勝ちます。認証はランタイムクッキーまたはGET /screen/chrome.のScreenRig-Sessionです。
匿名および未ペアリングのセッションは認可されません。アーカイブされたスクリーンはscreen_archivedです。前払いの残高はゲートではありません。404を受け取ったPlayerはルートをサポートされていないとみなし、名前をローカルに保持します(docs/player-compatibility.md §2.5)。
リクエスト本文フィールド
| フィールド | 説明 |
|---|---|
| screen_label(必須、文字列) | minLength: 1 |
リクエストテンプレートとレスポンス
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/screen-label'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 200 | スクリーン名を変更しました。screen_labelは保存された名前です。 | ランタイムスクリーンラベル(application/json);ヘッダー:Cache-Control、RateLimit-Policy、RateLimit |
| 400 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 401 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 403 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 409 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 429 | Player 対応のランタイムまたはコンテンツルートでの安定した rate_limited 問題応答。ランタイムドキュメント形式(RuntimeProblem)。権威ある Retry-After 間隔後にのみリトライしてください。固定ウィンドウ拒否は適用される RateLimit-Policy と RateLimit メンバーも含みます。並行性とバイト予算拒否はこれらの開示を省略します。 | ランタイム問題(application/problem+json);ヘッダー:Retry-After、RateLimit-Policy、RateLimit |
| デフォルト | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
ランタイムコマンド結果を投稿
ペアリングされた Player は、送信されたコマンドがどう終わったかを報告します(docs/player-compatibility.md §6.5.1):done または failed、固定の cause トークンと、任意の短い detail を付けます。コマンドは Screen.commands で done_at、cause、detail とともに done または failed になり、プロジェクト専用の screen.command_result が追加されます。
結果を受け付けるのは、セッションのスクリーンの sent のコマンドだけです。スクリーンが一覧にしていない id や sent でないものは 404 not_found となり、Player はレポートを破棄します。記録済みの結果と完全に同じ繰り返しは 202 で何も変更しません。完了したコマンドに対する異なる結果は 409 resource_conflict です。failed の結果には cause が必須です。
パスと本文はスクリーンを指定しません。ペアリング済みのランタイムセッションがそれを結び付けます。認証はランタイムクッキーまたは ScreenRig-Session です。匿名およびペアリングされていないセッションは unauthorized で、アーカイブ済みのスクリーンは screen_archived です。プリペイドの残りクレジットは条件ではありません。
パラメーター
| 名前 | 送信する | 必須? | 説明 |
|---|---|---|---|
| command_id | パス | 必須 |
リクエスト本文フィールド
| フィールド | 説明 |
|---|---|
| state(必須、文字列) | 許可:"done"、"failed" |
| cause(任意、文字列) | 固定トークン:failed の場合は必須(clear_failed, restart_failed, update_check_failed, download_failed, install_failed, no_update_channel)、done の場合は任意(cleared, restarted, up_to_date, updated)。pattern: "^[a-z0-9_]{1,40}$" |
| detail(任意、文字列) | 制御文字を含まない短い文。認証情報付きの URL、トークン、プライベートなパスは含めません。maxLength: 200 |
リクエストテンプレートとレスポンス
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/commands/COMMAND_ID/result'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 202 | 保存されました。または、保存済みの結果と完全に同じ繰り返しです。 | 本文なし;ヘッダー:Cache-Control、RateLimit-Policy、RateLimit |
| 400 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 401 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 403 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 404 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 409 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 429 | Player 対応のランタイムまたはコンテンツルートでの安定した rate_limited 問題応答。ランタイムドキュメント形式(RuntimeProblem)。権威ある Retry-After 間隔後にのみリトライしてください。固定ウィンドウ拒否は適用される RateLimit-Policy と RateLimit メンバーも含みます。並行性とバイト予算拒否はこれらの開示を省略します。 | ランタイム問題(application/problem+json);ヘッダー:Retry-After、RateLimit-Policy、RateLimit |
| デフォルト | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
ライブセッションに参加
player.live_publish を受け取った Player はセッションに参加します(docs/player-compatibility.md §6.10.2)。有効期間の短い TURN の ice_servers、リース、配信できる映像の上限、ハートビートの間隔を受け取ります。live_id は画面の現在のセッションでなければならず、そうでない場合は 410 live_session_ended になります(配信を止めて再生を続けます)。
認証はペアリング済みのランタイム Cookie または ScreenRig-Session です。
パラメーター
| 名前 | 送信する | 必須? | 説明 |
|---|---|---|---|
| live_id | パス | 必須 |
リクエストテンプレートとレスポンス
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/live/LIVE_ID/join'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 200 | Player が配信するセッション。 | RuntimeLiveJoin(application/json);ヘッダー:Cache-Control, RateLimit-Policy, RateLimit |
| 400 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 401 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 403 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 409 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 410 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 429 | Player 対応のランタイムまたはコンテンツルートでの安定した rate_limited 問題応答。ランタイムドキュメント形式(RuntimeProblem)。権威ある Retry-After 間隔後にのみリトライしてください。固定ウィンドウ拒否は適用される RateLimit-Policy と RateLimit メンバーも含みます。並行性とバイト予算拒否はこれらの開示を省略します。 | ランタイム問題(application/problem+json);ヘッダー:Retry-After、RateLimit-Policy、RateLimit |
| デフォルト | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
ライブセッションのオファー
The Player sends its gathered sendonly offer: exactly one video m-section, ICE gathering complete or two seconds old, no separate candidates ever. The backend opens a fresh media relay session for it, replacing any earlier publisher of the session, and returns the relay's answer, which the Player applies with setRemoteDescription.
動画の m セクションがない場合、または 2 つある場合は invalid_request です。リレーの障害は dependency_unavailable です。live_id が画面の現在のセッションでない場合は 410 live_session_ended です。
パラメーター
| 名前 | 送信する | 必須? | 説明 |
|---|---|---|---|
| live_id | パス | 必須 |
リクエスト本文フィールド
| フィールド | 説明 |
|---|---|
| sdp(必須、文字列) | sendonly の動画 m セクションが 1 つ。ICE 収集が完了しているか、2 秒経過しています。 |
リクエストテンプレートとレスポンス
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/live/LIVE_ID/offer'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 200 | リレーの応答。 | RuntimeLiveOffer(application/json);ヘッダー:Cache-Control, RateLimit-Policy, RateLimit |
| 400 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 401 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 403 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 409 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 410 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 429 | Player 対応のランタイムまたはコンテンツルートでの安定した rate_limited 問題応答。ランタイムドキュメント形式(RuntimeProblem)。権威ある Retry-After 間隔後にのみリトライしてください。固定ウィンドウ拒否は適用される RateLimit-Policy と RateLimit メンバーも含みます。並行性とバイト予算拒否はこれらの開示を省略します。 | ランタイム問題(application/problem+json);ヘッダー:Retry-After、RateLimit-Policy、RateLimit |
| デフォルト | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
ライブセッションのハートビート
The Player reports its connection state and what its encoder sends every 20 seconds. The answer carries the lease; a lapsed lease or max_until ends the session here with 410 live_session_ended, and the Player stops publishing. The report is the Player's own word and feeds publisher.connected on the project API.
パラメーター
| 名前 | 送信する | 必須? | 説明 |
|---|---|---|---|
| live_id | パス | 必須 |
リクエスト本文フィールド
| フィールド | 説明 |
|---|---|
| connection(必須、文字列) | 許可:"new"、"connecting"、"connected"、"disconnected"、"failed"、"closed" |
| video(任意、object) |
リクエストテンプレートとレスポンス
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/live/LIVE_ID/heartbeat'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 200 | セッションはライブ中です。lease_until と max_until がその上限です。 | RuntimeLiveHeartbeatAnswer(application/json);ヘッダー:Cache-Control, RateLimit-Policy, RateLimit |
| 400 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 401 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 403 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 409 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 410 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 429 | Player 対応のランタイムまたはコンテンツルートでの安定した rate_limited 問題応答。ランタイムドキュメント形式(RuntimeProblem)。権威ある Retry-After 間隔後にのみリトライしてください。固定ウィンドウ拒否は適用される RateLimit-Policy と RateLimit メンバーも含みます。並行性とバイト予算拒否はこれらの開示を省略します。 | ランタイム問題(application/problem+json);ヘッダー:Retry-After、RateLimit-Policy、RateLimit |
| デフォルト | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
ライブセッションの停止通知
The Player reports it stopped publishing. The reason is an open enum (stopped, lease_ended, superseded, consent_denied, consent_timeout, projection_stopped, capture_failed, encoder_unavailable, connection_failed, relay_refused); a reason this server does not know reads player_stopped. 204 always, also for a live_id that is not the screen's current session.
パラメーター
| 名前 | 送信する | 必須? | 説明 |
|---|---|---|---|
| live_id | パス | 必須 |
リクエスト本文フィールド
| フィールド | 説明 |
|---|---|
| 理由(必須、文字列) | stopped, lease_ended, superseded, consent_denied, consent_timeout, projection_stopped, capture_failed, encoder_unavailable, connection_failed or relay_refused. An open enum; an unknown reason reads player_stopped. |
リクエストテンプレートとレスポンス
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/live/LIVE_ID/stopped'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 204 | 記録されました。 | 本文なし;ヘッダー:Cache-Control、RateLimit-Policy、RateLimit |
| 400 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 401 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 403 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 409 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 410 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 429 | Player 対応のランタイムまたはコンテンツルートでの安定した rate_limited 問題応答。ランタイムドキュメント形式(RuntimeProblem)。権威ある Retry-After 間隔後にのみリトライしてください。固定ウィンドウ拒否は適用される RateLimit-Policy と RateLimit メンバーも含みます。並行性とバイト予算拒否はこれらの開示を省略します。 | ランタイム問題(application/problem+json);ヘッダー:Retry-After、RateLimit-Policy、RateLimit |
| デフォルト | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
ランタイムスクリーンプレイリストを取得
ペアリングされたPlayerのデバイス内設定メニューがスクリーンに提供するプレイリストを一覧表示します:承認済みバージョンがあるスクリーンのプロジェクトのライブプレイリストで、名前の大文字小文字を区別せずアルファベット順、その後ID順です。最大500件まで返されます。プロジェクトにさらにプレイリストがある場合はそれ以上です。
ペアリングされたランタイムセッションはプロジェクトにバインドし、パスはなしを示します。認証はランタイムクッキーまたはGET /screen/chrome.のScreenRig-Sessionです。匿名および未ペアのセッションは認可されません。アーカイブされたスクリーンはscreen_archivedです。Cache-Controlはプライベートでno-storeです。
Player が 404 を受信した場合、そのルートは未対応とみなし、リストの読み込み失敗と同様に報告します(docs/player-compatibility.md §2.6)。
リクエストテンプレートとレスポンス
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/playlists'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 200 | プロジェクトの割り当て可能なプレイリストです。 | ランタイムスクリーンプレイリスト(複数)(application/json);ヘッダー:Cache-Control、RateLimit-Policy、RateLimit |
| 401 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 403 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 409 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 429 | Player 対応のランタイムまたはコンテンツルートでの安定した rate_limited 問題応答。ランタイムドキュメント形式(RuntimeProblem)。権威ある Retry-After 間隔後にのみリトライしてください。固定ウィンドウ拒否は適用される RateLimit-Policy と RateLimit メンバーも含みます。並行性とバイト予算拒否はこれらの開示を省略します。 | ランタイム問題(application/problem+json);ヘッダー:Retry-After、RateLimit-Policy、RateLimit |
| デフォルト | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
ランタイムスクリーンプレイリストをPUT
ペアリング済みランタイムセッションにバインドされたスクリーンにプレイリストを割り当て。PATCH /api/screens/{id} playlist_id と同じ割り当てで、デバイスの本人が実行。レビューは開かれません。
プレイリストはスクリーンのプロジェクトに属し、承認済みのバージョンが必要です(そうでなければplaylist_not_approved)。プロジェクトに存在しないプレイリストはinvalid_requestです。割り当ては同じスクリーンイベントを記録し、Playerにscreen.manifest_changedを送信します。
スクリーンに割り当てられたプレイリストを設定します。アクティブなテイクオーバーや一致するプレイリストスケジュールエントリが再生内容を決定します。パスとボディはscreen_idを指定しません。ペアリングされたランタイムセッションがそれをバインドします。If-MatchやIdempotency-Keyはありません。最後の書き込みが優先されます。認証はランタイムクッキーまたはScreenRig-Sessionで、GET /screen/chrome.と同様です。
匿名および未ペアリングのセッションは認可されません。アーカイブされたスクリーンはscreen_archivedです。404を受け取ったPlayerはルートをサポートされていないとみなし、プレイリスト変更の失敗と同様に報告します(docs/player-compatibility.md §2.6)。
リクエスト本文フィールド
| フィールド | 説明 |
|---|---|
| playlist_id(必須、文字列) | minLength: 1 |
リクエストテンプレートとレスポンス
curl --request PUT --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/playlist'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 200 | プレイリストが割り当てられました。playlist_id はスクリーンに割り当てられたプレイリストです。 | ランタイムスクリーンプレイリスト(application/json);ヘッダー:Cache-Control、RateLimit-Policy、RateLimit |
| 400 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 401 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 403 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 409 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 429 | Player 対応のランタイムまたはコンテンツルートでの安定した rate_limited 問題応答。ランタイムドキュメント形式(RuntimeProblem)。権威ある Retry-After 間隔後にのみリトライしてください。固定ウィンドウ拒否は適用される RateLimit-Policy と RateLimit メンバーも含みます。並行性とバイト予算拒否はこれらの開示を省略します。 | ランタイム問題(application/problem+json);ヘッダー:Retry-After、RateLimit-Policy、RateLimit |
| デフォルト | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
ランタイムのペア解除
Cookie のみのアンペア。プレーヤー公開鍵登録のない Cookie ペアリング済みスクリーンを archive_reason device_unpair でアーカイブします。デバイス認証情報はバインドされたまま:保持するブラウザーはアーカイブ済みセッション(ダークグラス)を作成し、アンアーカイブは再ペアリングなしで再開します(docs/player-compatibility.md §5.1)。
すでにアーカイブ済み、または存在しないスクリーンは成功とみなします。ID登録済みスクリーンはscreen_archive_requiredを返します;これらのプレーヤーはPOST /screen/native/identity/reset.経由でのみリセットされます。パスとボディはscreen_idを指定せず、ペアリングされたランタイムセッションがそれをバインドします。If-MatchやIdempotency-Keyはありません。ブラウザの204はランタイム、デバイス、ペアリングホストのクッキーを期限切れにします。
ネイティブのIDバインド呼び出しは決して204を返しません。匿名または未ペアリングのセッションは禁止されています。前払いの残高は制限ではありません。
リクエストテンプレートとレスポンス
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/unpair'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 204 | Cookie ペアリング済みスクリーンは認証情報を保持したままアーカイブされました。ブラウザーペアリング Cookie は期限切れです。 | 本文なし;ヘッダー:Cache-Control、RateLimit-Policy、RateLimit |
| 401 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 403 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 409 | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
| 429 | Player 対応のランタイムまたはコンテンツルートでの安定した rate_limited 問題応答。ランタイムドキュメント形式(RuntimeProblem)。権威ある Retry-After 間隔後にのみリトライしてください。固定ウィンドウ拒否は適用される RateLimit-Policy と RateLimit メンバーも含みます。並行性とバイト予算拒否はこれらの開示を省略します。 | ランタイム問題(application/problem+json);ヘッダー:Retry-After、RateLimit-Policy、RateLimit |
| デフォルト | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
アプリケーションリリースを起動
スクリーンの現在のマニフェストのアプリケーションリリース1つに対して、1回限り使えるチケットを発行します。launch_url はリリースホストのインデックスページで、最初に ticket、続いてアプリケーションの params(このスクリーンの情報で埋めたプリミティブの params を、パーセントエンコードして合計4096文字まで)が付くため、アプリケーションは location.search から読み取ります。
このルートを呼び出すのは、ウェブ Player とそれを実行する Player のみです。Qt、Android、Apple、Windows の Player はアプリケーションをローカルパッケージから読み込み、params を受け取りません。リリースホストはそれらをページに渡し、独自のポリシーマーカーを追加します。
パラメーターが読み取る値がスクリーンにない、または埋め込んだ値が上限を超える場合、そのマニフェストにはそのアプリケーションが含まれず(診断 screen_fact_missing または screen_fact_invalid)、そのリリースの起動は拒否されます。
params はチケットに結び付けられていません。アプリケーションはそれらを信頼できないヒントとして扱い、スクリーンの識別情報は context.screen_id から読み取ります。
パラメーター
| 名前 | 送信する | 必須? | 説明 |
|---|---|---|---|
| manifest_revision | パス | 必須 | |
| release_id | パス | 必須 |
リクエストテンプレートとレスポンス
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/manifests/MANIFEST_REVISION/releases/RELEASE_ID/launch'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 201 | 使い切り30秒のexact-release-host起動チケット | ReleaseLaunch (application/json); ヘッダー: Referrer-Policy, RateLimit-Policy, RateLimit |
| デフォルト | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
1つのplaylistループのすべての動的メディアセレクターを解決します
認証されたスクリーンの割り当てられたプレイリストとそのマニフェストリビジョンを使用します。ファイル名順の固定スナップショットを返します。プレーヤーはループ間でカーソルとシャッフル状態を保持します。アップロードやタグ変更はこのマニフェストを書き換えません。空の一致も有効です。
選択されたメディアは、変更不可能なマニフェスト定義とは独立して、スクリーンのランタイム権限によって許可されています。
パラメーター
| 名前 | 送信する | 必須? | 説明 |
|---|---|---|---|
| manifest_revision | パス | 必須 |
リクエストテンプレートとレスポンス
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt 'https://api.screenrig.ai/screen/manifests/MANIFEST_REVISION/selectors/resolve'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 200 | アイテムのメタデータとmedia_endの安全期限を含む解決済みループスナップショット。 | ランタイムセレクタースナップショット(application/json) |
| 401 | ランタイムセッションが無効または期限切れです | ランタイム問題(application/problem+json) |
| 403 | ランタイム機能拒否 | ランタイム問題(application/problem+json) |
| 503 | マニフェストの投影が保留中か、セレクターのスナップショットが劣化しています。現在のループを維持して再試行します | ランタイム問題(application/problem+json) |
| デフォルト | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |
ランタイムカードデータを取得
スクリーンの現在のマニフェスト内のカードプリミティブのカードデータまたはフィードキー、またはページの visibility.data 条件のキーに対応するカードデータまたはフィードドキュメントを返します。キーはセッションのスクリーンが望ましい、アクティブ、または遷移猶予の付与をリストしている間のみ読み取れます。キーを知るだけでは不十分です。
フィードキーは feed: で始まり、システムフィードの名前空間(screenrig.weather/v1 など)を読み取ります。feed.conditions.v1: で始まる天気条件キー(ページの {screen.weather} 条件で、各スクリーンのマニフェストで埋められます)も同様です。それ以外のキーはスクリーンのプロジェクトのカードデータを読み取ります。本文はドキュメント自体です。
ETagはバイトのsha256で、If-None-Matchは304を返します。オフライン再生用に最後の正常なドキュメントを保持し、screen.card_data_changedで再取得します。404はまだドキュメントが保存されていないことを意味し、カードは非表示のままです。
パラメーター
| 名前 | 送信する | 必須? | 説明 |
|---|---|---|---|
| キー | パス | 必須 | |
| If-None-Match | ヘッダー | オプション |
リクエストテンプレートとレスポンス
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/screen/card-data/KEY'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 200 | ドキュメント | オブジェクト(application/json);ヘッダー:ETag |
| 304 | 未変更 | 本文なし |
| デフォルト | Player 対応のランタイム、コンテンツ、またはプローブルートでの安定した RFC 9457 問題応答。ランタイムドキュメント形式(RuntimeProblem)。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | ランタイム問題(application/problem+json) |