# `TypeSafeSDK.Response`
[🔗](https://github.com/nshkrdotcom/typesafe_sdk/blob/v0.4.1/lib/typesafe_sdk/response.ex#L1)

Answer accessors and bounded metadata for TypeSafe responses.

# `choices`

# `fetch`

# `fetch!`

# `metadata`

```elixir
@spec metadata(TypeSafeSDK.SystemOneResponse.t() | TypeSafeSDK.ListModelsResponse.t()) ::
  map()
```

Return stable structural metadata without raw request/response content.

# `nouls`

# `raw_http_response!`

# `request_id!`

# `scores`

# `values`

```elixir
@spec values(TypeSafeSDK.SystemOneResponse.t()) :: %{
  required(atom() | String.t()) =&gt; term()
}
```

Project enriched answers to their primary semantic values while preserving caller keys.

Unknown future answer types are omitted because they live in `unknown_answers`, not
the validated `answers` map. This is a convenience projection, not a second response
model; use the answer structs when confidence/distributions matter.

---

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