PII inquiry without OTP
This is the shortest way to run a PII inquiry: one call, no OTP. Use it when your own product has already established that the user controls the phone number — or when you do not need phone-ownership proven by OTP at all.
If you do need that proof, use PII inquiry with OTP instead. The endpoints and the response are identical; the OTP variant just adds two fields and one preceding call.
Both pages call the same endpoints. The only difference is whether you send otpRequestId and otpCode.
Which endpoint to call
Submit ID images
POST /api/FRAServices/PersonallyIdentifiableInformation
cURL
Submit the ID as one PDF
POST /api/FRAServices/PersonallyIdentifiableInformationPdf
Upload the national ID as one PDF file that contains both the front and the back, instead of two images. The request is multipart/form-data, and the response is the same as for Submit ID images.
cURL
The file must be a real PDF — a different file renamed to .pdf is rejected — and no larger than 5 MB.
The front and back are read from the PDF and saved as the usual ID front and ID back steps.
Bypassing the spoofing check
A PDF of a national ID is a scan or a printed copy, so the spoofing check can flag it as a forged document and fail the inquiry with 5005 Spoofed Document. Send bypassSpoofingCheck: true to skip that one check for the pages read from the PDF.
Every other document check still runs — validation, classification, CSO and NTRA are unaffected. Only turn it on for flows where you already trust where the PDF came from.
In the portal, the same upload is available on the Check Phone Ownership page — see Check Phone Ownership.
Submit by transaction
POST /api/FRAServices/CheckIdAndFRAByTransaction
If the ID front and back were already processed in an existing transaction — an OCR or Digital Identity capture, for example — pass that transactionId instead of resending the images.
cURL
Response
Both endpoints return the same shape.
The identity values above are placeholders. A real response returns the actual card holder’s name, address, ID number and date of birth — treat the whole data block as personal data and store it accordingly.
Response fields
Each of idFrontOutput and idBackOutput carries the same envelope:
The services block on this endpoint uses a capitalised Validations key. The OCR API returns the same block as lowercase validations. Match the casing to the endpoint you are calling.
Errors
When an ID image fails validation, the call returns HTTP 400 with the code in error_code and the failing fields in data.validation_errors.
See Error codes for the full list.

