
# Obtener un trabajo masivo de restablecimiento de contraseña

`GET /v1/jobs/password-resets/{job_id}` · permiso `user-credentials:write`

Devuelve el estado y los contadores de un trabajo creado con [Crear un trabajo masivo de restablecimiento de contraseña](/docs/api/management/jobs/create-password-reset). No se devuelven datos personales. `status` pasa por estos estados:

- `marking`: se están marcando las contraseñas seleccionadas; `marked` aumenta.
- `waiting`: solo `lazy_then_bulk_reset`; el marcado ha terminado (`marked_at`) y el trabajo espera a `deadline_at`.
- `resetting`: solo `lazy_then_bulk_reset`; la fecha límite ha pasado y se están eliminando las contraseñas de los usuarios que no las han cambiado (`passwords_deleted`), con un correo de restablecimiento para quienes tienen un correo principal verificado (`emailed`).
- `completed`: el trabajo ha terminado (`completed_at`). Un trabajo `on_login` se completa en cuanto termina el marcado.

`total` es el número de usuarios distintos en un trabajo `user_ids` y `0` en un trabajo `hash_algo`; `not_found` cuenta los ids que no son usuarios de este entorno o que no tienen contraseña.

## Solicitud

| Parámetro | En | Obligatorio | Descripción |
|---|---|---|---|
| `job_id` | ruta | sí | Id del trabajo, con prefijo `job_`. |

## Respuesta

`200 OK`.

```json
{
  "id": "job_01h455vb4pex5vsknk084sn02q",
  "mode": "on_login",
  "filter": "user_ids",
  "status": "completed",
  "total": 3,
  "marked": 2,
  "not_found": 1,
  "passwords_deleted": 0,
  "emailed": 0,
  "created_at": "2026-01-15T09:30:00Z",
  "marked_at": "2026-01-15T09:31:00Z",
  "completed_at": "2026-01-15T09:31:00Z"
}
```

## Errores

Cada error es un cuerpo `application/problem+json` con un `code` estable.

| HTTP | `code` | Cuándo |
|---|---|---|
| 401 | `unauthenticated` | La clave de API falta, no es válida o fue revocada. |
| 403 | `insufficient_permissions` | La clave no tiene el permiso `user-credentials:write`. |
| 404 | `not_found` | El trabajo no existe en este entorno (o el id tiene un formato incorrecto). |
| 429 | `rate_limited` | Se superó el límite de tasa; respete `Retry-After`. |
| 503 | `service_unavailable` | Una dependencia no está disponible temporalmente; vuelva a intentarlo más tarde. |

## Ejemplo

```bash
curl https://api.eu.keenauth.com/v1/jobs/password-resets/job_01h455vb4pex5vsknk084sn02q \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
```

CLI: `keenauth jobs password-resets get job_01h455vb4pex5vsknk084sn02q`
