---
title: "requestEvaluation(context:)"
framework: trustinsights
role: symbol
role_heading: Instance Method
path: "trustinsights/insightevaluator/requestevaluation(context:)"
---

# requestEvaluation(context:)

Requests the evaluation of insights.

## Declaration

```swift
final nonisolated(nonsending) func requestEvaluation<each I>(context: InsightEvaluator.InsightContext<repeat each I>) async throws -> InsightEvaluation<repeat (each I).InsightType> where repeat each I : InsightEvaluator.InsightRequestProtocol
```

## Parameters

- `context`: An doc://com.apple.trustinsights/documentation/TrustInsights/InsightEvaluator/InsightContext object that describes details evaluation request.

## Return Value

Return Value The InsightEvaluation that contains the results of the evaluation.

## Discussion

Discussion note: An InsightEvaluator.EvaluationError if the framework fails to produce an evaluation. Discussion note: The evaluation process includes processing both on device and on Apple’s servers and can take several seconds to perform an evaluation. To use the Trust Insights framework in your app, add the com.apple.developer.trustinsights.base entitlement to your apps capabilities in Xcode. For more information, see  Trust Insights.

## See Also

### Requesting an evaluation

- [InsightEvaluator](trustinsights/insightevaluator.md)
- [InsightEvaluation](trustinsights/insightevaluation.md)
- [TrustInsight](trustinsights/trustinsight.md)
