---
title: "Add front side of Second ID"
method: POST
path: "/omni/add/front-second-id/v2"
tags: ["Id capture"]
---

# Add front side of Second ID

`POST /omni/add/front-second-id/v2`

This endpoint is used for storing front side of second id for further processing

## Query parameters

- `onlyFront` boolean

## Headers

- `api-version` string, required

## Request body

- IdCaptureV2Request
  - `base64Image` string — Image in base64 format. One of base64Image or imageUrl is required
  - `imageUrl` string — URL of the image. One of base64Image or imageUrl is required

## Response `200`

OK

- AddIdResponse
  - `correctSharpness` boolean — It's true if the sharpness of the ID meets the requirements.
  - `correctGlare` boolean — It's true if the glare of the ID meets the requirements.
  - `horizontalResolution` integer — Value is based on the resolution of the cropped photo. Low value means after performing the crop we have a bad quality of image. We recommend to retry capture if value is below 155.
  - `shadowConfidence` number, float — Value 0 means it is no shadow on the image and image quality is good, while value 1 represents bad quality of image with a lot of shadow. We recommend to retry capture if value is 1.
  - `classification` boolean — If true, server classified image as a front side of an id. If false, server failed to classify image as valid front side of an id or passport and other parameters can be ignored.
  - `readability` boolean — If true, server can properly read ID. If false server failed to read some key places of the ID.
  - `typeOfId` 'Unknown' | 'Passport' | 'Visa' | 'DriversLicense' | 'IdentificationCard' | 'Permit' | 'Currency' | 'ResidenceDocument' | 'TravelDocument' | 'BirthCertificate' | 'VehicleRegistration' | 'Other' | 'WeaponLicense' | 'TribalIdentification' | 'VoterIdentification' | 'Military' | 'TaxIdentification' | 'FederalID' | 'MedicalCard'
  - `issueYear` integer — Issue year of the ID.
  - `issueName` string — Description of the ID. Could contain country code, state, type of ID, subtype of ID.
  - `curpCheck` boolean — Only for Mexican IDs. Flag stating if curp was properly read.
  - `sessionStatus` 'Alive' | 'Closed' | 'Deleted' — Session Status
  - `countryCode` string — Valid ISO alpha-2 or alpha-3 code of the ID issuing country.
  - `state` string — Issuing state of the ID.
  - `failReason` 'UNKNOWN_DOCUMENT_TYPE' | 'WRONG_DOCUMENT_SIDE' | 'WRONG_ONE_SIDED_DOCUMENT' | 'UNFOLDED_DOCUMENT_PAGE_MISMATCH' | 'WRONG_UNFOLDED_DOCUMENT' | 'DOCUMENT_NOT_READABLE' | 'UNABLE_TO_ALIGN_DOCUMENT' | 'ID_TYPE_UNACCEPTABLE' | 'UNEXPECTED_ERROR_OCCURRED' | 'DIGITAL_ID_REQUESTED_BUT_OTHER_PROVIDED' — Classification fail reason
  - `skipBackIdCapture` boolean — Flag that signals if back id capture should be skipped or not.
  - `forceFrontIdCapture` boolean — Flag that signals if front id capture must be executed after back.
  - `showMandatoryConsent` boolean — Render mandatory consent page based on this parameter value.
  - `regulationType` string — Regulation type for the mandatory consent (only if showMandatoryConsent set to true).
  - `skipGlareFront` boolean — Flag that signals if front side glare should be ignored.
  - `skipGlareBack` boolean — Flag that signals if back side glare should be ignored.
  - `documentIsOnTheEdge` boolean — Flag that signals if document is on the edge on the full frame image.
  - `acceptedDocuments` string[] — List of accepted documents for that particular country in case of ID_TYPE_UNACCEPTABLE failReason.
  - `imageRedacted` boolean — Flag that signals if image was redacted as part of the ID capture.
  - `idFaceExtractionSkipped` boolean — True when biometric face extraction from the front ID was skipped because the client passed extractIdFace=false. While this flag is true, face-match flows that require an ID-side template cannot run; the flag is cleared on a subsequent add/front-id call where extractIdFace is true (or omitted).
  - `captureAttemptsLimit` CaptureAttemptsLimitDto
    - `max` integer — Maximum number of attempts to capture a photo.
    - `remaining` integer — Number of remaining attempts to capture a photo.
  - `idQualityAttemptApproved` boolean — ID quality check result based on ML readability estimation. True if perFieldReadability >= 0.38, false otherwise. Only available for Mexican documents when feature is enabled.
  - `isDocumentExpired` boolean — Flag indicating if the document side is expired.

## Other responses

- `400` — Custom error statuses: - 4019: Face not found - 1003: Face cropping failure

---

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