
# 接続の無効化

`POST /v1/connections/{connection_id}:deactivate` · 権限 `connections:write`

接続の `status` を `inactive` に設定します。リクエスト本文は任意で、フィールドはありません。この操作は冪等です。接続がすでにこのステータスの場合は何も書き込まれず、バージョンは変わらず、現在の接続が返されます。`If-Match` は使用しません。同時に別の書き込み者が接続を変更した場合は、数回再試行されます。有効化時には、プロトコル設定が完全であるかどうかは確認されません。

## リクエスト

| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
| `connection_id` | string | はい | 接続の識別子（`conn_…`）。 |
| `Idempotency-Key` | header | いいえ | 再試行されたリクエストを安全にするための任意のキー（16〜64 文字）。 |

本文は任意です。指定する場合は `{}` である必要があります。

## レスポンス

`200 OK` で、接続と、その `ETag` を返します。

```json
{
  "id": "conn_0k3v8m1q2x9dz4h7s5t6w0y1ab",
  "key": "google",
  "type": "social",
  "strategy": "google",
  "name": "Google",
  "display_name": "Sign in with Google",
  "status": "inactive",
  "org_id": null,
  "allowed_email_domains": [],
  "allow_external_domains": false,
  "jit_mode": null,
  "email_trust": null,
  "default_role_ids": [],
  "trust_idp_mfa": null,
  "allow_idp_initiated": null,
  "idp_initiated_default_application_id": null,
  "idp_initiated_allowed_application_ids": [],
  "settings": {},
  "created_at": "2026-10-05T09:30:00.123456Z",
  "updated_at": "2026-10-05T09:30:00.123456Z"
}
```

## エラー

| HTTP | code | 発生条件 |
|---|---|---|
| 400 | `unknown_field` | 本文にフィールドが含まれています。 |
| 404 | `not_found` | 接続が存在しないか、別の環境に属しています。 |
| 412 | `precondition_failed` | 接続が同時に変更され続けています。再試行してください。 |
| 401 | `unauthenticated` | 認証情報が不足しているか、無効、または取り消されています。 |
| 403 | `insufficient_permissions` | 認証情報に必要な権限がありません。 |
| 429 | `rate_limited` | レート制限を超えました。`Retry-After` の期間を待ってから再試行してください。 |
| 503 | `service_unavailable` | 依存先が一時的に利用できません。`Retry-After` の期間を待ってから再試行してください。 |

## 例

```bash
curl -X POST https://api.eu.keenauth.com/v1/connections/conn_0k3v8m1q2x9dz4h7s5t6w0y1ab:deactivate \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
```
