Skip to main content
Search

Update PII Verification Result

✍️ If your VASP doesn't support Travel Rule Pending Solution, you can skip this implementation guide.

This POST /api/verify/v2/manual/verify_pii API allows VASPs to perform PII Verification in a separate async process and notify GTR via this endpoint once verification is completed. GTR will forward the PII Verification result to the corresponding Travel Rule Initiator VASP.

This is a follow-up API for Travel Rule Receiver VASP which previously responded to a PII Verification callback request with a PENDING result.

For further details of this API, see API Reference: /api/verify/v2/manual/verify_pii

Request

To use this API,

  • The requestId must already exist beforehand.
  • This request must be at the PII Verification stage with a status 100002 which is PENDING.
  • Please refer to PII Matching Process to learn more about how to enrich the request body.

Once you call this API, GTR will forward your PII Verification result to your Travel Rule Initiator VASP.

Request A: PII Verify Success

If you confirm the correctness of PII, you can call this API with verifyStatus=100000.

{
"requestId": "[REQUEST-ID]",
"result": {
"verifyStatus": 100000,
"verifyMessage": "PII Verification Success",
"data": {
"preflightCheckMessage": "",
"preflightCheckStatus": "REJECTED",
"verifyFields": [
{
"message": "matched (success)",
"status": 1,
"type": "111001"
},
{
"message": "mismatch (failed)",
"status": 2,
"type": "111022"
}
],
"piiSecuredInfo": {
"initiatorKeyInfo": {
"publicKey": "[COUNTER_PARTY_VASP_PUBLIC_KEY]"
},
"receiverKeyInfo": {
"publicKey": "[YOUR_PUBLIC_KEY]"
},
"piiSecretFormatType": "FULL_JSON_OBJECT_ENCRYPT",
"piiSpecVersion": "ivms101-2020",
"secretAlgorithm": "ed25519_curve25519",
"securedPayload": "[Encrypted PII, clear-text is forbidden]"
}
}
}
}

Request B: PII Verify Failed

If PII validation failed, you can call this API with verifyStatus=200003.

{
"requestId": "[REQUEST-ID]",
"result": {
"verifyStatus": 200003,
"verifyMessage": "PII Verification Failed",
"data": {
"preflightCheckMessage": "",
"preflightCheckStatus": "REJECTED",
"verifyFields": [
{
"message": "matched (success)",
"status": 1,
"type": "111001"
},
{
"message": "mismatch (failed)",
"status": 2,
"type": "111022"
}
],
"piiSecuredInfo": {
"initiatorKeyInfo": {
"publicKey": "[COUNTER_PARTY_VASP_PUBLIC_KEY]"
},
"receiverKeyInfo": {
"publicKey": "[YOUR_PUBLIC_KEY]"
},
"piiSecretFormatType": "FULL_JSON_OBJECT_ENCRYPT",
"piiSpecVersion": "ivms101-2020",
"secretAlgorithm": "ed25519_curve25519",
"securedPayload": "[Encrypted PII, clear-text is forbidden]"
}
}
}
}