> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dncscrub.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Right Party ID

> Verify phone number ownership by matching against name and address data

Returns if a name and/or address matches a phone number. The most common use case of this API is to determine if the person that gave you permission to call is the current phone number owner.

## Request

### Headers

<ParamField header="loginId" type="string" required>
  Your API Key (LoginId from your DNCScrub account)
</ParamField>

### Query Parameters

<ParamField query="phone" type="string" required>
  10-digit phone number to verify
</ParamField>

<ParamField query="FirstName" type="string">
  First name to match against
</ParamField>

<ParamField query="LastName" type="string">
  Last name to match against (required if consentDate not provided)
</ParamField>

<ParamField query="Address1" type="string">
  Street address
</ParamField>

<ParamField query="City" type="string">
  City name
</ParamField>

<ParamField query="State" type="string">
  State abbreviation
</ParamField>

<ParamField query="PostalCode" type="string">
  ZIP code
</ParamField>

<ParamField query="consentDate" type="string">
  Consent date in YYYYMMDD format (required if lastName not provided)
</ParamField>

<ParamField query="ReferenceID" type="string">
  Optional reference ID for tracking
</ParamField>

<Note>
  The more fields provided, the more accurate the response will be.
</Note>

## Output parameters

| Field | Description |
| - | - |
| `Phone` | Ten digit phone number that was queried. Example 5039367188 |
| `ReferenceID` | Internal customer referenced ID that was passed in the API submission |
| `VerificationCode` | Up to 4 character code identifying the verification level. This is the field to use for match verification. The Match Type and Match Level are only provided for analytics. |
| `PhoneType` | 1 character code identifying the phone type |
| `MatchType` | See Match Table below |
| `MatchLevel` | See Match Table below |

### VerificationCode values

| Code | Description |
| - | - |
| `N` | Name does not match specified phone number |
| `YA` | Name matches specified phone number and full address match |
| `YPA` | Name matches specified phone number and partial address match |
| `YL` | Name matches and phone number is land line |
| `Y` | Name matches the specified phone number and no address match |
| `YP*` | Only provided if consent date provided. Confirmed the ownership of the phone has not changed since the consent date; however not able to confirm phone owner's name. |
| `YX` | The identify was verified for the number using high confidence proprietary sources (utility, financial). |
| `U` | Unknown. No records exist to make a conclusion about the phone number and name. |

### PhoneType values

| Value | Description |
| - | - |
| `N` | Not available |
| `L` | Land Line |
| `V` | VoIP |
| `W` | Wireless |
| `O` | Other |

### Match Table

