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-Asstringadminロールの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-Cursorcursorパラメーターに渡す次のページのカーソル。ヘッダーがなければ、最後のページです。X-Total-Countlimitと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か月ごとの組織のクォータです。RateLimitRateLimit-Policyの各制限の残り:"<name>";r=<remaining>;t=<seconds until reset>。X-RateLimit-LimitRateLimit-Policyのうち最も厳しい項目(残りのリクエスト数が最も少ない項目)の上限。X-RateLimit-Remaining最も厳しい制限での残りのリクエスト数。
X-RateLimit-Reset最も厳しい制限がリセットされるまでの秒数。
application/json
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か月ごとの組織のクォータです。RateLimitRateLimit-Policyの各制限の残り:"<name>";r=<remaining>;t=<seconds until reset>。X-RateLimit-LimitRateLimit-Policyのうち最も厳しい項目(残りのリクエスト数が最も少ない項目)の上限。X-RateLimit-Remaining最も厳しい制限での残りのリクエスト数。
X-RateLimit-Reset最も厳しい制限がリセットされるまでの秒数。
application/json
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か月ごとの組織のクォータです。RateLimitRateLimit-Policyの各制限の残り:"<name>";r=<remaining>;t=<seconds until reset>。X-RateLimit-LimitRateLimit-Policyのうち最も厳しい項目(残りのリクエスト数が最も少ない項目)の上限。X-RateLimit-Remaining最も厳しい制限での残りのリクエスト数。
X-RateLimit-Reset最も厳しい制限がリセットされるまでの秒数。
application/json
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か月ごとの組織のクォータです。RateLimitRateLimit-Policyの各制限の残り:"<name>";r=<remaining>;t=<seconds until reset>。X-RateLimit-LimitRateLimit-Policyのうち最も厳しい項目(残りのリクエスト数が最も少ない項目)の上限。X-RateLimit-Remaining最も厳しい制限での残りのリクエスト数。
X-RateLimit-Reset最も厳しい制限がリセットされるまでの秒数。
application/json
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か月ごとの組織のクォータです。RateLimitRateLimit-Policyの各制限の残り:"<name>";r=<remaining>;t=<seconds until reset>。X-RateLimit-LimitRateLimit-Policyのうち最も厳しい項目(残りのリクエスト数が最も少ない項目)の上限。X-RateLimit-Remaining最も厳しい制限での残りのリクエスト数。
X-RateLimit-Reset最も厳しい制限がリセットされるまでの秒数。
application/json
エラーコード
すべてのリクエストに共通のコードに加えて、このエンドポイントがerror.codeで返すことのあるコード。
レート制限
レスポンスには、RateLimitヘッダーとRateLimit-Policyヘッダー、以前のX-RateLimit-Limit、X-RateLimit-Remaining、X-RateLimit-Resetが含まれます。429レスポンスにはRetry-After(秒)が含まれます。その時間だけ待ってから再試行してください。