---
title: "Update Verification"
method: PATCH
path: "/verifications/{verification_id}"
tags: ["Verifications"]
---

# Update Verification

`PATCH /verifications/{verification_id}`

Updates editable profile details or submits answers for items returned in `requested_information`. Once a verification is `approved` its profile details are locked and can no longer be edited.

## Path parameters

- `verification_id` string, required

## Request body

- union
  - object — Fields that can be updated on an individual (KYC) verification. At least one field is required.
    - `business_tax_identification_number` string — The business ID number of the company, as appropriate for the company's country. Examples are an Employer Identification Number (EIN) in the US, a Business Number in Canada, or a Company Number in the UK.
    - `country` string — Two-letter ISO 3166-1 country code, for example `US`, `DE`, or `GB`.
    - `date_of_birth` string — Formatted as `YYYY-MM-DD`.
    - `first_name` string
    - `last_name` string
    - `personal_address` object — Personal address for the individual.
      - `city` string
      - `country` string — Two-letter ISO 3166-1 country code, for example `US`, `DE`, or `GB`.
      - `line1` string — First line of the street address.
      - `line2` string — Second line of the street address.
      - `postal_code` string — Postal or ZIP code.
      - `state` string — State, province, or region code, for example `CA`.
    - `requested_information` object[] — Answers to items returned in `requested_information`. Each entry must include the requested item `id` and exactly one answer payload matching the item's `type`: `value` for `text`, `date`, or `phone`; `address` for `address`; `files` for `files`.
      - `address` object — Address payload for `address` items.
        - `city` string
        - `country` string — Two-letter ISO 3166-1 country code, for example `US`, `DE`, or `GB`.
        - `line1` string — First line of the street address.
        - `line2` string — Second line of the street address.
        - `postal_code` string — Postal or ZIP code.
        - `state` string — State, province, or region code, for example `CA`.
      - `files` object[] — Uploaded file payloads for `files` items. Each file should include a `direct_upload_id` from the upload flow, plus the requested file `category` and `kind` when provided.
        - `attachment_id` string — Existing attachment ID, when reusing an already attached document.
        - `category` string — Requested file category copied from `requested_files.category`.
        - `direct_upload_id` string — Direct upload ID for the uploaded document.
        - `kind` string — Requested document kind copied from `requested_files.kind`.
      - `id` string, required — Requested information item ID, prefixed `inrqi_`.
      - `value` string — Answer value for `text`, `date`, or `phone` items.
      - `value_type` 'raw' | 'vault_token' — Whether `value` is raw input or a vault token.
    - `tax_identification_number` string — The government-issued ID number of the person being verified — the individual for a KYC verification, or the business representative for a KYB verification — as appropriate for their country. Examples are a Social Security Number (SSN) in the US, or a Social Insurance Number in Canada.
  - object — Fields that can be updated on a business entity (KYB) verification. At least one field is required.
    - `business_address` object — Business address.
      - `city` string
      - `country` string — Two-letter ISO 3166-1 country code, for example `US`, `DE`, or `GB`.
      - `line1` string — First line of the street address.
      - `line2` string — Second line of the street address.
      - `postal_code` string — Postal or ZIP code.
      - `state` string — State, province, or region code, for example `CA`.
    - `business_name` string — Legal business name.
    - `business_structure` string — Legal entity structure of the business, such as `private_corporation` or `sole_proprietorship`. Supported values vary by country of incorporation — see [Business structures](/developer/verification/business-structures).
    - `business_tax_identification_number` string — The business ID number of the company, as appropriate for the company's country. Examples are an Employer Identification Number (EIN) in the US, a Business Number in Canada, or a Company Number in the UK.
    - `country` string — Two-letter ISO 3166-1 country code, for example `US`, `DE`, or `GB`.
    - `requested_information` object[] — Answers to items returned in `requested_information`. Each entry must include the requested item `id` and exactly one answer payload matching the item's `type`: `value` for `text`, `date`, or `phone`; `address` for `address`; `files` for `files`.
      - `address` object — Address payload for `address` items.
        - `city` string
        - `country` string — Two-letter ISO 3166-1 country code, for example `US`, `DE`, or `GB`.
        - `line1` string — First line of the street address.
        - `line2` string — Second line of the street address.
        - `postal_code` string — Postal or ZIP code.
        - `state` string — State, province, or region code, for example `CA`.
      - `files` object[] — Uploaded file payloads for `files` items. Each file should include a `direct_upload_id` from the upload flow, plus the requested file `category` and `kind` when provided.
        - `attachment_id` string — Existing attachment ID, when reusing an already attached document.
        - `category` string — Requested file category copied from `requested_files.category`.
        - `direct_upload_id` string — Direct upload ID for the uploaded document.
        - `kind` string — Requested document kind copied from `requested_files.kind`.
      - `id` string, required — Requested information item ID, prefixed `inrqi_`.
      - `value` string — Answer value for `text`, `date`, or `phone` items.
      - `value_type` 'raw' | 'vault_token' — Whether `value` is raw input or a vault token.
    - `tax_identification_number` string — The government-issued ID number of the person being verified — the individual for a KYC verification, or the business representative for a KYB verification — as appropriate for their country. Examples are a Social Security Number (SSN) in the US, or a Social Insurance Number in Canada.

