# Face Session Flow

Add the following code at the start-up of your application to initialise the SDK:

```javascript
import { 
  FaceSessionBuilder, 
  UqudoIdSDK
} from 'uqudosdk-react-native';

...
//On App startup
constructor(){
    super()
    new UqudoIdSDK().init();
  }
...
```

Use the below method for setting the locale of the application:

```javascript
...
new UqudoIdSDK().setLocale(<your locale eg. en, ar etc.>);
...
```

Below you can find an example on how to initiate the face session process:

```javascript
var token = "<please put your token here>";
try {
   var faceSessionConfiguration = new FaceSessionBuilder()
	.setToken(token)
	.setSessionId("<your session id>")
      .setAppearanceMode(AppearanceMode.SYSTEM)
	.build();
   const sdk = new UqudoIdSDK();
   const result = await sdk.faceSession(faceSessionConfiguration);
   console.log(result);
} catch (error) {
}
```

In order to evaluate all the possible options please refer to section [Face Session Flow](/docs/kyc/uqudo-sdk/integration/android/face-session-flow.md). The JS interface is the porting of the Kotlin implementation. You can find the JS implementation in uqudoBuilder/uqudo.js under the uqudoid module path.

If **successful**, the response is a JSON Web Signature (JWS). Please refer to section "[SDK result](/docs/kyc/uqudo-sdk/sdk-result.md)" for further details.

In case of a **failure**, the callback returns the following object:

<table><thead><tr><th width="119">Property</th><th width="112">Type</th><th width="98">Optional</th><th width="98">Default</th><th>Description</th></tr></thead><tbody><tr><td>code</td><td>String</td><td>No</td><td>None</td><td>See <a href="/pages/N3LvvSBJs3ZtSPx6Czsf#handling-the-result">Handling the Result</a></td></tr><tr><td>message</td><td>String</td><td>Yes</td><td>null</td><td>Description of the error if any</td></tr><tr><td>task</td><td>String</td><td>Yes</td><td>FACE</td><td>The value will be always FACE as the only step involved in account recovery is facial recognition</td></tr></tbody></table>


---

# 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://docs.uqudo.com/docs/kyc/uqudo-sdk/integration/react-native/face-session-flow.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.
