API リファレンス

データソース API

データソース: カードを最新に保つアドレス

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

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

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

データソース: カードを最新に保つアドレス

GET/api/source-presets

ソースのプリセットを一覧表示

ソースプリセットを一覧表示します。json データソースの、あらかじめ用意されてテスト済みの設定です (docs/sources.md の Presets)。それぞれに、埋めるカード、人が入力するフィールド (ヘルプ、パターン、例付き)、必要なシークレットとその入手方法、更新頻度とカードが最後のデータを保持する期間、そして誰のデータをどの規約のもとで読み取るかが示されます。

POST /api/sources に preset、settings、secrets を指定してプリセットからソースを作成し、POST /api/sources/test でプレビューします。

認証
projectBearer
リクエスト本文
なし
操作ID
listSourcePresets
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
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)
GET/api/source-presets/{name}

ソースのプリセットを取得

一覧に表示されるとおりの、1 つのソースプリセット。

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

パラメーター

名前送信する必須?説明
nameパス必須ソースプリセットの名前。GET /api/source-presets が一覧表示するとおりの名前です。
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' 'https://api.screenrig.ai/api/source-presets/NAME'

レスポンス

ステータス意味本文とヘッダー
2001 つのソースプリセット。SourcePreset(application/json);ヘッダー:Cache-Control
404not_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)
GET/api/sources

データソース一覧

プロジェクトのデータソースを新しい順に、1 ページ最大 200 件で一覧表示します。データソースは、外部のアドレスからスケジュールに従って 1 枚のカードの動的プロパティを最新に保ちます (docs/sources.md)。各ソースには、最後の試行、最後の成功、最後に書き込んだ変更、次回の実行、失敗回数、直近のエラーというステータスが表示されます。

シークレットは返されません。それぞれ、マスクされたヒント付きの「設定済み」として表示されます。次のページには next_cursor を after として渡します。これ以上ない場合は null です。

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

パラメーター

名前送信する必須?説明
以降クエリオプション
リクエストテンプレートとレスポンス
シェル・リクエストテンプレート
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)
POST/api/sources

データソースを作成

外部のアドレスから 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 時間にわたり同じ応答が返ります。

認証
projectBearer
リクエスト本文
SourceCreate
操作ID
createSource

パラメーター

名前送信する必須?説明
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)
409source_target_taken(そのカードにはすでにソースがあり、source_id がそれを示します)、source_limit_reached、または idempotency_mismatch。問題 (application/problem+json)
422source_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)
POST/api/sources/test

データソースをテスト

何も保存せず、何も書き込まずにデータソースをプレビューします。アドレスを取得し、対象カード向けに応答を整形し、ドキュメントをカードで検証したうえで、ドキュメント、カードがそれを受け入れるかどうか(valid。受け入れない場合は validation_error がパスを示します)、実行時の警告とカウントを返します。

保存済みのソースを、他のメンバーを上書き値としてテストするには source_id を渡します (settings はプリセットから作成したソース自身の settings を上書きします)。そうでない場合は、target と、kind と config、または preset、settings、secrets が必須です。保存済みソースが保持するシークレットは、上書きによって接続先が変わらない限り、保存されたまま使われます(source_secret_required)。

取得または整形の失敗は、固定の source_error を伴う source_test_failed です。組織あたり毎分最大30回のプレビューです。

認証
projectBearer
リクエスト本文
SourceTestRequest
操作ID
testSource

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

フィールド説明
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
400invalid_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)
404source_id で指定された保存済みのソースが見つかりませんでした。問題 (application/problem+json)
422source_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)
GET/api/sources/{source_id}

データソースを取得

ステータス付きのデータソース 1 件。ETag はリビジョンで、次の変更時の If-Match に使います。

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

パラメーター

名前送信する必須?説明
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
404not_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)
PATCH/api/sources/{source_id}

データソースを更新

データソースを変更します。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 を追加します。

認証
projectBearer
リクエスト本文
SourceUpdate
操作ID
updateSource

パラメーター

名前送信する必須?説明
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
400invalid_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)
404not_found.問題 (application/problem+json)
409source_target_taken または idempotency_mismatch。問題 (application/problem+json)
412revision_conflict。問題 (application/problem+json)
422source_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)
削除/api/sources/{source_id}

データソースを削除

データソースを削除します。カードは、ソースが最後に書き込んだドキュメントを保持します。If-Match はリビジョンを保護します。source.deleted を追加します。

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

パラメーター

名前送信する必須?説明
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削除されました。本文なし
404not_found.問題 (application/problem+json)
412revision_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)
GET/api/sources/{source_id}/rooms

データソースの部屋を取得

予約システムの部屋を読み取るデータソース(種類 momentus)の部屋のマッピングです。データソースが提供していてもどのスクリーンにも表示されていない部屋(summary.unmapped_rooms)と、部屋またはエリアのドキュメントを読むのに、それを指す値がないスクリーン(ステータスが missing または unknown のスクリーン。値が表記違いの部屋であれば候補も示します)を返します。

部屋はデータソースの最後に成功した更新のものです。何も取得されません。部屋のない種類は source_has_no_rooms を返します。

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

パラメーター

名前送信する必須?説明
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
404not_found.問題 (application/problem+json)
409source_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)
POST/api/sources/{source_id}/refresh

データソースを今すぐ同期

ソースをその場で(最大 60 秒)すぐに同期し、新しいステータス付きで返します。同期に失敗した場合は、status.state が error のソースとエラーを添えて 200 で応答し、書き込みは行いません。更新するとソースは最初からやり直しになり、失敗回数がリセットされ、アドレスは全体が読み取られます。スケジュールされた同期がソースを使用中のときは source_busy (Retry-After) になります。

1 つのソースにつき 1 分あたり最大 6 回の同期です。

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

パラメーター

名前送信する必須?説明
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
404not_found.問題 (application/problem+json)
409source_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)