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

# Reassigned Authority API

> Check if a phone number has been reassigned after a given consent date

# Reassigned Authority API

The Reassigned Authority API identifies if a mobile phone number has been reassigned after a given date. The API uses authoritative data provided directly from carriers.

## Endpoint

```
https://dataapi.dncscrub.com/v1.5/Data/TCPAAuthority
```

## Authentication

Include your API key in the `loginId` HTTP header:

```bash theme={null}
--header 'loginId: YOUR_API_KEY'
```

## Parameters

| Parameter | Required | Description |
| - | - | - |
| `phoneNumber` | Yes | 10-digit phone number (no leading 1 or +) |
| `date` | Yes | Consent date to check against |
| `useSandbox` | No | Set to `true` to use sandbox mode for testing (returns random results) |

### Date Formats

The `date` parameter accepts multiple formats:

| Format | Example |
| - | - |
| `MM/DD/YYYY` | `09/29/2021` |
| `YYYY-MM-DD` | `2021-09-29` |
| `MM/DD/YY` | `09/29/21` |
| `YYYYMMDD` | `20210929` |

## Single Number Request (GET)

<CodeGroup>
  ```bash cURL theme={null}
  curl --location --request GET \
    'https://dataapi.dncscrub.com/v1.5/Data/TCPAAuthority?phoneNumber=7075276405&date=20210209' \
    --header 'loginId: YOUR_API_KEY'
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    "https://dataapi.dncscrub.com/v1.5/Data/TCPAAuthority?phoneNumber=7075276405&date=20210209",
    {
      headers: { loginId: "YOUR_API_KEY" },
    }
  );
  const result = await response.json();
  ```

  ```csharp C# theme={null}
  using (var client = new HttpClient())
  {
      client.DefaultRequestHeaders.Add("loginId", "YOUR_API_KEY");
      var response = await client.GetStringAsync(
          "https://dataapi.dncscrub.com/v1.5/Data/TCPAAuthority?phoneNumber=7075276405&date=20210209"
      );
  }
  ```
</CodeGroup>

### Response

```json theme={null}
{
  "PhoneNumber": "7075276405",
  "IsReassigned": false,
  "IsValid": true,
  "LineType": "Landline",
  "Carrier": "AT&T California",
  "Locale": "Santa Rosa",
  "Region": "CA",
  "Country": "US",
  "TZ": "America/Los_Angeles",
  "UTCOffset": "-420"
}
```

## Multiple Number Request (POST)

For checking multiple numbers, use HTTP POST with a JSON array:

```bash theme={null}
curl --location --request POST \
  'https://dataapi.dncscrub.com/v1.5/Data/TCPAAuthority' \
  --header 'loginId: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data-raw '[
    {
      "phoneNumber": "7075276405",
      "date": "20210209"
    },
    {
      "phoneNumber": "5039367187",
      "date": "20210209"
    }
  ]'
```

### Response

```json theme={null}
[
  {
    "PhoneNumber": "7075276405",
    "IsReassigned": false,
    "IsValid": true,
    "LineType": "Landline",
    "Carrier": "AT&T California",
    "Locale": "Santa Rosa",
    "Region": "CA",
    "Country": "US",
    "TZ": "America/Los_Angeles",
    "UTCOffset": "-420"
  },
  {
    "PhoneNumber": "5039367187",
    "IsReassigned": false,
    "IsValid": true,
    "LineType": "Wireless",
    "Carrier": "Verizon Wireless",
    "Locale": "Portland",
    "Region": "OR",
    "Country": "US",
    "TZ": "America/Los_Angeles",
    "UTCOffset": "-420"
  }
]
```

## Response Fields

| Field | Type | Description |
| - | - | - |
| `PhoneNumber` | String | The phone number checked |
| `IsReassigned` | Boolean/null | `true` = reassigned, `false` = not reassigned, `null` = insufficient data |
| `IsValid` | Boolean | `true` if the number is callable, `false` if invalid |
| `LineType` | String | `Wireless`, `VoIP`, `Landline`, `Paging`, or `Unknown` |
| `Carrier` | String | Original carrier the number was assigned to |
| `Locale` | String | City based on original assignment |
| `Region` | String | State/region based on original assignment |
| `Country` | String | Two-digit ISO country code |
| `TZ` | String | Timezone in IANA format (e.g., `America/Los_Angeles`) |
| `UTCOffset` | String | UTC offset in minutes |

## Understanding IsReassigned

<AccordionGroup>
  <Accordion title="IsReassigned = true">
    The phone number was reassigned to a new person **after** the consent date you provided.

    **Action:** Do not call this number. Your consent is no longer valid.
  </Accordion>

  <Accordion title="IsReassigned = false">
    The phone number has **not** been reassigned since the consent date.

    **Action:** Safe to call - your consent is still valid.
  </Accordion>

  <Accordion title="IsReassigned = null">
    There is insufficient data to determine if the number was reassigned.

    **Action:** Proceed with caution. Consider additional verification.
  </Accordion>
</AccordionGroup>

## Rate Limits

| Limit | Value |
| - | - |
| Requests per minute | 100 |
| Numbers per request | 1,000 |
| Average response time | \~569ms |

## C# Class Definitions

```csharp theme={null}
public class TCPAAuthorityRequestDTO
{
    public string PhoneNumber { get; set; }
    public string Date { get; set; }
}

public class TCPAAuthorityResponseDTO
{
    public string PhoneNumber { get; set; }
    public bool? IsReassigned { get; set; }
    public bool IsValid { get; set; }
    public string LineType { get; set; }
    public string Carrier { get; set; }
    public string Locale { get; set; }
    public string Region { get; set; }
    public string Country { get; set; }
    public string TZ { get; set; }
    public string UTCOffset { get; set; }
}
```


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