# `Twilio.Flex.V1.Insight.QualityManagement.AssessmentsService`
[🔗](https://github.com/jeffhuen/twilio_elixir/blob/main/lib/twilio/flex/v1/insight/quality_management/assessments_service.ex#L2)

Service for Assessments API operations.

Operations: `list`, `create`, `update`

# `create`

```elixir
@spec create(Twilio.Client.t(), map(), keyword()) ::
  {:ok, Twilio.Resources.Flex.V1.Insight.QualityManagement.Assessments.t()}
  | {:ok, map(), map()}
  | :ok
  | {:error, Twilio.Error.t()}
```

# credo:disable-for-next-line Credo.Check.Readability.MaxLineLength
Add assessments against conversation to dynamo db. Used in assessments screen by user. Users can select the questionnaire and pick up answers for each and every question.

Operation: `CreateInsightsAssessments` | Tags: FlexV1Assessments

## Required Parameters

| Parameter | Type | Description |
|-----------|------|-------------|
| `AgentId` | string | The id of the Agent |
| `AnswerId` | string | The id of the answer selected by user |
| `AnswerText` | string | The answer text selected by user |
| `CategoryName` | string | The name of the category |
| `CategorySid` | string | The SID of the category  |
| `MetricId` | string | The question SID selected for assessment |
| `MetricName` | string | The question name of the assessment |
| `Offset` | number | The offset of the conversation. |
| `QuestionnaireSid` | string | Questionnaire SID of the associated question |
| `SegmentId` | string | Segment Id of the conversation |

# `list`

```elixir
@spec list(Twilio.Client.t(), map(), keyword()) ::
  {:ok, Twilio.Page.t()}
  | {:ok, map(), map()}
  | :ok
  | {:error, Twilio.Error.t()}
```

Get assessments done for a conversation by logged in user

Operation: `ListInsightsAssessments` | Tags: FlexV1Assessments

## Query Parameters

| Parameter | Type | Description |
|-----------|------|-------------|
| `SegmentId` | string | The id of the segment. |

# `stream`

```elixir
@spec stream(Twilio.Client.t(), map(), keyword()) :: Enumerable.t()
```

Stream: Get assessments done for a conversation by logged in user (lazy auto-pagination).

# `update`

```elixir
@spec update(Twilio.Client.t(), String.t(), map(), keyword()) ::
  {:ok, Twilio.Resources.Flex.V1.Insight.QualityManagement.Assessments.t()}
  | {:ok, map(), map()}
  | :ok
  | {:error, Twilio.Error.t()}
```

Update a specific Assessment assessed earlier

Operation: `UpdateInsightsAssessments` | Tags: FlexV1Assessments

## Required Parameters

| Parameter | Type | Description |
|-----------|------|-------------|
| `AnswerId` | string | The id of the answer selected by user |
| `AnswerText` | string | The answer text selected by user |
| `Offset` | number | The offset of the conversation |

---

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