本文へスキップ
Sursa Developers

POST/v1/sources

ソースを作成する

create_source

組織のAPIキー(1.62.0以降)で使えるのはカスタムソース(kind: custom)だけです:キーにはadminロールとadminスコープが必要です。それ以外の種類は400 sources.kind_not_allowed_for_keyを返します。プロバイダーでサインインするコネクターは、ブラウザーで設定します。コネクターのフィールドは公開仕様には示していません。カスタムソースには、name、コレクション(collection_idまたはcollection)、権限モードpermissions_mode、カードを入れるコレクションのフォルダー(folder_idとfolder_mode)、選択したドキュメントのフォルダー(roots)を指定します。ドキュメントは/v1/push/sources/{source_id}/*の操作で送信します。

認証

AuthorizationヘッダーでAPIキーを送信します:Authorization: Bearer <キー>。

ヘッダーパラメーター

  • X-View-Asstring

    adminロールのAPIキー専用です。データプロファイル<profile>[:viewer|verifier|editor](例:employee:viewer)としてリクエストを実行します。インストールキーではこのヘッダーを使えません(403)。

  • Idempotency-Keystring

    書き込みを安全に再試行するためのキー:1〜255文字の印字可能なASCII文字で、論理的な操作ごとにUUID v4を使うことを推奨します。同じキーで24時間以内に再試行しても操作は再実行されず、保存済みのレスポンス(ステータス、ヘッダー、ボディ)がIdempotency-Replayed: trueヘッダー付きで返されます。同じキーでメソッド、パス、Content-Type、ボディのいずれかが異なる場合は409 api.idempotency_mismatchを返し、最初のリクエストがまだ実行中の場合は409 api.idempotency_in_progressをRetry-After: 1付きで返します。5xxまたは429のレスポンスの後はキーが解放され、再試行で操作がもう一度実行されます。キーの有効範囲は、組織と呼び出し元(APIキー、ユーザー、カスタムソースのソースキー)の組み合わせです。

    length ≥ 1, length ≤ 255

Cookieパラメーター

  • kb_view_asstring

    セッションの「View as」モードのCookie。POST /auth/view-asで設定し、DELETE /auth/view-asで解除します。

リクエストボディ

application/json

オブジェクト:SourceCreate

  • kindstring

    ソースの種類(SourceKindを参照)。組織のAPIキーではcustomのみ。

    デフォルト:"gdrive"

  • namestring必須

    length ≥ 1, length ≤ 120

  • collectionstring

    ソースのコレクションの名前。代わりにcollection_idを渡すこともできます(1.62.0以降)。

    length ≥ 1, length ≤ 64

  • collection_idinteger

    IDで指定するソースのコレクション(1.62.0以降)。両方を渡した場合は、collection_idが優先されます。

  • permissions_modestring

    ソースのカードの権限モード(1.62.0以降、update_source_settingsと同じ):ownはコレクションの権限を使い、mirrorはドキュメントから権限を取得します(permissions)。mirrorを選ぶには、コレクションの権限を管理する権利が必要です。

    指定できる値: ownmirror

  • default_owner_idinteger | null
  • verify_interval_daysinteger

    デフォルト:90≥ 1, ≤ 3650

  • tagsarray of string

    デフォルト:[]

  • default_categorystring | null
  • rootsarray of string | null

    ソースの選択されたフォルダー:その中の項目だけがカードになります。カスタムソースでは、ドキュメントのフォルダーのパス(Guides/Billing)。コネクターでは、プロバイダーのツリーのノード。

  • folder_idstring | null

    ソースのコレクション内で、カードを置くフォルダー(nullはコレクションのルートを意味します)。

  • folder_modestring

    flatはすべてを選択したフォルダーに入れます。mirrorは、ソース内の項目のパスを再現するフォルダーを作成します。フォルダーの入れ子の上限(3階層)より深くはならず、それより深い項目は最も近いフォルダーに入ります。

    指定できる値: flatmirror

    デフォルト:"flat"

レスポンス

200成功時のレスポンス

レスポンスヘッダー

  • RateLimit-Policy

    適用中の制限。IETFのドラフトdraft-ietf-httpapi-ratelimit-headersの形式で、"<name>";q=<quota>;w=<window in seconds>の項目をカンマで区切って並べます。keyはAPIキーのリクエストレートです(クォータはバースト、ウィンドウはバーストが完全に回復するまでの時間。セッションではuser、認証情報がない場合はip)。minute、day、monthは、UTCの暦の上での1分・1日・1か月ごとの組織のクォータです。

  • RateLimit

    RateLimit-Policyの各制限の残り:"<name>";r=<remaining>;t=<seconds until reset>。

  • X-RateLimit-Limit

    RateLimit-Policyのうち最も厳しい項目(残りのリクエスト数が最も少ない項目)の上限。

  • X-RateLimit-Remaining

    最も厳しい制限での残りのリクエスト数。

  • X-RateLimit-Reset

    最も厳しい制限がリセットされるまでの秒数。

  • Idempotency-Replayed

    trueは、このIdempotency-Keyの保存済みのレスポンスが再送されたことを示します:操作は再実行されていません。

400リクエストが無効です:パラメーターの値またはオブジェクトの状態により、この操作を実行できません(`detail`はメッセージ)。

レスポンスヘッダー

  • RateLimit-Policy

    適用中の制限。IETFのドラフトdraft-ietf-httpapi-ratelimit-headersの形式で、"<name>";q=<quota>;w=<window in seconds>の項目をカンマで区切って並べます。keyはAPIキーのリクエストレートです(クォータはバースト、ウィンドウはバーストが完全に回復するまでの時間。セッションではuser、認証情報がない場合はip)。minute、day、monthは、UTCの暦の上での1分・1日・1か月ごとの組織のクォータです。

  • RateLimit

    RateLimit-Policyの各制限の残り:"<name>";r=<remaining>;t=<seconds until reset>。

  • X-RateLimit-Limit

    RateLimit-Policyのうち最も厳しい項目(残りのリクエスト数が最も少ない項目)の上限。

  • X-RateLimit-Remaining

    最も厳しい制限での残りのリクエスト数。

  • X-RateLimit-Reset

    最も厳しい制限がリセットされるまでの秒数。

401認証情報が送信されていない(セッションCookieもAPIキーもない)か、キーが見つかりません。

レスポンスヘッダー

  • RateLimit-Policy

    適用中の制限。IETFのドラフトdraft-ietf-httpapi-ratelimit-headersの形式で、"<name>";q=<quota>;w=<window in seconds>の項目をカンマで区切って並べます。keyはAPIキーのリクエストレートです(クォータはバースト、ウィンドウはバーストが完全に回復するまでの時間。セッションではuser、認証情報がない場合はip)。minute、day、monthは、UTCの暦の上での1分・1日・1か月ごとの組織のクォータです。

  • RateLimit

    RateLimit-Policyの各制限の残り:"<name>";r=<remaining>;t=<seconds until reset>。

  • X-RateLimit-Limit

    RateLimit-Policyのうち最も厳しい項目(残りのリクエスト数が最も少ない項目)の上限。

  • X-RateLimit-Remaining

    最も厳しい制限での残りのリクエスト数。

  • X-RateLimit-Reset

    最も厳しい制限がリセットされるまでの秒数。

403この操作は許可されていません:ロールの権限が足りない、コレクションやカードへのアクセス権がない、リクエストが「View as」モードで実行されている、または組織が停止中か削除済みです(`detail`は`code: org_suspended | org_deleted`を持つオブジェクト)。

レスポンスヘッダー

  • RateLimit-Policy

    適用中の制限。IETFのドラフトdraft-ietf-httpapi-ratelimit-headersの形式で、"<name>";q=<quota>;w=<window in seconds>の項目をカンマで区切って並べます。keyはAPIキーのリクエストレートです(クォータはバースト、ウィンドウはバーストが完全に回復するまでの時間。セッションではuser、認証情報がない場合はip)。minute、day、monthは、UTCの暦の上での1分・1日・1か月ごとの組織のクォータです。

  • RateLimit

    RateLimit-Policyの各制限の残り:"<name>";r=<remaining>;t=<seconds until reset>。

  • X-RateLimit-Limit

    RateLimit-Policyのうち最も厳しい項目(残りのリクエスト数が最も少ない項目)の上限。

  • X-RateLimit-Remaining

    最も厳しい制限での残りのリクエスト数。

  • X-RateLimit-Reset

    最も厳しい制限がリセットされるまでの秒数。

404オブジェクトが存在しないか、アクセスできません。APIは、アクセスが制限されたオブジェクトの存在を明かしません。

レスポンスヘッダー

  • RateLimit-Policy

    適用中の制限。IETFのドラフトdraft-ietf-httpapi-ratelimit-headersの形式で、"<name>";q=<quota>;w=<window in seconds>の項目をカンマで区切って並べます。keyはAPIキーのリクエストレートです(クォータはバースト、ウィンドウはバーストが完全に回復するまでの時間。セッションではuser、認証情報がない場合はip)。minute、day、monthは、UTCの暦の上での1分・1日・1か月ごとの組織のクォータです。

  • RateLimit

    RateLimit-Policyの各制限の残り:"<name>";r=<remaining>;t=<seconds until reset>。

  • X-RateLimit-Limit

    RateLimit-Policyのうち最も厳しい項目(残りのリクエスト数が最も少ない項目)の上限。

  • X-RateLimit-Remaining

    最も厳しい制限での残りのリクエスト数。

  • X-RateLimit-Reset

    最も厳しい制限がリセットされるまでの秒数。

422バリデーションエラー:ボディまたはパラメーターがスキーマに一致しない(`detail`はバリデーションエラーのリスト)、またはパラメーターの値が範囲外です(`detail`はメッセージ)。

レスポンスヘッダー

  • RateLimit-Policy

    適用中の制限。IETFのドラフトdraft-ietf-httpapi-ratelimit-headersの形式で、"<name>";q=<quota>;w=<window in seconds>の項目をカンマで区切って並べます。keyはAPIキーのリクエストレートです(クォータはバースト、ウィンドウはバーストが完全に回復するまでの時間。セッションではuser、認証情報がない場合はip)。minute、day、monthは、UTCの暦の上での1分・1日・1か月ごとの組織のクォータです。

  • RateLimit

    RateLimit-Policyの各制限の残り:"<name>";r=<remaining>;t=<seconds until reset>。

  • X-RateLimit-Limit

    RateLimit-Policyのうち最も厳しい項目(残りのリクエスト数が最も少ない項目)の上限。

  • X-RateLimit-Remaining

    最も厳しい制限での残りのリクエスト数。

  • X-RateLimit-Reset

    最も厳しい制限がリセットされるまでの秒数。

429リクエストが多すぎる(`api.rate_limited`)、組織の1分・1日・1か月のクォータを使い切った(`api.quota_exceeded`。`error.details`には`quota`、`limit`、`reset_at`が含まれます)、組織の上限に達した、または回答サービスが混雑しています(`answers.engine_busy`)。`Retry-After`ヘッダーの時間だけ待ってください。

レスポンスヘッダー

  • Retry-After

    リクエストを再試行するまでに待つ秒数。

  • RateLimit-Policy

    適用中の制限。IETFのドラフトdraft-ietf-httpapi-ratelimit-headersの形式で、"<name>";q=<quota>;w=<window in seconds>の項目をカンマで区切って並べます。keyはAPIキーのリクエストレートです(クォータはバースト、ウィンドウはバーストが完全に回復するまでの時間。セッションではuser、認証情報がない場合はip)。minute、day、monthは、UTCの暦の上での1分・1日・1か月ごとの組織のクォータです。

  • RateLimit

    RateLimit-Policyの各制限の残り:"<name>";r=<remaining>;t=<seconds until reset>。

  • X-RateLimit-Limit

    RateLimit-Policyのうち最も厳しい項目(残りのリクエスト数が最も少ない項目)の上限。

  • X-RateLimit-Remaining

    最も厳しい制限での残りのリクエスト数。

  • X-RateLimit-Reset

    最も厳しい制限がリセットされるまでの秒数。

エラーコード

すべてのリクエストに共通のコードに加えて、このエンドポイントがerror.codeで返すことのあるコード。

安全な再試行

POSTとPATCHのたびにIdempotency-Keyヘッダー(UUIDなど)を送信してください。24時間以内に同じキーで再試行すると、リクエストをもう一度実行せずに、保存済みのレスポンスが返ります。

レート制限

レスポンスには、RateLimitヘッダーとRateLimit-Policyヘッダー、以前のX-RateLimit-Limit、X-RateLimit-Remaining、X-RateLimit-Resetが含まれます。429レスポンスにはRetry-After(秒)が含まれます。その時間だけ待ってから再試行してください。

← sources · APIリファレンス