OpenAPI YAMLOpenAPI JSON問題 YAMLAPI の概要
このグループには 9 件のオペレーションがあり、api/openapi.yaml から生成されています。パス、アクション、認証で絞り込めます。各エンドポイントには入力が一覧され、展開するとリクエストテンプレートとレスポンスコードを確認できます。テンプレートには、ご自身の値とスキーマに適合する本文が必要です。
大文字のプレースホルダーをあなたの値に置き換えます。JSONリクエストの場合、request.jsonのスキーマに合うボディを保存します。Cookie例は認証済みセッションのローカルCookieジャーを使用します。
接続: プロジェクトが Microsoft と Google に再利用できるアクセス
接続を一覧表示
プロジェクトの接続を新しい順に、1 ページ最大 200 件で一覧表示します。次のページには next_cursor を after として渡します。
接続は、無人で動作するソース向けの、プロジェクトが再利用できる Microsoft または Google へのアクセスです。microsoft365 または google_calendar のデータソース、Power BI 接続、SharePoint メディア同期アカウントは、独自の認証情報を持つ代わりに、config.connection_id で接続を 1 つ指定します (docs/connections.md)。
シークレット、キー、更新トークンは返されません。secret は、保持されているかどうかと、秘密ではないヒントを示します。読み取りに同意リンクが含まれることはありません。
パラメーター
| 名前 | 送信する | 必須? | 説明 |
|---|---|---|---|
| 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/connections'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 200 | 接続の 1 ページ。 | ConnectionList(application/json);ヘッダー:Cache-Control |
| 400 | invalid_request(不正な形式のカーソルを含む)。 | 問題 (application/problem+json) |
| デフォルト | 安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | 問題 (application/problem+json) |
接続を作成
Microsoft (provider microsoft) または Google (provider google) への接続を作成します。モード own_app はお客様自身のアプリケーションです。Microsoft の場合は config.tenant_id (ディレクトリ ID またはプライマリドメイン。common、organizations、consumers は拒否されます)、config.client_id、secret (アプリのクライアントシークレットの 1 つの値)、Google の場合は secret がサービスアカウントの JSON キーファイルです。
シークレットは封印して保存され、返されることはありません。モード screenrig_app は screenRIG 自身のアプリケーションを使い、config も secret も受け付けません。接続は pending_consent で作成され、レスポンスには、完了する人向けの 1 回限りのリンク consent_url (consent_expires_at まで有効) が含まれます。
Microsoft の場合は Microsoft 365 の管理者で、テナントに対する screenRIG のアプリケーションに同意します。続いてブラウザーが Microsoft の示すテナントにサインインするため、接続には確認されたテナントが記録され、コールバックが主張するだけのテナントは記録されません。
Google の場合はアカウントの所有者で、アカウントが見られるカレンダーへの読み取り専用アクセスを許可します。screenRIG は更新トークンを封印して保持し、アカウントのアドレスも保持します。リンクは 1 回の同意の認証情報です。その人にだけ送ってください。
プロバイダー向けの screenRIG のアプリケーションがないサーバーは 409 connection_app_not_configured を返し、own_app の接続は引き続き動作します。組織はすべてのプロジェクトを通じて最大 50 件の接続を持てます (connection_limit_reached)。connection.created を追記します。
同じ Idempotency-Key での同一の再試行は、同じ接続を返します (screenrig_app の再試行では新しい同意リンクが発行され、最初のリンクは置き換えられます)。
パラメーター
| 名前 | 送信する | 必須? | 説明 |
|---|---|---|---|
| ScreenRig-Project | ヘッダー | オプション | 1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。 |
| Idempotency-Key | ヘッダー | オプション | 新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。 |
リクエスト本文フィールド
| フィールド | 説明 |
|---|---|
| provider(必須、文字列) | 許可:"microsoft"、"google" |
| mode(必須、文字列) | 許可:"own_app"、"screenrig_app" |
| name(必須、文字列) | minLength: 1 maxLength: 80 |
| config(任意、ConnectionConfigWrite) | Microsoft、モード own_app: 両方のメンバー。Google の接続と、モード screenrig_app では受け付けられません。 |
| secret(任意、文字列) | モード own_app。Microsoft: アプリのクライアントシークレットの 1 つの値 (ID ではありません。最大 1024 文字)。config.tenant_id と config.client_id も指定します。Google: サービスアカウントの JSON キーファイル全体 (最大 16384 バイト)。受信時に封印され、返されることはありません。CLI は、ファイルまたは標準入力から読み取り、引数からは読み取りません。 モード screenrig_app では受け付けられません。minLength: 1 maxLength: 16384 |
リクエストテンプレートとレスポンス
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/connections'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 201 | 作成されました。モード screenrig_app の接続には consent_url と consent_expires_at が含まれます。 | ConnectionConsent(application/json);ヘッダー:ETag, Location, Cache-Control |
| 400 | invalid_request。無効なフィールドが示されます。 | 問題 (application/problem+json) |
| 409 | connection_app_not_configured (このサーバーにはプロバイダー向けの screenRIG のアプリケーションがありません)、connection_limit_reached、または idempotency_mismatch。 | 問題 (application/problem+json) |
| デフォルト | 安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | 問題 (application/problem+json) |
接続を取得
1 件の接続を、ステータス、最後のエラー、最後のテストとともに返します。
パラメーター
| 名前 | 送信する | 必須? | 説明 |
|---|---|---|---|
| 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/connections/RESOURCE_ID'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 200 | 1 つの接続。 | Connection(application/json);ヘッダー:ETag, Cache-Control |
| 404 | not_found. | 問題 (application/problem+json) |
| デフォルト | 安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | 問題 (application/problem+json) |
接続を更新
接続の名前を変更します。モード own_app では認証情報も変更できます。config.tenant_id と config.client_id (Microsoft)、または secret (送信したシークレットは封印済みのものを置き換え、省略したものは保持されます)。モード screenrig_app の接続は名前の変更のみ可能です。同意した人を変えるには、もう一度接続します (POST /api/connections/{id}/connect)。
認証情報を変更すると、接続は ready に戻り、last_error と last_test が消去され、古い認証情報向けに発行されたすべてのトークンが失効します。connection.updated を追記します。If-Match がリビジョンを保護します。
パラメーター
| 名前 | 送信する | 必須? | 説明 |
|---|---|---|---|
| ScreenRig-Project | ヘッダー | オプション | 1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。 |
| ID | パス | 必須 | |
| If-Match | ヘッダー | オプション | オプションの正のリソースリビジョン。現在のリソースを書き込む場合は省略します。提供された古いリビジョンはrevision_conflictです。 |
| Idempotency-Key | ヘッダー | オプション | 新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。 |
リクエスト本文フィールド
| フィールド | 説明 |
|---|---|
| name(任意、文字列) | minLength: 1 maxLength: 80 |
| config(任意、ConnectionConfigWrite) | Microsoft、モード own_app: 両方のメンバー。Google の接続と、モード screenrig_app では受け付けられません。 |
| secret(任意、文字列) | 保存されているシークレットまたはキーを置き換えます。省略すると保存済みのものが保持されます。モード own_app のみ。minLength: 1 maxLength: 16384 |
リクエストテンプレートとレスポンス
curl --request PATCH --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/connections/RESOURCE_ID'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 200 | 更新された接続。 | Connection(application/json);ヘッダー:ETag, Cache-Control |
| 400 | invalid_request。無効なフィールドが示されます。config と secret は、モード screenrig_app の接続には適用されません。 | 問題 (application/problem+json) |
| 404 | not_found. | 問題 (application/problem+json) |
| 412 | revision_conflict。 | 問題 (application/problem+json) |
| デフォルト | 安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | 問題 (application/problem+json) |
接続を削除
どこからも読み取られていない接続を削除します。データソース、Power BI 接続、メディア同期アカウントが読み取っている間は、それらを示す resource_conflict が返されます (used_by にその種類と ID が一覧されます)。
削除してもベンダー側は終了しません。Microsoft 365 のテナントは、管理者が削除するまで screenRIG のアプリケーションを保持し、Google アカウントは、所有者が取り消すまでその許可を保持します。connection.deleted を追記します。If-Match がリビジョンを保護します。
パラメーター
| 名前 | 送信する | 必須? | 説明 |
|---|---|---|---|
| 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/connections/RESOURCE_ID'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 204 | 削除されました。 | 本文なし |
| 404 | not_found. | 問題 (application/problem+json) |
| 409 | resource_conflict。何かがまだその接続を通じて読み取っています。 | 問題 (application/problem+json) |
| 412 | revision_conflict。 | 問題 (application/problem+json) |
| デフォルト | 安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | 問題 (application/problem+json) |
接続をテスト
接続でサインインし、その結果を last_test として保存します。
Microsoft の場合、チェックは credentials (Microsoft がテナント向けにアプリトークンを発行したか) と permissions (アプリのトークンが Calendars.Read、Sites.Selected、Files.Read.All、Sites.Read.All、Place.Read.All のどれを持つか) です。どれも持たないアプリはチェックに失敗し、Sites.Selected のみの場合は、SharePoint の各サイトに付与が必要なため警告になります。
Google の場合、チェックは credentials です。Google がサービスアカウント、または許可したアカウントの更新トークンを受け入れたかを確認し、レスポンスには、カレンダーを見えるようにしておく必要があるアカウントが示されます。拒否はチェックの失敗で、接続は last_error とともに error になります。成功すると ready に戻ります。
カレンダーの共有、メールボックスのアクセスポリシー、サイトへの付与は判定しません。これらは、ソースまたは同期が実行されたときに確かめられます。1 組織あたり 1 分間に最大 30 回です。
パラメーター
| 名前 | 送信する | 必須? | 説明 |
|---|---|---|---|
| ScreenRig-Project | ヘッダー | オプション | 1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。 |
| ID | パス | 必須 | |
| Idempotency-Key | ヘッダー | オプション | 新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。 |
リクエストテンプレートとレスポンス
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/connections/RESOURCE_ID/test'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 200 | チェック項目。 | ConnectionTest(application/json);ヘッダー:Cache-Control |
| 404 | not_found. | 問題 (application/problem+json) |
| デフォルト | 安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | 問題 (application/problem+json) |
接続を確立
モード screenrig_app の接続向けに、1 回限りの新しい同意リンク (consent_url、consent_expires_at まで有効) を作成します。完了する人、つまり Microsoft 365 の管理者または Google アカウントの所有者に送ってください。以前のリンクはすべて置き換えられます。
動作している接続は、新しい同意が完了するまでそのままなので、この操作は、error になった接続 (同意の削除、アクセスの取り消し) の更新や、別のテナントまたはアカウントへの切り替えにも使えます。リンクは同意の認証情報です。その人にだけ送ってください。
その人が完了すると、ブラウザーは GET /oauth/connections/{provider}/callback に戻り、ダッシュボードの接続のページに転送されます。このページは status と last_error を読み取ります。モード own_app の接続には同意のステップがありません (409 resource_conflict)。プロバイダー向けの screenRIG のアプリケーションがないサーバーは 409 connection_app_not_configured を返します。
パラメーター
| 名前 | 送信する | 必須? | 説明 |
|---|---|---|---|
| ScreenRig-Project | ヘッダー | オプション | 1リリースの間非推奨。JWTプロジェクトの権限と整合性が必要。Deprecation と Warning ヘッダーを追加。トークン交換なし。 |
| ID | パス | 必須 | |
| Idempotency-Key | ヘッダー | オプション | 新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。 |
リクエストテンプレートとレスポンス
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/connections/RESOURCE_ID/connect'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 200 | 新しい consent_url を持つ接続。 | ConnectionConsent(application/json);ヘッダー:ETag, Cache-Control |
| 404 | not_found. | 問題 (application/problem+json) |
| 409 | resource_conflict (接続がモード own_app)、または connection_app_not_configured。 | 問題 (application/problem+json) |
| デフォルト | 安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | 問題 (application/problem+json) |
Microsoft 接続の同意を完了
モード screenrig_app の接続で、Microsoft 365 の管理者が管理者の同意ページを経た後 (およびそれに続くサインインのステップの後にもう一度)、Microsoft がそのブラウザーを送り返す先です。
認証情報は含まれません。クエリ内の署名付き state が唯一の根拠で、それが示すものを読み取る前に検証され、接続の保留中の同意である間だけ受け付けられます。
最初の戻りではテナントが示されますが、これは認証されていません。レスポンスはそのテナントのサインインへのリダイレクトで、そのコードはアプリケーションのシークレットと、このサーバーだけが導出できる PKCE ベリファイアで引き換えられます。接続に記録されるのは ID トークンが運ぶテナントで、クライアントクレデンシャルのトークンによって、アプリケーションがそこで自身の権限を持つことが証明された後に記録されます。
検証済みの state の後は、どの結果でも、ダッシュボードの接続のページ (/dashboard/connections/{id}?consent=connected または ?consent=failed) にリダイレクトされ、そのページは status と last_error を読み取ります。エラーテキストは、固定の文と Microsoft 自身のエラーレスポンス (AADSTS コード) から組み立てられ、コールバックのクエリが運んだ内容からは決して作られません。
不明、期限切れ、使用済み、置き換え済み、または削除された接続の state は、何も示さないページを表示します。コールバックが登録されている API ホストでのみ応答します。
パラメーター
| 名前 | 送信する | 必須? | 説明 |
|---|---|---|---|
| 状態 | クエリ | オプション | |
| admin_consent | クエリ | オプション | |
| tenant | クエリ | オプション | |
| code | クエリ | オプション | |
| エラー | クエリ | オプション | |
| error_description | クエリ | オプション |
リクエストテンプレートとレスポンス
curl --request GET 'https://api.screenrig.ai/oauth/connections/microsoft/callback'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 302 | 同意したテナント向けの Microsoft のサインインへ、またはダッシュボードの接続のページへ。 | 本文なし |
| 200 | ダッシュボードが設定されていない場合は、接続が完了したことを伝えるページ。 | string (text/html) |
| 400 | リンクがすでに使用済みか期限切れであることを伝えるページ。ダッシュボードが設定されていない場合は、何も接続されなかった理由を伝えるページ。 | string (text/html) |
| 429 | このアドレスからのコールバックが多すぎます。 | 本文なし |
Google 接続の同意を完了
モード screenrig_app の接続で、アカウントの所有者が同意ページを経た後に、Google がそのブラウザーを送り返す先です。
認証情報は含まれません。クエリ内の署名付き state が唯一の根拠で、それが示すものを読み取る前に検証され、接続の保留中の同意である間だけ受け付けられます。screenRIG は、アプリケーションのシークレットと、このサーバーだけが導出できる PKCE ベリファイアでコードを引き換え、カレンダーのスコープが許可されていること (同意ページで人が外せます) と更新トークンがあることを確認し、その呼び出しで Google が返した ID トークンから許可したアカウントを読み取り、更新トークンを封印して保存し、connection.connected を追記します。
検証済みの state の後は、どの結果でも、ダッシュボードの接続のページ (/dashboard/connections/{id}?consent=connected または ?consent=failed) にリダイレクトされ、そのページは status と last_error を読み取ります。不明、期限切れ、使用済み、置き換え済み、または削除された接続の state は、何も示さないページを表示します。
コールバックが登録されている API ホストでのみ応答します。
パラメーター
| 名前 | 送信する | 必須? | 説明 |
|---|---|---|---|
| 状態 | クエリ | オプション | |
| code | クエリ | オプション | |
| エラー | クエリ | オプション |
リクエストテンプレートとレスポンス
curl --request GET 'https://api.screenrig.ai/oauth/connections/google/callback'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 302 | ダッシュボードの接続のページへ。 | 本文なし |
| 200 | ダッシュボードが設定されていない場合は、接続が完了したことを伝えるページ。 | string (text/html) |
| 400 | リンクがすでに使用済みか期限切れであることを伝えるページ。ダッシュボードが設定されていない場合は、何も接続されなかった理由を伝えるページ。 | string (text/html) |
| 429 | このアドレスからのコールバックが多すぎます。 | 本文なし |