---
title: "Create Identity Verification (API only flow)"
method: POST
path: "/v2/accounts/{account_id}/identity_verification_api"
tags: ["Verification"]
---

# Create Identity Verification (API only flow)

`POST /v2/accounts/{account_id}/identity_verification_api`

## Request

- Base URL: `https://api.paymongo.com`
- URL: `https://api.paymongo.com/v2/accounts/{account_id}/identity_verification_api`
- Auth: HTTP basic

Submit document images and a selfie photo directly to perform identity verification only with API (without the need to open hosted verification website). The caller uploads files via multipart/form-data.

Only the account itself or its parent account can create a verification session.

**Primary vs Secondary IDs:** Document types are classified as either primary or secondary. Primary IDs require only 1 document. Secondary IDs require 2 different secondary documents.

## Path parameters

- `account_id` string, required

## Request body `multipart/form-data`

- object
  - `document_type` 'alien_registration_card_ph' | 'barangay_clearance_ph' | 'driving_license_ph' | 'firearm_license_ph' | 'national_id_ph' | 'nbi_clearance_ph' | 'other_passport' | 'pag_ibig_ph' | 'passport' | 'philhealth_ph' | 'police_clearance_ph' | 'postal_id_ph' | 'prc_id_ph' | 'sssid_ph' | 'tin_id' | 'umid_ph' | 'voter_id_ph', required: Type of government-issued ID document. When a secondary ID is selected, a second different secondary document must be provided via `secondary_document_type`.
  - `document_front` string, binary, required: Front image of the ID document
  - `selfie` string, binary, required: Selfie photo for liveness check and face match
  - `document_back` string, binary: Back image of the ID document. Required for the following document types: `alien_registration_card_ph`, `driving_license_ph`, `national_id_ph`, `other_passport` (signature page). Optional for all other document types.
  - `secondary_document_type` 'alien_registration_card_ph' | 'barangay_clearance_ph' | 'nbi_clearance_ph' | 'pag_ibig_ph' | 'philhealth_ph' | 'police_clearance_ph' | 'postal_id_ph' | 'tin_id' | 'voter_id_ph': Type of the second secondary ID document. Required when `document_type` is a secondary ID. Must be a secondary document type and must differ from `document_type`.
  - `secondary_document_front` string, binary: Front image of the second secondary ID document. Required when `secondary_document_type` is present.
  - `secondary_document_back` string, binary: Back image of the second secondary ID document. Required when `secondary_document_type` is `alien_registration_card_ph`.

## Response `200`

Verification session created successfully

- VerificationAPISessionResponse
  - `data` VerificationAPISession: Verification session created via the API-only flow (no hosted URL)
    - `id` string: Unique identifier for the verification session
    - `account_id` string: Account ID associated with this verification
    - `status` 'pending' | 'in_progress' | 'completed': Verification session status
    - `result` 'pending' | 'passed' | 'failed' | 'invalid': Verification result
    - `created_at` integer: Unix timestamp when the verification session was created
    - `expired_at` integer: Unix timestamp when the verification session will expire (72 hours after creation)

## Other responses

- `400`: Bad request - invalid verification status
- `401`: Unauthorized
- `403`: Forbidden - not authorized to access this account
- `404`: Account not found
- `502`: Verification or Files service unavailable

---

[API](https://skmtc.dev/paymongo/apis/accounts-api.md) - [All operations](https://skmtc.dev/paymongo/apis/accounts-api/llms.txt) - [OpenAPI document](https://skmtc.dev/paymongo/apis/accounts-api/revisions/68d0b0b08710?raw)
