IdentityVerificationReport
object type
The calling account's owner identity-verification standing.
Fields
| Field | Type | Notes |
|---|---|---|
required | Boolean Boolean! | True ⟺ the calling account holds ≥1 OWNER seat (the structural owners arrays on its reachable org groups/organizations — locked) — the requirement applies to it. Verification standing is meaningful regardless (once per account, forever). |
status | String | The standing — requires_input | processing | verified | canceled (Stripe's own session vocabulary; requires_input WITHOUT error words = awaiting you, WITH them = a failed check awaiting retry). Null: verification was never started. |
sessionRef | String | The current Stripe VerificationSession reference (vs_…) — a pointer, never identity data (Stripe custodies the documents; this platform stores STATUS ONLY). |
requestedAt | String | The first start's instant (UTC ISO). |
updatedAt | String | The last truth stamp's instant (UTC ISO) — webhook results land within seconds; a stale non-terminal standing re-reads Stripe on this very query (self-healing). |
verifiedAt | String | Present exactly when verified — the once-per-account-forever fact's instant. |
lastErrorCode | String | Stripe's last_error.code verbatim (e.g. document_expired) — present only after a failed check, always with its reason. |
lastErrorReason | String | Stripe's last_error.reason verbatim — the honest failure sentence the faces speak. |
aged | Boolean Boolean! | True exactly when verified AND the verification is past the reported-staleness horizon (2 years: identity documents expire on their own cycles the platform cannot see, so the verification's own age is the honest proxy). INFORMATIONAL ONLY: verified is once per account FOREVER — nothing re-asks, nothing gates. |