本文へスキップ
Sursa Developers

GET/v1/catalog/services

カタログのサービスを一覧表示する

list_catalog_services

外部サービス(SaaSとベンダー)のグローバルカタログの項目を返します:名前、グループ、Webサイトのドメインに対する大文字・小文字を区別しない部分文字列の検索、カテゴリでの絞り込み、ページネーションに対応しています。フィルターに一致する総数はX-Total-Countヘッダーに入ります。カタログはすべての組織で共通で、サインインしているすべてのユーザーが使えます。データはSursaに同梱され、リリースごとに更新されます(バージョンはGET /v1/catalog/categoriesと、各項目のicon_urlのversionフィールドにあります)。

認証

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

クエリパラメーター

  • qstring | null

    名前、グループ、Webサイトのドメインの部分文字列(大文字・小文字を区別しません)。

    length ≤ 200

  • categorystring | null

    カテゴリのスラッグ(GET /v1/catalog/categories)。

  • offsetinteger

    デフォルト:0≥ 0

  • limitinteger

    デフォルト:50≥ 1, ≤ 500

  • cursorstring

    次のページのカーソル。同じフィルターで取得した前回のレスポンスのX-Next-Cursorまたはnext_cursorの値で、ページサイズも保持しています。offsetと同時に指定すると422 validation.failed、別のリストのカーソル、別のフィルターのカーソル、形式が不正なカーソルは400 api.cursor_invalidになります。

    length ≤ 512

ヘッダーパラメーター

  • X-View-Asstring

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

Cookieパラメーター

  • kb_view_asstring

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

レスポンス

200成功時のレスポンス

レスポンスヘッダー

  • Link

    次のページのアドレス(<…>; rel="next")。ヘッダーがなければ、最後のページです。

  • X-Next-Cursor

    cursorパラメーターに渡す次のページのカーソル。ヘッダーがなければ、最後のページです。

  • X-Total-Count

    limitとoffsetに関係なく、フィルターに一致する項目の総数。

  • 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

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

application/json

array of CatalogService
  • categorystring必須

    カテゴリのスラッグ(GET /v1/catalog/categories)。

  • description_enstring | null必須

    英語の短い説明。説明がない場合はnull。

  • domainstring | null必須

    www.を除いたWebサイトのドメイン。Webサイトがない場合はnull。

  • group_namestring | null必須

    サービスが製品ファミリーに属する場合のグループ(ベンダー)。たとえばAtlassian。それ以外の場合はnull。

  • iconboolean必須

    アイコンがSursaに同梱されているかどうか。

  • icon_urlstring | null必須

    アイコンのURL(/v1/catalog/services/{service_id}/icon?v=…、またはインストール環境で設定された外部のアドレス)。アイコンがない場合はnull。

  • idstring (uuid)必須
  • namestring必須
  • slugstring必須
  • websitestring | null必須

    WebサイトのURL(https://…)またはnull。

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

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

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で返すことのあるコード。

レート制限

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

← catalog · APIリファレンス