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

# Create an identity verification

`POST /v2/identity-verifications`

## Request

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

Creates an identity verification.

When this request is successful, you'll get a 201 response with the identity verification resource.

## Request body

- IdentityVerificationInputPost
  - `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 successfully

- IdentityVerificationOutputPost
  - `id` string, required: Identity verification unique identifier.
  - `declared_data` DeclaredData, required
    - `name` string, required
    - `birth_date` string, date
  - `_links` IdentityVerificationLinks, required
    - `self` HalLink, required
      - `href` string, uri, required
    - `applicant` 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

## Other responses

- `400`: Bad request.
- `401`: Unauthorized
- `422`: Unprocessable entity
- `500`: Internal server error.
- `503`: Service unavailable

---

[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)
