
# Reprendre une application

`POST /v1/applications/{application_id}:resume` · autorisation `applications:write`

Remet le `status` d'une application suspendue sur `active`, afin qu'elle puisse de nouveau obtenir des jetons. Ses identifiants client restent valides, mais les familles de jetons d'actualisation révoquées par la suspension restent révoquées : les utilisateurs de l'application doivent se reconnecter pour obtenir de nouveaux jetons. La demande n'a pas de corps (vide ou `{}`). Reprendre une application déjà active ne change rien et renvoie l'application courante avec la même version. La modification est écrite dans le journal d'audit de gestion sous `application.updated` et publiée sous forme d'événements `application_changed` et `application_status_changed`.

## Requête

**En-têtes** : `If-Match: "<version>"` (facultatif). Avec `If-Match`, la modification ne s'applique qu'à cette version (`412` sinon) ; sans lui, la dernière version est utilisée et la requête est relancée si un autre écrivain modifie l'application en même temps. Envoyez un en-tête `Idempotency-Key` pour rendre les nouvelles tentatives sûres.

| Paramètre | Dans | Obligatoire | Description |
|---|---|---|---|
| `application_id` | path | oui | Identifiant de l'application, préfixé `app_`. |

## Réponse

`200 OK` avec l'application (`"status": "active"`) et son `ETag`.

## Erreurs

Chaque erreur est un corps `application/problem+json` avec un `code` stable.

| HTTP | `code` | Quand |
|---|---|---|
| 400 | `malformed_request`, `unknown_field` | Un corps a été envoyé qui n'est pas du JSON valide ou contient un champ inconnu. |
| 401 | `unauthenticated` | La clé d'API est absente, invalide ou révoquée. |
| 403 | `insufficient_permissions` | La clé ne dispose pas de l'autorisation `applications:write`. |
| 404 | `not_found` | L'application n'existe pas dans cet environnement (ou l'identifiant est mal formé). |
| 412 | `precondition_failed` | La version dans `If-Match` est périmée. |
| 429 | `rate_limited` | La limite de débit a été dépassée ; respectez `Retry-After`. |
| 503 | `service_unavailable` | Une dépendance est temporairement indisponible ; réessayez plus tard. |

## Exemple

```bash
curl -X POST https://api.eu.keenauth.com/v1/applications/app_6f8d0cjgbmf0gtn2rg6pscp3cg:resume \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H 'If-Match: "4"'
```

CLI : `keenauth applications resume app_6f8d0cjgbmf0gtn2rg6pscp3cg --if-match '"4"'`
