API リファレンス

ペアリングとセッション API

Player のペアリングとセッション

HTTP リファレンス。 バックエンド契約から生成。以下のエンドポイントを参照するか、OpenAPI をダウンロードしてください。

このグループには 12 件のオペレーションがあり、api/openapi.yaml から生成されています。パス、アクション、認証で絞り込めます。各エンドポイントには入力が一覧され、展開するとリクエストテンプレートとレスポンスコードを確認できます。テンプレートには、ご自身の値とスキーマに適合する本文が必要です。

大文字のプレースホルダーをあなたの値に置き換えます。JSONリクエストの場合、request.jsonのスキーマに合うボディを保存します。Cookie例は認証済みセッションのローカルCookieジャーを使用します。

Player のペアリングとセッション

POST/screen/pairing-sessions

ペアリングセッション開始

1つのフリートグローバル有効期限付きペアリングセッションを作成し、一時的なHttpOnly Secure SameSite=StrictペアリングCookieを設定します。信頼されていないOriginまたはクロスサイトブラウザーリクエストは、レート制限やペアリング状態が作成される前にforbiddenで拒否されます。

認証
なし
リクエスト本文
なし
操作ID
startPairingSession
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST 'https://play.screenrig.ai/screen/pairing-sessions'

レスポンス

ステータス意味本文とヘッダー
201正確な6文字のペアリングコードと有効期限。PairingSession(application/json);ヘッダー:Cache-Control、RateLimit-Policy、RateLimit
403

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)
GET/stream/pairing-events

ストリームペアリングイベント

認証
pairingCookie
リクエスト本文
なし
操作ID
streamPairingEvents
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --cookie cookies.txt --cookie-jar cookies.txt 'https://play.screenrig.ai/stream/pairing-events'

レスポンス

ステータス意味本文とヘッダー
200認証済み一時ペアリング SSE。終端 pairing.claimed データは PairingClaimedEvent で、秘密でない完了ノンスのみ含む。string (text/event-stream); ヘッダー: Cache-Control, X-Accel-Buffering
401

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)
POST/screen/pairing-sessions/complete

ペアリングセッションを完了

認証
pairingCookie
リクエスト本文
ペアリング完了
操作ID
completePairingSession

リクエスト本文フィールド

フィールド説明
completion_nonce(必須、文字列)パターン: "^[A-Za-z0-9_-]{43}$"
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/pairing-sessions/complete'

レスポンス

ステータス意味本文とヘッダー
200ペアリングデバイスクッキーが発行されました;プレーヤーは通常のペアリング済みランタイムセッションを次に作成します。PairingCompletion(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)
404

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)
POST/screen/sessions

匿名ランタイムセッションを作成

認証
なし
リクエスト本文
ランタイムセッションリクエスト
操作ID
createAnonymousRuntimeSession

リクエスト本文フィールド

フィールド説明
public_id(必須、文字列)
再生(任意、PlaybackHandshake)

オプションの再生ハンドシェイク。Playerがmintで宣言します。これは動作を選択するヒントであり、認可ではありません。未知のメンバーや型の違うエントリーは無視され、オブジェクトでない値は何も交渉しません。mint応答はPlaybackGrantとしてサポートされる交差を反映します。adslot-v1はペアリング済みセッションにのみ付与されます。

プレーヤー(任意、PlayerIdentity)

Player の自己識別は、3つのミントルートでのみ送信されます(docs/player-compatibility.md §3.1)。これはヒントであり認証ではなく、ネイティブ証明には含まれません。寛容に読み取られます:不明なメンバーは無視され、無効なオプションメンバーは単独で破棄され、オブジェクトでないか有効な種類がない Player は何も宣言しません。

400は決して返しません。ペアリング済みのミントはスクリーンに保存し、運営者のフリートヒストグラム用です。

リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/sessions'

レスポンス

ステータス意味本文とヘッダー
201読み取り専用のランタイムセッションクッキー。ランタイムセッション(application/json);ヘッダー:RateLimit-Policy、RateLimit
404

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)
POST/screen/device-sessions

デバイスランタイムセッションを作成

