# `BoundedAuthorityProtocol.V1.ExpectedGrant`
[🔗](https://github.com/baselabs/bounded_authority_protocol/blob/v1.0.0/lib/bounded_authority_protocol/v1/expected_grant.ex#L1)

Explicit expected context for standalone raw-grant verification.

## Fields

* `issuer` - the expected `iss`, compared byte-for-byte.
* `audience` - one audience your service answers to; the grant's `aud` must contain it.
* `evaluation_time` - the caller's current time, integer Unix time in seconds; the library reads
  no clock.
* `clock_skew` - the tolerated clock skew in seconds, `0` to `clock_skew` (60).
* `bounds` - a `BoundedAuthorityProtocol.V1.Bounds` struct or a map of tightening overrides; `%{}`
  means the profile maxima (see `BoundedAuthorityProtocol.V1.Bounds.coerce/1`).

# `t`

```elixir
@type t() :: %BoundedAuthorityProtocol.V1.ExpectedGrant{
  audience: binary(),
  bounds: BoundedAuthorityProtocol.V1.Bounds.t() | map(),
  clock_skew: non_neg_integer(),
  evaluation_time: integer(),
  issuer: binary()
}
```

Expected context for the façade's `verify_grant/3` (for example `BoundedAuthorityProtocol.V1.verify_grant/3`).

---

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