Multi Field Request

Multi Field Request

With Verify, the ability to match on one or many input fields is available. Obtain signals on, match to and receive scores on individuals by sending any identifiers you may already have, such as an email address(es), Twitter handle, LinkedIn URL, phone number(s), name and location(address), name, social URLs, MAIDs, and more.

The more contact data inputs you can provide either via API or Batch, the more accurate and precise we can get with our identity resolution capabilities. If your Multi Field Request contains incomplete identifier combinations alongside valid inputs, the valid inputs only will be used to identify and resolve an individual. For example, if a name/address combination does not adhere to what is acceptable alongside a valid email, only the valid email will be used to lookup an individual.

📘

When providing inputs, there’s a few helpful tips to keep in mind:

  • To use MD5 emails, be sure to first lowercase and ensure any extraneous characters (e.g. extra spaces or surrounding quotation marks) are stripped off.
  • To use postal address, a name is required alongside the input and vise versa.
  • To use Placekey, a name is required alongside the input and vise versa.
  • Only one name/address (clear text postal or Placekey) combination can be included in the API request
  • To use an international phone number, a country code is required.
  • There is a maximum of 25 identifiers by type that you may use in your multi field request. A 400 Response will be returned if there are more than 25 identifiers for any given identifier type.
curl -X POST \
  https://api.fullcontact.com/v3/verify.signals \
  -H 'Authorization: Bearer {Your API Key}' \
  -H "Content-Type: application/json" \
  -d '{
  "emails": [
    "[email protected]",
    "[email protected]"
  ],
  "phones": [
    "+17202227799",
    "+13035551234"
  ],
  "location": {
    "addressLine1": "123 Main Street",
    "addressLine2": "Unit 2",
    "city": "Denver",
    "region": "Colorado",
    "regionCode": "CO",
    "postalCode": "80203"
  },
  "placekey": "[email protected]",
  "name": {
    "full": "Bart Lorang",
    "given": "Bart",
    "family": "Lorang"
  },
  "profiles": [{
    "service": "twitter",
    "username": "bartlorang"
    }, {
    "service": "twitter",
    "userid": "5998422"
    }, {
    "service": "linkedin",
    "url": "https://www.linkedin.com/in/bartlorang"
    }, {
    "service": "github",
    "url": "https://www.github.com/lorangb"
    }],
  "maids": ["ape2ch30-pifn-cbvi-30yy-nia-zex7aw5u"],
  "recordId": "customer123",
  "personId": "eYxWc0B-dKRxerTw_uQpxCssM_GyPaLErj0Eu3y2FrU6py1J",
  "li_nonid": "-CmQui5eT6tqBVqQ874WGCv4DNO_taXJOAxVlQ",
  "panoramaId": "294293d141c731300758a10feda14945c111e0abcd04c8208f09ff058781337b"
  }'
Location or Name in request

If you want to use location or name as an input, both must be present and they must have non-blank values for one of the following field combinations to be eligible for a positive match:

Acceptable minimum combinations for Location

  • location.addressLine1 + location.city + location.region
  • location.addressLine1 + location.city + location.regionCode
  • location.addressLine1 + location.postalCode
  • Acceptable minimum combinations for Name

  • name.full
  • name.given + name.family
  • Input Fields
    email stringQueryableOne email address of the contact. Can accept cleartext, an MD5 or SHA-256 hash representation of the email address to query. Be certain to lowercase and trim the email address prior to hashing.
    emails arrayQueryableOne or many email addresses of the contact. Can accept cleartext, an MD5 or SHA-256 hash representation of the email address to query. Be certain to lowercase and trim the email address prior to hashing.
    phone stringQueryablePhone number of the contact. For international numbers a country code is required.
    phones arrayQueryableOne or many phone numbers of the contact. For international numbers a country code is required.
    profiles objectQueryableURLs, IDs and usernames to the profiles on the social platform.
    name.full stringQueryableFull name of the contact (givenName, familyName). Only queryable when provided in conjunction with postal address.
    name.given stringQueryableThe given name (first name) of the individual. Only queryable when provided in conjunction with postal address.
    name.family stringQueryableThe family name (last name) of the individual. Only queryable when provided in conjunction with postal address.
    location.addressLine1 stringQueryableThe first address line for each location. Only queryable when provided in conjunction with name.
    location.addressLine2 stringQueryableThe second address line for each location. Only queryable when provided in conjunction with name.
    location.city stringQueryableThe city of each location. Only queryable when provided in conjunction with name.
    location.region stringQueryableThe region of each location. This is often the state or province. Only queryable when provided in conjunction with name.
    location.regionCode stringQueryableThe region code of each location. Only queryable when provided in conjunction with name.
    location.postalCode stringQueryableThe postal or ZIP code for each location. Can accept Zip + 4 or Zip. Only queryable when provided in conjunction with name.
    placekey stringQueryableThe universal standard identifier for any physical place. Only queryable when provided in conjunction with name.
    maids listQueryableOne or more Mobile Advertising IDs (MAIDs) for an individual.
    recordId stringQueryableThe client-driven record id attached to a customer.
    personId stringQueryableThe unique, persistent FullContact person id attached to a customer that is scoped per account.
    li_nonid stringQueryableThe LiveIntent pre-authenticated digital nonID.
    panoramaId stringQueryableLotame PanoramaID

    Person Summary Object

    When enriching or subscribing to person contacts, Enrich returns a Person Summary object as well as details that include attributes about the person. The details section of the response will be populated based on the Insights Bundles that are enabled for the calling account.

    Example Person Summary Object

    {
      "fullName": "Bart Lorang",
      "ageRange": "30-39",
      "gender": "Male",
      "location": "Denver, CO, United States",
      "title": "Co-Founder & Managing Director",
      "organization": "V1.vc",
      "twitter": "https://twitter.com/bartlorang",
      "linkedin": "https://www.linkedin.com/in/bartlorang",
      "bio": "CEO & Co-Founder of @FullContact, Managing Director @v1vc_. Tech Entrepreneur, Investor. Husband to @parkerbenson and Father to Greyson Lorang",
      "avatar": "https://d2ojpxxtu63wzl.cloudfront.net/static/a7e6a5aba590d4933e35eaadabd97fd2_44e00e968ac57725a15b32f9ca714827aff8e4818d290cb0c611f2e2585253b3",
      "details": {...}
    }
    
    Properties
    fullName stringFull name of the contact.
    ageRange stringAge range of the contact.
    gender stringGender of the contact.
    location stringLocation of the contact. Depending on data quality, the exactness of this value may vary.
    title stringCurrent or most recent job title.
    organization stringCurrent or most recent place of work.
    twitter stringTwitter handle of the contact. Acceptable formats include handle (with or without "@"), as well as the URL to the profile.
    linkedin stringURL of the contact's LinkedIn profile.
    bio stringBiography of the contact.
    avatar stringURL of the contact's photo.
    details object When included, additional details about the contact provided through [Person Insights Bundles](doc:person-insights-bundles).

    With the Person Summary object sent in the request, FullContact will attempt to enrich the
    contact with as much information as available, helping to fill in any missing properties, and then returning the Person Summary. The properties that are returned with values during an enrichment or subscription are dependent upon the data available for the given contact.