Skip to main content
A Verification represents a legal identity for a person or business. Accounts and users complete verification when Whop needs to confirm who they are before enabling payouts or compliance-sensitive workflows. Use the Verifications API to start or resume a hosted verification session, check review status, and submit requested details or documents. If requested_information contains items, submit answers with Update Verification.

Endpoints

Attributes

string
Verification profile ID, prefixed idpf_.
object | null
Address on the verification profile. null when no address is set.

Properties

string | null
string | null
Two-letter ISO 3166-1 country code, for example US, DE, or GB.
string
First line of the street address.
string | null
Second line of the street address.
string | null
Postal or ZIP code.
string | null
State, province, or region code, for example CA.
string | null
Legal business name.
string | null
Legal entity structure of the business, such as private_corporation or sole_proprietorship. Supported values vary by country of incorporation — see Business structures.
string | null
Two-letter ISO 3166-1 country code, for example US, DE, or GB.
string
When the verification profile was created, as an ISO 8601 timestamp.
string | null
Formatted as YYYY-MM-DD.
string | null
string
Available options: individual, business
string | null
object[]
What Whop still needs before review can continue — one requirement per entry. Answer with Update Verification; nothing from the response is echoed back. Keys that don’t apply are omitted.

Properties

string
required
Requested information item ID, prefixed inrqi_.
object[]
Present after a rejected submission.

Properties

string
Stable error code.
string
Why it was rejected.
string
required
Instruction to show the user. Carries the reviewer’s note verbatim when there is one.
boolean
true when the item accepts several files in one answer. Answer with files.
boolean
true when the item can be skipped.
string[]
The values value may take. On a select item these are the allowed answers; on an identity document they are the ID types accepted, sent as value alongside the document. The chosen type decides which sides to send. Absent when the item has no choice to make.
string
required
What is needed: a document name such as bank_statement, or a field key such as ssn or identity_document. Handle unrecognized values by type.
string
required
How to answer: file (send file, or front and back for a two-sided document), text, date, phone, or select (send value), or address (send address).
object[]
Documents for a document-upload verification and their progress. Present only on verifications created by sending documents. pending_upload documents were not accepted yet — send the full set again with another Create Verification call.

Properties

string
Document slot key, such as id_card_front, id_card_back, or selfie.
string | null
Why the previous submission was rejected, when the provider requested new documents or declined the verification.
string
pending_upload until the document has been relayed for review; submitted afterwards.Available options: pending_upload, submitted
string | null
Hosted verification session URL for the user to complete identity checks. Expires 7 days after creation.
string
Current verification state. not_started before any session exists; pending while a session needs the user’s input; processing while the provider reviews documents; action_required when requested_information needs answers; manual_review during a manual compliance review — nothing to submit, usually done within 3 business days; approved on success; rejected on failure. Call Create Verification again to start a new session.Available options: not_started, pending, processing, manual_review, approved, rejected, action_required
string
When the verification profile was last updated, as an ISO 8601 timestamp.
Verification