OpenAPI YAMLOpenAPI JSON問題 YAMLAPI の概要
このグループには 10 件のオペレーションがあり、api/openapi.yaml から生成されています。パス、アクション、認証で絞り込めます。各エンドポイントには入力が一覧され、展開するとリクエストテンプレートとレスポンスコードを確認できます。テンプレートには、ご自身の値とスキーマに適合する本文が必要です。
大文字のプレースホルダーをあなたの値に置き換えます。JSONリクエストの場合、request.jsonのスキーマに合うボディを保存します。Cookie例は認証済みセッションのローカルCookieジャーを使用します。
データソース: カードを最新に保つアドレス
ソースのプリセットを一覧表示
ソースプリセットを一覧表示します。json データソースの、あらかじめ用意されてテスト済みの設定です (docs/sources.md の Presets)。それぞれに、埋めるカード、人が入力するフィールド (ヘルプ、パターン、例付き)、必要なシークレットとその入手方法、更新頻度とカードが最後のデータを保持する期間、そして誰のデータをどの規約のもとで読み取るかが示されます。
POST /api/sources に preset、settings、secrets を指定してプリセットからソースを作成し、POST /api/sources/test でプレビューします。
リクエストテンプレートとレスポンス
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/source-presets'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 200 | ソースプリセットを、カテゴリとタイトルの順に。 | SourcePresetList(application/json);ヘッダー:Cache-Control |
| デフォルト | 安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | 問題 (application/problem+json) |
ソースのプリセットを取得
一覧に表示されるとおりの、1 つのソースプリセット。
パラメーター
| 名前 | 送信する | 必須? | 説明 |
|---|---|---|---|
| name | パス | 必須 | ソースプリセットの名前。GET /api/source-presets が一覧表示するとおりの名前です。 |
リクエストテンプレートとレスポンス
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/source-presets/NAME'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 200 | 1 つのソースプリセット。 | SourcePreset(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) |
データソース一覧
プロジェクトのデータソースを新しい順に、1 ページ最大 200 件で一覧表示します。データソースは、外部のアドレスからスケジュールに従って 1 枚のカードの動的プロパティを最新に保ちます (docs/sources.md)。各ソースには、最後の試行、最後の成功、最後に書き込んだ変更、次回の実行、失敗回数、直近のエラーというステータスが表示されます。
シークレットは返されません。それぞれ、マスクされたヒント付きの「設定済み」として表示されます。次のページには next_cursor を after として渡します。これ以上ない場合は null です。
パラメーター
| 名前 | 送信する | 必須? | 説明 |
|---|---|---|---|
| 以降 | クエリ | オプション |
リクエストテンプレートとレスポンス
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/sources'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 200 | プロジェクトのデータソース。 | SourceList(application/json);ヘッダー:Cache-Control |
| デフォルト | 安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | 問題 (application/problem+json) |
データソースを作成
外部のアドレスから 1 枚のカードの動的プロパティを書き込むデータソースを作成します。kind はアダプターを選びます(ics は iCalendar または webcal:// のアドレスを読み取ります)。config には種類ごとの設定を、secrets にはその認証情報を指定します。認証情報は暗号化して保存され、マスクされたヒントとしてのみ表示されます。
または、kind と config の代わりにプリセット (GET /api/source-presets) を指定し、その settings と secrets を渡します。ソースは、プリセットが設定を組み立てる json ソースになり、preset と settings とともに返され、更新間隔と有効期間はプリセットの値が既定になります。プリセットが埋めるのは、それが挙げるカードだけです (source_target_unsupported)。
ソースは数秒以内に実行され、その後は refresh_seconds ごとに実行されます。実行に失敗しても書き込みは行われません。カードは最後に成功したドキュメントを保持し、ソースのステータスにエラーが表示されます。1 つのソースが書き込めるカードは 1 枚 (source_target_taken) で、そのカードはこの種類が埋められるものでなければならず (source_target_unsupported)、組織のソースは最大 200 です (source_limit_reached)。
まず POST /api/sources/test で、ソースが書き込むドキュメントを確認してください。source.created を追加します。同じ Idempotency-Key での完全に同一の再試行には、24 時間にわたり同じ応答が返ります。
パラメーター
| 名前 | 送信する | 必須? | 説明 |
|---|---|---|---|
| Idempotency-Key | ヘッダー | オプション | 新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。 |
リクエスト本文フィールド
| フィールド | 説明 |
|---|---|
| name(必須、文字列) | minLength: 1 maxLength: 80 |
| kind(任意、SourceKind) | データの取得元。ics は iCalendar と webcal:// のアドレスを読み取ります (ほかの種類は /docs/sources で説明しています)。利用できない種類は kind で invalid_request を返します。許可:"ics"、"sheets"、"csv"、"json"、"microsoft365"、"google_calendar"、"square"、"shopify"、"momentus"、"toast" |
| target(必須、SourceTarget) | |
| preset(任意、文字列) | kind と config の代わりに、ソースの作成元とするソースプリセット (GET /api/source-presets)。kind はプリセットのもので、設定は settings から組み立てられます。プリセットを指定しない場合は kind と config が必須で、指定する場合は kind がプリセット自身のものでない限り拒否されます。pattern: "^[a-z][a-z0-9]*(-[a-z0-9]+)*$" |
| settings(任意、object) | プリセットのフィールドの値を、フィールド名ごとに指定します (テキスト、選択肢の 1 つ、またはオブジェクトのリスト)。必須フィールドはプリセットに照らして検証され、settings.channel のようなフィールドパスが示されます。 |
| config(任意、object) | 種類の設定 (/docs/sources)。ics の場合: calendars (1 〜 60 件、それぞれに key)、days、time_zone、private_title、include、exclude。include と exclude (それぞれ 1 〜 20 個の、1 〜 100 文字のキーワード。イベントのタイトルと照合されます) は、microsoft365、google_calendar、momentus の設定でもあります。 csv と json の場合: url、method (GET または POST)、body または graphql、headers、auth (none、bearer、header、basic、oauth2、token_request)、time_zone、pagination、json の場合はさらに format (auto、json、csv、xml)。 |
| secrets(任意、object) | 名前ごとの認証情報で、封印して保存されます。ics の場合: calendar_url.<key>。カレンダーのアドレス (webcal://、https://、http://) で、カレンダーごとに 1 つです。csv と json の場合: token、password、client_secret、header.<Name> (リクエストヘッダー)、query.<name> (クエリパラメーター)、および token_request の本文が {{secrets.<name>}} として読み取るシークレット。 プリセットの場合: その secrets の一覧に示された名前。 |
| refresh_seconds(任意、integer) | 同期の間隔(秒)。省略した場合や下回る場合は、種類ごとの既定値と下限が適用されます(ics: 300、最小 60。momentus: 60、最小 30)。最小値: 30 最大値: 86400 |
| stale_after_seconds(任意、SourceStaleAfter) | データソースが更新できないとき、カードが最後の正常なデータを保持する期間(秒)。 データソースは、最後に成功した更新からこの期間後に期限切れになるようにドキュメントを書き込みます。失敗が続くと、ドキュメントはオフラインのものを含むすべてのスクリーンで空になり、データに依存する表示条件のページは後続のページに切り替わります。失敗していないデータソースは、更新のたびに期限を延長します。 refresh_seconds の 2 倍以上にします。null は、データソースが再び更新されるまで最後の正常なデータを保持します(momentus 以外のすべての種類の既定値。momentus は作成時にメンバーを省略すると 1800)。失敗しているデータソースがこの期間を過ぎると期限切れ(status.stale)となり、source.stale が追加されます。 |
| enabled(任意、ブール値) | true |
リクエストテンプレートとレスポンス
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/sources'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 201 | 作成されました。 | Source(application/json);ヘッダー:Location, ETag, Cache-Control |
| 400 | フィールドエラー付きの invalid_request(config.calendars[0].key、secrets.calendar_url.lobby、プリセットの場合は settings.channel)、または、その種類またはプリセットに必要なシークレットがない場合の source_secret_required。 | 問題 (application/problem+json) |
| 402 | feature_not_in_plan — Square、Shopify、Microsoft 365、Google Workspace の会議室ソースには接続ソース(Plus)が必要で、Momentus ソースには Momentus ソース(Enterprise)が必要です。問題には、機能と required_plan が示されます。アドレス指定のカレンダー、Google Sheets、CSV と JSON のソースは、すべてのプランで利用できます。 | 問題 (application/problem+json) |
| 409 | source_target_taken(そのカードにはすでにソースがあり、source_id がそれを示します)、source_limit_reached、または idempotency_mismatch。 | 問題 (application/problem+json) |
| 422 | source_target_unsupported。supported_cards に、その種類が埋められるカードの種類が一覧されます。 | 問題 (application/problem+json) |
| デフォルト | 安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | 問題 (application/problem+json) |
データソースをテスト
何も保存せず、何も書き込まずにデータソースをプレビューします。アドレスを取得し、対象カード向けに応答を整形し、ドキュメントをカードで検証したうえで、ドキュメント、カードがそれを受け入れるかどうか(valid。受け入れない場合は validation_error がパスを示します)、実行時の警告とカウントを返します。
保存済みのソースを、他のメンバーを上書き値としてテストするには source_id を渡します (settings はプリセットから作成したソース自身の settings を上書きします)。そうでない場合は、target と、kind と config、または preset、settings、secrets が必須です。保存済みソースが保持するシークレットは、上書きによって接続先が変わらない限り、保存されたまま使われます(source_secret_required)。
取得または整形の失敗は、固定の source_error を伴う source_test_failed です。組織あたり毎分最大30回のプレビューです。
リクエスト本文フィールド
| フィールド | 説明 |
|---|---|
| source_id(任意、string) | テストする保存済みのソース。ほかのメンバーで上書きされます。 |
| kind(任意、SourceKind) | データの取得元。ics は iCalendar と webcal:// のアドレスを読み取ります (ほかの種類は /docs/sources で説明しています)。利用できない種類は kind で invalid_request を返します。許可:"ics"、"sheets"、"csv"、"json"、"microsoft365"、"google_calendar"、"square"、"shopify"、"momentus"、"toast" |
| target(任意、SourceTarget) | |
| config(任意、object) | |
| preset(任意、文字列) | まだ保存されていないソースをテストするためのソースプリセット。その settings と secrets が kind と config の代わりになります。pattern: "^[a-z][a-z0-9]*(-[a-z0-9]+)*$" |
| settings(任意、object) | プリセットの設定。source_id を指定すると、保存済みソースの設定を上書きします。 |
| secrets(任意、object) |
リクエストテンプレートとレスポンス
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/sources/test'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 200 | プレビュー。 | SourceTestResult(application/json);ヘッダー:Cache-Control |
| 400 | invalid_request または source_secret_required。 | 問題 (application/problem+json) |
| 402 | feature_not_in_plan — Square、Shopify、Microsoft 365、Google Workspace の会議室ソースには接続ソース(Plus)が必要で、Momentus ソースには Momentus ソース(Enterprise)が必要です。問題には、機能と required_plan が示されます。アドレス指定のカレンダー、Google Sheets、CSV と JSON のソースは、すべてのプランで利用できます。 | 問題 (application/problem+json) |
| 404 | source_id で指定された保存済みのソースが見つかりませんでした。 | 問題 (application/problem+json) |
| 422 | source_test_failed(source_error に code、message、upstream_status が含まれます)、または source_target_unsupported。 | 問題 (application/problem+json) |
| 429 | 安定した rate_limited 問題。権威ある Retry-After 間隔後にのみリトライしてください。固定ウィンドウ拒否は適用される RateLimit-Policy と RateLimit メンバーも含みます。並行性とバイト予算拒否はこれらの開示を省略します。 | 問題 (application/problem+json); ヘッダー: Retry-After, RateLimit-Policy, RateLimit |
| デフォルト | 安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | 問題 (application/problem+json) |
データソースを取得
ステータス付きのデータソース 1 件。ETag はリビジョンで、次の変更時の If-Match に使います。
パラメーター
| 名前 | 送信する | 必須? | 説明 |
|---|---|---|---|
| source_id | パス | 必須 | プロジェクトのデータソースの ID。 |
リクエストテンプレートとレスポンス
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/sources/SOURCE_ID'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 200 | データソース 1 件。 | Source(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) |
データソースを更新
データソースを変更します。config は設定全体を置き換え、secrets はマージされます(文字列で設定または置換、null で削除)。
プリセットから作成したソースは、config の代わりに settings を受け取ります。指定した設定ごとにその値が置き換わり、null で任意の設定を削除し、それ以外は元の値を保ち、設定はプリセットから組み立て直されます (そのようなソースに config を指定すると config で invalid_request になり、ほかのソースに settings を指定すると settings で invalid_request になります)。シークレットの名前はプリセットが定める名前です。
送信しなかったシークレットは、変更によってソースの向き先が保存済みのスコープの範囲外になる場合を除き、値を保持します(secrets.<name> の source_secret_required: 再入力してください)。
ターゲット、config、シークレット、refresh_seconds、enabled のいずれかを変更すると、失敗回数がリセットされ、ソースが数秒以内に実行されます。名前の変更ではそうなりません。enabled を false にするとスケジュールが止まり、カードは最後のドキュメントを保持します。If-Match はリビジョンを保護します。source.updated を追加します。
パラメーター
| 名前 | 送信する | 必須? | 説明 |
|---|---|---|---|
| source_id | パス | 必須 | プロジェクトのデータソースの ID。 |
| If-Match | ヘッダー | オプション | オプションの正のリソースリビジョン。現在のリソースを書き込む場合は省略します。提供された古いリビジョンはrevision_conflictです。 |
| Idempotency-Key | ヘッダー | オプション | 新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。 |
リクエスト本文フィールド
| フィールド | 説明 |
|---|---|
| name(任意、文字列) | minLength: 1 maxLength: 80 |
| target(任意、SourceTarget) | |
| config(任意、object) | config 全体を置き換えます。プリセットから作成したソースは、代わりに settings を受け取ります。 |
| settings(任意、object) | プリセットから作成したソースの場合: その settings にマージされ (値で置き換え、null で任意の設定を削除)、設定が組み立て直されます。 |
| secrets(任意、object) | 保存済みのシークレットにマージされます。文字列で設定または置換し、null で削除します。プリセットから作成したソースでは、プリセットが定める名前で指定します。 |
| refresh_seconds(任意、integer) | 最小値: 30 最大値: 86400 |
| stale_after_seconds(任意、SourceStaleAfter) | データソースが更新できないとき、カードが最後の正常なデータを保持する期間(秒)。 データソースは、最後に成功した更新からこの期間後に期限切れになるようにドキュメントを書き込みます。失敗が続くと、ドキュメントはオフラインのものを含むすべてのスクリーンで空になり、データに依存する表示条件のページは後続のページに切り替わります。失敗していないデータソースは、更新のたびに期限を延長します。 refresh_seconds の 2 倍以上にします。null は、データソースが再び更新されるまで最後の正常なデータを保持します(momentus 以外のすべての種類の既定値。momentus は作成時にメンバーを省略すると 1800)。失敗しているデータソースがこの期間を過ぎると期限切れ(status.stale)となり、source.stale が追加されます。 |
| enabled(任意、ブール値) |
リクエストテンプレートとレスポンス
curl --request PATCH --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --header 'Content-Type: application/json' --data '@request.json' 'https://api.screenrig.ai/api/sources/SOURCE_ID'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 200 | 変更後のソース。 | Source(application/json);ヘッダー:ETag, Cache-Control |
| 400 | invalid_request または source_secret_required。 | 問題 (application/problem+json) |
| 402 | feature_not_in_plan — Square、Shopify、Microsoft 365、Google Workspace の会議室ソースには接続ソース(Plus)が必要で、Momentus ソースには Momentus ソース(Enterprise)が必要です。問題には、機能と required_plan が示されます。アドレス指定のカレンダー、Google Sheets、CSV と JSON のソースは、すべてのプランで利用できます。 シークレットの置き換えだけの変更は、単独でも enabled false との組み合わせでも常に許可されるため、トークンの期限が切れたソースも最新の状態を保てます。 | 問題 (application/problem+json) |
| 404 | not_found. | 問題 (application/problem+json) |
| 409 | source_target_taken または idempotency_mismatch。 | 問題 (application/problem+json) |
| 412 | revision_conflict。 | 問題 (application/problem+json) |
| 422 | source_target_unsupported. | 問題 (application/problem+json) |
| デフォルト | 安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | 問題 (application/problem+json) |
データソースを削除
データソースを削除します。カードは、ソースが最後に書き込んだドキュメントを保持します。If-Match はリビジョンを保護します。source.deleted を追加します。
パラメーター
| 名前 | 送信する | 必須? | 説明 |
|---|---|---|---|
| source_id | パス | 必須 | プロジェクトのデータソースの ID。 |
| If-Match | ヘッダー | オプション | オプションの正のリソースリビジョン。現在のリソースを書き込む場合は省略します。提供された古いリビジョンはrevision_conflictです。 |
| Idempotency-Key | ヘッダー | オプション | 新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。 |
リクエストテンプレートとレスポンス
curl --request DELETE --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/sources/SOURCE_ID'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 204 | 削除されました。 | 本文なし |
| 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) |
データソースの部屋を取得
予約システムの部屋を読み取るデータソース(種類 momentus)の部屋のマッピングです。データソースが提供していてもどのスクリーンにも表示されていない部屋(summary.unmapped_rooms)と、部屋またはエリアのドキュメントを読むのに、それを指す値がないスクリーン(ステータスが missing または unknown のスクリーン。値が表記違いの部屋であれば候補も示します)を返します。
部屋はデータソースの最後に成功した更新のものです。何も取得されません。部屋のない種類は source_has_no_rooms を返します。
パラメーター
| 名前 | 送信する | 必須? | 説明 |
|---|---|---|---|
| source_id | パス | 必須 | プロジェクトのデータソースの ID。 |
リクエストテンプレートとレスポンス
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/sources/SOURCE_ID/rooms'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 200 | 部屋のマッピングのレポート。 | SourceRooms(application/json);ヘッダー:Cache-Control |
| 404 | not_found. | 問題 (application/problem+json) |
| 409 | source_has_no_rooms. | 問題 (application/problem+json) |
| デフォルト | 安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | 問題 (application/problem+json) |
データソースを今すぐ同期
ソースをその場で(最大 60 秒)すぐに同期し、新しいステータス付きで返します。同期に失敗した場合は、status.state が error のソースとエラーを添えて 200 で応答し、書き込みは行いません。更新するとソースは最初からやり直しになり、失敗回数がリセットされ、アドレスは全体が読み取られます。スケジュールされた同期がソースを使用中のときは source_busy (Retry-After) になります。
1 つのソースにつき 1 分あたり最大 6 回の同期です。
パラメーター
| 名前 | 送信する | 必須? | 説明 |
|---|---|---|---|
| source_id | パス | 必須 | プロジェクトのデータソースの ID。 |
| Idempotency-Key | ヘッダー | オプション | 新規操作のために省略します。再試行の重複排除にキーを供給し再利用してください。CLIがキーを自動管理します。 |
リクエストテンプレートとレスポンス
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/sources/SOURCE_ID/refresh'レスポンス
| ステータス | 意味 | 本文とヘッダー |
|---|---|---|
| 200 | 同期後のソース。 | Source(application/json);ヘッダー:ETag, Cache-Control |
| 404 | not_found. | 問題 (application/problem+json) |
| 409 | source_busy. | Problem(application/problem+json);ヘッダー:Retry-After |
| 429 | 安定した rate_limited 問題。権威ある Retry-After 間隔後にのみリトライしてください。固定ウィンドウ拒否は適用される RateLimit-Policy と RateLimit メンバーも含みます。並行性とバイト予算拒否はこれらの開示を省略します。 | 問題 (application/problem+json); ヘッダー: Retry-After, RateLimit-Policy, RateLimit |
| デフォルト | 安定した RFC 9457 問題応答。421 server_draining は Retry-After 1秒、500 not_ready または dependency_unavailable は 5秒、500 manifest_degraded は 60秒を持ちます。ハンドラーがより具体的な値を設定していない場合。 | 問題 (application/problem+json) |