
# Ottenere un job di reimpostazione della password in blocco

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

Restituisce lo stato e i contatori di un job creato con [Creare un job di reimpostazione della password in blocco](/docs/api/management/jobs/create-password-reset). Non viene restituito alcun dato personale. `status` passa attraverso questi valori:

- `marking`: le password selezionate vengono contrassegnate; `marked` cresce.
- `waiting`: solo `lazy_then_bulk_reset`; il contrassegno è terminato (`marked_at`) e il job attende `deadline_at`.
- `resetting`: solo `lazy_then_bulk_reset`; la scadenza è passata e le password degli utenti che non le hanno cambiate vengono eliminate (`passwords_deleted`), con un'e-mail di reimpostazione per quelli che hanno un indirizzo principale verificato (`emailed`).
- `completed`: il job è terminato (`completed_at`). Un job `on_login` si completa non appena il contrassegno è terminato.

`total` è il numero di utenti distinti per un job `user_ids` e `0` per un job `hash_algo`; `not_found` conta gli ID che non sono utenti di questo ambiente oppure non hanno una password.

## Richiesta

| Parametro | In | Obbligatorio | Descrizione |
|---|---|---|---|
| `job_id` | percorso | sì | ID job, con prefisso `job_`. |

## Risposta

`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"
}
```

## Errori

Ogni errore è un corpo `application/problem+json` con un `code` stabile.

| HTTP | `code` | Quando |
|---|---|---|
| 401 | `unauthenticated` | La chiave API è mancante, non valida o revocata. |
| 403 | `insufficient_permissions` | La chiave non ha il permesso `user-credentials:write`. |
| 404 | `not_found` | Il job non esiste in questo ambiente (oppure l'ID non è valido). |
| 429 | `rate_limited` | È stato superato il limite di frequenza; rispettare `Retry-After`. |
| 503 | `service_unavailable` | Una dipendenza non è temporaneamente disponibile; riprovare più tardi. |

## Esempio

```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`
