Cards & Wallets · Risk Management · Optimize Verify

Verify API

Submit customer information and receive enriched verification data according to your Verify profile using our JSON API services.

Input requirements depend on which data vendor services are configured within your Verify profile.

Once your staging Verify profile is ready following consultation with our subject matter specialists, you will be issued with API credentials and a request payload structure unique to your new custom profile.

Upon signing off your Verify profile in staging we will duplicate this into our production environment and issue you new production credentials.

All of our API services and features can be used from our Verify merchant portal.

API response examples

Profile eKYC
EndpointDefinition
POST /optimizeverify/verify
Request body
{
  "Person": {
    "Forename": "Marc",
    "Surname": "Brookes",
    "Date_Of_Birth": "1965-01-09"
  },
  "Address": [
    {
      "HouseNumber": "11",
      "PostCode": "IV44 8TZ"
    }
  ],
  "RequestDetail": {
    "ClientTag": "Tag A"
  }
}
cURL
curl -X POST "{targetEnvironmentPath}/optimizeverify/verify?profileShortCode=eKYC" \
  -H "Authorization: Basic {base64(licenceKey:clientKey)}" \
  -H "Content-Type: application/json" \
  -d '{
  "Person": {
    "Forename": "Marc",
    "Surname": "Brookes",
    "Date_Of_Birth": "1965-01-09"
  },
  "Address": [
    {
      "HouseNumber": "11",
      "PostCode": "IV44 8TZ"
    }
  ],
  "RequestDetail": {
    "ClientTag": "Tag A"
  }
}'
Response
HTTP/1.1 200

