# `TypeSafeSDK.Question.Score`
[🔗](https://github.com/nshkrdotcom/typesafe_sdk/blob/v0.4.1/lib/typesafe_sdk/question/score.ex#L1)

Strict Score on 2..10 ordered levels.

A level is a description or `{label, description}`. The pair is sent as a
structured object and its label is restored on the semantic answer. Unknown
JSON properties may be supplied through `:extra` without overriding core fields.

# `t`

```elixir
@type t() :: %TypeSafeSDK.Question.Score{
  extra: map(),
  instructions: term(),
  levels: list()
}
```

# `new`

```elixir
@spec new(term(), list(), keyword()) :: {:ok, t()} | {:error, TypeSafeSDK.Error.t()}
```

# `new!`

```elixir
@spec new!(term(), list(), keyword()) :: t()
```

---

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