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

# TrustCall Premier (Monitor) API

> Full-featured phone number reputation monitoring API

# TrustCall Premier API

TrustCall Premier (also called TrustCall Monitor) provides comprehensive phone number reputation monitoring with carrier-specific scores, historical data, app scores, and FTC complaints.

## Base URL

```
https://trustcallapi.dncscrub.com/v1.4/trustcall
```

## Authentication

All API calls require two headers:

| Header         | Value              |
| -------------- | ------------------ |
| `loginId`      | Your API Key       |
| `Content-Type` | `application/json` |

***

## Add Phone Numbers

Add phone numbers to TrustCall monitoring.

### Endpoint

```
POST https://trustcallapi.dncscrub.com/v1.4/trustcall/add
```

### Request Body

```json theme={null}
[
  {
    "Phone": "5039367187",
    "Label": "Customer Service",
    "LegalEntityId": 123
  },
  {
    "Phone": "8084565302",
    "Label": "Marketing",
    "LegalEntityId": 456
  }
]
```

| Field           | Required | Description                       |
| --------------- | -------- | --------------------------------- |
| `Phone`         | Yes      | 10-digit phone number             |
| `Label`         | No       | Description (max 50 characters)   |
| `LegalEntityId` | No       | Legal entity identifier (integer) |

### Example Request

```bash theme={null}
curl --location --request POST \
  'https://trustcallapi.dncscrub.com/v1.4/trustcall/add' \
  --header 'Content-Type: application/json' \
  --header 'loginId: YOUR_API_KEY' \
  --data-raw '[
    {"Phone": "5039367187", "Label": "Customer Service", "LegalEntityId": 123},
    {"Phone": "8084565302", "Label": "Marketing", "LegalEntityId": 456}
  ]'
```

### Response

```json theme={null}
[
  {
    "Response": "Phone number added to monitor",
    "Phone": "5039367187",
    "LegalEntityId": 123,
    "CurrScore": "Clean",
    "MaxScore": "Clean",
    "HistoricalScore": "0",
    "VerizonScore": "Clean",
    "ATTScore": "Clean",
    "TMobileScore": "Clean",
    "RoboKillerStatus": "Clean",
    "NomoroboStatus": "Clean",
    "FTCComplaints": null
  }
]
```

<Note>
  When first added, scores may show as `Processing` until checked with each
  carrier (within 24 hours).
</Note>

***

## Check Scores

Get current scores for monitored phone numbers.

### Endpoint

```
GET/POST https://trustcallapi.dncscrub.com/v1.4/trustcall/get
```

### Using GET (up to 200 numbers)

```bash theme={null}
curl --location --request GET \
  'https://trustcallapi.dncscrub.com/v1.4/trustcall/get?phoneList=7867056421,3862847537' \
  --header 'Content-Type: application/json' \
  --header 'loginId: YOUR_API_KEY'
```

### Using POST (for larger batches)

```bash theme={null}
curl --location --request POST \
  'https://trustcallapi.dncscrub.com/v1.4/trustcall/get' \
  --header 'Content-Type: application/json' \
  --header 'loginId: YOUR_API_KEY' \
  --data-raw '["5039367187", "8084565302"]'
```

### Response

```json theme={null}
[
  {
    "Response": "Phone number current score",
    "Phone": "7867056421",
    "LegalEntityId": 123,
    "CurrScore": "High",
    "MaxScore": "High",
    "HistoricalScore": "5",
    "VerizonScore": "Flagged",
    "ATTScore": "Flagged",
    "TMobileScore": "Clean",
    "RoboKillerStatus": "Clean",
    "NomoroboStatus": "Flagged",
    "FTCComplaints": [
      {
        "FTCComplaintId": "79923e06b1c74d47e6ad5826b7554046",
        "Phone": "7867056421",
        "CreatedDate": "08/15/2022 22:22:39",
        "ViolationDate": "07/29/2022 12:04:00",
        "City": "Jackson",
        "State": "New Jersey",
        "AreaCode": "732",
        "Subject": "Dropped call or no message",
        "RecordedMessageOrRobocall": "Y"
      }
    ]
  }
]
```

