# Make an Inquiry

`POST https://api.agilitycredit.net/v3/credit-reports`

Docs page: https://apidocs.agilitycredit.com/api/make-inquiry · Tag: Credit Reports

The "Make an Inquiry" section allows users to submit a request for credit information based on provided applicant details. By filling in required applicant information, users can retrieve borrower and co-borrower credit profiles, employment history, credit scores, public records, trade lines, collections data, inquiries, and summary reports. This section enables users to access comprehensive credit information for decision-making processes.

Authentication: `Authorization: Bearer <api key>`.

## Parameters

| Name | In | Required | Description |
| --- | --- | --- | --- |
| `Idempotency-Key` | header | yes | A unique, idempotent key. We recommend to use a guid |
| `Agc-Tenant-Id` | header | yes | The tenant ID provided by Agility Credit. |
| `Agc-User-Id` | header | yes | The requestor user ID. |
| `Agc-Applicant-Id` | header |  | If passed, will assign the report to that applicant. If not, will create a new applicant ID |

## Request body (`application/json`), required

Inquiry request payload. > ⚠️ **Data is automatically sanitized** before it is sent to the bureau — > disallowed characters are stripped, values are reformatted or truncated to > the bureau's limits, and values that cannot be made valid are dropped. Your > original values are still stored on the applicant record. See > [**Credit Report Data Sanitization**](https://apidocs.agilitycredit.com/data-sanitization/credit-report) for the > full per-field rules for each bureau. > > **decisioning** is an optional service that requires a custom configuration for > a successful request.

Schema: `Inquiry`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `bureau_id` | string: `equifax`, `transunion`, `experian` | yes |  |
| `pull_type` | string: `prequal`, `hard` | yes |  |
| `applicant_main` | object | yes |  |
| `applicant_main.first_name` | string | yes | The first name of the applicant. [REQUIRED] |
| `applicant_main.middle_name` | string |  | The middle name of the applicant. Middle name can be an initial. |
| `applicant_main.last_name` | string | yes | The last name of the applicant. [REQUIRED] |
| `applicant_main.ssn` | string |  | The SSN of the applicant. Required if pull_type is set to 'hard'. |
| `applicant_main.dob` | string |  | The date of birth of the applicant. Required if pull_type is set to 'hard'. |
| `applicant_main.phone` | string |  | The phone number of the applicant. |
| `applicant_main.email` | string |  | The email address of the applicant. |
| `applicant_main.address` | string | yes | The address of the applicant. The format is '{house_number} {street_name} {street_type} {direction}'. street_type and direction are optional. [REQUIRED] |
| `applicant_main.zip` | string | yes | The ZIP code of the applicant. [REQUIRED] |
| `applicant_main.state` | string | yes | The state of the applicant. [REQUIRED] |
| `applicant_main.city` | string | yes | The city of the applicant. Abbreviation of the city name. E.g 'NY'. [REQUIRED] |
| `applicant_main.income` | object |  |  |
| `applicant_main.income.gross_monthly` | integer | yes | Gross monthly income, greater than zero. [REQUIRED] |
| `applicant_main.income.other_monthly` | integer |  | Other monthly income, greater than zero. |
| `applicant_main.income.other_source` | string: `aid_for_dependent_children`, `child_support`, `cola`, `disability`, `fssa`, `housing_allowances`, `military_basic_allowance_for_subsistence`, `municipal_bond_interest`, `non_taxable_sources_of_income`, `other`, … (5 more) |  | Source of other income. |
| `applicant_co` | object |  |  |
| `applicant_co.first_name` | string | yes | The first name of the applicant. [REQUIRED] |
| `applicant_co.middle_name` | string |  | The middle name of the applicant. Middle name can be an initial. |
| `applicant_co.last_name` | string | yes | The last name of the applicant. [REQUIRED] |
| `applicant_co.ssn` | string |  | The SSN of the applicant. Required if pull_type is set to 'hard'. |
| `applicant_co.dob` | string |  | The date of birth of the applicant. Required if pull_type is set to 'hard'. |
| `applicant_co.phone` | string |  | The phone number of the applicant. |
| `applicant_co.email` | string |  | The email address of the applicant. |
| `applicant_co.address` | string | yes | The address of the applicant. The format is '{house_number} {street_name} {street_type} {direction}'. street_type and direction are optional. [REQUIRED] |
| `applicant_co.zip` | string | yes | The ZIP code of the applicant. [REQUIRED] |
| `applicant_co.state` | string | yes | The state of the applicant. [REQUIRED] |
| `applicant_co.city` | string | yes | The city of the applicant. Abbreviation of the city name. E.g 'NY'. [REQUIRED] |
| `applicant_co.income` | object |  |  |
| `applicant_co.income.gross_monthly` | integer | yes | Gross monthly income, greater than zero. [REQUIRED] |
| `applicant_co.income.other_monthly` | integer |  | Other monthly income, greater than zero. |
| `applicant_co.income.other_source` | string: `aid_for_dependent_children`, `child_support`, `cola`, `disability`, `fssa`, `housing_allowances`, `military_basic_allowance_for_subsistence`, `municipal_bond_interest`, `non_taxable_sources_of_income`, `other`, … (5 more) |  | Source of other income. |
| `report_format` | one of: string: `json`, `html`, `xml`, `raw`, `pdf`, `link`, array of string: `json`, `html`, `xml`, `raw`, `pdf` | yes |  |
| `features` | array of string: `mla`, `ofac`, `auto_summary`, `shield`, `decisioning` |  |  |
| `decisioning_attributes` | array of object |  | Attributes passed to the bureau's decisioning engine. Required when `features` contains `decisioning`. |
| `decisioning_attributes[].name` | string: `LOANTYPE`, `PORTFOLIOTYPE`, `MNTHLYHOUSEPYMNT`, `OCCUPANCY`, `MOSATRES`, `CRDTCARDTYP`, `CRDTCARDESTPYMNT`, `CRDTCARDPURPTYP`, `CRDTCARDREQLMT`, `EMPOFFININST`, … (45 more) | yes | The attribute name. It determines the allowed type and limit of `value`: \| Name \| Type \| Limit \| \| --- \| --- \| --- \| \| `LOANTYPE` \| string \| max length 30 \| \| `PORTFOLIOTYPE` \| string \| max length 30 \| \| `MNTHLYHOUSEPYMNT` \| integer \| ±999… |
| `decisioning_attributes[].value` | string \| integer | yes |  |
| `score_models` | one of: equifax, experian, transunion |  | A list of score models to request. All values must belong to a single bureau column (equifax, experian, or transunion); models from different bureaus cannot be combined in one request. |

