組織を更新

PATCH /fapi/v1/organizations/{org_id} · 環境のサインインホストから呼び出します

組織の名前、スラッグ、またはブランドカラーを変更します(JSON マージパッチ、RFC 7396)。メタデータ、外部 ID、メンバー数の上限はここでは変更できません。認証済みユーザーの __Host-idp_session Cookie が必要です。Cookie が存在しない、期限切れ、または取り消されている場合は、401 unauthenticated を返します。別のオリジンにある自社アプリは、代わりにフロント API アクセストークン(DPoP 証明付きの Authorization: DPoP <token>。フロント API アクセストークンを参照)を送信することもできます。ユーザーは、idp_org:update 権限を持つ組織のアクティブなメンバーである必要があります。メンバーでないユーザーには 404 not_found を返し、権限のないメンバーには 403 insufficient_permissions を返します。

@keenauth/js を使用する場合: await keenauth.organizations.update(orgId, { name: "Acme Inc" }, { expectedVersion: 4 })。

リクエスト

ヘッダー:

ヘッダー 必須 説明
Idp-Client はい SDK 識別子。
Origin はい(Cookie を使用する場合) https://<sign-in host> と完全に一致する必要があります。
Content-Type はい application/json または application/merge-patch+json。
If-Match いいえ 最後に読み取った組織の "<version>"。その後組織が変更されている場合は、412 precondition_failed を返し、何も変更されません。

org_id: 組織の識別子(org_…)。

本文(少なくとも 1 つのフィールド):

フィールド 必須 説明
name いいえ 新しい表示名。null にはできません。
slug いいえ 新しいスラッグ。null にはできません。旧スラッグは 90 日間予約されたままになり、スラッグは 30 日に 1 回だけ変更できます。
brand_color いいえ #RRGGBB。null を指定するとクリアされます。

レスポンス

200 OK と新しい ETag を返します。本文は組織です(組織を取得を参照)。

エラー

ステータス コード 発生条件
400 unknown_field 本文に name、slug、brand_color 以外のフィールドが含まれています。
401 unauthenticated 有効なセッション Cookie がありません。
403 origin_not_allowed Origin がないか、不正です。
403 insufficient_permissions ユーザーに、その組織での idp_org:update 権限がありません。
404 not_found このユーザーに対して該当する組織がありません。存在しない、形式が不正、または他の組織の識別子も同じ応答になります。
409 slug_taken 別の組織がそのスラッグを使用しています。
409 slug_reserved そのスラッグは、別の組織の 90 日間の予約中です。
409 slug_change_rate_limited スラッグは過去 30 日以内にすでに変更されています。
409 organization_disabled 組織は無効になっています。
409 organization_pending_deletion 組織は削除が予定されています。
412 precondition_failed If-Match が現在のバージョンを指定していないか、リクエストの処理中に組織が変更されました。
422 validation_failed フィールドが無効か、許可されていない箇所に null が指定されているか、パッチが空です(empty_patch)。
503 service_unavailable 一時的に利用できません。Retry-After の後に再試行してください。

例

curl -X PATCH https://example.keenauth.app/fapi/v1/organizations/org_01jbz6x8kq3m2n4p5r6s7t8v9a \
  -H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
  -H "Origin: https://example.keenauth.app" \
  -H "Content-Type: application/merge-patch+json" \
  -H 'If-Match: "4"' \
  -b cookies.txt \
  -d '{"name": "Acme Inc", "brand_color": null}'

レスポンスの形式は 組織を取得 と同じで、"version": 5 となります。