Stripe | Financial Infrastructure to Grow Your Revenue

Stripe | Financial Infrastructure to Grow Your Revenue

4466 articles

Create a VerificationSession


Create a VerificationSession

POST / v1 / identity / verification_sessions

Creates a VerificationSession object.

After the VerificationSession is created, display a verification modal using the session client_secret or send your users to the session’s url.

If your API key is in test mode, verification checks won’t actually process, though everything else will occur as if in live mode.

Related guide: Verify your users’ identity documents

Parameters

  • client _ reference _ id string 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.
  • metadata map Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.
  • options object A set of options for the session’s verification checks.
  • provided _ details object Details provided about the user being verified. These details might be shown to the user.
  • related _ customer string Customer ID
  • related _ customer _ account string The ID of the Account representing a customer.
  • related _ person object Tokens referencing a Person resource and its associated account.
  • return _ url string The URL that the user will be redirected to upon completing the verification flow.
  • type enum The type of verification check to be performed. You must provide a type if not passing verification_flow. Possible enum values document Document check. id_number ID number check.
  • verification _ flow string The ID of a verification flow from the Dashboard. See /identity/verification-flows.

Returns

Returns the created VerificationSession object

Response

{ "id": "vs_1NuN4zLkdIwHu7ixleE6HvkI", "object": "identity.verification_session", "client_secret": "...", "created": 1695680197, "last_error": null, "last_verification_report": null, "livemode": false, "metadata": {}, "options": {}, "redaction": null, "status": "requires_input", "type": "document", "url": "..."}

Update a VerificationSession

POST / v1 / identity / verification_sessions /:id

Updates a VerificationSession object.

When the session status is requires_input, you can use this method to update the verification check and options.

Parameters

  • metadata map Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.
  • options object A set of options for the session’s verification checks.
  • provided _ details object Details provided about the user being verified. These details may be shown to the user.
  • type enum The type of verification check to be performed. Possible enum values document Document check. id_number ID number check.

Returns

Returns the updated VerificationSession object

Response

{ "id": "vs_1NuN9WLkdIwHu7ix597AR9uz", "object": "identity.verification_session", "client_secret": "...", "created": 1695680478, "last_error": null, "last_verification_report": null, "livemode": false, "metadata": {}, "options": {}, "redaction": null, "status": "requires_input", "type": "id_number", "url": "..."}

Retrieve a VerificationSession

GET / v1 / identity / verification_sessions /:id

Retrieves the details of a VerificationSession that was previously created.

When the session status is requires_input, you can use this method to retrieve a valid client_secret or url to allow re-submission.

Parameters

No parameters.

Returns

Returns a VerificationSession object

Response

{ "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": "..."}
Last verified 2026-09-24

Is this helpful?