***

## Get All Scores

Get scores for all phone numbers in your account.

### Endpoint

```
GET https://trustcallapi.dncscrub.com/v1.4/trustcall/getAll
```

### Example

```bash theme={null}
curl --location --request GET \
  'https://trustcallapi.dncscrub.com/v1.4/trustcall/getAll' \
  --header 'Content-Type: application/json' \
  --header 'loginId: YOUR_API_KEY'
```

***

## Remove Phone Numbers

Remove phone numbers from monitoring.

### Endpoint

```
POST https://trustcallapi.dncscrub.com/v1.4/trustcall/remove
```

### Example

```bash theme={null}
curl --location --request POST \
  'https://trustcallapi.dncscrub.com/v1.4/trustcall/remove' \
  --header 'Content-Type: application/json' \
  --header 'loginId: YOUR_API_KEY' \
  --data-raw '["5039367187"]'
```

### Response

```json theme={null}
[
  {
    "Phone": "5039367187",
    "Response": "Phone number removed from monitor"
  }
]
```

***

## Response Fields

| Field              | Description                                                       |
| ------------------ | ----------------------------------------------------------------- |
| `Response`         | Status message                                                    |
| `Phone`            | The phone number                                                  |
| `LegalEntityId`    | Legal entity identifier (integer)                                 |
| `CurrScore`        | Current average score: `Clean`, `Medium`, `High`, or `Processing` |
| `MaxScore`         | Maximum score in last 15 days                                     |
| `HistoricalScore`  | Score from 0-5 (0-1 = no issues, 5 = 50%+ high spam)              |
| `VerizonScore`     | Verizon status: `Clean`, `Flagged`, or `Processing`               |
| `ATTScore`         | AT\&T status: `Clean`, `Flagged`, or `Processing`                 |
| `TMobileScore`     | T-Mobile status: `Clean`, `Flagged`, or `Processing`              |
| `RoboKillerStatus` | RoboKiller app status: `Clean` or `Flagged`                       |
| `NomoroboStatus`   | Nomorobo app status: `Clean` or `Flagged`                         |
| `FTCComplaints`    | Array of FTC complaints (if any)                                  |

## FTC Complaint Fields

| Field                       | Description                   |
| --------------------------- | ----------------------------- |
| `FTCComplaintId`            | Unique complaint identifier   |
| `Phone`                     | Phone number complained about |
| `CreatedDate`               | When complaint was filed      |
| `ViolationDate`             | When violation occurred       |
| `City`                      | Complainant's city            |
| `State`                     | Complainant's state           |
| `AreaCode`                  | Complainant's area code       |
| `Subject`                   | Complaint category            |
| `RecordedMessageOrRobocall` | `Y` if robocall complaint     |

## Limits

| Limit                          | Value     |
| ------------------------------ | --------- |
| Numbers per Add request        | 50        |
| Numbers per Get request (POST) | Unlimited |
| Numbers per Get request (GET)  | 200       |

## C# Class Definitions

```csharp theme={null}
public class PhoneResponseRecord
{
    public string Response { get; set; }
    public string Phone { get; set; }
    public int? LegalEntityId { get; set; }
    public string CurrScore { get; set; }
    public string MaxScore { get; set; }
    public string HistoricalScore { get; set; }
    public string VerizonScore { get; set; }
    public string ATTScore { get; set; }
    public string TMobileScore { get; set; }
    public string RoboKillerStatus { get; set; }
    public string NomoroboStatus { get; set; }
    public List<FTCComplaintDTO> FTCComplaints { get; set; }
}

public class FTCComplaintDTO
{
    public string FTCComplaintId { get; set; }
    public string Phone { get; set; }
    public string CreatedDate { get; set; }
    public string ViolationDate { get; set; }
    public string City { get; set; }
    public string State { get; set; }
    public string AreaCode { get; set; }
    public string Subject { get; set; }
    public string RecordedMessageOrRobocall { get; set; }
}
```
