
# 組織のドメインを更新

`PATCH /v1/organization-domains/{domain_id}` · 権限 `organization-domains:write`

JSON merge patch(RFC 7396、`Content-Type: application/merge-patch+json`)で、ドメインのキャプチャ設定と SSO ルーティング設定を更新します。どちらも `verified` のドメインでのみ有効にできます。何も変更しないパッチではバージョンは変わりません。

## リクエスト

| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
| `domain_id` | path | はい | 組織ドメインの ID(`odm_…`)です。 |
| `If-Match` | ヘッダー | いいえ | 任意です。送信する場合、直前に読み取った `ETag`(`"<version>"`)と一致する必要があります。 |
| `capture_mode` | string | いいえ | `off`、`suggest`、または `auto_join`。このドメインのメールアドレスを持つユーザーがサインインしたときの動作です。 |
| `sso_routing_enabled` | boolean | いいえ | このドメインへのサインインを、組織の SSO 接続にルーティングします。 |

リクエスト本文:

```json
{
  "capture_mode": "suggest",
  "sso_routing_enabled": true
}
```

## レスポンス

`200 OK` とともに、更新されたドメインと新しい `ETag` を返します。

```json
{
  "id": "odm_01j9xk3m7q8r2s4t6v8w0y2z4c",
  "organization_id": "org_01j9xk3m7q8r2s4t6v8w0y2z4a",
  "domain": "acme.com",
  "status": "verified",
  "verification_method": "dns_txt",
  "txt_record_name": "_akp-verify.acme.com",
  "txt_record_value": "idp-verify=EXAMPLEtokenEXAMPLEtokenEXAMPLEtokenEXAMPLEtok",
  "verification_started_at": "2026-10-12T09:30:00.123456Z",
  "verified_at": "2026-10-12T09:35:00.654321Z",
  "last_checked_at": "2026-10-12T09:35:00.654321Z",
  "unverified_at": null,
  "next_check_at": "2026-10-13T09:35:00.654321Z",
  "last_failure_code": null,
  "capture_mode": "suggest",
  "sso_routing_enabled": true,
  "created_at": "2026-10-12T09:30:00.123456Z",
  "updated_at": "2026-10-12T10:05:00.000000Z",
  "version": 3
}
```

## エラー

| HTTP | code | 発生条件 |
|---|---|---|
| 400 | `unknown_field` | 本文に、スキーマにないフィールド、または読み取り専用のフィールドがあります。 |
| 404 | `not_found` | この環境に、このIDの組織ドメインは存在しません。 |
| 409 | `domain_not_verified` | ドメインが `verified` ではないため、キャプチャまたは SSO ルーティングを有効にできません。 |
| 412 | `precondition_failed` | `If-Match` を送信しましたが、現在のバージョンと一致しません。ドメインを再読み取りしてください。 |
| 422 | `validation_failed` | フィールドが `null` であるか、値が無効です。 |
| 401 | `unauthenticated` | 認証情報が欠落しているか、無効か、失効しています。 |
| 403 | `insufficient_permissions` | 認証情報に必要な権限がありません。 |
| 429 | `rate_limited` | レート制限を超えました。`Retry-After` の期間を待ってから再試行してください。 |
| 503 | `service_unavailable` | 依存サービスが一時的に利用できません。`Retry-After` の期間を待ってから再試行してください。 |

## 例

```bash
curl -X PATCH https://api.eu.keenauth.com/v1/organization-domains/odm_01j9xk3m7q8r2s4t6v8w0y2z4c \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/merge-patch+json" \
  -d '{"capture_mode":"suggest"}'
```
