# CLUB-004 — Documentation

## Endpoints added

### POST /club/recovery-codes/generate
Genera códigos de recuperación (3 por defecto, máximo 10).
- **Auth**: device token cookie/header o sesión de usuario
- **Body**: `{ count?: number }`
- **Response**: `{ member, codes: string[], config }` — los códigos plaintext se muestran **una sola vez**

### GET /club/recovery-codes
Lista códigos activos (sin usar, no caducados).
- **Auth**: device token o sesión
- **Response**: `{ member, codes: [{ id, fingerprint, expiresAt, createdAt }] }`

### POST /club/recover
Recupera la membresía usando un código de recuperación.
- **Auth**: ninguno (usa código + nuevo token)
- **Body**: `{ code: string, newDeviceToken: string }`
- **Response**: `{ member, deviceToken, config }`
- El código se consume (no reutilizable)
- El nuevo dispositivo se vincula al miembro
