# 9.10 peipkg.transaction.recovered

_Peios / Using Peios / Events / Package Events_

> The record that peipkg recover reconciled interrupted transactions, rolling back each one it found pending, or failed to.

- **Event type:** `peipkg.transaction.recovered`
- **Defined in:** `peipkg.evman`
- **Tier:** standard
- **Gating:** none
- **Cardinality:** once per run of peipkg recover

The record that `peipkg recover` reconciled interrupted transactions,
rolling back each one it found pending, or failed to. Every run writes it,
one that found nothing to recover included. An automatic recovery at the
start of an ordinary operation does not write it.

Replaces `peipkg.recovery`.

## 9.10.1 Fields

| Field | Type | Presence | Meaning |
|---|---|---|---|
| [`subject.token.sid`](/peios/using-peios/events/field-index/fields-subject.md#subject.token.sid) | `bin.sid` | required | The user SID of the effective token the operation ran under. |
| [`operation.succeeded-count`](/peios/using-peios/events/field-index/fields-operation.md#operation.succeeded-count) | `uint` | required | Interrupted transactions rolled back, before the failure on a run that failed. Zero when there were none. |
| [`outcome.success`](/peios/using-peios/events/field-index/fields-outcome.md#outcome.success) | `bool` | required | Whether the operation succeeded. |
| [`outcome.detail`](/peios/using-peios/events/field-index/fields-outcome.md#outcome.detail) | `str` | optional | The error, on a run that failed. |

Every record also carries the header fields of [the envelope](/peios/using-peios/events/introduction/the-envelope.md), which no payload repeats.

*Generated from `peipkg.evman` by `pkm/tools/gen-events-book.py`. Edit the fragment, not this page.*
