
# Obtenir une session

`GET /v1/sessions/{session_id}` · autorisation `sessions:read`

Renvoie une session, quel que soit son statut (`active`, `expired`, `revoked`). L'adresse IP complète est affichée et la consultation est consignée dans le journal d'audit de gestion. Les cookies, les jetons et les empreintes d'appareil ne sont jamais renvoyés.

## Requête

| Paramètre | Dans | Obligatoire | Description |
|---|---|---|---|
| `session_id` | path | oui | Identifiant de session, préfixé `ses_`. |

## Réponse

`200 OK`. Les champs vides sont `null`.

```json
{
  "id": "ses_0a1b2c3d4e5f6g7h8j9k0m1n2p",
  "user_id": "usr_0a1b2c3d4e5f6g7h8j9k0m1n2p",
  "status": "revoked",
  "login_host": "login.example.com",
  "auth_time": "2026-02-01T08:00:00Z",
  "acr": "1fa",
  "amr": ["pwd"],
  "created_at": "2026-02-01T08:00:00Z",
  "last_seen_at": "2026-02-01T09:15:00Z",
  "idle_expires_at": "2026-02-08T09:15:00Z",
  "absolute_expires_at": "2026-03-03T08:00:00Z",
  "org_id": "org_0a1b2c3d4e5f6g7h8j9k0m1n2p",
  "ip_address": "203.0.113.10",
  "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_0)",
  "revoked_at": "2026-02-01T10:00:00Z",
  "revoke_reason": "admin"
}
```

`revoke_reason` n'est renseigné que pour les sessions `revoked`, par exemple `admin`, `user_logout`, `idp_logout` ou `refresh_reuse`.

## Erreurs

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

| HTTP | `code` | Quand |
|---|---|---|
| 404 | `not_found` | La session n'existe pas dans cet environnement (ou l'identifiant est mal formé). |
| 401 | `unauthenticated` | La clé d'API est absente, invalide ou révoquée. |
| 403 | `insufficient_permissions` | La clé ne dispose pas de l'autorisation `sessions:read`. |
| 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 https://api.eu.keenauth.com/v1/sessions/ses_0a1b2c3d4e5f6g7h8j9k0m1n2p \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
```

CLI : `keenauth sessions get ses_0a1b2c3d4e5f6g7h8j9k0m1n2p`

## Données personnelles

Cet endpoint traite des données personnelles : des sessions. [Données personnelles dans les API KeenAuth](/docs/policies/personal-data) décrit ce qui est stocké, combien de temps il est conservé et comment il est supprimé. N'envoyez de données personnelles sensibles (santé, données biométriques, religion, opinions politiques, orientation sexuelle) dans aucun champ.
