
# Désactiver une connexion

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

Définit le `status` de la connexion sur `inactive`. Le corps de la requête est facultatif et ne contient aucun champ. L'opération est idempotente : si la connexion a déjà ce statut, rien n'est écrit, la version reste inchangée et la connexion actuelle est renvoyée. `If-Match` n'est pas utilisé ; si un autre écrivain modifie la connexion au même moment, l'appel est relancé quelques fois. L'activation ne vérifie pas que la configuration du protocole est complète.

## Requête

| Champ | Type | Obligatoire | Description |
|---|---|---|---|
| `connection_id` | chaîne | oui | Identifiant de la connexion (`conn_…`). |
| `Idempotency-Key` | en-tête | non | Clé facultative (16 à 64 caractères) qui rend sûre une requête relancée. |

Le corps est facultatif ; s'il est présent, il doit être `{}`.

## Réponse

`200 OK` avec la connexion et son `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"
}
```

## Erreurs

| HTTP | code | Quand |
|---|---|---|
| 400 | `unknown_field` | Le corps contient un champ. |
| 404 | `not_found` | La connexion n'existe pas ou appartient à un autre environnement. |
| 412 | `precondition_failed` | La connexion a continué de changer simultanément ; réessayez. |
| 401 | `unauthenticated` | L'identifiant est manquant, invalide ou révoqué. |
| 403 | `insufficient_permissions` | L'identifiant ne dispose pas de l'autorisation requise. |
| 429 | `rate_limited` | La limite de débit a été dépassée ; réessayez après la période indiquée par `Retry-After`. |
| 503 | `service_unavailable` | Une dépendance est temporairement indisponible ; réessayez après la période indiquée par `Retry-After`. |

## Exemple

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