VerifyPerson service looks up a citizen’s address and birth data from the national population registry, by a narrowing query worflow with 18 separate query steps. The query must include the countrycode, and currently only countryCode “se”, Sweden, is supported.

The response count is currently limited to at most one best hit. But in case of not single best hit available a “No hit” will be returned.

The hit is of type: address .

API

POST to https://env.zignsec.com/v2/ekyc/verifyperson where env is api or test.

Request

Name Description Required
QueryAddress modelRequired
Query.PersonNumberPersonal number. Give as 12 digits.Optional
Query.DateOfBirthGive as yyyymmdd/yyyy-mm-dd, yyyymm/yyyy-mm or yyyy. The hyphen separating the dateparts is optional.Optional
MatchStepsGives a possibility to limit what kind of queries to include. Default is all rules: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18

  • 1 – personalNumber, firstName, lastName, address, postalCode, city
  • 2 – personalNumber, firstName, lastName, postalCode
  • 3 – personalNumber, firstName, lastName, city
  • 4 – personalNumber, firstName, lastName
  • 5 – personalNumber, phoneNr
  • 6 – personalNumber
  • 7 – firstName, lastName, address, postalCode, city
  • 8 – firstName, lastName, address, postalCode
  • 9 – firstName, lastName, address, city
  • 10 – firstName, lastName, address
  • 11 – firstName, lastName, postalCode, city
  • 12 – firstName, lastName, postalCode
  • 13 – firstName, lastName, postalCode(first two)
  • 14 – firstName, lastName, city
  • 15 – firstName, lastName
  • 16 – firstName, lastName, phoneNr
  • 17 – firstName, postalCode, phoneNr
  • 18 – lastName, postalCode, phoneNr
Optional
VerifyAgeSets the Verify Age of searched person. There is AgeVerificationFaulted in response model that set verified user or not.Optional

Request example:

POST https://test.zignsec.com/v2/ekyc/verifyperson HTTP/1.1
Content-Type: application/json; charset=UTF-8
Authorization: yourkey-here.
 
{
   "Query":{
      "FirstName":"Sara Maria",
      "LastName":"Karlsson",
      "Gender":"Female",
      "Address":"Vasavägen",
      "PostalCode":"67040",
      "CountryCode": "se"
   }
}

Response

On Root Level:

Name Description
WasFoundBoolean.
PersonsArray of hits, currently at most one best hit. Address model.
ResponseCodeString. Possible values SingleMatch, MultipleMatches, TooManyMatches, NoMatch.

Address model you can find here. There are additional fields to model:

Name Description
AgeVerificationFaultedBoolean. Indicates that the user has a verified by age set in the request field VerifyAge
MatchedStepSpecifies, which rule was run to get the hit(s).
MatchedStepDescriptionSpecifies, in text form, which rule was run to get the hit(s).
personalNumber string can be replaced by personalNumber (partial) if the search includes a dateOfBirth field.

Response example:

{
  "id": "4d150dfd-25a6-4b86-9759-099171c0171a",
  "WasFound": true,
  "Persons": [
    {
      "Gender": "Female",
      "MatchedStep": 8,
      "MatchedStepDescription": "firstName, lastName, address, postalCode",
      "Text": null,
      "PersonStatus": "",
      "MainFirstName": null,
      "FirstName": "Sara Maria",
      "LastName": "Karlsson",
      "DateOfBirth": "1941-03-22",
      "BirthYear": 1941,
      "BirthMonth": 3,
      "BirthDayOfMonth": 22,
      "Age": 78,
      "PersonalNumber": "194103222222",
      "Address": "Vasavägen",
      "Address2": null,
      "PostalCode": "67040",
      "Location": null,
      "City": "ÅMOTFORS",
      "Municipality": null,
      "Province": null,
      "CountryCode": null,
      "Phone": null,
      "Email": null,
      "PhoneNumbers": null,
      "_DataSource": "DP05",
      "VerifyAge": null,
      "AgeVerificationFaulted": false,
      "FullName": "Sara Maria Karlsson"
    }
  ],
  "ResponseCode": "SingleMatch"
}