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

# is_reassigned_number Tool

> Check if a phone number has been reassigned using the FCC Reassigned Numbers Database

The `is_reassigned_number` tool checks if a phone number has been reassigned to a new owner since consent was given, using the FCC Reassigned Numbers Database (RND).

## When to Use

* Use this tool before calling to ensure consent is still valid. If a number has been reassigned, the original consent no longer applies to the new owner.
* Safe harbor is required

## Parameters

<ParamField body="phoneNumbers" type="array" required>
  Array of objects containing phone numbers and consent dates.

  <Expandable title="phoneNumber object">
    <ParamField body="phoneNumber" type="string" required>
      10-digit North American phone number (e.g., `"5039367187"`).
    </ParamField>

    <ParamField body="consentDate" type="string" required>
      Date consent was given in `YYYYMMDD`, `MM/DD/YYYY`, or `YYYY-MM-DD` format.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="loginId" type="string">
  API key. Only required if not provided via the `x-dncscrub-api-key` HTTP
  header.
</ParamField>

## Response

<ResponseField name="success" type="boolean">
  Whether the API call succeeded.
</ResponseField>

<ResponseField name="results" type="array">
  Array of results, one per phone number.

  <Expandable title="result object">
    <ResponseField name="phone" type="string">
      The phone number checked.
    </ResponseField>

    <ResponseField name="isReassigned" type="boolean | null">
      * `true` - Number has been reassigned (do not call)
      * `false` - Number has not been reassigned (safe to call)
      * `null` - Insufficient data to determine
    </ResponseField>

    <ResponseField name="hasSafeHarbor" type="boolean">
      Whether FCC safe harbor exemption may be available.
    </ResponseField>

    <ResponseField name="isSafeToCall" type="boolean">
      Simple yes/no based on `isReassigned` being `false` or `null` with safe harbor.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="errorCode" type="string">
  Machine-readable error code (when failed).
</ResponseField>

<ResponseField name="errorMessage" type="string">
  Human-readable error description (when failed).
</ResponseField>

## Examples

<Tabs>
  <Tab title="Request">
    ```json theme={null}
    {
      "phoneNumbers": [
        {
          "phoneNumber": "5039367187",
          "consentDate": "2023-06-15"
        }
      ]
    }
    ```
  </Tab>

  <Tab title="Safe to Call">
    ```json theme={null}
    {
      "success": true,
      "results": [
        {
          "phone": "5039367187",
          "isReassigned": false,
          "hasSafeHarbor": true,
          "isSafeToCall": true
        }
      ]
    }
    ```
  </Tab>

  <Tab title="Reassigned">
    ```json theme={null}
    {
      "success": true,
      "results": [
        {
          "phone": "5039367187",
          "isReassigned": true,
          "hasSafeHarbor": false,
          "isSafeToCall": false
        }
      ]
    }
    ```
  </Tab>
</Tabs>

## Usage Notes

* Always provide the actual consent date, not the current date
* A `null` result with `hasSafeHarbor: true` may still be safe to call under FCC safe harbor provisions
