# Credit and Non-credit Inquiries

What makes a credit report actionable, in the FCRA sense, is determined by (this is not legal advice!):

- if the consumer was pinned based on the supplied identifying information
- if the product(s) in the report are based on disclosable and disputable data. All Congruit products are classified as either actionable or non-actionable.


If Congruit cannot pin the consumer based on the supplied identifying information, then we will automatically *not* run any actionable products in the current Explan. Non-actionable products continue to run in the order specified.

If the consumer is pinned, then all products are run in accordance with the current Explan.

## Mandatory Fields

The Evaluation endpoints require:

- name and address
- at least one of: [SSN, phone, email]
- Explan name to use for this transaction (specifies order of selected products,
inquiry permissible purpose, tradeline type)


Optional:

- date of birth
- USA state drivers license
- bank account
- credit card


## Data Validation

Congruit's inbound schemas are strict, in the sense that any invalid data submitted will cause the entire inquiry to be rejected with a `400` HTTP error code. The response will contain an appropriate error message.

Example of `301-43-435` submitted for SSN instead of something like `301434356`

```json
{
  "errors": [
    {
      "code": "bad_request",
      "detail": "#/paths/~1v1~1evaluation/post/requestBody/content/application~1json/schema/properties/request/properties/governmentId/properties/number pattern ^\\d{9}$ does not match value: \"301-43-435\""
    }
  ]
}
```

## Products appearing in the Response

`evaluation` API responses follow this structure:

```json
{
  "report": {
    "transactionId": "string",
    "receivedAt": "2019-08-24T14:15:22Z",
    "results": { … },
    "errors": [ … ],
    "consumerAlerts": [ … ]
  }
}
```

The product results appear in the `results` section. Here's an example which ran:

- resolutionVerifyV1
- achExchangeV1
- achExchangeExtendedV1
- resolutionV1


```json
{   "results":
    {"resolutionVerifyV1":
      {"name": "resolution_verify",
       "version": "1",
       "results":
        {"ofac": {"match": false},
         "ssn": {"valid": true, "itin": false},
         "address": {"valid": true, "confidence": 6},
         "phone": {"valid": true, "areaCodeMatchesState": false},
         "email": {"valid": true},
         "bankAccount": {"valid": true},
         "paymentCard": {"valid": nil}}},
     "achExchangeV1":
      {"name": "ach_exchange",
       "version": "1",
       "accountHistoryStatus":
        {"revokedAuthorization": {"3": 0, "7": 0, "30": 0, "90": 0, "365": 0},
         "nsf": {"3": 0, "7": 0, "30": 0, "90": 0, "365": 0},
         "accountClosed": {"3": 0, "7": 0, "30": 0, "90": 0 , "365": 0},
         "fraud": {"3": 0, "7": 0, "30": 0, "90": 0, "365": 0},
         "deceased": {"3": 0, "7": 0, "30": 0, "90": 0, "365": 0},
         "configurationError": {"3": 0, "7": 0, "30": 0, "90": 0, "365": 0}}},
     "achExchangeExtendedV1":
      {"name": "ach_exchange_extended",
       "version": "1",
       "accountHistoryStatus":
        {"revokedAuthorization": {"3": 0, "7": 0, "30": 0, "90": 0, "365": 0},
         "nsf": {"3": 0, "7": 0, "30": 0, "90": 0, "365": 0},
         "accountClosed": {"3": 0, "7": 0, "30": 0, "90": 0 , "365": 0},
         "fraud": {"3": 0, "7": 0, "30": 0, "90": 0, "365": 0},
         "deceased": {"3": 0, "7": 0, "30": 0, "90": 0, "365": 0},
         "configurationError": {"3": 0, "7": 0, "30": 0, "90": 0, "365": 0}}},
     "resolutionV1":
      {"name": "resolution",
       "version": "1",
       "results":
        {"consumer": {"seen": {"daysAgo": 0, "count": 2, "tradelineType": { "daysAgo": 0}}},
         "bankAccount": {"seen": {"daysAgo": 0, "matches": true}},
         "paymentCard": {"seen": {"daysAgo": nil, "matches": nil}},
         "phone": {"seen": {"daysAgo": 0, "multiple": false, "matches": true}},
         "address": {"seen": {"daysAgo": 0, "multiple": false, "matches": true}},
         "email": {"seen": {"daysAgo": 0, "multiple": false, "matches": true}}}
      }
}
```

### Product results

Each product section is formatted:

- canonical name. Eg, `resolutionV1`
- name. Eg, `resolution`
- version. Eg `1`
- results. This is a json array of all of the attributes and attribute groups that constitute the product.


Notice that the canonical name includes the version in it. It is possible for an Explan to request the same product to be run at two different version levels. Clients might do this during an upgrade period as they evaluate the additional lift gained by using the new version of a product (versus the old version).