---
title: "Get user verification url"
method: POST
path: "/verify/get_user_verification_url"
tags: ["KYC > Quick Start"]
---

# Get user verification url

`POST /verify/get_user_verification_url`

## Request

- Base URL: `https://api-sandbox.aiprise.com/api/v1`
- URL: `https://api-sandbox.aiprise.com/api/v1/verify/get_user_verification_url`
- Auth: API key in header `X-API-KEY`
- TypeScript: <https://skmtc.dev/aiprise/apis/aiprise-apis/docs/verify/get_user_verification_url/post.ts> (a function with typed inputs; its response is checked against the schema)

Endpoint used to get user verification url

## Request body

- UserVerificationUrlRequest
  - `redirect_uri` string, required: Controls how the onboarding widget signals completion. Pass a reserved keyword — `iframe`, `popup`, `popup_close`, `manual_close`, `react_native`, `flutter`, `ios`, or `android` — to have the widget post the `AiPriseVerification:Complete` message to your host app, or pass a URL to redirect the browser on completion (the session id is appended as `verification_session_id` for KYC or `business_onboarding_session_id` for KYB). See [Redirect modes](https://docs.aiprise.com/docs/template-configuration) for the full list of behaviors.
  - `template_id` string, required: Every verification must have a template id associated with it. This is Provided to you by AiPrise.
  - `client_reference_id` string: An id you want to associate with your request.
  - `client_reference_data` object: A JSON you want to associate with your request.
  - `callback_url` string
  - `events_callback_url` string
  - `user_data` PartialUserData
    - `first_name` string: The person's first name
    - `middle_name` string: The person's middle name
    - `last_name` string: The person's last name
    - `date_of_birth` string: The person's date of birth in YYYY-MM-DD format
    - `phone_number` string: The person's phone number. Prefer phone number in E.164 format
    - `email_address` string: The person's email address
    - `ip_address` string: The person's ip address
    - `address` Address
      - `address_street_1` string: Address street 1
      - `address_street_2` string: Address street 2
      - `address_city` string: Address city
      - `address_state` string: Address state or region
      - `address_zip_code` string: Address zip code
      - `address_country` string: 2-letter address country code
  - `additional_info` IndividualAdditionalInfo[]: A list of additional information.
    - `additional_info_type` 'KBA' | 'KENYA_KRA_PIN' | 'BANK_STATEMENT_DOCUMENT' | 'BUSINESS_REGISTRATION_DOCUMENT' | 'OPERATING_LICENSE_DOCUMENT' | 'SOURCE_OF_FUNDS_DOCUMENT' | 'VISA_DOCUMENT' | 'US_AAMVA' | 'AADHAAR_DOCUMENT_FRONT' | 'AADHAAR_DOCUMENT_BACK' | 'USER_SELFIE' | 'GENDER' | 'SEON_SESSION_PAYLOAD' | 'ADDRESS_PROOF_DOCUMENT' | 'NIGERIA_BVN_NUMBER' | 'TAX_IDENTIFICATION_NUMBER' | 'PREVIOUS_VERIFICATION_SESSION_ID' | 'FRAUD_CHECK_DOCUMENT' | 'OPERATION_CARD' | 'TRANSPORTATION_PERMIT' | 'VEHICLE_OWNERSHIP_CARD' | 'TAX_CERTIFICATE' | 'OTHER': The type of additional information being submitted or returned for an individual. Business verification uses BusinessAdditionalInfoType instead.
    - `additional_info_data` union
      - string: The additional data as a string.
      - object: The additional data as an object. For file-based types, may include file_data, file_uuid, and document_input_title.
        - `file_data` string: The file content as base64 or S3 URL.
        - `file_uuid` string: The unique identifier of the file.
        - `document_input_title` string, nullable: An optional unique identifier for the document input, if provided during document check.
      - object[]: Accepted only for ADDRESS_PROOF_DOCUMENT, which may carry more than one file. Each entry declares one document; only `file` and `file_sub_type` are read.
        - `file` string, required: The file content, base64-encoded.
        - `file_sub_type` 'NATIONAL_ID_FRONT' | 'NATIONAL_ID_BACK' | 'UTILITY_SERVICE_BILLS' | 'FINANCIAL_STATEMENTS' | 'GOVERNMENT_CORRESPONDENCE' | 'RESIDENTIAL_DOCUMENT' | 'EMPLOYMENT_EDUCATION_DOCUMENT' | 'LEGAL_DOCUMENT' | 'ADDRESS_DOCUMENT_OTHERS': The document type the user declared when uploading an address proof. When it is set to a specific type and the classified poa_document_category disagrees, a DOCUMENT_TYPE_MISMATCH warning is raised. ADDRESS_DOCUMENT_OTHERS, RESIDENTIAL_DOCUMENT, LEGAL_DOCUMENT and EMPLOYMENT_EDUCATION_DOCUMENT accept any category, so they do not trigger that check.
      - object[]: Accepted only for KBA. Each entry is one answered knowledge-based-authentication question.
        - `type` string, required: The question identifier.
        - `answer` string, required: The submitted answer.
  - `theme_options` ThemeOptions
    - `background` 'light' | 'dark', nullable
    - `color_page` string, nullable
    - `color_brand` string, nullable
    - `color_brand_overlay` string, nullable
    - `font_name` string, nullable
    - `font_weights` string, nullable
    - `button_border_radius` string, nullable
    - `button_padding` string, nullable
    - `button_font_size` string, nullable
    - `button_font_weight` string, nullable
    - `input_border_radius` string, nullable
    - `input_padding` string, nullable
    - `input_font_size` string, nullable
    - `input_font_weight` string, nullable
    - `input_label_font_size` string, nullable
    - `input_label_font_weight` string, nullable
    - `layout_border_radius` string, nullable
    - `modal_border_radius` string, nullable
    - `image_border_radius` string, nullable
  - `ui_options` UIOptions
    - `common` object
      - `default_language` string
    - `id_verification_module` object
      - `allowed_country_code` string: A 2-letter ISO country code that will be pre-selected in the onboarding UI.
      - `allowed_document_type` union: A list of document types that will be pre-selected in the onboarding UI. Type string is deprecated, please use array of string(s). Check the country-wise supported documents list here: https://docs.aiprise.com/docs/supported-documents
        - string[]
        - string
  - `verification_options` VerificationOptions
    - `aml_config` object
      - `exact_match` number
      - `fuzziness_score` number
      - `monitoring` boolean
      - `categories_filter` string[]
      - `search_profile` string, nullable

## Response `200`

Successful operation

- UserVerificationUrlResponse
  - `message` string
  - `verification_url` string
  - `verification_session_id` string: The unique identifier for the verification session
  - `session_expiry_time` string: The expiration time for the verification session

## Other responses

- `400`: Bad Request

## Changes

- **2026-11-03** `74fc7a5199fb`: 3 breaking, 27 info
  - removed the enum value `BANK_ACCOUNT_DETAILS` of the request property `additional_info/items/additional_info_type` (media type: application/json)
  - removed the enum value `BANK_ACCOUNT_DETAILS` of the request property `additional_info/items/additional_info_type` (media type: application/xml)
  - removed the enum value `BANK_ACCOUNT_DETAILS` of the request property `additional_info/items/additional_info_type` (media type: application/x-www-form-urlencoded)
  - added the new `AADHAAR_DOCUMENT_BACK` enum value to the request property `additional_info/items/additional_info_type` (media type: application/json)
  - …26 more

[Operation history](https://skmtc.dev/aiprise/apis/aiprise-apis/changes/verify/get_user_verification_url/post.md)

---

[API](https://skmtc.dev/aiprise/apis/aiprise-apis.md) - [All operations](https://skmtc.dev/aiprise/apis/aiprise-apis/llms.txt) - [OpenAPI document](https://skmtc.dev/aiprise/apis/aiprise-apis/revisions/74fc7a5199fb?raw)