認証
pairedDeviceCookie
リクエスト本文
DeviceSessionRequest
操作ID
createDeviceRuntimeSession

リクエスト本文フィールド

フィールド説明
public_id(任意、文字列)minLength: 1
再生(任意、PlaybackHandshake)

オプションの再生ハンドシェイク。Playerがmintで宣言します。これは動作を選択するヒントであり、認可ではありません。未知のメンバーや型の違うエントリーは無視され、オブジェクトでない値は何も交渉しません。mint応答はPlaybackGrantとしてサポートされる交差を反映します。adslot-v1はペアリング済みセッションにのみ付与されます。

プレーヤー(任意、PlayerIdentity)

Player の自己識別は、3つのミントルートでのみ送信されます(docs/player-compatibility.md §3.1)。これはヒントであり認証ではなく、ネイティブ証明には含まれません。寛容に読み取られます:不明なメンバーは無視され、無効なオプションメンバーは単独で破棄され、オブジェクトでないか有効な種類がない Player は何も宣言しません。

400は決して返しません。ペアリング済みのミントはスクリーンに保存し、運営者のフリートヒストグラム用です。

リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/device-sessions'

レスポンス

ステータス意味本文とヘッダー
201ペアリング済みランタイムセッションランタイムセッション(application/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)
POST/screen/native/pairing-sessions

ネイティブペアリングセッション開始

プレーヤーのEd25519公開鍵からネイティブ専用ペアリングセッションを作成します。未請求のネイティブペアリングは72時間持続します。成功した請求はスクリーンを予約し、ロケーターの有効期限に関係なく耐久性のある暗号化配信を保存します。署名完了まで公開鍵は特定のペアリング認証情報とノンスに対してプロジェクトにバインドされません。

Cookie、クエリ認証情報、クロスサイト起点、認証は拒否されます。正確な Idempotency-Key の再生が新しい悪用の受け入れに先行します。レスポンスは決して Cookie を設定しません。すでにバインド済みか明示的にリタイアされた公開鍵は enrollment_bound を返します。

認証
なし
リクエスト本文
NativePairingStart
操作ID
startNativePairingSession

パラメーター

名前送信する必須?説明
Idempotency-Keyヘッダー必須

リクエスト本文フィールド

フィールド説明
kid(必須、文字列)パターン: "^[A-Za-z0-9_-]{43}$"
public_key(必須、PlayerPublicKey)
署名(必須、文字列)minLength: 80 maxLength: 4096
ホスト(任意、RuntimeHostHint)

ペアリング開始、完了、アイデンティティセッション発行時のオプションのネイティブホストヒント。デバイス名を示し、認可には使われません。

寛容に読み取ります(docs/player-compatibility.md §1.1.1):不明なメンバーは無視、誤ったフィールドや機能エントリは破棄、最大32機能を保持、オブジェクトでない値やパターン外プラットフォームはヒント全体を破棄。これらはリクエスト拒否しません。

Player は登録済みのプラットフォーム値と以下のメンバーのみを送信します。事前契約のないバックエンドは他の値を拒否するためです。

fleet_link(任意、文字列)

プレーヤー URL のフラグメント(#fleet=)から取得する、任意のフリートリンクのシークレットです。正しく、有効化されていて、期限切れでないリンクは、このペアリングセッションを直ちにそのプロジェクトに紐付けるか、デバイスの以前のスクリーンを復元します。どちらが行われたかは、応答の fleet_link に示されます。

host と同様に、寛容に読み取られます。形式が正しくない値や不明な値でも、開始が拒否されることはありません。pattern: "^srfl_[A-Za-z0-9_-]{43}$"

リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/native/pairing-sessions'

レスポンス

ステータス意味本文とヘッダー
201ネイティブのペアリングコードと一時的なScreenRig-Pairing認証情報;Set-Cookieはありません。NativePairingSession(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)
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
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)
GET/stream/native/pairing-events

ストリームネイティブペアリングイベント

ネイティブ専用ペアリングSSEは正確に1つのScreenRig-Pairing認証ヘッダーで認証されます。クッキーやクエリ認証情報は拒否されます。終端イベントには秘密でない完了ノンスのみが含まれます。

