---
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 in `requested_information`. Each entry pairs the item `id` with one answer payload matching its `type`.
      - `address` object — Answer 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`.
      - `documents` object — Answer for an `id_document` item: the same slot keys Create Verification takes, so the key names both the document and the side. Send every slot for the ID you are uploading — `PASSPORT` is `passport_front`; `ID_CARD`, `DRIVERS` and `RESIDENCE_PERMIT` take a front and a back. Each value is a direct upload ID, or a `file_`-prefixed attachment ID to reuse an uploaded document.
        - `drivers_back` string — Back of the driver's license.
        - `drivers_front` string — Front of the driver's license.
        - `id_card_back` string — Back of the ID card.
        - `id_card_front` string — Front of the ID card.
        - `passport_front` string — Photo page of the passport.
        - `residence_permit_back` string — Back of the residence permit.
        - `residence_permit_front` string — Front of the residence permit.
      - `files` string[] — Answer for a `files` item — one document, as a list of its pages, first page first. Each entry is a direct upload ID, or a `file_`-prefixed attachment ID to reuse an uploaded document.
      - `id` string, required — Item ID from `requested_information`.
      - `value` string — Answer for `text`, `date`, `phone`, and `select` items, and the chosen document type for a `file` item that lists `options`.
      - `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 in `requested_information`. Each entry pairs the item `id` with one answer payload matching its `type`.
      - `address` object — Answer 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`.
      - `documents` object — Answer for an `id_document` item: the same slot keys Create Verification takes, so the key names both the document and the side. Send every slot for the ID you are uploading — `PASSPORT` is `passport_front`; `ID_CARD`, `DRIVERS` and `RESIDENCE_PERMIT` take a front and a back. Each value is a direct upload ID, or a `file_`-prefixed attachment ID to reuse an uploaded document.
        - `drivers_back` string — Back of the driver's license.
        - `drivers_front` string — Front of the driver's license.
        - `id_card_back` string — Back of the ID card.
        - `id_card_front` string — Front of the ID card.
        - `passport_front` string — Photo page of the passport.
        - `residence_permit_back` string — Back of the residence permit.
        - `residence_permit_front` string — Front of the residence permit.
      - `files` string[] — Answer for a `files` item — one document, as a list of its pages, first page first. Each entry is a direct upload ID, or a `file_`-prefixed attachment ID to reuse an uploaded document.
      - `id` string, required — Item ID from `requested_information`.
      - `value` string — Answer for `text`, `date`, `phone`, and `select` items, and the chosen document type for a `file` item that lists `options`.
      - `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[] — 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.
    - `errors` object[] — Present after a rejected submission.
      - `code` string — Stable error code.
      - `reason` string — Why it was rejected.
    - `id` string, required — Requested information item ID, prefixed `inrqi_`.
    - `label` string, required — Instruction to show the user. Carries the reviewer's note verbatim when there is one.
    - `optional` boolean — `true` when the item can be skipped.
    - `options` string[] — The values `value` may take on a `select` item. On an `id_document` item these are the ID types accepted, and the chosen one decides which `documents` slots to send. Absent when the item has no choice to make.
    - `requirement` 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`.
    - `type` string, required — What to send as the answer, so you never have to infer it: `files` (a document, as a list of its pages), `id_document` (send `documents` with the slot keys for the ID you are uploading), `text`, `date`, `phone` or `select` (send `value`), or `address` (send `address`).
  - `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

---

[API](https://skmtc.net/whop/apis/whop-api.md) · [All operations](https://skmtc.net/whop/apis/whop-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/whop/whop-api/versions/db0883548bc5/schema)
