# Run an ISO conflict check

Asks whether a brokerage (an ISO) this lender is onboarding is already on Specter's network. Send any of legalBusinessName, dbaName, ein, ownerName, ownerSsn, contactName, contactEmail and contactPhone, with attested: true; at least one of a name, EIN, SSN, email or phone is required, and a person's name only ever corroborates a business match. The answer is a status (no_verified_match, potential_match, existing_relationship), a confidence and which FIELDS matched — never an identifier — and, for a single match only, the brokerage's name, standing and on-file date. Every check is written to the trail as a fingerprint and field names, refusals included. 30 per person per hour and 200 per workspace per day, then 429 with the check's reference. ADMIN OR OWNER of a lender workspace Specter has switched onto the network (403 otherwise); 503 when this deployment holds no lookup key.

Access class: `workspace:admin`.

## Endpoint

`POST /v1/iso-network/checks`

## Request body

Content type: `application/json`.

```json
{
  "body": {
    "attested": true,
    "contactEmail": "string",
    "contactName": "string",
    "contactPhone": "string",
    "dbaName": "string",
    "ein": "string",
    "legalBusinessName": "string",
    "ownerName": "string",
    "ownerSsn": "string"
  },
  "params": {},
  "query": {}
}
```

## Responses

### 201

the action's answer

Content type: `application/json`.

```json
{
  "data": {
    "businessName": "string",
    "confidence": "string",
    "matchedFields": [
      "string"
    ],
    "onFileSince": "string",
    "referenceCode": "string",
    "relationshipStatus": "string",
    "reviewRequired": true,
    "status": "string"
  }
}
```

### default

a refusal: `{"error": "<what a person needs to read>"}`. 401 no credential, 402 the plan does not include this, 403 the seat does not, 404 the thing does not exist or is not yours to see.

Content type: `application/json`.

```json
{
  "error": "string"
}
```