認証
nativePairingAuthorization
リクエスト本文
なし
操作ID
streamNativePairingEvents
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: ScreenRig-Pairing PAIRING' 'https://play.screenrig.ai/stream/native/pairing-events'

レスポンス

ステータス意味本文とヘッダー
200認証済みネイティブペアリング SSE。終端データは PairingClaimedEvent。string (text/event-stream); ヘッダー: Cache-Control, X-Accel-Buffering
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)
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)
POST/screen/native/pairing-sessions/complete

ネイティブペアリングセッションを完了

完了ノンスと op=pairing.complete のEdDSAコンパクトJWSでネイティブペアリングを完了。request_hashは正確なペアリング認証情報と完了ノンスを結びつけます。クッキーは受け入れず設定もしません。ScreenRig-Device認証情報は発行されません。Playerは次に保有証明からScreenRig-Sessionを発行します。

認証
nativePairingAuthorization
リクエスト本文
NativePairingComplete
操作ID
completeNativePairingSession

リクエスト本文フィールド

フィールド説明
kid(任意、文字列)パターン: "^[A-Za-z0-9_-]{43}$"
completion_nonce(必須、文字列)パターン: "^[A-Za-z0-9_-]{43}$"
public_key(必須、PlayerPublicKey)
署名(必須、文字列)op=pairing.complete と request_hash で正確なペアリング認証情報と完了ノンスを結びつけたコンパクトEdDSA JWS。minLength: 80 maxLength: 4096
ホスト(任意、RuntimeHostHint)

ペアリング開始、完了、アイデンティティセッション発行時のオプションのネイティブホストヒント。デバイス名を示し、認可には使われません。

寛容に読み取ります(docs/player-compatibility.md §1.1.1):不明なメンバーは無視、誤ったフィールドや機能エントリは破棄、最大32機能を保持、オブジェクトでない値やパターン外プラットフォームはヒント全体を破棄。これらはリクエスト拒否しません。

Player は登録済みのプラットフォーム値と以下のメンバーのみを送信します。事前契約のないバックエンドは他の値を拒否するためです。

リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: ScreenRig-Pairing PAIRING' --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/native/pairing-sessions/complete'

レスポンス

ステータス意味本文とヘッダー
200ネイティブのペアリング完了;Set-Cookieもデバイス認証情報もありません。NativePairingCompletion(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)
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
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)
POST/screen/native/identity/challenges

ネイティブIDチャレンジを作成

1つのプレーヤー公開鍵サムプリントに結びついた短命のノンスを発行します。クッキー、クエリ認証情報、Authorizationは拒否されます。

認証
なし
リクエスト本文
NativeIdentityChallengeRequest
操作ID
createNativeIdentityChallenge

リクエスト本文フィールド

フィールド説明
kid(必須、文字列)RFC 7638 SHA-256 JWK サムプリント。パターン:「^[A-Za-z0-9_-]{43}$」
public_key(任意、PlayerPublicKey)
op(必須、文字列)許可されている値: "pairing.start"、"pairing.complete"、"session.mint"、"identity.reset"。
request_hash(必須、文字列)パターン: "^[0-9a-f]{64}$"
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/native/identity/challenges'

レスポンス

ステータス意味本文とヘッダー
201EdDSAコンパクトJWS証明のチャレンジノンス;Set-Cookieなし。NativeIdentityChallenge(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)
404

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)
POST/screen/native/identity/sessions

ネイティブIDランタイムセッションを作成

登録済み公開鍵に対してEdDSAコンパクトJWS(op=session.mint)を検証し、署名済み7日間ScreenRig-Sessionを返します。ペアリングされたプレーヤーは1日後にジッター付きで同じ署名ミントを使って更新します。更新は既存のランタイムストリームを閉じずに認証情報を置き換えます。更新メタデータは読み取り側に任意で、プレーヤーの更新は不要です。

