API リファレンス

アプリケーション API

アプリケーションと操作

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

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

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

アプリケーションと操作

GET/api/applications

アプリケーション一覧

アプリケーションを新しい順に最大500件ずつ一覧表示。名前はラベルで一意である必要なし。IDで指定。next_cursor は最後の行の位置で、続きがあれば after として同じフィルターで次ページに渡す。最後のページは null。

認証
projectBearer または dashboardSession
リクエスト本文
なし
操作ID
listApplications

パラメーター

名前送信する必須?説明
ScreenRig-Projectヘッダーオプション1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。
以降クエリオプション同じリストの前のページの next_cursor。同じフィルター付き。省略時は最新行から開始。カーソルでない値は invalid_request。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/applications'

レスポンス

ステータス意味本文とヘッダー
200アプリケーションApplicationList(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/applications

アプリケーションをアップロード

CLI 生成の tar.gz を直接制限付き耐久ステージングにストリーム。メタデータはヘッダーに含まれ、アーカイブはサーバーで base64 包装や JSON 化されません。

API の前のプロキシは、約 100 s 以内に応答していないリクエストを終了するため、低速なアップリンク上の大きなアーカイブはここで失敗します。POST /api/applications/uploads は代わりにアーカイブをオブジェクトストアに直接送信します。

認証
projectBearer
リクエスト本文
string
操作ID
uploadApplication

パラメーター

名前送信する必須?説明
ScreenRig-Projectヘッダーオプション1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。
Idempotency-Keyヘッダー必須
ScreenRig-Archive-SHA256ヘッダー必須
ScreenRig-Expanded-Bytesヘッダー必須
ScreenRig-File-Countヘッダー必須
ScreenRig-SDK-Versionヘッダーオプション
ScreenRig-Application-Nameヘッダーオプション

ASCIIアプリ名。ScreenRig-Application-Name* と排他。前後の空白は削除。制御文字と重複ヘッダー値は拒否。デコード後の名前は最大120 Unicodeスカラ値。

ScreenRig-Application-Name*ヘッダーオプション

Unicodeアプリケーション名はRFC 8187 UTF-8''でエンコードされ、その後にパーセントエンコードされたUTF-8バイトが続きます(言語なし、正確なUTF-8文字セット)。ScreenRig-Application-Nameとは排他です。無効なエスケープ、無効なUTF-8、制御文字、重複ヘッダー値は拒否されます。

前後の空白は削除されます。デコードされた名前は120のUnicodeスカラー値に制限されます。どちらの名前ヘッダーもリリース更新の名前変更はできません。これはHTTPヘッダー値内の生のUnicodeを避けるためです。

リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Idempotency-Key: REQUEST_ID' --header 'ScreenRig-Archive-SHA256: VALUE' --header 'ScreenRig-Expanded-Bytes: VALUE' --header 'ScreenRig-File-Count: VALUE' --header 'Content-Type: application/gzip' --data-binary '@request.bin' 'https://screenrig.ai/api/applications'

レスポンス

ステータス意味本文とヘッダー
202アップロードを受け付けましたOperationAccepted(application/json);ヘッダー:RateLimit-Policy、RateLimit
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/applications/{id}/releases

アプリケーションリリースをアップロード

同じ境界付きtar.gzアップロードパイプラインを使用して、所有するアプリケーションの不変の新しいリリースを公開します。If-Matchはアプリケーションのリビジョンを保護し、承認でそれを増分し、latest_ready_releaseが変更されると成功した公開でさらに増分します。名前とアプリケーションの識別は保持されます。既存のプレイリストリリースピンは変更されません。

同一の冪等リトライは、改訂が変わっても元の操作を返します。API の前のプロキシは、約 100 s 以内に応答していないリクエストを終了するため、低速なアップリンク上の大きなアーカイブはここで失敗します。POST /api/applications/{id}/uploads は代わりにアーカイブをオブジェクトストアに直接送信します。

認証
projectBearer
リクエスト本文
string
操作ID
uploadApplicationRelease

パラメーター

名前送信する必須?説明
ScreenRig-Projectヘッダーオプション1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。
IDパス必須
If-Matchヘッダーオプションオプションの正のリソースリビジョン。現在のリソースを書き込む場合は省略します。提供された古いリビジョンはrevision_conflictです。
Idempotency-Keyヘッダー必須
ScreenRig-Archive-SHA256ヘッダー必須
ScreenRig-Expanded-Bytesヘッダー必須
ScreenRig-File-Countヘッダー必須
ScreenRig-SDK-Versionヘッダーオプション
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Idempotency-Key: REQUEST_ID' --header 'ScreenRig-Archive-SHA256: VALUE' --header 'ScreenRig-Expanded-Bytes: VALUE' --header 'ScreenRig-File-Count: VALUE' --header 'Content-Type: application/gzip' --data-binary '@request.bin' 'https://api.screenrig.ai/api/applications/RESOURCE_ID/releases'

レスポンス

ステータス意味本文とヘッダー
202アップロードを受け付けましたOperationAccepted(application/json);ヘッダー:RateLimit-Policy、RateLimit
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/applications/uploads

アプリケーションアップロードを作成

新しいアプリケーションを作成する、CLI で生成された tar.gz の直接アップロードを宣言します。応答はアーカイブのちょうど 1 回のオブジェクト PUT に対する署名付き承認であるため、バイトはオブジェクトストアに直接送られ、API を経由することはありません。API のプロキシは、約 100 s 以内に応答していないリクエストを終了します。

アーカイブを upload_url に PUT し、次に POST /api/applications/uploads/{id}/commit でコミットし、操作を待ちます。アプリケーション、そのリリース、受信操作は、POST /api/applications の後と同様に、この応答から存在します。24 時間以内にコミットされなかったアップロードは失敗し、リリースを一度も公開しなかったアプリケーションは削除されます。

同じ Idempotency-Key と本文は、新しく署名された URL で同じアップロードを返します。GET /api/capabilities は、これらのルートが提供される場所で features.application_direct_uploads を設定します。

認証
projectBearer
リクエスト本文
ApplicationUploadDeclaration
操作ID
createApplicationUpload

パラメーター

名前送信する必須?説明
ScreenRig-Projectヘッダーオプション1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。
Idempotency-Keyヘッダー必須

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

フィールド説明
name(任意、文字列)

新しいアプリケーションの名前、トリミング済み。最大 120 Unicode 文字で、制御文字なし。省略または空の場合は生成された名前を選択します。リリース宣言(POST /api/applications/{id}/uploads)は名前を持ってはなりません。maxLength: 120

sha256(必須、文字列)アーカイブバイトの SHA-256。pattern: "^[0-9a-f]{64}$"
compressed_bytes(必須、整数)アーカイブのサイズ(バイト)。最小値: 1 最大値: 104857600
expanded_bytes(必須、整数)最小値: 1 最大値: 262144000
file_count(必須、整数)最小値: 1 最大値: 5000
sdk_version(オプション、文字列)maxLength: 64
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/applications/uploads'

レスポンス

ステータス意味本文とヘッダー
201アーカイブのちょうど 1 回のオブジェクト PUT に対する署名付き承認。返されたメソッドと返されたすべてのヘッダーをそのまま送信します。PUT は、宣言から 2 時間後の expires_at より前に開始しなければなりません。ApplicationUploadSession(application/json);ヘッダー:Cache-Control、RateLimit-Policy、RateLimit
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/applications/{id}/uploads

アプリケーションリリースアップロードを作成

所有アプリケーションの新しい不変リリースの直接アップロードを宣言し、POST /api/applications/uploads として応答します。If-Match は POST /api/applications/{id}/releases と同様にアプリケーション改訂を保護し、受け入れると増分します。本文は名前を持ちません。リリースはそのアプリケーションの名前を保持します。既存のプレイリストリリースピンは変更されません。

認証
projectBearer
リクエスト本文
ApplicationUploadDeclaration
操作ID
createApplicationReleaseUpload

パラメーター

名前送信する必須?説明
ScreenRig-Projectヘッダーオプション1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。
IDパス必須
If-Matchヘッダーオプションオプションの正のリソースリビジョン。現在のリソースを書き込む場合は省略します。提供された古いリビジョンはrevision_conflictです。
Idempotency-Keyヘッダー必須

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

フィールド説明
name(任意、文字列)

新しいアプリケーションの名前、トリミング済み。最大 120 Unicode 文字で、制御文字なし。省略または空の場合は生成された名前を選択します。リリース宣言(POST /api/applications/{id}/uploads)は名前を持ってはなりません。maxLength: 120

sha256(必須、文字列)アーカイブバイトの SHA-256。pattern: "^[0-9a-f]{64}$"
compressed_bytes(必須、整数)アーカイブのサイズ(バイト)。最小値: 1 最大値: 104857600
expanded_bytes(必須、整数)最小値: 1 最大値: 262144000
file_count(必須、整数)最小値: 1 最大値: 5000
sdk_version(オプション、文字列)maxLength: 64
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/applications/RESOURCE_ID/uploads'

レスポンス

ステータス意味本文とヘッダー
201アーカイブのちょうど 1 回のオブジェクト PUT に対する署名付き承認。返されたメソッドと返されたすべてのヘッダーをそのまま送信します。PUT は、宣言から 2 時間後の expires_at より前に開始しなければなりません。ApplicationUploadSession(application/json);ヘッダー:Cache-Control、RateLimit-Policy、RateLimit
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/applications/uploads/{id}/commit

アプリケーションアップロードの確定

直接アプリケーションアップロードは、その PUT が完了したら確定します。サーバーは、宣言に対してステージングされたアーカイブ(そのサイズと、オブジェクトストアが PUT で取得した SHA-256 チェックサム)を確認し、自身のアップロードステージングにコピーして公開をキューに入れます。

POST /api/applications の後と同様に、GET /api/operations/{id} で返された Operation が succeeded または failed になるまで待ちます。PUT が完了する前のコミットは invalid_request と応答して何も変更しないため、再送信できます。宣言と異なるステージング済みバイトはアップロードを失敗させます。繰り返されたコミットは同じ操作を応答します。

認証
projectBearer
リクエスト本文
ApplicationUploadCommit
操作ID
commitApplicationUpload

パラメーター

名前送信する必須?説明
ScreenRig-Projectヘッダーオプション1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。
IDパス必須
Idempotency-Keyヘッダー必須

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

フィールド説明
sha256(必須、文字列)パターン: "^[0-9a-f]{64}$"
compressed_bytes(必須、整数)最小値: 1 最大値: 104857600
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/applications/uploads/RESOURCE_ID/commit'

レスポンス

ステータス意味本文とヘッダー
202アーカイブはステージングされ、その公開がキューに入れられます。操作(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/applications/{id}

アプリケーションを取得

認証
projectBearer または dashboardSession
リクエスト本文
なし
操作ID
getApplication

パラメーター

名前送信する必須?説明
ScreenRig-Projectヘッダーオプション1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。
IDパス必須
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/applications/RESOURCE_ID'

レスポンス

ステータス意味本文とヘッダー
200アプリケーションアプリケーション(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
PATCH/api/applications/{id}

アプリケーション名を変更

認証されたプロジェクトが所有するアプリの表示名を変更します。名前はトリムされ、制御文字なしの1~120のUnicode文字で、プロジェクト内で重複可能です。アプリのID、リリース、K/Vデータ、プレイリストリリースピンは保持されます。

名前が変更されるとアプリケーションのリビジョンが進み、application.updated が発行されます。同じ名前は操作なしです。If-Match はリビジョンを任意で保護します。同一の冪等な再試行は、その後のメタデータ変更後に元の応答を返します。

認証
projectBearer
リクエスト本文
ApplicationRename
操作ID
renameApplication

パラメーター

名前送信する必須?説明
ScreenRig-Projectヘッダーオプション1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。
IDパス必須
If-Matchヘッダーオプションオプションの正のリソースリビジョン。現在のリソースを書き込む場合は省略します。提供された古いリビジョンはrevision_conflictです。
Idempotency-Keyヘッダーオプション新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。

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

フィールド説明
name(必須、文字列)トリム後の表示名。コントロール名や空の名前は拒否されます。minLength:1 maxLength:120
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request PATCH --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/applications/RESOURCE_ID'

レスポンス

ステータス意味本文とヘッダー
200アプリケーション名を変更しました。アプリケーション(application/json);ヘッダー:ETag
412revision_conflict — If-Match が古くなっています。エラーの current_revision に現在のリビジョンが含まれます。問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
削除/api/applications/{id}

アプリケーション削除

認証されたプロジェクトが所有する1つのアプリケーションとそのすべてのリリースをトゥームストーンします。プロジェクトベアラーが権限を持ち、不明または他プロジェクトIDはnot_foundです。If-Matchはアプリケーションリビジョンを保護します。ライブマニフェスト参照はapplication_in_useで削除をブロックします。強制削除パスはありません。

認証
projectBearer または dashboardSession
リクエスト本文
なし
操作ID
deleteApplication

パラメーター

名前送信する必須?説明
ScreenRig-Projectヘッダーオプション1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。
IDパス必須
If-Matchヘッダーオプションオプションの正のリソースリビジョン。現在のリソースを書き込む場合は省略します。提供された古いリビジョンはrevision_conflictです。
Idempotency-Keyヘッダーオプション新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/applications/RESOURCE_ID'

レスポンス

ステータス意味本文とヘッダー
204アプリケーションとリリースがトゥームストーン化されました。本文なし
409application_in_use — ライブマニフェストがアプリケーションのリリースの1つをまだ参照しています。問題 (application/problem+json)
412revision_conflict — If-Match が古くなっています。エラーの current_revision に現在のリビジョンが含まれます。問題 (application/problem+json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
GET/api/operations/{id}

オペレーションを取得

認証
projectBearer または dashboardSession
リクエスト本文
なし
操作ID
getOperation

パラメーター

名前送信する必須?説明
ScreenRig-Projectヘッダーオプション1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。
IDパス必須
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/operations/RESOURCE_ID'

レスポンス

ステータス意味本文とヘッダー
200操作操作(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)
POST/api/operations/{id}/cancel

操作をキャンセル

認証
projectBearer
リクエスト本文
なし
操作ID
cancelOperation

パラメーター

名前送信する必須?説明
ScreenRig-Projectヘッダーオプション1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。
IDパス必須
Idempotency-Keyヘッダー必須
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Idempotency-Key: REQUEST_ID' 'https://api.screenrig.ai/api/operations/RESOURCE_ID/cancel'

レスポンス

ステータス意味本文とヘッダー
200キャンセルされた永続操作。現在のワーカーのフェンスはこれを完了できません。操作(application/json)
デフォルト

安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。

問題 (application/problem+json)