{
  "TransactionType": 0,
  "Key": "bffa5d90-7ea6-4997-930b-89e8ab2e34b4",
  "About": {
    "Service": "AllVendors",
    "LicenceKey": "00000000-0000-0000-0000-000000000000",
    "ProfileShortCode": "eKYC",
    "ClientKey": "CISTEST",
    "ClientRequestTag": "",
    "RequestType": 0,
    "RequestReference": "0",
    "TransactionReference": "Tag A",
    "SystemVersion": "3.28.1.0"
  },
  "Request": {
    "Time": "2020-09-17T14:45:43Z",
    "Tag": null,
    "Result": "{\n  \"Person\": {\n    \"Forename\": \"Marc\",\n    \"Surname\": \"Brookes\",\n    \"Date_Of_Birth\": \"1965-01-09\"\n  },\n  \"Address\": [\n    {\n      \"HouseNumber\": \"11\",\n      \"PostCode\": \"IV44 8TZ\"\n    }\n  ],\n  \"RequestDetail\": {\n    \"ClientTag\": \"Tag A\"\n  }\n}",
    "ResolvedRequest": "{\n  \"Person\": {\n    \"Forename\": \"Marc\",\n    \"Surname\": \"Brookes\",\n    \"Date_Of_Birth\": \"1965-01-09\"\n  },\n  \"Address\": [\n    {\n      \"HouseNumber\": \"11\",\n      \"AddressLine1\": \"HIGH ST\",\n      \"PostTown\": \"WESTBURY\",\n      \"County\": \"WILTS\",\n      \"PostCode\": \"IV44 8TZ\",\n      \"PTC_ABS_Code\": \"58150004027\"\n    }\n  ],\n  \"RequestDetail\": {\n    \"ClientTag\": \"Tag A\"\n  }\n}"
  },
  "Response": {
    "Time": "2020-09-17T14:45:46.3188181Z",
    "ResultStatus": 1,
    "Alert": false,
    "AlertResults": [],
    "PotValues": [
      {
        "PotName": "Not Matched",
        "PotAmount": 6
      },
      {
        "PotName": "Proof of Identity",
        "PotAmount": 1
      },
      {
        "PotName": "Proof of Address",
        "PotAmount": 2
      },
      {
        "PotName": "Fail",
        "PotAmount": 0
      },
      {
        "PotName": "Adverse Name Match",
        "PotAmount": 0
      }
    ],
    "Result": [
      {
        "Name": "Stage1",
        "Conditions": [
          {
            "If": 1,
            "Then": 0,
            "NextStageIndex": 2
          }
        ],
        "StageResult": 1,
        "CheckResults": [
          {
            "Rules": [
              {
                "FilterShortCode": "contains",
                "FilterParameter": "Y",
                "FilterParameterKey": null,
                "Comparator": 2,
                "CheckAmount": 0,
                "RuleResult": 2,
                "PotName": "Not Matched",
                "AlertMessage": null
              },
              {
                "FilterShortCode": "contains",
                "FilterParameter": "Y",
                "FilterParameterKey": null,
                "Comparator": 0,
                "CheckAmount": 0,
                "RuleResult": 1,
                "PotName": "Proof of Identity",
                "AlertMessage": null
              }
            ],
            "StageName": "Stage1",
            "CheckName": "Electoral Role (Proof of DOB)",
            "CheckShortCode": "FSC2",
            "Result": 2,
            "Error": null,
            "RuleResult": [
              {
                "Result": 2,
                "PotName": "Not Matched",
                "PotAmount": 1,
                "AlertMessage": null
              },
              {
                "Result": 3,
                "PotName": "Proof of Identity",
                "PotAmount": 0,
                "AlertMessage": ""
              }
            ],
            "RawResults": "[]",
            "FullOutput": [
              {
                "CheckOutput": {
                  "Electoral Role (Proof of DOB)": "A"
                },
                "FilterOutput": [
                  {
                    "FilterCode": "contains",
                    "Key": null,
                    "Parameter": "Y",
                    "Matched": {
                      "Electoral Role (Proof of DOB)": false
                    }
                  }
                ]
              }
            ]
          },
          {
            "Rules": [
              {
                "FilterShortCode": "contains",
                "FilterParameter": "1",
                "FilterParameterKey": null,
                "Comparator": 2,
                "CheckAmount": 0,
                "RuleResult": 2,
                "PotName": "Not Matched",
                "AlertMessage": null
              },
              {
                "FilterShortCode": "contains",
                "FilterParameter": "1",
                "FilterParameterKey": null,
                "Comparator": 0,
                "CheckAmount": 0,
                "RuleResult": 1,
                "PotName": "Proof of Address",
                "AlertMessage": null
              }
            ],
            "StageName": "Stage1",
            "CheckName": "Electoral Role (Proof of Address)",
            "CheckShortCode": "VRC101",
            "Result": 2,
            "Error": null,
            "RuleResult": [
              {
                "Result": 2,
                "PotName": "Not Matched",
                "PotAmount": 1,
                "AlertMessage": null
              },
              {
                "Result": 3,
                "PotName": "Proof of Address",
                "PotAmount": 0,
                "AlertMessage": ""
              }
            ],
            "RawResults": "[]",
            "FullOutput": [
              {
                "CheckOutput": {
                  "Electoral Role (Proof of Address)": "0"
                },
                "FilterOutput": [
                  {
                    "FilterCode": "contains",
                    "Key": null,
                    "Parameter": "1",
                    "Matched": {
                      "Electoral Role (Proof of Address)": false
                    }
                  }
                ]
              }
            ]
          },
          {
            "Rules": [
              {
                "FilterShortCode": "contains",
                "FilterParameter": "Y",
                "FilterParameterKey": null,
                "Comparator": 2,
                "CheckAmount": 0,
                "RuleResult": 2,
                "PotName": "Not Matched",
                "AlertMessage": null
              },
              {
                "FilterShortCode": "contains",
                "FilterParameter": "Y",
                "FilterParameterKey": null,
                "Comparator": 0,
                "CheckAmount": 0,
                "RuleResult": 1,
                "PotName": "Proof of Identity",
                "AlertMessage": null
              }
            ],
            "StageName": "Stage1",
            "CheckName": "Credit Bureau (Proof of DOB)",
            "CheckShortCode": "FSC3",
            "Result": 1,
            "Error": null,
            "RuleResult": [
              {
                "Result": 3,
                "PotName": "Not Matched",
                "PotAmount": 0,
                "AlertMessage": ""
              },
              {
                "Result": 1,
                "PotName": "Proof of Identity",
                "PotAmount": 1,
                "AlertMessage": null
              }
            ],
            "RawResults": "[[{\"Name\":\"Credit Bureau (Proof of DOB)\",\"Value\":\"Y\"}]]",
            "FullOutput": [
              {
                "CheckOutput": {
                  "Credit Bureau (Proof of DOB)": "Y"
                },
                "FilterOutput": [
                  {
                    "FilterCode": "contains",
                    "Key": null,
                    "Parameter": "Y",
                    "Matched": {
                      "Credit Bureau (Proof of DOB)": true
                    }
                  }
                ]
              }
            ]
          },
          {
            "Rules": [
              {
                "FilterShortCode": "Notcontains",
                "FilterParameter": "00",
                "FilterParameterKey": null,
                "Comparator": 2,
                "CheckAmount": 0,
                "RuleResult": 2,
                "PotName": "Not Matched",
                "AlertMessage": null
              },
              {
                "FilterShortCode": "Notcontains",
                "FilterParameter": "00",
                "FilterParameterKey": null,
                "Comparator": 0,
                "CheckAmount": 0,
                "RuleResult": 1,
                "PotName": "Proof of Address",
                "AlertMessage": null
              }
            ],
            "StageName": "Stage1",
            "CheckName": "Credit Bureau (Proof of Address)",
            "CheckShortCode": "QSC001",
            "Result": 1,
            "Error": null,
            "RuleResult": [
              {
                "Result": 3,
                "PotName": "Not Matched",
                "PotAmount": 0,
                "AlertMessage": ""
              },
              {
                "Result": 1,
                "PotName": "Proof of Address",
                "PotAmount": 2,
                "AlertMessage": null
              }
            ],
            "RawResults": "[[{\"Name\":\"Credit Bureau (Proof of Address)\",\"Value\":\"02\"}]]",
            "FullOutput": [
              {
                "CheckOutput": {
                  "Credit Bureau (Proof of Address)": "02"
                },
                "FilterOutput": [
                  {
                    "FilterCode": "Notcontains",
                    "Key": null,
                    "Parameter": "00",
                    "Matched": {
                      "Credit Bureau (Proof of Address)": true
                    }
                  }
                ]
              }
            ]
          },
          {
            "Rules": [
              {
                "FilterShortCode": "contains",
                "FilterParameter": "y, u",
                "FilterParameterKey": null,
                "Comparator": 0,
                "CheckAmount": 0,
                "RuleResult": 1,
                "PotName": "Proof of Address",
                "AlertMessage": null
              },
              {
                "FilterShortCode": "contains",
                "FilterParameter": "y, u",
                "FilterParameterKey": null,
                "Comparator": 2,
                "CheckAmount": 0,
                "RuleResult": 2,
                "PotName": "Not Matched",
                "AlertMessage": null
              }
            ],
            "StageName": "Stage1",
            "CheckName": "BTOSIS (Proof of Address)",
            "CheckShortCode": "TSC1",
            "Result": 2,
            "Error": null,
            "RuleResult": [
              {
                "Result": 3,
                "PotName": "Proof of Address",
                "PotAmount": 0,
                "AlertMessage": ""
              },
              {
                "Result": 2,
                "PotName": "Not Matched",
                "PotAmount": 1,
                "AlertMessage": null
              }
            ],
            "RawResults": "[]",
            "FullOutput": [
              {
                "CheckOutput": {
                  "BTOSIS (Proof of Address)": "X"
                },
                "FilterOutput": [
                  {
                    "FilterCode": "contains",
                    "Key": null,
                    "Parameter": "y, u",
                    "Matched": {
                      "BTOSIS (Proof of Address)": false
                    }
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "Name": "Stage2",
        "Conditions": [
          {
            "If": 1,
            "Then": 0,
            "NextStageIndex": 3
          }
        ],
        "StageResult": 1,
        "CheckResults": [
          {
            "Rules": [
              {
                "FilterShortCode": "HaloLevel10",
                "FilterParameter": "1",
                "FilterParameterKey": null,
                "Comparator": 0,
                "CheckAmount": 0,
                "RuleResult": 2,
                "PotName": "Fail",
                "AlertMessage": null
              },
              {
                "FilterShortCode": "HaloLevel10",
                "FilterParameter": "1",
                "FilterParameterKey": null,
                "Comparator": 2,
                "CheckAmount": 0,
                "RuleResult": 1,
                "PotName": "Not Matched",
                "AlertMessage": null
              }
            ],
            "StageName": "Stage2",
            "CheckName": "Death Register",
            "CheckShortCode": "Halo",
            "Result": 1,
            "Error": null,
            "RuleResult": [
              {
                "Result": 3,
                "PotName": "Fail",
                "PotAmount": 0,
                "AlertMessage": ""
              },
              {
                "Result": 1,
                "PotName": "Not Matched",
                "PotAmount": 1,
                "AlertMessage": null
              }
            ],
            "RawResults": "[]",
            "FullOutput": [
              {
                "CheckOutput": {
                  "id": "VMC",
                  "on_halo_level_10": "0",
                  "on_halo_level_9": "0",
                  "on_halo_level_8": "0",
                  "on_halo_level_7": "0",
                  "on_halo_level_6": "0",
                  "on_halo_level_5": "0",
                  "on_halo_level_4": "0",
                  "on_halo_level_3": "0",
                  "on_halo_level_2": "0",
                  "on_halo_level_1": "0",
                  "on_halo_level_other": "0",
                  "info_found": "0",
                  "highest_level_found": "0",
                  "lowest_level_found": "0"
                },
                "FilterOutput": [
                  {
                    "FilterCode": "HaloLevel10",
                    "Key": null,
                    "Parameter": "1",
                    "Matched": {
                      "on_halo_level_10": false
                    }
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "Name": "Stage3",
        "Conditions": [
          {
            "If": 1,
            "Then": 1,
            "NextStageIndex": 4
          }
        ],
        "StageResult": 1,
        "CheckResults": [
          {
            "Rules": [
              {
                "FilterShortCode": "NameMatchThresholdGreaterThanorEqual",
                "FilterParameter": "85",
                "FilterParameterKey": null,
                "Comparator": 0,
                "CheckAmount": 0,
                "RuleResult": 2,
                "PotName": "Fail",
                "AlertMessage": null
              },
              {
                "FilterShortCode": "NameMatchThresholdGreaterThanorEqual",
                "FilterParameter": "85",
                "FilterParameterKey": null,
                "Comparator": 2,
                "CheckAmount": 0,
                "RuleResult": 1,
                "PotName": "Not Matched",
                "AlertMessage": null
              }
            ],
            "StageName": "Stage3",
            "CheckName": "Global Sanctions",
            "CheckShortCode": "Sanctions",
            "Result": 1,
            "Error": null,
            "RuleResult": [
              {
                "Result": 3,
                "PotName": "Fail",
                "PotAmount": 0,
                "AlertMessage": ""
              },
              {
                "Result": 1,
                "PotName": "Not Matched",
                "PotAmount": 1,
                "AlertMessage": null
              }
            ],
            "RawResults": "[]",
            "FullOutput": []
          },
          {
            "Rules": [
              {
                "FilterShortCode": "NameMatchThresholdGreaterThanorEqual",
                "FilterParameter": "90",
                "FilterParameterKey": null,
                "Comparator": 0,
                "CheckAmount": 0,
                "RuleResult": 3,
                "PotName": "Adverse Name Match",
                "AlertMessage": ""
              },
              {
                "FilterShortCode": "NameMatchThresholdGreaterThanorEqual",
                "FilterParameter": "90",
                "FilterParameterKey": null,
                "Comparator": 2,
                "CheckAmount": 0,
                "RuleResult": 1,
                "PotName": "Not Matched",
                "AlertMessage": null
              }
            ],
            "StageName": "Stage3",
            "CheckName": "Politically Exposed Persons",
            "CheckShortCode": "PEPs",
            "Result": 1,
            "Error": null,
            "RuleResult": [
              {
                "Result": 3,
                "PotName": "Adverse Name Match",
                "PotAmount": 0,
                "AlertMessage": ""
              },
              {
                "Result": 1,
                "PotName": "Not Matched",
                "PotAmount": 1,
                "AlertMessage": null
              }
            ],
            "RawResults": "[]",
            "FullOutput": []
          }
        ]
      }
    ],
    "RuleSetInfo": {
      "OverallPass": 2,
      "OverallFail": 1,
      "IfInconclusive": 2,
      "RulePotDetail": [
        {
          "PotName": "Not Matched",
          "Comparator": 0,
          "CompareAmount": 0,
          "Weight": 0,
          "PotResult": 2
        },
        {
          "PotName": "Fail",
          "Comparator": 0,
          "CompareAmount": 0,
          "Weight": 1,
          "PotResult": 2
        },
        {
          "PotName": "Proof of Identity",
          "Comparator": 0,
          "CompareAmount": 0,
          "Weight": 1,
          "PotResult": 1
        },
        {
          "PotName": "Proof of Address",
          "Comparator": 0,
          "CompareAmount": 0,
          "Weight": 1,
          "PotResult": 1
        },
        {
          "PotName": "Adverse Name Match",
          "Comparator": 0,
          "CompareAmount": 0,
          "Weight": 1,
          "PotResult": 2
        },
        {
          "PotName": "Adverse DOB Match",
          "Comparator": 0,
          "CompareAmount": 0,
          "Weight": 5,
          "PotResult": 2
        }
      ]
    },
    "Error": ""
  }
}