Cookie は受け入れも設定もしません。正確な Idempotency-Key の再生が新しい悪用の受け入れに先行します。アーカイブ済みスクリーンはセッションをミントし、プレーヤーはアーカイブ済みグラスを表示できます。セッションミントには署名完了で確立された正確な耐久プロジェクトとスクリーンバインドが必要で、保留中のクレームオファーにはセッション権限がありません。

正確なリプレイはバインディングを再確認し、廃止されたIDを拒否します。

認証
なし
リクエスト本文
NativeIdentitySessionRequest
操作ID
createNativeIdentityRuntimeSession

パラメーター

名前送信する必須?説明
Idempotency-Keyヘッダー必須

リクエスト本文フィールド

フィールド説明
kid(必須、文字列)パターン: "^[A-Za-z0-9_-]{43}$"
public_key(必須、PlayerPublicKey)
署名(必須、文字列)op=session.mint のコンパクトEdDSA JWS。minLength: 80 maxLength: 4096
ホスト(任意、RuntimeHostHint)

ペアリング開始、完了、アイデンティティセッション発行時のオプションのネイティブホストヒント。デバイス名を示し、認可には使われません。

寛容に読み取ります(docs/player-compatibility.md §1.1.1):不明なメンバーは無視、誤ったフィールドや機能エントリは破棄、最大32機能を保持、オブジェクトでない値やパターン外プラットフォームはヒント全体を破棄。これらはリクエスト拒否しません。

Player は登録済みのプラットフォーム値と以下のメンバーのみを送信します。事前契約のないバックエンドは他の値を拒否するためです。

再生(任意、PlaybackHandshake)

オプションの再生ハンドシェイク。Playerがmintで宣言します。これは動作を選択するヒントであり、認可ではありません。未知のメンバーや型の違うエントリーは無視され、オブジェクトでない値は何も交渉しません。mint応答はPlaybackGrantとしてサポートされる交差を反映します。adslot-v1はペアリング済みセッションにのみ付与されます。

プレーヤー(任意、PlayerIdentity)

Player の自己識別は、3つのミントルートでのみ送信されます(docs/player-compatibility.md §3.1)。これはヒントであり認証ではなく、ネイティブ証明には含まれません。寛容に読み取られます:不明なメンバーは無視され、無効なオプションメンバーは単独で破棄され、オブジェクトでないか有効な種類がない Player は何も宣言しません。

400は決して返しません。ペアリング済みのミントはスクリーンに保存し、運営者のフリートヒストグラム用です。

リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/native/identity/sessions'

レスポンス

ステータス意味本文とヘッダー
201ペアリング済みネイティブランタイムセッション;Set-Cookieなし。NativeRuntimeSession(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)
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
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)
POST/screen/link-sessions

画面リンクのランタイムセッションを作成

