# Flutter SDK Methods and Properties

### clearActionVideos <a href="#clearactionvideos" id="clearactionvideos"></a>

Deletes all action videos from file system (iOS 8.4.0 and higher, Android).

**Returns**

Future\<Void>.

### getSDKVersion <a href="#getsdkversion" id="getsdkversion"></a>

Returns the SDK version.

**Returns**

Future\<String>.

### initSDK <a href="#initsdk" id="initsdk"></a>

Initializes SDK with license sources.

| **Parameter** | **Type**      | **Description**    |
| ------------- | ------------- | ------------------ |
| licenses      | List\<String> | A list of licences |

**Returns**

| **Case** | **Text**                                  |
| -------- | ----------------------------------------- |
| True     | Initialization has completed successfully |
| False    | Initialization error                      |

### **setApiConnectionWithCredentials** <a href="#setapiconnectionwithcredentials" id="setapiconnectionwithcredentials"></a>

Authentication via credentials.

| **Parameter**      | **Type**          | **Description**          |
| ------------------ | ----------------- | ------------------------ |
| email              | String            | User email               |
| password           | String            | User password            |
| host               | String            | Server URL               |
| sslPins (optional) | [sslPin](#sslpin) | Whitelisted certificates |

**Returns**

| **Case** | **Text**                                                                                                     |
| -------- | ------------------------------------------------------------------------------------------------------------ |
| Success  | Nothing (void)                                                                                               |
| Failed   | <p>PlatformException:</p><ul><li>code = AUTHENTICATION\_FAILED</li><li>message = exception details</li></ul> |

### **setApiConnectionWithToken** <a href="#setapiconnectionwithtoken" id="setapiconnectionwithtoken"></a>

Authentication via access token.

| **Parameter**      | **Type**          | **Description**          |
| ------------------ | ----------------- | ------------------------ |
| token              | String            | Access token             |
| host               | String            | Server URL               |
| sslPins (optional) | [sslPin](#sslpin) | Whitelisted certificates |

**Returns**

| **Case** | **Text**                                                                                                     |
| -------- | ------------------------------------------------------------------------------------------------------------ |
| Success  | Nothing (void)                                                                                               |
| Failed   | <p>PlatformException:</p><ul><li>code = AUTHENTICATION\_FAILED</li><li>message = exception details</li></ul> |

### **setEventConnectionWithCredentials** <a href="#seteventconnectionwithcredentials" id="seteventconnectionwithcredentials"></a>

Connection to the telemetry server via credentials.

| **Parameter**      | **Type**          | **Description**          |
| ------------------ | ----------------- | ------------------------ |
| email              | String            | User email               |
| password           | String            | User password            |
| host               | String            | Server URL               |
| sslPins (optional) | [sslPin](#sslpin) | Whitelisted certificates |

**Returns**

| **Case** | **Text**                                                                                                     |
| -------- | ------------------------------------------------------------------------------------------------------------ |
| Success  | Nothing (void)                                                                                               |
| Failed   | <p>PlatformException:</p><ul><li>code = AUTHENTICATION\_FAILED</li><li>message = exception details</li></ul> |

### **setEventConnectionWithToken** <a href="#seteventconnectionwithtoken" id="seteventconnectionwithtoken"></a>

Connection to the telemetry server via access token.

| **Parameter**      | **Type**          | **Description**          |
| ------------------ | ----------------- | ------------------------ |
| token              | String            | Access token             |
| host               | String            | Server URL               |
| sslPins (optional) | [sslPin](#sslpin) | Whitelisted certificates |

**Returns**

| **Case** | **Text**                                                                                                     |
| -------- | ------------------------------------------------------------------------------------------------------------ |
| Success  | Nothing (void)                                                                                               |
| Failed   | <p>PlatformException:</p><ul><li>code = AUTHENTICATION\_FAILED</li><li>message = exception details</li></ul> |

### isLoggedIn <a href="#isloggedin" id="isloggedin"></a>

Checks whether an access token exists.

**Returns**

| **Case**             | **Returns** |
| -------------------- | ----------- |
| Token exists         | True        |
| Token does not exist | False       |

### logout <a href="#logout" id="logout"></a>

Deletes the saved access token.

**Returns**

Nothing (void).

### supportedLanguages <a href="#supportedlanguages" id="supportedlanguages"></a>

Returns the list of SDK supported languages.

**Returns**

List<[Locale](#enum-locale)>.

### startLiveness <a href="#executeliveness" id="executeliveness"></a>

Starts the Liveness video capturing process.

| **Parameter** | **Type**                                             | **Description**                             |
| ------------- | ---------------------------------------------------- | ------------------------------------------- |
| actions       | List<[VerificationAction](#enum-verificationaction)> | Actions to execute                          |
| mainCamera    | Boolean                                              | Use main (`True`) or front (`False`) camera |

### setSelfieLength

Sets the length of the **Selfie** gesture (in milliseconds).

| **Parameter** | **Type** | **Description**                                                                                                 |
| ------------- | -------- | --------------------------------------------------------------------------------------------------------------- |
| selfieLength  | Int      | The length of the **Selfie** gesture (in milliseconds). Should be within 500-5000 ms, the default length is 700 |

**Returns**

Error if any.

### Analyze <a href="#analyze" id="analyze"></a>

Launches the analyses.&#x20;

| **Parameter**        | **Type**                    | **Description**                                                       |
| -------------------- | --------------------------- | --------------------------------------------------------------------- |
| analysis             | List<[Analysis](#analysis)> | The list of Analysis structures                                       |
| folder ID (optional) | String                      | Folder ID, if you want to perform an anaoysis for a particular folder |
| uploadMedia          | List<[Media](#media)>       | The list of the captures videos                                       |
| params               | Map\<String, Any>           | Additional parameters                                                 |

**Returns**

List<[RequestResult](#requestresult)>.

### setLocalization (Android) / setLocalizationValue (iOS) <a href="#setlocalization" id="setlocalization"></a>

Sets the SDK localization.

| **Parameter** | **Type**               | **Description**  |
| ------------- | ---------------------- | ---------------- |
| locale        | [Locale](#enum-locale) | The SDK language |

### attemptSettings <a href="#attemptsettings" id="attemptsettings"></a>

The number of attempts before SDK returns error.

| **Parameter** | **Type** | **Description**                                                                |
| ------------- | -------- | ------------------------------------------------------------------------------ |
| singleCount   | int      | Attempts on a single action/gesture                                            |
| commonCount   | int      | Total number of attempts on all actions/gestures if you use a sequence of them |

### setUICustomization <a href="#setuicustomization" id="setuicustomization"></a>

Sets the UI customization values for OzLivenessSDK. The values are described in the **Customization structures** section. Structures can be found in the lib\customization.dart file.

#### setFaceAlignmentTimeout <a href="#setfacealignmenttimeout" id="setfacealignmenttimeout"></a>

Sets the timeout for the face alignment for actions.

| **Parameter** | **Type** | **Description**         |
| ------------- | -------- | ----------------------- |
| timeout       | int      | Timeout in milliseconds |

### **Fonts and Other Customized Resources** <a href="#fonts-and-other-customized-resources" id="fonts-and-other-customized-resources"></a>

#### **For iOS** <a href="#for-ios" id="for-ios"></a>

Add fonts and drawable resources to the **application/ios** project.

#### **For Android** <a href="#for-android" id="for-android"></a>

Fonts and images should be placed into related folders:

`ozforensics_flutter_plugin\android\src\main\res\drawable ozforensics_flutter_plugin\android\src\main\res\font`

## **Customization structures** <a href="#customization-structures" id="customization-structures"></a>

These are defined in the customization.dart file.&#x20;

### UICustomization <a href="#uicustomization" id="uicustomization"></a>

Contains the information about customization parameters.

#### ToolbarCustomization <a href="#toolbarcustomization" id="toolbarcustomization"></a>

Toolbar customization parameters.

| **Parameter**    | **Type** | **Description**                        |
| ---------------- | -------- | -------------------------------------- |
| closeButtonIcon  | String   | Close button icon received from plugin |
| closeButtonColor | String   | Color #XXXXXX                          |
| titleText        | String   | Header text                            |
| titleFont        | String   | Text font                              |
| titleSize        | int      | Font size                              |
| titleFontStyle   | String   | Font style                             |
| titleColor       | String   | Color #XXXXXX                          |
| titleAlpha       | int      | Header text opacity                    |
| isTitleCentered  | bool     | Sets the text centered                 |
| backgroundColor  | String   | Header background color #XXXXXX        |
| backgroundAlpha  | int      | Header background opacity              |

#### CenterHintCustomization <a href="#centerhintcustomization" id="centerhintcustomization"></a>

Center hint customization parameters.

| **Parameter**    | **Type** | **Description**        |
| ---------------- | -------- | ---------------------- |
| textFont         | String   | Text font              |
| textFontStyle    | String   | Font style             |
| textColor        | String   | Color #XXXXXX          |
| textSize         | int      | Font size              |
| verticalPosition | int      | Y position             |
| textAlpha        | int      | Text opacity           |
| centerBackground | bool     | Sets the text centered |

#### HintAnimation <a href="#hintanimation" id="hintanimation"></a>

Hint animation customization parameters.

| **Parameter**       | **Type** | **Description**                    |
| ------------------- | -------- | ---------------------------------- |
| hideAnimation       | bool     | Hides the hint animation           |
| animationIconSize   | int      | Animation icon size in px (40-160) |
| hintGradientColor   | String   | Color #XXXXXX                      |
| hintGradientOpacity | int      | Gradient color                     |

#### FaceFrameCustomization <a href="#faceframecustomization" id="faceframecustomization"></a>

Frame around face customization parameters.

| **Parameter**             | **Type** | **Description**                  |
| ------------------------- | -------- | -------------------------------- |
| geometryType              | String   | Frame shape received from plugin |
| geometryTypeRadius        | int      | Corner radius for rectangle      |
| strokeWidth               | int      | Frame stroke width               |
| strokeFaceNotAlignedColor | String   | Color #XXXXXX                    |
| strokeFaceAlignedColor    | String   | Color #XXXXXX                    |
| strokeAlpha               | int      | Stroke opacity                   |
| strokePadding             | int      | Stroke padding                   |

#### VersionLabelCustomization <a href="#versionlabelcustomization" id="versionlabelcustomization"></a>

SDK version customization parameters.

| **Parameter** | **Type** | **Description** |
| ------------- | -------- | --------------- |
| textFont      | String   | Text font       |
| textFontStyle | String   | Font style      |
| textColor     | String   | Color #XXXXXX   |
| textSize      | int      | Font size       |
| textAlpha     | int      | Text opacity    |

#### BackgroundCustomization <a href="#backgroundcustomization" id="backgroundcustomization"></a>

Background customization parameters.

| **Parameter**   | **Type** | **Description**    |
| --------------- | -------- | ------------------ |
| backgroundColor | String   | Color #XXXXXX      |
| backgroundAlpha | int      | Background opacity |

## **Flutter structures** <a href="#flutter-structures" id="flutter-structures"></a>

Defined in the models.dart file.

#### enum Locale <a href="#enum-locale" id="enum-locale"></a>

Stores the language information.

| **Case** | **Description**        |
| -------- | ---------------------- |
| en       | English                |
| hy       | Armenian               |
| kk       | Kazakh                 |
| ky       | Kyrgyz                 |
| tr       | Turkish                |
| es       | Spanish                |
| pt\_br   | Portuguese (Brazilian) |

#### enum MediaType <a href="#enum-mediatype" id="enum-mediatype"></a>

The type of media captured.

| **Case**      | **Description**                |
| ------------- | ------------------------------ |
| movement      | A media with an action         |
| documentBack  | The back side of the document  |
| documentFront | The front side of the document |

#### enum FileType <a href="#enum-filetype" id="enum-filetype"></a>

The type of media captured.

| **Case**      | **Description**       |
| ------------- | --------------------- |
| documentPhoto | A photo of a document |
| video         | A video               |
| shotSet       | A frame archive       |

#### enum MediaTag <a href="#enum-mediatag" id="enum-mediatag"></a>

Contains an action from the captured video.

<mark style="background-color:red;">The</mark> <mark style="background-color:red;"></mark><mark style="background-color:red;">**One Shot**</mark> <mark style="background-color:red;"></mark><mark style="background-color:red;">gesture is being discontinued. Support will end on December 31, 2026. Please plan your migration.</mark>

| **Case**           | **Description**                                 |
| ------------------ | ----------------------------------------------- |
| blank              | A video with no gesture                         |
| photoSelfie        | A selfie photo                                  |
| videoSelfieOneShot | A video with the best shot taken                |
| videoSelfieScan    | A video with the scanning gesture               |
| videoSelfieEyes    | A video with the blink gesture                  |
| videoSelfieSmile   | A video with the smile gesture                  |
| videoSelfieHigh    | A video with the lifting head up gesture        |
| videoSelfieDown    | A video with the tilting head downwards gesture |
| videoSelfieRight   | A video with the turning head right gesture     |
| videoSelfieLeft    | A video with the turning head left gesture      |
| photoIdPortrait    | A photo from a document                         |
| photoIdBack        | A photo of the back side of the document        |
| photoIdFront       | A photo of the front side of the document       |

#### Media <a href="#media" id="media"></a>

Stores information about media.

| **Parameter**      | **Type**                                       | **Description**                                                   | **Platform** |
| ------------------ | ---------------------------------------------- | ----------------------------------------------------------------- | ------------ |
| fileType           | [FileType](#enum-filetype)                     | The type of the file                                              | Android      |
| movement           | [VerificationAction](#enum-verificationaction) | An action on a media                                              | iOS          |
| mediatype          | String                                         | A type of media                                                   | iOS          |
| videoPath          | String                                         | A path to a video                                                 |              |
| bestShotPath       | String                                         | path of the best shot in PNG for video or image path for liveness |              |
| preferredMediaPath | String                                         | URL of the API media container                                    |              |
| photoPath          | String                                         | A path to a photo                                                 |              |
| archivePath        | String                                         | A path to an archive                                              |              |
| tag                | [MediaTag](#enum-mediatag)                     | A tag for media                                                   | Android      |

#### RequestResult <a href="#requestresult" id="requestresult"></a>

Stores information about the analysis result.&#x20;

| **Parameter**   | **Type**                  | **Description**                                                                               | **Platform** |
| --------------- | ------------------------- | --------------------------------------------------------------------------------------------- | ------------ |
| folderId        | String                    | The folder identifier                                                                         |              |
| type            | [Type](#enum-type)        | The analysis type                                                                             |              |
| errorCode       | int                       | The error code                                                                                | Android only |
| errorMessage    | String                    | The error message                                                                             |              |
| mode            | [Mode](#enum-mode)        | The mode of the analysis                                                                      |              |
| confidenceScore | Double                    | The resulting score                                                                           |              |
| resolution      | [Resolution](#resolution) | <p>The completed analysis' result</p><p> </p>                                                 |              |
| status          | Boolean                   | <p>The analysis state:</p><p><code>true</code>- success;</p><p><code>false</code>- failed</p> |              |

#### Analysis <a href="#analysis" id="analysis"></a>

Stores data about a single analysis.

| **Parameter**         | **Type**                                             | **Description**                                                                                                                            |
| --------------------- | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| type                  | [Type](#enum-type)                                   | The type of the analysis                                                                                                                   |
| mode                  | [Mode](#enum-mode)                                   | The mode of the analysis                                                                                                                   |
| mediaList             | List<[Media](#media)>                                | Media to analyze                                                                                                                           |
| params                | Map\<String, String>                                 | Additional analysis parameters                                                                                                             |
| sizeReductionStrategy | [SizeReductionStrategy](#enum-sizereductionstrategy) | Defines what type of media is being sent to the server in case of the hybrid analysis once the on-device analysis is finished successfully |

## **Structures** <a href="#structures" id="structures"></a>

### enum Type <a href="#enum-type" id="enum-type"></a>

Analysis type.

| **Case** | **Description**                                                                                                            |
| -------- | -------------------------------------------------------------------------------------------------------------------------- |
| biometry | The algorithm that allows comparing several media and check if the people on them are the same person or not               |
| quality  | The algorithm that aims to check whether a person in a video is a real human acting in good faith, not a fake of any kind. |

### enum Mode <a href="#enum-mode" id="enum-mode"></a>

Analysis mode.

| **Case**    | **Description**                                                                                                                                                      |
| ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| onDevice    | The on-device analysis with no server needed                                                                                                                         |
| serverBased | The server-based analysis                                                                                                                                            |
| hybrid      | The hybrid analysis for Liveness: if the score received from an on-device analysis is too high, the system initiates a server-based analysis as an additional check. |

### enum VerificationAction <a href="#enum-verificationaction" id="enum-verificationaction"></a>

Contains the action from the captured video.

<mark style="background-color:red;">On January 1, 2027, the One Shot gesture will become unavailable. Please plan your</mark> [<mark style="background-color:red;">migration</mark>](/oz-knowledge/guides/developer-guide/migration-guides/migration-from-one-shot-gesture.md)<mark style="background-color:red;">.</mark>

| **Case**  | **Description**                    |
| --------- | ---------------------------------- |
| oneShot   | The best shot from the video taken |
| blank     | A selfie with face alignment check |
| scan      | Scan                               |
| headRight | Head turned right                  |
| headLeft  | Head turned left                   |
| headDown  | Head tilted downwards              |
| headUp    | Head lifted up                     |
| eyeBlink  | Blink                              |
| smile     | Smile                              |

### Resolution <a href="#resolution" id="resolution"></a>

The general status for all analyses applied to the folder created.

| **Case**         | **Description**                                                                     |
| ---------------- | ----------------------------------------------------------------------------------- |
| failed           | One or more analyses failed due to some error and couldn't get finished             |
| declined         | The check failed (e.g., faces don't match or some spoofing attack detected)         |
| success          | Everything went fine, the check succeeded (e.g., faces match or liveness confirmed) |
| operatorRequired | The result should be additionally checked by a human operator                       |

### enum SizeReductionStrategy <a href="#enum-sizereductionstrategy" id="enum-sizereductionstrategy"></a>

Defines what type of media is being sent to the server in case of the hybrid analysis once the on-device analysis is finished successfully. By default, the system uploads the compressed video.

| uploadOriginal   | The original video                                    |
| ---------------- | ----------------------------------------------------- |
| uploadCompressed | The compressed video                                  |
| uploadBestShot   | The best shot taken from the video                    |
| uploadNothing    | Nothing is sent (note that no folder will be created) |

### sslPin

Contains information about the [whitelisted certificates](/oz-knowledge/guides/developer-guide/sdk/oz-mobile-sdk/security-recommendations.md).

|               |                          |                                        |
| ------------- | ------------------------ | -------------------------------------- |
| **Parameter** | **Type**                 | **Description**                        |
| hash          | String                   | SHA256 key hash in base64              |
| expired\_at   | UNIX timestamp, UTC time | The date of certificate expiration, ms |

## Cu**stomization resources** <a href="#customization-resources" id="customization-resources"></a>

This is a Map to define the platform-specific resources on the plugin level.

### closeButtonIcon <a href="#closebuttonicon" id="closebuttonicon"></a>

This key is a Map for the close button icon.

| **Key** | **Value**                                     |
| ------- | --------------------------------------------- |
| Close   | Android drawable resource / iOS Pods resource |
| Arrow   | Android drawable resource / iOS Pods resource |

### titleFont <a href="#titlefont" id="titlefont"></a>

This key is a Map containing the data on the uploaded fonts.

| **Key**                       | **Value**                                                                                |
| ----------------------------- | ---------------------------------------------------------------------------------------- |
| Flutter application font name | Android font resource / iOS Pods resource, used to retrieve the font on the plugin level |

### titleStyle <a href="#titlestyle" id="titlestyle"></a>

This key is a Map containing the data on the uploaded font styles.

| **Key**                             | **Value**                                                             |
| ----------------------------------- | --------------------------------------------------------------------- |
| Flutter application font style name | Name of the style retrieved for the font creation on the plugin level |

### faceFrameGeometry <a href="#faceframegeometry" id="faceframegeometry"></a>

This key is a Map containing the data on grame shape.

| **Key**   | **Value**         |
| --------- | ----------------- |
| Oval      | Oval shape        |
| Rectangle | Rectangular shape |

## OzCapsula Data Container

The methods below apply to the new feature – [OzCapsula data container](/oz-knowledge/general/readme/proprietary-format-ozcapsula-data-container.md) that has been implemented in 9.1.0.

### createMediaCaptureScreen

Captures media file with all information you need and packages it into a data container.

| **Parameter** | **Type**       | **Description**                                                 |
| ------------- | -------------- | --------------------------------------------------------------- |
| request       | CaptureRequest | Detects a request for video capture                             |
| sessionToken  | String         | Stores additional information to protect against replay attacks |

**Returns**

Void. The captured container is delivered via the `livenessResult` stream: `Stream<DataContainer>`.

### getContainerBytes

Retrieves the raw bytes of a data container. Use this when sending media to the backend yourself.

| **Parameter** | **Type**      | **Description**                                                                                          |
| ------------- | ------------- | -------------------------------------------------------------------------------------------------------- |
| dataContainer | DataContainer | The captured data container, result of the [createMediaCaptureScreen](#createmediacapturescreen) request |

**Returns**

Future\<Uint8List?>.

### analyze (data container flow)

This signature replaces `uploadMedia` in the analyze method when you use the data container flow.

| **Parameter** | **Type**                    | **Description**                                                                                          |
| ------------- | --------------------------- | -------------------------------------------------------------------------------------------------------- |
| analysis      | List<[Analysis](#analysis)> | The list of Analysis structures                                                                          |
| dataContainer | DataContainer               | The captured data container, result of the [createMediaCaptureScreen](#createmediacapturescreen) request |

**Returns**

List\<RequestResult>.

### CaptureRequest

Detects a request for video capture.

| **Parameter**                  | **Type**                                  | **Description**                                                                                 |
| ------------------------------ | ----------------------------------------- | ----------------------------------------------------------------------------------------------- |
| analysisProfileList            | List<[AnalysisProfile](#analysisprofile)> | A list of objects that contain information on media and analyses that should be applied to them |
| folderMeta (optional)          | Map\<String, dynamic>                     | Additional folder metadata                                                                      |
| additionalMediaList (optional) | List<[MediaRequest](#mediarequest)>       | Media files that you need to upload to server, but it's not necessary for analyses              |
| cameraPosition (optional)      | CameraPosition                            | `front` (default) – front camera; `back` – rear camera                                          |

### AnalysisProfile

Contains information on media files and analyses that should be applied to them.

| **Parameter**     | **Type**                            | **Description**                |
| ----------------- | ----------------------------------- | ------------------------------ |
| type              | Type                                | Analysis type                  |
| mediaList         | List<[MediaRequest](#mediarequest)> | A list of media to be analyzed |
| params (optional) | Map\<String, dynamic>               | Additional analysis parameters |

### MediaRequest

Stores information about a media file.

{% hint style="warning" %}
Please note: you should add `actionMedia` OR `userMedia`, these parameters are mutually exclusive.
{% endhint %}

| **Parameter**        | **Type**                    | **Description**                                               |
| -------------------- | --------------------------- | ------------------------------------------------------------- |
| id (optional)        | String (UUID v4)            | Media ID. Auto-generated if not provided                      |
| actionMedia          | [ActionMedia](#actionmedia) | An action that user should perform in a video                 |
| userMedia            | [UserMedia](#usermedia)     | An external media file, e.g., a reference or a document photo |
| mediaMeta (optional) | Map\<String, dynamic>       | Media metadata                                                |

#### ActionMedia

A media file with an action the user should perform.

| **Parameter**        | **Type**                                       | **Description**                               |
| -------------------- | ---------------------------------------------- | --------------------------------------------- |
| action               | [VerificationAction](#enum-verificationaction) | An action that user should perform in a video |
| id (optional)        | String (UUID v4)                               | Media ID. Auto-generated if not provided      |
| mediaMeta (optional) | Map\<String, dynamic>                          | Media metadata                                |

#### UserMedia

An external media file, e.g., a reference or a document photo.

| **Parameter**        | **Type**              | **Description**         |
| -------------------- | --------------------- | ----------------------- |
| media                | [Media](#media)       | The external media file |
| id (optional)        | String                | Media ID                |
| mediaMeta (optional) | Map\<String, dynamic> | Media metadata          |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.ozforensics.com/oz-knowledge/guides/developer-guide/sdk/oz-mobile-sdk/flutter/flutter-sdk-methods-and-properties.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
