> ## Documentation Index
> Fetch the complete documentation index at: https://docs.verifyyou.com/llms.txt
> Use this file to discover all available pages before exploring further.

# VyResult

> The result shape, the same as the browser SDK's.

<CodeGroup>
  ```kotlin Android theme={null}
  data class VyResult(
      val token: String?,   // vyt; send to your server
      val verified: Boolean, // vyc == "1"; UI hint only
      val vyc: String?,      // "1" | "0" | null
  )
  ```

  ```swift iOS theme={null}
  struct VyResult {
      let token: String?    // vyt; send to your server
      let verified: Bool    // vyc == "1"; UI hint only
      let vyc: String?      // "1" | "0" | null
  }
  ```

  ```ts React Native theme={null}
  interface VyResult {
    token: string | null;  // vyt; send to your server
    verified: boolean;     // vyc === "1"; UI hint only
    vyc: string | null;    // "1" | "0" | null
  }
  ```
</CodeGroup>

The same shape as the [browser SDK's `VyResult`](/v3/dev/spec/browser-sdk/vyresult). `token` is the only field your server needs. `verified` and `vyc` are what the device saw. Do not gate on them. `token` is present on every result `onComplete` delivers. On Android and iOS, [`onClose`](/v3/dev/spec/mobile-sdk/vycheck#options) takes no arguments at all, so no `VyResult` with a null `token` ever reaches it. On React Native, the returned promise resolves on dismissal with `{ token: null, verified: false, vyc: null }`, not `onClose`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.