Player のアドレス内の画面リンクのシークレット(https://play.<domain>/player/#screen=… の #screen= 以降の srsl_ の値)から、ストレージを保持しないブラウザー向けに7日間の ScreenRig-Session を発行します。Player は読み込みのたびに、また更新のためにもう一度シークレットを送ります。キーもペアリングも保持しません。

セッションのデバイスキークレームにリンクの id が入るため、リンクを置き換えまたは削除すると、API とエッジの両方で直ちにセッションが終了します。Cookie は受け付けず、設定もしません。Idempotency-Key の完全一致の再実行は、新たな不正対策の受け入れ審査に先行します。アーカイブ済みのスクリーンでもセッションは発行されるため、Player はアーカイブ済みの状態を表示できます。

置き換え済み、削除済み、または未知のリンクは screen_link_invalid(401、アクション clear_lkg)になります。host があれば保存済みのホストヒントを置き換え、player があれば保存済みの player を置き換えます。

認証
なし
リクエスト本文
ScreenLinkSessionRequest
操作ID
createScreenLinkRuntimeSession

パラメーター

名前送信する必須?説明
Idempotency-Keyヘッダー必須

リクエスト本文フィールド

フィールド説明
screen_link(必須、文字列)パターン: "^srsl_[A-Za-z0-9_-]{43}$"
ホスト(任意、RuntimeHostHint)

ペアリング開始、完了、アイデンティティセッション発行時のオプションのネイティブホストヒント。デバイス名を示し、認可には使われません。

寛容に読み取ります(docs/player-compatibility.md §1.1.1):不明なメンバーは無視、誤ったフィールドや機能エントリは破棄、最大32機能を保持、オブジェクトでない値やパターン外プラットフォームはヒント全体を破棄。これらはリクエスト拒否しません。

Player は登録済みのプラットフォーム値と以下のメンバーのみを送信します。事前契約のないバックエンドは他の値を拒否するためです。

再生(任意、PlaybackHandshake)

オプションの再生ハンドシェイク。Playerがmintで宣言します。これは動作を選択するヒントであり、認可ではありません。未知のメンバーや型の違うエントリーは無視され、オブジェクトでない値は何も交渉しません。mint応答はPlaybackGrantとしてサポートされる交差を反映します。adslot-v1はペアリング済みセッションにのみ付与されます。

プレーヤー(任意、PlayerIdentity)

Player の自己識別は、3つのミントルートでのみ送信されます(docs/player-compatibility.md §3.1)。これはヒントであり認証ではなく、ネイティブ証明には含まれません。寛容に読み取られます:不明なメンバーは無視され、無効なオプションメンバーは単独で破棄され、オブジェクトでないか有効な種類がない Player は何も宣言しません。

400は決して返しません。ペアリング済みのミントはスクリーンに保存し、運営者のフリートヒストグラム用です。

リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/link-sessions'

レスポンス

ステータス意味本文とヘッダー
201ペアリング済みネイティブランタイムセッション;Set-Cookieなし。NativeRuntimeSession(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
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)
POST/screen/native/identity/reset

ネイティブIDをリセット

オンプレイヤーリセットは、デバイス上で明示的に確認されたオペレーター操作によってのみ呼び出されます。ペアリング失敗、セッション発行、ネットワークアクセスはこの操作を自動的に呼び出したり、プレイヤーのローカルキーをクリアしたりしません。エンドポイントはEdDSAコンパクトJWS(op=identity.reset)を検証します。

この鍵に紐付くスクリーンは archive_reason device_reset でアーカイブされ(すでにアーカイブ済み:変更なし)、鍵は紐付いたままです。鍵を保持するデバイスはアーカイブ済みセッション(ダークグラス)を作成し、アンアーカイブ時に再ペアリングなしで再開し、新しいペアリングを開始できません(enrollment_bound)。

キーの保留中ネイティブクレームオファーは撤回されます。スクリーンにバインドされなかったキー、またはスクリーン回復で既に退役したキーは代わりに終端となります:再ペアリングやセッション発行はできず、退役キーのリセットは後継キーが所有するスクリーンに影響を与えません。

登録済みプロジェクトが削除された場合、署名付きリセットは孤立したキーを端末にし、別のスクリーンをアーカイブせずにデバイスを再ペアリング可能にします。応答を失った後もPlayerはローカルキーを保持し、新しいチャレンジと新鮮な署名証明で再試行できます。

ネットワークエラーだけではリセットの確認やそのキーのクリアの許可にはなりません(docs/player-compatibility.md §5.1)。プロジェクトベアラーはありません。クッキーは受け入れも設定もしません。

認証
なし
リクエスト本文
NativeIdentityProof
操作ID
resetNativeIdentity

リクエスト本文フィールド

フィールド説明
kid(必須、文字列)パターン: "^[A-Za-z0-9_-]{43}$"
public_key(必須、PlayerPublicKey)
署名(必須、文字列)コンパクトEdDSA JWS。minLength: 80 maxLength: 4096
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Content-Type: application/json' --data '@request.json' 'https://play.screenrig.ai/screen/native/identity/reset'

レスポンス

ステータス意味本文とヘッダー
204

リセット記録:ライブプロジェクトに紐づくスクリーンはキーを保持してアーカイブされます。削除済みプロジェクト、紐づかない、または廃止されたキーは端末になります。不明なキーは何もアーカイブしない冪等な no-op として応答します。これらの認証済みリトライも成功します。Set-Cookie はありません。

本文なし;ヘッダー: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)
404

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)