# `Attesto.PresentationRequest`
[🔗](https://github.com/XukuLLC/attesto/blob/v2.1.0/lib/attesto/presentation_request.ex#L1)

OID4VP Authorization Request (`draft-ietf-oauth-openid4vp` §5).

Build a string-keyed, JSON-ready request for a wallet and its DCQL query.
This module is pure and conn-free; sending the request is the host's
concern.

# `build`

```elixir
@spec build(keyword()) :: %{required(String.t()) =&gt; term()}
```

Build an OID4VP Authorization Request.

The request requires a client identifier, nonce, response URI, and a DCQL
query. Optional values are included only when supplied with a non-`nil`
value.

# `dcql_query`

```elixir
@spec dcql_query(keyword() | map()) :: %{required(String.t()) =&gt; term()}
```

Build a DCQL query object.

# `to_query_string`

```elixir
@spec to_query_string(map()) :: String.t()
```

Encode an Authorization Request as an `application/x-www-form-urlencoded`
query string.

---

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