# The VerificationSession object

### The VerificationSession object

```json
{
  "id": "vs_1NuNAILkdIwHu7ixh7OtGMLw",
  "object": "identity.verification_session",
  "client_secret": "...",
  "created": 1695680526,
  "last_error": null,
  "last_verification_report": null,
  "livemode": false,
  "metadata": {},
  "options": {
    "document": {
      "require_matching_selfie": true
    }
  },
  "redaction": null,
  "status": "requires_input",
  "type": "document",
  "url": "..."
}
```

## Attributes

- `id` (string)
  Unique identifier for the object.

- `object` (string)
  String representing the object’s type. Objects of the same type share the same value.

- `client_reference_id` (string, nullable)
  A string to reference this user. This can be a customer ID, a session ID, or similar, and can be used to reconcile this verification with your internal systems.

- `client_secret` (string, nullable)
  The short-lived client secret used by Stripe.js to [show a verification modal](https://docs.stripe.com/js/identity/modal) inside your app. This client secret expires after 24 hours and can only be used once. Don’t store it, log it, embed it in a URL, or expose it to anyone other than the user. Make sure that you have TLS enabled on any page that includes the client secret. Refer to our docs on [passing the client secret to the frontend](https://docs.stripe.com/identity/verification-sessions.md#client-secret) to learn more.

- `created` (timestamp)
  Time at which the object was created. Measured in seconds since the Unix epoch.

- [`last_error`](https://docs.stripe.com/api/identity/verification_sessions/object.md?query=last_error) (object, nullable)
  If present, this property tells you the last error encountered when processing the verification.

- `last_verification_report` (string, nullable, expandable (can be expanded into an object with the `expand` request parameter))
  ID of the most recent VerificationReport. [Learn more about accessing detailed verification results.](https://docs.stripe.com/identity/verification-sessions.md#results)

- `livemode` (boolean)
  If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`.

- `metadata` (map)
  Set of [key-value pairs](https://docs.stripe.com/api/metadata.md) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.

- [`options`](https://docs.stripe.com/api/identity/verification_sessions/object.md?query=options) (object, nullable)
  A set of options for the session’s verification checks.

- [`provided_details`](https://docs.stripe.com/api/identity/verification_sessions/object.md?query=provided_details) (object, nullable, expandable (can be expanded into an object with the `expand` request parameter))
  Details provided about the user being verified. These details may be shown to the user.

- [`redaction`](https://docs.stripe.com/api/identity/verification_sessions/object.md?query=redaction) (object, nullable)
  Redaction status of this VerificationSession. If the VerificationSession is not redacted, this field will be null.

- `related_customer` (string, nullable)
  Customer ID

- `related_customer_account` (string, nullable)
  The ID of the Account representing a customer.

- [`related_person`](https://docs.stripe.com/api/identity/verification_sessions/object.md?query=related_person) (object, nullable)
  Tokens referencing the related Person resource and it’s associated account.

- `status` (enum)
  Status of this VerificationSession. [Learn more about the lifecycle of sessions](https://docs.stripe.com/identity/how-sessions-work.md).
Possible enum values:
  - `canceled`
    The VerificationSession has been invalidated for future submission attempts.

  - `processing`
    The session has been submitted and is being processed. Most [verification checks](https://docs.stripe.com/identity/verification-checks.md) are processed in less than 1 minute.

  - `requires_input`
    Requires user input before processing can continue.

  - `verified`
    Processing of all the verification checks are complete and successfully verified.

- `type` (enum)
  The type of [verification check](https://docs.stripe.com/identity/verification-checks.md) to be performed.
Possible enum values:
  - `document`
    [Document check](https://docs.stripe.com/identity/verification-checks.md?type=document).

  - `id_number`
    [ID number check](https://docs.stripe.com/identity/verification-checks.md?type=id-number).

  - `verification_flow`
    Configuration provided by verification flow

- `url` (string, nullable)
  The short-lived URL that you use to redirect a user to Stripe to submit their identity information. This URL expires after 48 hours and can only be used once. Don’t store it, log it, send it in emails or expose it to anyone other than the user. Refer to our docs on [verifying identity documents](https://docs.stripe.com/identity/verify-identity-documents.md?platform=web&type=redirect) to learn how to redirect users to Stripe.

- `verification_flow` (string, nullable)
  The configuration token of a verification flow from the dashboard.

- [`verified_outputs`](https://docs.stripe.com/api/identity/verification_sessions/object.md?query=verified_outputs) (object, nullable, expandable (can be expanded into an object with the `expand` request parameter))
  The user’s verified data.
