Multi Field Request

Multi Field Request

With Resolve, the ability to match on one or many input fields is available. Resolve to 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:

📘

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 vice versa.
  • Only one name/address 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/identity.resolve \
  -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"
  },
  "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"
}'
{
  "recordIds": [
    "CUST001"
  ],
  "personIds": [
    "c0VAsuEb4DRPuXmEXLutGitk-Hq9xUMautmqzyfuHpZyl3EP"
  ]
}

🚧

Location or Name in request

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.
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

Authorization

Authenticating with the FullContact API is accomplished through the use of an API key.
You can generate and manage your API keys from the FullContact Platform UI

When accessing the FullContact API, include your API Key within the "Authorization" header of your POST,
using a prefix of "Bearer". An example of this is shown below.

curl -X POST https://api.fullcontact.com/v3/identity.resolve \
 -H 'Authorization: Bearer {Your API Key}'

❗️

Keep Your API Keys Secret

Your API keys are essentially like passwords to access the FullContact API, and should be kept secret. Do
not embed them in client-side code or post them in publicly accessible areas such as support forums or GitHub.
It is a common and easy mistake to accidentally copy and paste code snippets, including your API key,
when seeking help - be sure to remove your API key and any other sensitive information before posting.