| Category | MatchType | MatchLevel | Description |
| - | - | - | - |
| | N/A | N/A | Not available |
| IP = Individual with phone | IP | 100 | Exact First, Exact Last, Exact Street Address, Unit W/A, Zip, Phone |
| | IP | 101 | Fuzzy First, Exact Last, Exact Street Address, Unit W/A, Zip, Phone |
| | IP | 102 | Exact First, Fuzzy Last, Exact Street Address, Unit W/A, Zip, Phone |
| | IP | 103 | Fuzzy First, Fuzzy Last, Exact Street Address, Unit W/A, Zip, Phone |
| | IP | 104 | Exact First, Exact Last, Exact Street Address, Unit Missing, Zip, Phone |
| | IP | 105 | Fuzzy First, Exact Last, Exact Street Address, Unit Missing, Zip, Phone |
| | IP | 106 | Exact First, Fuzzy Last, Exact Street Address, Unit Missing, Zip, Phone |
| | IP | 107 | Fuzzy First, Fuzzy Last, Exact Street Address, Unit Missing, Zip, Phone |
| | IP | 108 | Exact First, Exact Last, Fuzzy Street Address, Zip, Phone |
| | IP | 109 | Fuzzy First, Exact Last, Fuzzy Street Address, Zip, Phone |
| | IP | 110 | Exact First, Fuzzy Last, Fuzzy Street Address, Zip, Phone |
| | IP | 111 | Fuzzy First, Fuzzy Last, Fuzzy Street Address, Zip, Phone |
| | IP | 121 | Fuzzy First, Strong Last, Exact Street Address, Unit W/A, Zip, Phone |
| | IP | 131 | Fuzzy Nickname First, Strong Last, Exact Street Address, Unit W/A, Zip, Phone |
| HP = Household with phone | HP | 200 | Exact Last, Exact Street Address, Unit W/A, Zip, Phone |
| | HP | 201 | Fuzzy Last, Exact Street Address, Unit W/A, Zip, Phone |
| | HP | 202 | Exact Last, Exact Street Address, Unit Missing, Zip, Phone |
| | HP | 203 | Fuzzy Last, Exact Street Address, Unit Missing, Zip, Phone |
| | HP | 204 | Exact Last, Fuzzy Street Address, Zip, Phone |
| | HP | 205 | Fuzzy Last, Fuzzy Street Address, Zip, Phone |
| | HP | 206 | Fuzzy Last, Exact Street Address, Unit W/A, Zip, Phone |
| AP = Address with phone | AP | 300 | Exact Street Address, Unit W/A, Zip, Phone |
| | AP | 301 | Exact Street Address, Unit Missing, Zip, Phone |
| | AP | 302 | Fuzzy Street Address, Zip, Phone |
| NP = Name/Phone | NP | 400 | Exact First, Exact Last, Phone |
| | NP | 401 | Fuzzy First, Exact Last, Phone |
| | NP | 402 | Exact First, Fuzzy Last, Phone |
| | NP | 403 | Fuzzy First, Fuzzy Last, Phone |
| LP = Last Name/Phone | LP | 450 | Exact Last, Phone |
| | LP | 451 | Fuzzy Last, Phone |
| FP = First Name/Phone | FP | 460 | Exact First, Phone |
| | FP | 461 | Fuzzy First, Phone |
| | FP | 462 | Fuzzy First, Phone, names reversed |
| ZP = Zip/Phone | ZP | 500 | Zip, Phone |
| P = Phone | P | 900 | Phone Verified |
| None | X | 900 | No match found |
| None | X | 999 | No match found |

## Example Request

<CodeGroup>
  ```bash cURL theme={null}
  curl --location --request GET \
    'https://dataapi.dncscrub.com/v1.4/Data/Verification
      ?phone=5039365190
      &FirstName=John
      &LastName=Consumer
      &Address1=123%20Birch%20St
      &City=Beaverton
      &State=OR
      &PostalCode=97008
      &ReferenceID=DEMO' \
    --header 'loginId: YOUR_API_KEY'
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    'https://dataapi.dncscrub.com/v1.4/Data/Verification?phone=5039365190&FirstName=John&LastName=Consumer&Address1=123%20Birch%20St&City=Beaverton&State=OR&PostalCode=97008&ReferenceID=DEMO',
    {
      method: 'GET',
      headers: {
        'loginId': 'YOUR_API_KEY'
      }
    }
  );
  const data = await response.json();
  console.log(data);
  ```

  ```csharp C# theme={null}
  using (var client = new HttpClient())
  {
      client.DefaultRequestHeaders.Add("loginId", "YOUR_API_KEY");

      var response = await client.GetAsync(
          "https://dataapi.dncscrub.com/v1.4/Data/Verification?phone=5039365190&FirstName=John&LastName=Consumer&Address1=123%20Birch%20St&City=Beaverton&State=OR&PostalCode=97008&ReferenceID=DEMO"
      );

      var result = await response.Content.ReadAsStringAsync();
      Console.WriteLine(result);
  }
  ```
</CodeGroup>

<ResponseExample>
  ```json Response theme={null}
  {
    "Phone": "5039365190",
    "ReferenceID": "DEMO",
    "VerificationCode": "U",
    "PhoneType": "W",
    "MatchType": "X",
    "MatchLevel": "900"
  }
  ```
</ResponseExample>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.