# `StatifierOban.Timer.CancellationKey`
[🔗](https://github.com/riddler/statifier_oban/blob/v0.17.3/lib/statifier_oban/timer/cancellation_key.ex#L1)

`{session scope, send_id}` - the key a cancel addresses.

Deliberately not unique: spec 6.3 cancels every delayed send under a
sendid, and an author-written `id` is reused verbatim without advancing
`send_counter`, so one `<send id="x" delay="...">` executed twice stores
two rows under one key. A cancel matching nothing is a no-op, not an
error (ADR-0054 decision 3).

ADR-0059 leaves this key untouched where it amends the dedup key: spec
6.3's cancel-them-all semantics is exactly what the pair exists to express.

# `t`

```elixir
@type t() :: %StatifierOban.Timer.CancellationKey{
  scope: String.t(),
  send_id: String.t()
}
```

---

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