---
title: "Create and start an identity verification"
method: POST
path: "/v2/create-and-start-idv"
tags: ["Identity verifications"]
---

# Create and start an identity verification

`POST /v2/create-and-start-idv`

## Request

- Base URL: `https://api.ubble.ai`
- URL: `https://api.ubble.ai/v2/create-and-start-idv`
- Auth: none declared
- TypeScript: <https://skmtc.dev/ubble/apis/checkout-com-identity-verification/docs/v2/create-and-start-idv/post.ts> (a function with typed inputs; its response is checked against the schema)

This endpoint allows you to create and identity verification. You should get a `201` response and the identity verification resource containing the `_links/verification_url`.

## Request body

- IdentityVerificationInputHelper
  - `user_journey_id` string: User journey unique identifier.
  - `applicant_id` string: Applicant unique identifier.
  - `declared_data` DeclaredData
    - `name` string, required
    - `birth_date` string, date
  - `webhook_url` string, uri

## Response `201`

Identity verification created

- IdentityVerificationOutputHelper
  - `id` string, required: Identity verification unique identifier.
  - `declared_data` DeclaredData, required
    - `name` string, required
    - `birth_date` string, date
  - `redirect_url` string, uri, required
  - `phone_number` PhoneNumber
    - `country_code` string, international phone prefix, required
    - `number` string, domestic phone number, required
  - `_links` IdentityVerificationHelperLinks, required
    - `self` HalLink, required
      - `href` string, uri, required
    - `applicant` HalLink, required
      - `href` string, uri, required
    - `verification_url` HalLink, required
      - `href` string, uri, required
  - `created_on` string, date-time, required: UTC Date time when the resource was created
  - `modified_on` string, date-time, required: UTC Date time when the resource was modified
  - `status` 'created' | 'pending' | 'capture_in_progress' | 'checks_in_progress' | 'approved' | 'declined' | 'retry_required' | 'refused' | 'inconclusive', required: Status of the verification.
  - `response_codes` ResponseCodes[], required
    - `code` integer, required: The numeric code of the response code.
    - `summary` string, required: A descriptive code of the response code.
  - `verified_identity` VerificationIdentity: IdentitySerializer for our main Identity model
    - `first_names` string, nullable
    - `full_name` string, nullable
    - `last_name` string, nullable
    - `last_name_at_birth` string, nullable
    - `birth_date` string, date, nullable
    - `birth_place` string, nullable
    - `nationality` string
    - `gender` union
      - 'M' | 'F' | 'NA': * `M` - M * `F` - F * `NA` - NA
      - ''
      - string
  - `documents` Document[]
    - `personal_number` string
    - `tax_identification_number` string
    - `document_type` 'Driving licence' | 'ID' | 'Other' | 'Passport' | 'Residence Permit' | 'Travel Document' | 'Visa': Type of document.
    - `document_issuing_country` string, ISO 3166-1 alpha-2
    - `permit_obtaining_date` string, date
    - `permit_expiry_date` string, date
    - `permit_type_detailed` string
    - `permit_type_remarks` string
    - `document_number` string
    - `document_expiry_date` string, date
    - `document_issue_date` string, date
    - `document_issue_place` string
    - `document_mrz` string
    - `front_image_signed_url` string, uri: Pre-signed URL
    - `back_image_signed_url` string, uri: Pre-signed URL
    - `signature_image_signed_url` string, uri: Pre-signed URL
    - `full_name` string
    - `first_names` string
    - `last_name` string
    - `last_name_at_birth` string
    - `birth_date` string, date
    - `birth_place` string
    - `nationality` string, ISO 3166-1 alpha-2
    - `gender` 'M' | 'F': Person gender.
    - `address` string
  - `face` VerificationFace
    - `image_signed_url` string, nullable
  - `verification_policy_version` string: returned ONLY for certified verifications
  - `certifications` object[], required: The certifications associated with the identity verification.
    - `type` 'diatf': The certification type.
    - `data` object: Certification data. The shape depends on `type`.
      - `gpg45_profile` 'M1A' | 'M1C' | 'H1A'
      - `level_of_confidence` 'medium' | 'high'
      - `right_to_work` string, nullable: Home Office right-to-work statement, issued when the document supports it (UK passport, Irish passport or Irish passport card) at a medium or high level of confidence; `null` otherwise.
  - `risk_labels` RiskLabel[], required: Risk assessment labels
  - `user_journey_id` string, required: User journey unique identifier.
  - `applicant_id` string, required: Applicant unique identifier.
  - `webhook_url` string, uri, required

---

[API](https://skmtc.dev/ubble/apis/checkout-com-identity-verification.md) - [All operations](https://skmtc.dev/ubble/apis/checkout-com-identity-verification/llms.txt) - [OpenAPI document](https://skmtc.dev/ubble/apis/checkout-com-identity-verification/revisions/739e9da12584?raw)