## Response `200`

verification updated

- object
  - `address` object, nullable — Address on the verification profile. `null` when no address is set.
    - `city` string, nullable
    - `country` string, nullable — Two-letter ISO 3166-1 country code, for example `US`, `DE`, or `GB`.
    - `line1` string — First line of the street address.
    - `line2` string, nullable — Second line of the street address.
    - `postal_code` string, nullable — Postal or ZIP code.
    - `state` string, nullable — State, province, or region code, for example `CA`.
  - `business_name` string, nullable — Legal business name.
  - `business_structure` string, nullable — Legal entity structure of the business, such as `private_corporation` or `sole_proprietorship`. Supported values vary by country of incorporation — see [Business structures](/developer/verification/business-structures).
  - `country` string, nullable — Two-letter ISO 3166-1 country code, for example `US`, `DE`, or `GB`.
  - `created_at` string — When the verification profile was created, as an ISO 8601 timestamp.
  - `date_of_birth` string, nullable — Formatted as `YYYY-MM-DD`.
  - `first_name` string, nullable
  - `id` string — Verification profile ID, prefixed `idpf_`.
  - `kind` 'individual' | 'business'
  - `last_name` string, nullable
  - `requested_information` object[] — Fields or documents Whop still needs before review can continue. Submit answers with the Update Verification endpoint.
    - `description` string, nullable — Additional instructions for this requested item, or `null`.
    - `error_message` string, nullable — Reason a previously submitted value was rejected. `null` if no submitted value has been rejected.
    - `field` string — Stable field key, such as `ssn` or `business_description`.
    - `id` string — Requested information item ID, prefixed `inrqi_`. Include this ID when submitting an answer.
    - `label` string — Human-readable label for the field, such as `Social Security Number`.
    - `options` string[] — Allowed values for a `select` field (e.g. account_type, business_structure) — the submitted value must be one of these; empty for other types.
    - `requested_files` object[] — Document upload slots for this item. Present when `type` is `files`; upload one file for each required slot and include the slot's `category` when submitting the answer.
      - `category` string, nullable — File category to include with the uploaded file so Whop can route the document correctly. `null` for a generic upload.
      - `is_optional` boolean — Whether this slot can be left empty.
      - `kind` string, nullable — Specific document type requested, such as `Bank Statement`. `null` for standard identity and business document uploads.
      - `label` string — Label for this upload slot, such as `Front of ID Document`.
      - `multiple` boolean — Whether this slot accepts more than one file.
    - `type` string, nullable — Input type expected for this item: `text`, `date`, `phone`, `address`, `files`, or `select`.
  - `required_documents` 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.
    - `document` string — Document slot key, such as `id_card_front`, `id_card_back`, or `selfie`.
    - `rejection_reason` string, nullable — Why the previous submission was rejected, when the provider requested new documents or declined the verification.
    - `status` 'pending_upload' | 'submitted' — `pending_upload` until the document has been relayed for review; `submitted` afterwards.
  - `session_url` string, nullable — Hosted verification session URL for the user to complete identity checks. Expires 7 days after creation.
  - `status` 'not_started' | 'pending' | 'processing' | 'manual_review' | 'approved' | 'rejected' | 'action_required' — 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.
  - `updated_at` string — When the verification profile was last updated, as an ISO 8601 timestamp.

## Other responses

- `400` — Invalid Parameters
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Resource not found

## Changes

- **2026-07-31** `099fdc3be422` — 1 warning
  - added the new `manual_review` enum value to the `status` response property for the response status `200`
- **2026-07-14** `3a06a605784b` — 1 warning, 4 info
  - added the new `processing` enum value to the `status` response property for the response status `200`
  - added the new optional request property `oneOf[subschema #1: UpdateIndividualVerification]/business_tax_identification_number`
  - added the new optional request property `oneOf[subschema #1: UpdateIndividualVerification]/tax_identification_number`
  - added the new optional request property `oneOf[subschema #2: UpdateBusinessVerification]/business_tax_identification_number`
  - …1 more

[Change history](https://skmtc.dev/whop/apis/whop-api/changes/verifications/:verification_id/patch.md)

---

[API](https://skmtc.dev/whop/apis/whop-api.md) · [All operations](https://skmtc.dev/whop/apis/whop-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/whop/whop-api/revisions/ca841fbd6786/schema)
