Create Verification
Starts a hosted verification session for an account or user, or returns the active session when one already exists. Any fields you include in the request body are used to prefill the session. Send documents (with document_type) to instead verify the person from identity documents included in this request — no hosted session involved. Send share_token to reuse a verification another Sumsub account has already completed for this person, instead of verifying them again. Send verification_id to reuse a verification the signed-in user already completed on Whop. Every mode except verification_id is rejected once the account has an approved verification — unlink it first to start a new one — while verification_id replaces whichever verification of that kind the account currently has.
Query parameters
Business account whose identity you want to verify, prefixed biz_. Provide this or user_id.
The caller's own user ID, prefixed user_, for a personal verification. Provide this or account_id.
Headers
A unique key that makes this request safe to retry. See Idempotent requests.
Request body
Example request
{
"address": {
"city": "Austin",
"country": "US",
"line1": "4180 Burnet Rd",
"line2": "Suite 2",
"postal_code": "78756",
"state": "TX"
},
"business_name": "Shine Time Auto Detailing LLC",
"business_structure": "private_corporation",
"business_tax_identification_number": "12-3456789",
"business_website": "https://shinetime.example",
"country": "US",
"date_of_birth": "2026-01-01",
"document_type": "RESIDENCE_PERMIT",
"documents": {
"drivers_back": "/9j/4GFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh/9k=",
"drivers_front": "/9j/4GFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh/9k=",
"id_card_back": "/9j/4GFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh/9k=",
"id_card_front": "/9j/4GFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh/9k=",
"passport_front": "/9j/4GFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh/9k=",
"residence_permit_back": "/9j/4GFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh/9k=",
"residence_permit_front": "/9j/4GFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh/9k=",
"selfie": "/9j/4GFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh/9k="
},
"first_name": "Marcus",
"kind": "individual",
"last_name": "Webb",
"phone": "+xxxxxxxxxxx",
"share_token": "_act-sbx-jwt-eyJhbGciOiJub25l",
"tax_identification_number": "123456789",
"verification_id": "idpf_xxxxxxxxxxxxxx"
}Response
OK
Example response
{
"address": {
"city": "Austin",
"country": "US",
"line1": "4180 Burnet Rd",
"line2": "Suite 2",
"postal_code": "78756",
"state": "TX"
},
"business_name": "Shine Time Auto Detailing, LLC",
"business_structure": "sole_proprietorship",
"country": "US",
"created_at": "2026-06-01T12:00:00.000Z",
"date_of_birth": "1990-01-01",
"email": "marcus@shinetime.example",
"first_name": "Marcus",
"id": "idpf_xxxxxxxxxxxx",
"kind": "individual",
"last_name": "Webb",
"phone": "+15551234567",
"requested_information": [
{
"errors": [
{
"code": "document_not_readable",
"reason": "The uploaded image was too blurry to read."
}
],
"id": "inrqi_xxxxxxxxxxx",
"label": "Bank Statement or a check for account ending in 4242",
"optional": true,
"options": [
"sole_proprietorship"
],
"requirement": "bank_statement",
"response_type": "yes_no",
"selection_mode": "single",
"supporting_documents": [
{
"content_type": "application/pdf",
"created_at": "2026-01-01T12:00:00.000Z",
"filename": "evidence.pdf",
"id": "file_xxxxxxxxxxxxxx",
"multipart_chunk_size": 5242880,
"multipart_upload_id": "upload-id",
"multipart_upload_urls": [
{
"part_number": 1,
"url": "https://whop-assets-example.s3.amazonaws.com/uploads/2026-01-01/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/application.pdf"
}
],
"object": "file",
"size": 9670,
"upload_headers": {},
"upload_status": "pending",
"upload_url": "https://whop-assets-example.s3.amazonaws.com/uploads/2026-01-01/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/application.pdf",
"url": "https://whop-assets-example.s3.amazonaws.com/uploads/audio/2026-01-01/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"visibility": "private"
}
],
"type": "files"
}
],
"required_documents": [
{
"document": "id_card_front",
"rejection_reason": "Document image was too blurry to read.",
"status": "submitted"
}
],
"session_url": "https://sumsub.com/session/abc",
"status": "action_required",
"updated_at": "2026-06-02T12:00:00.000Z"
}Changes
Changed in 13 of the 74 revisions of this API.21475
- ○
added the new optional
queryrequest parameteruser_idnew-optional-request-parameter
- ○
the
queryrequest parameteraccount_idbecame optionalrequest-parameter-became-optional
- ○
- ○
added the optional property
//to the response with the statusresponse-optional-property-added
- ○
added the optional property
//to the response with the statusresponse-optional-property-added
- ○
added the optional property
//to the response with the statusresponse-optional-property-added
- ○
added the optional property
//to the response with the statusresponse-optional-property-added
- ○
added the optional property
//to the response with the statusresponse-optional-property-added
- ○
added the optional property
//to the response with the statusresponse-optional-property-added
- ○
added the optional property
//to the response with the statusresponse-optional-property-added
- ○
added the optional property
//to the response with the statusresponse-optional-property-added
- ○
added the optional property
//to the response with the statusresponse-optional-property-added
- ○
added the optional property
//to the response with the statusresponse-optional-property-added
- ○
added the optional property
//to the response with the statusresponse-optional-property-added
- ○
added the optional property
//to the response with the statusresponse-optional-property-added
- ○
added the optional property
//to the response with the statusresponse-optional-property-added
- ○
added the optional property
//to the response with the statusresponse-optional-property-added
- ○
added the optional property
//to the response with the statusresponse-optional-property-added
- ○
added the optional property
//to the response with the statusresponse-optional-property-added
- ○
added the optional property
//to the response with the statusresponse-optional-property-added
- ○
added the optional property
//to the response with the statusresponse-optional-property-added
- ○
added the optional property
//to the response with the statusresponse-optional-property-added
- ○
added the optional property
//to the response with the statusresponse-optional-property-added
This revision also has 1 change that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog
- ○
- ○
added the new optional request property
/new-optional-request-property
- ○
added the new optional request property
/new-optional-request-property
This revision also has 2 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog
- ○
- ○
added the new optional request property
/new-optional-request-property
- ○
added the new optional request property
/new-optional-request-property
- ○
added the new optional request property
/new-optional-request-property
- ○
the request property
//became nullablerequest-property-became-nullable
- ○
the request property
//became nullablerequest-property-became-nullable
- ○
the request property
//became nullablerequest-property-became-nullable
- ○
the request property
//became nullablerequest-property-became-nullable
- ○
the request property
//became nullablerequest-property-became-nullable
- ○
the request property
//became nullablerequest-property-became-nullable
- ○
the request property
//became nullablerequest-property-became-nullable
- ○
the request property
//became nullablerequest-property-became-nullable
- ○
the request property
//became nullablerequest-property-became-nullable
- ○
the request property
//became nullablerequest-property-became-nullable
- ○
the request property
//became nullablerequest-property-became-nullable
- ○
the request property
//became nullablerequest-property-became-nullable
- ○
- ○
added the non-success response with the status
response-non-success-status-added
- ○
- ○
added the optional property
to the response with the statusresponse-optional-property-added
- ○
added the optional property
to the response with the statusresponse-optional-property-added
- ○
added the optional property
to the response with the statusresponse-optional-property-added
- ○
added the optional property
to the response with the statusresponse-optional-property-added
- ○
- ●
removed the optional property
//from the response with the statusresponse-optional-property-removed
- ●
removed the optional property
//from the response with the statusresponse-optional-property-removed
- ○
added the optional property
/to the response with the statusresponse-optional-property-added
- ○
added the optional property
/to the response with the statusresponse-optional-property-added
- ○
added the optional property
/to the response with the statusresponse-optional-property-added
- ○
added the optional property
/to the response with the statusresponse-optional-property-added
This revision also has 9 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog
- ●
- ●
removed the optional property
//from the response with the statusresponse-optional-property-removed
- ●
removed the optional property
//from the response with the statusresponse-optional-property-removed
- ●
removed the optional property
//from the response with the statusresponse-optional-property-removed
- ●
removed the optional property
//from the response with the statusresponse-optional-property-removed
- ●
removed the optional property
//from the response with the statusresponse-optional-property-removed
- ●
removed the optional property
//from the response with the statusresponse-optional-property-removed
- ●
removed the optional property
//from the response with the statusresponse-optional-property-removed
- ●
removed the optional property
//from the response with the statusresponse-optional-property-removed
- ○
added the optional property
//to the response with the statusresponse-optional-property-added
- ○
added the optional property
//to the response with the statusresponse-optional-property-added
- ○
added the optional property
//to the response with the statusresponse-optional-property-added
- ○
added the optional property
//to the response with the statusresponse-optional-property-added
- ○
added the optional property
//to the response with the statusresponse-optional-property-added
- ○
added the optional property
//to the response with the statusresponse-optional-property-added
- ○
the response property
//became required for the statusresponse-property-became-required
- ○
the response property
//became required for the statusresponse-property-became-required
- ○
the response property
//became required for the statusresponse-property-became-required
- ○
the response property
//became required for the statusresponse-property-became-required
- ○
the response property
//became required for the statusresponse-property-became-required
- ○
the response property
//became required for the statusresponse-property-became-required
- ○
added the required property
//to the response with the statusresponse-required-property-added
- ○
added the required property
//to the response with the statusresponse-required-property-added
- ●
- ▲
the
////response's property type changed fromstringnulltoarrayfor statusresponse-property-type-changed
- ▲
the
////response's property type changed fromstringnulltoarrayfor statusresponse-property-type-changed
This revision also has 2 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog
- ▲
- ○
added the new optional request property
/new-optional-request-property
- ○
added the new optional request property
/new-optional-request-property
This revision also has 16 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog
- ○
Of the 74 revisions, 1 has no diff computed.