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
typeif not passingverification_flow. Possible enum valuesdocumentDocument check.id_numberID 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
documentDocument check.id_numberID 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": "..."}
