# `Autonomic.ProposedEffect`
[🔗](https://github.com/nshkrdotcom/autonomic/blob/v0.1.0-autonomic/lib/autonomic/contracts.ex#L306)

# `t`

```elixir
@type t() :: %Autonomic.ProposedEffect{
  approvals: [map()],
  class: Autonomic.Contracts.effect_class(),
  commit_attempt_id: String.t() | nil,
  committed_at: integer() | nil,
  created_at: integer(),
  episode_id: Autonomic.Contracts.episode_id(),
  epoch: Autonomic.Contracts.epoch(),
  expires_at: integer() | nil,
  external_receipt_ref: String.t() | nil,
  failure: term() | nil,
  id: Autonomic.Contracts.effect_id(),
  idempotency_key: String.t() | nil,
  kind: atom(),
  lease_id: Autonomic.Contracts.lease_id(),
  metadata: map(),
  payload_digest: term(),
  payload_ref: String.t(),
  reversible?: boolean(),
  revision: term(),
  state: Autonomic.Contracts.effect_state(),
  target: map(),
  verifications: [map()],
  version_vector: Autonomic.VersionVector.t()
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