Example:

```json
{
  "bureau_id": "experian",
  "pull_type": "prequal",
  "report_format": "json",
  "score_models": [],
  "features": [],
  "applicant_main": {
    "first_name": "JANE",
    "last_name": "SAMPLE",
    "phone": "",
    "email": "",
    "address": "123 MAIN ST",
    "city": "ANYTOWN",
    "state": "TX",
    "zip": "750010000",
    "income": {
      "gross_monthly": 5000,
      "other_monthly": 2000,
      "other_source": "second_employer"
    }
  }
}
```

## Responses

| Status | Description | Body |
| --- | --- | --- |
| 200 | Inquiry processed successfully | one of: InquiryResponse, InquiryResponseWithBureauError, InquiryResponseJoint, InquiryResponseMultipleFormats, ComplianceResponse |
| 400 | Bad Request | BadRequestResponse |
| 401 | Unauthorized | UnauthorizedResponse |
| 429 | Too Many Requests | TooManyRequestsResponse |
| 500 | Internal Server Error | AgilityServerErrorResponse |
The 200 body is one of: `InquiryResponse`, `InquiryResponseWithBureauError`, `InquiryResponseJoint`, `InquiryResponseMultipleFormats`, `ComplianceResponse` (discriminator: `body_type`).

### Error bodies

400:

```json
{
  "status": "Bad Request - Invalid Parameters",
  "error": "Failed schema validation. Error: data.pull_type must be one of ['prequal', 'hard'], Path: ['data', 'pull_type'], Data: prequalification"
}
```

401:

```json
{
  "message": "Unauthorized"
}
```

429:

```json
{
  "error": "Too Many Requests"
}
```

500:

```json
{
  "message": "Agility Server Error"
}
```
