<!-- https://staircase.co/products/verification/credit -->
# Credit

# Credit

One credit API over several bureaus, returning one canonical credit response whichever bureau answered.

A caller sends a borrower and a pull type. The product resolves which bureau to call from the lender's configured ordering, makes the call, maps the response into the canonical credit classes, and returns it. The caller's contract does not name a bureau, so changing the ordering changes nothing on the caller's side.

Both soft and hard pulls are exposed. A soft pull carries no borrower-visible inquiry, which is what makes it usable early in an application without triggering competing lender outreach.

## How it works

Bureau responses are not shaped alike, and the differences are not cosmetic: liability classification, score model naming, and the treatment of joint borrowers all differ. The mapping to the canonical model is declared in a language configuration per bureau, so a bureau added later needs a configuration, not a change to this product.

Ordering is configured per lender rather than fixed here. The recorded credit configuration carries no committed sequence for that reason, and the page shows the vendor roster rather than inventing one.

One bureau's consumer credit product is asynchronous, with a typical report time the vendor states in seconds. The integration polls it and presents a synchronous call to the caller, on the reasoning that a caller with a borrower waiting should not be made to write a polling loop for a wait that short.

## Operations

<!--source:api-specifications-->

### Platform
<!--/source-->

`PUT` `/blobs/{blob_id}/presigned-urls/{action}`

<!--source:api-specifications-->

#### Create Report Download URL
<!--/source-->

`createPresignedUrl`

<!--source:api-specifications-->
Create Report Download URL creates a presigned URL in Staircase. It expires one hour after creation.

If partner provides a report in the documents, you can generate a download url with using staircase blob ID.

<!--/source-->

##### Response

<!--source:api-specifications-->
200 ExampleUpload200 ExampleDownload403
<!--/source-->

<!--source:api-specifications-->
application/json Copy Presigned URL created successfully.

```
{
 "upload": {
 "url": "https://dev-data-manager-blobs-bucket.s3.amazonaws.com/01EZY9J8SEFM2JKDJ1Q3YX65HS"
 }
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Presigned URL created successfully.

```
{
 "download": {
 "url": "https://dev-data-manager-blobs-bucket.s3.amazonaws.com/01EZY9J8SEFM2JKDJ1Q3YX65HS"
 }
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy 403 invalid error

```
{
 "message": "Please check the key you used to call this service",
 "url": "https://api.staircase.co/docs/api-reference/customer-account-manager-service.yml/paths/~1products~1refresh/post"
}
```

<!--/source-->

##### Parameters

<!--source:api-specifications-->
3
<!--/source-->

| Parameter | Type | Example | Description |
| --- | --- | --- | --- |
| `x-api-key` required | `string` header | `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` | <!--source:api-specifications-->Environment API Key.<!--/source--> |
| `blob_id` required | `string` path | `01EZY9J8SEFM2JKDJ1Q3YX65HS` | <!--source:api-specifications-->Blob identifier<!--/source--> |
| `action` required | `string` path | `upload` | <!--source:api-specifications-->Action, one of one of ['upload', 'download']<!--/source--> |

##### Response `200``application/json`

<!--source:api-specifications-->
2 fields
<!--/source-->
<!--source:api-specifications-->
Presigned URL created successfully.
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `upload` | `object` | <!--source:api-specifications-->Action<!--/source--> |
| `url` | `string` | <!--source:api-specifications-->Presigned_url<!--/source--> |
| `download` | `object` | <!--source:api-specifications-->Action<!--/source--> |
| `url` | `string` | <!--source:api-specifications-->Presigned_url<!--/source--> |

##### Response `403``application/json`

<!--source:api-specifications-->
2 fields
<!--/source-->
<!--source:api-specifications-->
403 invalid error
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Error message.<!--/source--> |
| `url` | `string` | <!--source:api-specifications-->Error additional URL.<!--/source--> |

##### Other responses

`400``404`

`POST` `/transactions`

<!--source:api-specifications-->

#### Create Transaction
<!--/source-->

`createTransaction`

<!--source:api-specifications-->
Create Transaction creates a transaction in Staircase. Transactions in Staircase are containers for all the data related to an instance of a transaction type. They enable you to correlate the output of various products to a single transaction type, where the transaction type depends on your line of business.

Transactions are identified by a unique key called `transaction_id`. As you use different Staircase products to gather the data needed for a specific instance of your transaction type, and receive different sets of output from each product, use the same transaction_id to correlate all the outputs to the same transaction. A `transaction_id`, when used properly, gives you a holistic view of the data related to the transaction you’ve assembled.

To access all collections associated with a given transaction_id, try out /transactions/{transaction_id}/collections

<!--/source-->

##### Request

<!--source:api-specifications-->
application/json Copy
```
{
 "label": "first_transaction",
 "callback_url": "https://webhook.site/0c1c4e00-79d9-490b-a0f3-bab8b12a61d5"
}
```

<!--/source-->

##### Response

<!--source:api-specifications-->
201403500
<!--/source-->

<!--source:api-specifications-->
application/json Copy Transaction created successfully

```
{
 "transaction_id": "01F0KHK7DN3H5JZ4QJKMYAM6GB",
 "created_at": "03/04/2021, 1:04:05 PM EST"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy 403 invalid error

```
{
 "message": "Please check the key you used to call this service",
 "url": "https://api.staircase.co/docs/api-reference/customer-account-manager-service.yml/paths/~1products~1refresh/post"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Internal server error

```
{
 "message": "The product has encountered an internal server error. If you have used a transaction_id to call our services, please submit it to Staircase support"
}
```

<!--/source-->

##### Parameters

<!--source:api-specifications-->
1
<!--/source-->

| Parameter | Type | Example | Description |
| --- | --- | --- | --- |
| `x-api-key` required | `string` header | `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` | <!--source:api-specifications-->Environment API Key.<!--/source--> |

##### Request body`application/json`

<!--source:api-specifications-->
2 fields
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `callback_url` | `string (url)` | <!--source:api-specifications-->URL for receiving events about changes inside transaction<!--/source--> |
| `label` | `string` | <!--source:api-specifications-->Transaction label<!--/source--> |

##### Response `201``application/json`

<!--source:api-specifications-->
2 fields
<!--/source-->
<!--source:api-specifications-->
Transaction created successfully
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `transaction_id` | `string (ulid)` | <!--source:api-specifications-->Staircase Transaction Identifier<!--/source-->Example `01F0KHK7DN3H5JZ4QJKMYAM6GB` |
| `created_at` | `string` | <!--source:api-specifications-->Staircase time string.<!--/source-->Example `03/03/2021, 8:24:04 AM EST` |

##### Response `403``application/json`

<!--source:api-specifications-->
2 fields
<!--/source-->
<!--source:api-specifications-->
403 invalid error
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Error message.<!--/source--> |
| `url` | `string` | <!--source:api-specifications-->Error additional URL.<!--/source--> |

##### Response `500``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Internal server error
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Error message.<!--/source--> |

##### Other responses

`400`

`GET` `/transactions/{transaction_id}/collections`

<!--source:api-specifications-->

#### Retrieve Transaction Collections
<!--/source-->

`RetrieveTransactionCollections`

<!--source:api-specifications-->
Retrieve Transaction Collections returns the content of a given collection_id associated with a specific transaction_id.

<!--/source-->

##### Response

<!--source:api-specifications-->
200400403404500
<!--/source-->

<!--source:api-specifications-->
application/json Copy Transaction collection retrieved successfully

```
{
 "deal_sets": {
 "deal_set": [
 {
 "deals": {
 "deal": [
 {
 "parties": {
 "party": [
 {
 "individual": {
 "name": {
 "first": "Thomas",
 "last": "Alex"
 }
 },
 "taxpayer_identifiers": {
 "taxpayer_identifier": [
 {
 "value": "12345"
 }
 ]
 },
 "roles": {
 "role": [
 {
 "borrower": {
 "residences": {
 "residence": [
 {
 "address": {
 "line_text": "street 101",
 "city": "example city",
 "state": "state",
 "postal_code": "1234",
 "street_name": "street 23"
 }
 }
 ]
 }
 }
 }
 ]
 }
 }
 ]
 }
 }
 ]
 }
 }
 ]
 }
}
```

<!--/source-->

<!--source:api-specifications-->
text/html Copy Error

```
<html>\r\n<head><title>400 Bad Request</title></head>\r\n<body>\r\n<center><h1>400 Bad Request</h1></center>\r\n</body>\r\n</html>\r\n
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy 403 invalid error

```
{
 "message": "Please check the key you used to call this service",
 "url": "https://api.staircase.co/docs/api-reference/customer-account-manager-service.yml/paths/~1products~1refresh/post"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Resource not found

```
{
 "message": "Unable to get collections of given transaction. Please check the transaction id"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Internal server error

```
{
 "message": "The product has encountered an internal server error. If you have used a transaction_id to call our services, please submit it to Staircase support"
}
```

<!--/source-->

##### Parameters

<!--source:api-specifications-->
2
<!--/source-->

| Parameter | Type | Example | Description |
| --- | --- | --- | --- |
| `x-api-key` required | `string` header | `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` | <!--source:api-specifications-->Environment API Key.<!--/source--> |
| `transaction_id` required | `string (ulid)` path | `01F0KHK7DN3H5JZ4QJKMYAM6GB` | <!--source:api-specifications-->Staircase Transaction Identifier<!--/source--> |

##### Response `400``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Error
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `one of` | <!--source:api-specifications-->Either message object with more properties.<!--/source--> |

##### Response `403``application/json`

<!--source:api-specifications-->
2 fields
<!--/source-->
<!--source:api-specifications-->
403 invalid error
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Error message.<!--/source--> |
| `url` | `string` | <!--source:api-specifications-->Error additional URL.<!--/source--> |

##### Response `404``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Resource not found
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Message<!--/source--> |

##### Response `500``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Internal server error
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Error message.<!--/source--> |

##### Other responses

`200`

`POST` `/transactions/{transaction_id}/collections`

<!--source:api-specifications-->

#### Create Collection
<!--/source-->

`createCollection`

<!--source:api-specifications-->
Create Collection creates a collection of data points required for product invocation. A collection contains a digital representation of the input or output data for the product and is identified by `collection_id`.

The Example below contains a sample collection that you can use to make the product invocation in /get-collection

<!--/source-->

##### Request

<!--source:api-specifications-->
application/json Copy
```
{
 "data": {
 "organizations": [
 {
 "has_organization_name": {
 "has_value": "Enterprise One"
 },
 "@type": "organization",
 "@id": "01FD6ZNGNFKY3B7CX0YN6NH56E"
 }
 ],
 "contact_information": [
 {
 "has_email_address": {
 "has_value": "test@test.com"
 },
 "@type": "contact_information",
 "@id": "01FD6ZNGJW9X96WGWX2BD37CFY"
 }
 ],
 "addresses": [
 {
 "has_address_line_1_text": {
 "has_value": "33 IRVING PLACE"
 },
 "has_state_code": {
 "has_value": "NY"
 },
 "@type": "address",
 "@id": "01FD6ZNGJADZ0RB1H96FSE8BAB",
 "has_country_name": {
 "has_value": "US"
 },
 "has_address_line_2_text": {
 "has_value": "a"
 },
 "has_postal_code": {
 "has_value": "10003"
 },
 "has_city_name": {
 "has_value": "NEW YORK"
 }
 }
 ],
 "people": [
 {
 "contact_at": [
 "01FD6ZNGJW9X96WGWX2BD37CFY"
 ],
 "has_taxpayer_identifier_value": {
 "has_value": "666234390"
 },
 "has_birth_date": {
 "has_value": "12/28/1958"
 },
 "with_address": [
 "01FD6ZNGJADZ0RB1H96FSE8BAB"
 ],
 "has_last_name": {
 "has_value": "Jackson"
 },
 "@id": "01FD6ZKZD7WGZXYFGJBVPVP2Q5",
 "works_for": [
 "01FD6ZNGNFKY3B7CX0YN6NH56E"
 ],
 "has_first_name": {
 "has_value": "John"
 }
 }
 ]
 }
}
```

<!--/source-->

##### Response

<!--source:api-specifications-->
201400 CreateCollectionError400 text/html403404 CreateCollectionError404 text/html500
<!--/source-->

<!--source:api-specifications-->
application/json Copy Collection created successfully

```
{
 "data": {
 "example": {
 "people": [
 {
 "@id": "01FD6ZKZD7WGZXYFGJBVPVP2Q5",
 "has_first_name": {
 "has_value": "John"
 },
 "has_last_name": {
 "has_value": "Jackson"
 },
 "has_birth_date": {
 "has_value": "12/28/1958"
 },
 "has_taxpayer_identifier_value": {
 "has_value": "666234390"
 },
 "with_address": [
 "01FD6ZNGJADZ0RB1H96FSE8BAB"
 ],
 "contact_at": [
 "01FD6ZNGJW9X96WGWX2BD37CFY"
 ]
 }
 ],
 "addresses": [
 {
 "@id": "01FD6ZNGJADZ0RB1H96FSE8BAB",
 "@type": "address",
 "has_address_line_1_text": {
 "has_value": "33 IRVING PLACE"
 },
 "has_address_line_2_text": {
 "has_value": "a"
 },
 "has_city_name": {
 "has_value": "NEW YORK"
 },
 "has_state_code": {
 "has_value": "NY"
 },
 "has_postal_code": {
 "has_value": "10003"
 },
 "has_country_name": {
 "has_value": "US"
 }
 }
 ],
 "contact_information": [
 {
 "@id": "01FD6ZNGJW9X96WGWX2BD37CFY",
 "@type": "contact_information",
 "has_email_address": {
 "has_value": "test@test.com"
 }
 }
 ],
 "employment": [
 {
 "provided_by": [
 "01FD6ZNGME8E1JFD342F7WDK8V"
 ]
 }
 ],
 "loans": [
 {
 "with_borrower": [
 "01FD6ZKZD7WGZXYFGJBVPVP2Q5"
 ]
 }
 ],
 "organizations": [
 {
 "@id": "01FD6ZNGNFKY3B7CX0YN6NH56E",
 "@type": "customer"
 }
 ]
 }
 },
 "metadata": {}
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Error

```
{
 "message": "Unable to create collection. Please check the collection data"
}
```

<!--/source-->

<!--source:api-specifications-->
text/html Copy Error

```
<html>\r\n<head><title>400 Bad Request</title></head>\r\n<body>\r\n<center><h1>400 Bad Request</h1></center>\r\n</body>\r\n</html>\r\n
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy 403 invalid error

```
{
 "message": "Please check the key you used to call this service",
 "url": "https://api.staircase.co/docs/api-reference/customer-account-manager-service.yml/paths/~1products~1refresh/post"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Resource not found

```
{
 "message": "Unable to create collection. Please check the transaction ID."
}
```

<!--/source-->

<!--source:api-specifications-->
text/html Copy Resource not found

```
<html>\r\n<head><title>400 Bad Request</title></head>\r\n<body>\r\n<center><h1>400 Bad Request</h1></center>\r\n</body>\r\n</html>\r\n
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Internal server error

```
{
 "message": "The product has encountered an internal server error. If you have used a transaction_id to call our services, please submit it to Staircase support"
}
```

<!--/source-->

##### Parameters

<!--source:api-specifications-->
2
<!--/source-->

| Parameter | Type | Example | Description |
| --- | --- | --- | --- |
| `x-api-key` required | `string` header | `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` | <!--source:api-specifications-->Environment API Key.<!--/source--> |
| `transaction_id` required | `string (ulid)` path | `01F0KHK7DN3H5JZ4QJKMYAM6GB` | <!--source:api-specifications-->Staircase Transaction Identifier<!--/source--> |

##### Response `400``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Error
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `one of` | <!--source:api-specifications-->Either message object with more properties.<!--/source--> |

##### Response `403``application/json`

<!--source:api-specifications-->
2 fields
<!--/source-->
<!--source:api-specifications-->
403 invalid error
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Error message.<!--/source--> |
| `url` | `string` | <!--source:api-specifications-->Error additional URL.<!--/source--> |

##### Response `404``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Resource not found
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Message<!--/source--> |

##### Response `500``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Internal server error
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Error message.<!--/source--> |

##### Other responses

`201``405`

`GET` `/transactions/{transaction_id}/collections/{collection_id}`

<!--source:api-specifications-->

#### Retrieve Collection
<!--/source-->

`retrieveCollection`

<!--source:api-specifications-->
Retrieve Collection returns the content of a given `collection_id` associated with a `transaction_id`.

<!--/source-->

##### Response

<!--source:api-specifications-->
200 response_collection_example200 request_collection_example403404 GetCollectionError404 GetCollectionsError500
<!--/source-->

<!--source:api-specifications-->
application/json Copy Successfully Retrieved Collection

```
{
 "data": {
 "credit_information": [
 {
 "has_credit_report_identifier": {
 "has_value": "2-d0a38e38-1639-4493-8",
 "data_sourced_from": [
 "01FCZHG9EGC306GQ34ZNZ36A67"
 ]
 },
 "has_credit_request_data_credit_repository_included_equifax_indicator": {
 "has_value": "false"
 },
 "has_credit_frozen_status_experian_indicator": {
 "has_value": "false"
 },
 "has_credit_request_data_credit_repository_included_trans_union_indicator": {
 "has_value": "false"
 },
 "has_data_version_equifax_identifier": {
 "has_value": "4"
 },
 "@type": "credit_information",
 "has_credit_bureau_name": {
 "has_value": null
 },
 "has_credit_rating_code_type": {
 "has_value": "equifax"
 },
 "has_credit_report_merge_type": {
 "has_value": "list_and_stack"
 },
 "has_credit_frozen_status_trans_union_indicator": {
 "has_value": "false"
 },
 "has_credit_repository_included_experian_indicator": {
 "has_value": "false"
 },
 "has_credit_repository_included_equifax_indicator": {
 "has_value": "false"
 },
 "has_credit_request_data_credit_repository_included_experian_indicator": {
 "has_value": "false"
 },
 "has_requesting_party_name": {
 "has_value": null
 },
 "has_credit_repository_included_trans_union_indicator": {
 "has_value": "true"
 },
 "has_credit_report_first_issued_date": {
 "has_value": "2021-08-13"
 },
 "@id": "01FCZHG9ED6FP1B3853716DDBJ",
 "has_credit_frozen_status_equifax_indicator": {
 "has_value": "false"
 },
 "with_credit_score_information": [
 "01FCZHG9EVWB7XSMY2VAK0QAJ1"
 ],
 "has_data_version_credmo_identifier": {
 "has_value": "1.3"
 }
 }
 ],
 "credit_score_information": [
 {
 "has_credit_report_identifier": {
 "has_value": "2-d0a38e38-1639-4493-8",
 "data_sourced_from": [
 "01FCZHG9EGC306GQ34ZNZ36A67"
 ]
 },
 "has_credit_score_model_name_type_other_description": {
 "has_value": "TransUnionVantageScore3.0"
 },
 "has_credit_score": {
 "has_value": "677",
 "data_sourced_from": [
 "01FCZHG9EGC306GQ34ZNZ36A67"
 ]
 },
 "has_credit_score_model_name_type": {
 "has_value": "Other"
 },
 "with_credit_score_factor": [
 [
 "01FCZHG9G3Y586GW0QXYH9GEY1",
 "01FCZHG9G372Z31MSTBYD1RZRT",
 "01FCZHG9G3C36KNGA1WSY9KGSW",
 "01FCZHG9G30MEQG7RSHZTZD3RB",
 "01FCZHG9G30BENG7W0ERGN939G"
 ]
 ],
 "@type": "credit_score_information",
 "has_credit_score_facta_inquiries_indicator": {
 "has_value": "true"
 },
 "has_credit_repository_source_type": {
 "has_value": "trans_union"
 },
 "@id": "01FCZHG9EVWB7XSMY2VAK0QAJ1",
 "has_credit_score_date": {
 "has_value": "2015-06-09"
 }
 }
 ],
 "credit_score_factors": [
 {
 "has_credit_score_factor_code": {
 "has_value": "63"
 },
 "has_credit_score_factor_text": {
 "has_value": "Lack of sufficient relevant real estate account information"
 },
 "@id": "01FCZHG9G3Y586GW0QXYH9GEY1",
 "@type": "credit_score_factor"
 },
 {
 "has_credit_score_factor_code": {
 "has_value": "12"
 },
 "has_credit_score_factor_text": {
 "has_value": "The date that you opened your oldest account is too recent"
 },
 "@id": "01FCZHG9G372Z31MSTBYD1RZRT",
 "@type": "credit_score_factor"
 },
 {
 "has_credit_score_factor_code": {
 "has_value": "14"
 },
 "has_credit_score_factor_text": {
 "has_value": "Lack of sufficient credit history"
 },
 "@id": "01FCZHG9G3C36KNGA1WSY9KGSW",
 "@type": "credit_score_factor"
 },
 {
 "has_credit_score_factor_code": {
 "has_value": "30"
 },
 "has_credit_score_factor_text": {
 "has_value": "Too few of your bankcard or other revolving accounts have high limits"
 },
 "@id": "01FCZHG9G30MEQG7RSHZTZD3RB",
 "@type": "credit_score_factor"
 },
 {
 "has_credit_score_factor_code": {
 "has_value": "I"
 },
 "has_credit_score_factor_text": {
 "has_value": "Inquiries did impact the credit score"
 },
 "@id": "01FCZHG9G30BENG7W0ERGN939G",
 "@type": "credit_score_factor"
 }
 ]
 }
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Successfully Retrieved Collection

```
{
 "data": {
 "organizations": [
 {
 "has_organization_name": {
 "has_value": "Enterprise One"
 },
 "@type": "organization",
 "@id": "01FD6ZNGNFKY3B7CX0YN6NH56E"
 }
 ],
 "contact_information": [
 {
 "has_email_address": {
 "has_value": "test@test.com"
 },
 "@type": "contact_information",
 "@id": "01FD6ZNGJW9X96WGWX2BD37CFY"
 }
 ],
 "addresses": [
 {
 "has_address_line_1_text": {
 "has_value": "33 IRVING PLACE"
 },
 "has_state_code": {
 "has_value": "NY"
 },
 "@type": "address",
 "@id": "01FD6ZNGJADZ0RB1H96FSE8BAB",
 "has_country_name": {
 "has_value": "US"
 },
 "has_address_line_2_text": {
 "has_value": "a"
 },
 "has_postal_code": {
 "has_value": "10003"
 },
 "has_city_name": {
 "has_value": "NEW YORK"
 }
 }
 ],
 "people": [
 {
 "contact_at": [
 "01FD6ZNGJW9X96WGWX2BD37CFY"
 ],
 "has_taxpayer_identifier_value": {
 "has_value": "666234390"
 },
 "has_birth_date": {
 "has_value": "12/28/1958"
 },
 "with_address": [
 "01FD6ZNGJADZ0RB1H96FSE8BAB"
 ],
 "has_last_name": {
 "has_value": "Jackson"
 },
 "@id": "01FD6ZKZD7WGZXYFGJBVPVP2Q5",
 "works_for": [
 "01FD6ZNGNFKY3B7CX0YN6NH56E"
 ],
 "has_first_name": {
 "has_value": "John"
 }
 }
 ]
 }
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy 403 invalid error

```
{
 "message": "Please check the key you used to call this service",
 "url": "https://api.staircase.co/docs/api-reference/customer-account-manager-service.yml/paths/~1products~1refresh/post"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Resource not found

```
{
 "message": "Unable to get collection. Please check the given ids"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Resource not found

```
{
 "message": "Unable to get collections of given transaction. Please check the transaction id"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Internal server error

```
{
 "message": "The product has encountered an internal server error. If you have used a transaction_id to call our services, please submit it to Staircase support"
}
```

<!--/source-->

##### Parameters

<!--source:api-specifications-->
3
<!--/source-->

| Parameter | Type | Example | Description |
| --- | --- | --- | --- |
| `x-api-key` required | `string` header | `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` | <!--source:api-specifications-->Environment API Key.<!--/source--> |
| `transaction_id` required | `string (ulid)` path | `01F0KHK7DN3H5JZ4QJKMYAM6GB` | <!--source:api-specifications-->Staircase Transaction Identifier<!--/source--> |
| `collection_id` required | `string (ulid)` path | `01F0KHKADN0HRFXMCQQXPA6AFZ` | <!--source:api-specifications-->Staircase collection_id<!--/source--> |

##### Response `403``application/json`

<!--source:api-specifications-->
2 fields
<!--/source-->
<!--source:api-specifications-->
403 invalid error
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Error message.<!--/source--> |
| `url` | `string` | <!--source:api-specifications-->Error additional URL.<!--/source--> |

##### Response `404``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Resource not found
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Message<!--/source--> |

##### Response `500``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Internal server error
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Error message.<!--/source--> |

##### Other responses

`200``400`

<!--source:api-specifications-->

### Encompass
<!--/source-->

`POST` `/products/credit/invocations`

<!--source:api-specifications-->

#### Credit Service Order
<!--/source-->

`invokeProductFlow`

<!--source:api-specifications-->
This endpoint will order new Service request in Encompass Service

This api is using Dev Connect Service Order API

```
curl --location -g --request POST '{{API_SERVER}}/encompass/v3/loans/362857d6-285a-441f-8cd1-9c1abac87b39/serviceOrders' \
 --header 'Content-Type: application/json' \
 --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
 --data-raw '{
 "serviceSetupId": "6341e24f-aaff-4160-8245-04d1e5a97920",
 "reason": "Staircase Credit Verification",
 "request": {
 "type": "Credit Verification",
 "options": {
 "requestType": "NewOrder",
 "reportOn": "Joint",
 "creditReportIdentifier": "",
 "creditBureauExperian": true,
 "creditBureauEquifax": true,
 "creditBureauTransUnion": true
 }
 }
 }'
```

<!--/source-->

##### Request

<!--source:api-specifications-->
application/json Copy
```
{
 "product_flow_name": "encompass-service-order",
 "request_data": {
 "loans": [
 {
 "@id": "id",
 "@type": "loan",
 "has_loan_identifier_value": {
 "has_value": "362857d6-285a-441f-8cd1-9c1abac87b39"
 }
 }
 ]
 }
}
```

<!--/source-->

##### Response

<!--source:api-specifications-->
201400403404500
<!--/source-->

<!--source:api-specifications-->
application/json Copy Successfully started flow invocation.

```
{
 "invocation_id": "9aefb465-90fb-4d50-8ae6-2df2b58373f4",
 "invocation_status": "STARTED",
 "product_flow_name": "VOE",
 "transaction_id": "01F6NAMXWN2XVBD1YJ92A6S6R4",
 "request_collection_id": "01F6NAQ4894HPMCBGB4P0G95XK",
 "response_collection_id": "01F6NAQ4894HPMCBGB4P0G78HG",
 "options": {
 "dry_run": false
 },
 "tags": [
 "manual verification"
 ],
 "widget_url": "https://product-dev-productsbucket-1j472c4onqkxw.s3.amazonaws.com/widgets/063f5f"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Request data failed validation

```
{
 "message": "{'data': ['Missing data for required field.']}"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy 403 invalid error

```
{
 "message": "Please check the key you used to call this service",
 "url": "https://api.staircase.co/docs/api-reference/customer-account-manager-service.yml/paths/~1products~1refresh/post"
}
```

<!--/source-->

<!--source:api-specifications-->
text/html Copy Resource not found

```
<html>\r\n<head><title>400 Bad Request</title></head>\r\n<body>\r\n<center><h1>400 Bad Request</h1></center>\r\n</body>\r\n</html>\r\n
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Internal server error

```
{
 "message": "The product has encountered an internal server error. If you have used a transaction_id to call our services, please submit it to Staircase support"
}
```

<!--/source-->

##### Parameters

<!--source:api-specifications-->
1
<!--/source-->

| Parameter | Type | Example | Description |
| --- | --- | --- | --- |
| `x-api-key` required | `string` header | `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` | <!--source:api-specifications-->Environment API Key.<!--/source--> |

##### Request body`application/json`

<!--source:api-specifications-->
10 fields
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `product_flow_name` | `string` | <!--source:api-specifications-->Product flow name. If it is not specified, the default product flow will be invoked. If the product has no default product flow, the first created flow will be invoked. Cannot be specified together with vendor_name.<!--/source--> |
| `vendor_name` | `string` | <!--source:api-specifications-->Vendor name. Cannot be specified together with product_flow_name.<!--/source--> |
| `transaction_id` | `string` | <!--source:api-specifications-->Transaction ID used for invocation.<!--/source--> |
| `request_collection_id` | `string` | <!--source:api-specifications-->Request Collection ID.<!--/source--> |
| `response_collection_id` | `string` | <!--source:api-specifications-->Response Collection ID.<!--/source--> |
| `callback_url` | `string (uri)` | <!--source:api-specifications-->Callback URL.<!--/source--> |
| `request_data` | `object` | <!--source:api-specifications-->Request JSON body.<!--/source--> |
| `tags` | `string[]` | <!--source:api-specifications-->List of tags.<!--/source--> |
| `options` | `object` | <!--source:api-specifications-->Additional information that should be passed to the connector but not be added to the request collection.<!--/source--> |
| `invocation_mode` | `string` | <!--source:api-specifications-->The invocation mode of a product flow single_flow or waterfall, default value single_flow<!--/source--> |

##### Response `201``application/json`

<!--source:api-specifications-->
12 fields
<!--/source-->
<!--source:api-specifications-->
Successfully started flow invocation.
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `invocation_id`required | `string` | <!--source:api-specifications-->Invocation ID.<!--/source--> |
| `invocation_status`required | `string` | <!--source:api-specifications-->The status of the invocation.<!--/source-->`STARTED` |
| `transaction_id`required | `string` | <!--source:api-specifications-->Transaction ID.<!--/source--> |
| `request_collection_id`required | `string` | <!--source:api-specifications-->Request collection ID.<!--/source--> |
| `response_collection_id`required | `string` | <!--source:api-specifications-->Response collection ID.<!--/source--> |
| `product_flow_name` | `string` | <!--source:api-specifications-->Product flow name.<!--/source--> |
| `metadata` | `object` | <!--source:api-specifications-->The metadata of the invoked product flow.<!--/source--> |
| `callback_url` | `string` | <!--source:api-specifications-->Callback URL.<!--/source--> |
| `request_data` | `object` | <!--source:api-specifications-->The data for the request collection.<!--/source--> |
| `tags` | `string[]` | <!--source:api-specifications-->List of tags.<!--/source--> |
| `options` | `object` | <!--source:api-specifications-->Additional information that should be passed to the connector but not be added to the request collection.<!--/source--> |
| `widget_url` | `string` | <!--source:api-specifications-->Product widget_url listening on the connector widget_url<!--/source--> |

##### Response `400``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Request data failed validation
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `one of` | <!--source:api-specifications-->Message<!--/source--> |

##### Response `403``application/json`

<!--source:api-specifications-->
2 fields
<!--/source-->
<!--source:api-specifications-->
403 invalid error
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Error message.<!--/source--> |
| `url` | `string` | <!--source:api-specifications-->Error additional URL.<!--/source--> |

##### Response `404``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Resource not found
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Message<!--/source--> |

##### Response `500``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Internal server error
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Error message.<!--/source--> |

<!--source:api-specifications-->

### Partners
<!--/source-->

`GET` `/products/credit/partners`

<!--source:api-specifications-->

#### Retrieve Product Partners
<!--/source-->

`getVendors`

<!--source:api-specifications-->
Retrieve Partners retrieves:

-All the Partners (vendors) configured in the Product Flows configurations.

-The Order of the partner in the Product Waterfall Settings or default order in Product Flows if Product Waterfall was not configured.

-The status of the partners as active/upcoming according to the configurations of the product flows of these partners (partner will be active if at least one flow is active).'

<!--/source-->

##### Response

<!--source:api-specifications-->
200 Example1200 Example2400403404 GetProduct404 text/html500
<!--/source-->

<!--source:api-specifications-->
application/json Copy Successfully retrieved product partners.

```
[
 {
 "Partner": "partner_name",
 "order": 1,
 "active": true,
 "status": "active",
 "verification_type": "borrower",
 "byoc": true
 }
]
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Successfully retrieved product partners.

```
[
 {
 "Partner": "partner_name",
 "order": 1,
 "active": false,
 "status": "upcoming",
 "verification_type": "borrower",
 "byoc": true
 }
]
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Validation Error

```
{
 "message": "3 is not of type 'string'. Failed validating 'type' in schema['properties']['deal_sets']['items'][0]['properties']['parties']['items'][0]['properties']['customer_transaction_ID']:"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy 403 invalid error

```
{
 "message": "Please check the key you used to call this service",
 "url": "https://api.staircase.co/docs/api-reference/customer-account-manager-service.yml/paths/~1products~1refresh/post"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Resource not found

```
{
 "type": "string",
 "description": "Error Message."
}
```

<!--/source-->

<!--source:api-specifications-->
text/html Copy Resource not found

```
<html>\r\n<head><title>400 Bad Request</title></head>\r\n<body>\r\n<center><h1>400 Bad Request</h1></center>\r\n</body>\r\n</html>\r\n
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Internal server error

```
{
 "message": "The product has encountered an internal server error. If you have used a transaction_id to call our services, please submit it to Staircase support"
}
```

<!--/source-->

##### Parameters

<!--source:api-specifications-->
2
<!--/source-->

| Parameter | Type | Example | Description |
| --- | --- | --- | --- |
| `x-api-key` required | `string` header | `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` | <!--source:api-specifications-->Environment API Key.<!--/source--> |
| `active` | `boolean` query | `false` | <!--source:api-specifications-->Include vendors with active product flows<!--/source--> |

##### Response `200``application/json`

<!--source:api-specifications-->
6 fields
<!--/source-->
<!--source:api-specifications-->
Successfully retrieved product partners.
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `partner` | `string` | <!--source:api-specifications-->Partner name<!--/source--> |
| `order` | `number` | <!--source:api-specifications-->Order of the product flows associated with this partner<!--/source--> |
| `active` | `boolean` | <!--source:api-specifications-->Partner has active flows<!--/source--> |
| `status` | `string` | <!--source:api-specifications-->Status of the partner<!--/source--> |
| `verification_type` | `string` | <!--source:api-specifications-->Type of verification<!--/source--> |
| `byoc` | `boolean` | <!--source:api-specifications-->Specify whether customer should add its own partner credentials or not<!--/source--> |

##### Response `400``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Validation Error
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `one of` | <!--source:api-specifications-->Message<!--/source--> |

##### Response `403``application/json`

<!--source:api-specifications-->
2 fields
<!--/source-->
<!--source:api-specifications-->
403 invalid error
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Error message.<!--/source--> |
| `url` | `string` | <!--source:api-specifications-->Error additional URL.<!--/source--> |

##### Response `404``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Resource not found
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Error Message.<!--/source--> |

##### Response `500``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Internal server error
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Error message.<!--/source--> |

`GET` `/products/credit/partners/ordering`

<!--source:api-specifications-->

#### Retrieve Partners Ordering
<!--/source-->

`getPartnersOrdering`

<!--source:api-specifications-->
Retrieve Partners Ordering retrieves the partners'' order for the product waterfall invocation according to the configured Product Waterfall Settings. If there is no waterfall for the product configured, partners will be retrieved with the default of the order inside Product Flows.

<!--/source-->

##### Response

<!--source:api-specifications-->
200400403404 GetProduct404 text/html500
<!--/source-->

<!--source:api-specifications-->
application/json Copy Successfully retrieved partners ordering.

```
[
 {
 "partner": "partner1",
 "order": 1
 },
 {
 "partner": "partner2",
 "order": 2
 }
]
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Validation Error

```
{
 "message": "3 is not of type 'string'. Failed validating 'type' in schema['properties']['deal_sets']['items'][0]['properties']['parties']['items'][0]['properties']['customer_transaction_ID']:"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy 403 invalid error

```
{
 "message": "Please check the key you used to call this service",
 "url": "https://api.staircase.co/docs/api-reference/customer-account-manager-service.yml/paths/~1products~1refresh/post"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Resource not found

```
{
 "type": "string",
 "description": "Error Message."
}
```

<!--/source-->

<!--source:api-specifications-->
text/html Copy Resource not found

```
<html>\r\n<head><title>400 Bad Request</title></head>\r\n<body>\r\n<center><h1>400 Bad Request</h1></center>\r\n</body>\r\n</html>\r\n
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Internal server error

```
{
 "message": "The product has encountered an internal server error. If you have used a transaction_id to call our services, please submit it to Staircase support"
}
```

<!--/source-->

##### Parameters

<!--source:api-specifications-->
1
<!--/source-->

| Parameter | Type | Example | Description |
| --- | --- | --- | --- |
| `x-api-key` required | `string` header | `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` | <!--source:api-specifications-->Environment API Key.<!--/source--> |

##### Response `200``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Successfully retrieved partners ordering.
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `partner_order` | `object` | <!--source:api-specifications-->Partner and order<!--/source--> |
| `partner` | `string` | Example `partner1` |
| `order` | `number` | Example `1` |

##### Response `400``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Validation Error
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `one of` | <!--source:api-specifications-->Message<!--/source--> |

##### Response `403``application/json`

<!--source:api-specifications-->
2 fields
<!--/source-->
<!--source:api-specifications-->
403 invalid error
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Error message.<!--/source--> |
| `url` | `string` | <!--source:api-specifications-->Error additional URL.<!--/source--> |

##### Response `404``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Resource not found
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Error Message.<!--/source--> |

##### Response `500``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Internal server error
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Error message.<!--/source--> |

`PUT` `/products/credit/partners/ordering`

<!--source:api-specifications-->

#### Update Partners Ordering
<!--/source-->

`UpdatePartnersOrdering`

<!--source:api-specifications-->
Update Partners Order updates the order of execution of the product flows associated with the partner by updating their order in the product waterfall settings.

<!--/source-->

##### Request

<!--source:api-specifications-->
application/json Copy
```
{
 "ordering": [
 {
 "partner": "partner1",
 "order": 1
 },
 {
 "partner": "partner2",
 "order": 10
 }
 ]
}
```

<!--/source-->

##### Response

<!--source:api-specifications-->
200400 application/json400 text/html403404 GetProduct404 text/html500
<!--/source-->

<!--source:api-specifications-->
application/json Copy Successfully updated partners ordering.

```
[
 {
 "partner": "partner1",
 "order": 1
 },
 {
 "partner": "partner2",
 "order": 10
 }
]
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Failed to update the partner from one of the reasons

```
{
 "message": "Partner doesn't exist in database"
}
```

<!--/source-->

<!--source:api-specifications-->
text/html Copy Failed to update the partner from one of the reasons

```
<html>\r\n<head><title>400 Bad Request</title></head>\r\n<body>\r\n<center><h1>400 Bad Request</h1></center>\r\n</body>\r\n</html>\r\n
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy 403 invalid error

```
{
 "message": "Please check the key you used to call this service",
 "url": "https://api.staircase.co/docs/api-reference/customer-account-manager-service.yml/paths/~1products~1refresh/post"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Resource not found

```
{
 "type": "string",
 "description": "Error Message."
}
```

<!--/source-->

<!--source:api-specifications-->
text/html Copy Resource not found

```
<html>\r\n<head><title>400 Bad Request</title></head>\r\n<body>\r\n<center><h1>400 Bad Request</h1></center>\r\n</body>\r\n</html>\r\n
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Internal server error

```
{
 "message": "The product has encountered an internal server error. If you have used a transaction_id to call our services, please submit it to Staircase support"
}
```

<!--/source-->

##### Parameters

<!--source:api-specifications-->
1
<!--/source-->

| Parameter | Type | Example | Description |
| --- | --- | --- | --- |
| `x-api-key` required | `string` header | `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` | <!--source:api-specifications-->Environment API Key.<!--/source--> |

##### Request body`application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `ordering` | `object[]` | — |
| `partner` | `string` | <!--source:api-specifications-->Partner name<!--/source-->Example `wage` |
| `order` | `number` | <!--source:api-specifications-->Partner order<!--/source-->Example `1` |

##### Response `200``application/json`

<!--source:api-specifications-->
2 fields
<!--/source-->
<!--source:api-specifications-->
Successfully updated partners ordering.
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `partner` | `string` | <!--source:api-specifications-->Partner name<!--/source-->Example `wage` |
| `order` | `number` | <!--source:api-specifications-->Partner order<!--/source-->Example `1` |

##### Response `400``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Failed to update the partner from one of the reasons
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Partner doesn't exist in database<!--/source--> |

##### Response `403``application/json`

<!--source:api-specifications-->
2 fields
<!--/source-->
<!--source:api-specifications-->
403 invalid error
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Error message.<!--/source--> |
| `url` | `string` | <!--source:api-specifications-->Error additional URL.<!--/source--> |

##### Response `404``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Resource not found
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Error Message.<!--/source--> |

##### Response `500``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Internal server error
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Error message.<!--/source--> |

`PATCH` `/products/credit/partners/{partner}/status`

<!--source:api-specifications-->

#### Update Partner Status
<!--/source-->

`updatePartnerStatus`

<!--source:api-specifications-->
Update Partner Status updates the active value of a specific partner to value true or false. This shall activate or deactivate the flows configured for this partner in Product Flows.

<!--/source-->

##### Request

<!--source:api-specifications-->
application/json Copy
```
{
 "active": true,
 "verification_type": "borrower",
 "byoc": true,
 "status": "active"
}
```

<!--/source-->

##### Response

<!--source:api-specifications-->
200400 application/json400 text/html403404 GetProduct404 text/html500
<!--/source-->

<!--source:api-specifications-->
application/json Copy Successfully updated active parameter for the partner.

```
{
 "message": "Partner status updated."
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Failed to update the partner from one of the reasons.

```
{
 "message": "Partner doesn't exist in database."
}
```

<!--/source-->

<!--source:api-specifications-->
text/html Copy Failed to update the partner from one of the reasons.

```
<html>\r\n<head><title>400 Bad Request</title></head>\r\n<body>\r\n<center><h1>400 Bad Request</h1></center>\r\n</body>\r\n</html>\r\n
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy 403 invalid error

```
{
 "message": "Please check the key you used to call this service",
 "url": "https://api.staircase.co/docs/api-reference/customer-account-manager-service.yml/paths/~1products~1refresh/post"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Resource not found

```
{
 "type": "string",
 "description": "Error Message."
}
```

<!--/source-->

<!--source:api-specifications-->
text/html Copy Resource not found

```
<html>\r\n<head><title>400 Bad Request</title></head>\r\n<body>\r\n<center><h1>400 Bad Request</h1></center>\r\n</body>\r\n</html>\r\n
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Internal server error

```
{
 "message": "The product has encountered an internal server error. If you have used a transaction_id to call our services, please submit it to Staircase support"
}
```

<!--/source-->

##### Parameters

<!--source:api-specifications-->
2
<!--/source-->

| Parameter | Type | Example | Description |
| --- | --- | --- | --- |
| `x-api-key` required | `string` header | `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` | <!--source:api-specifications-->Environment API Key.<!--/source--> |
| `partner` required | `string` path | `partner_name` | <!--source:api-specifications-->Name of the partner for which we wan't to update status.<!--/source--> |

##### Request body`application/json`

<!--source:api-specifications-->
4 fields
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `active`required | `boolean` | Example `true` |
| `byoc` | `boolean` | <!--source:api-specifications-->Specify whether customer should add its own partner credentials or not<!--/source--> |
| `status` | `string` | <!--source:api-specifications-->Status of the vendor<!--/source--> |
| `verification_type` | `string` | <!--source:api-specifications-->Type of verification<!--/source--> |

##### Response `200``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Successfully updated active parameter for the partner.
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Partner status updated.<!--/source--> |

##### Response `400``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Failed to update the partner from one of the reasons.
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Partner doesn't exist in database.<!--/source--> |

##### Response `403``application/json`

<!--source:api-specifications-->
2 fields
<!--/source-->
<!--source:api-specifications-->
403 invalid error
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Error message.<!--/source--> |
| `url` | `string` | <!--source:api-specifications-->Error additional URL.<!--/source--> |

##### Response `404``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Resource not found
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Error Message.<!--/source--> |

##### Response `500``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Internal server error
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Error message.<!--/source--> |

<!--source:api-specifications-->

### Setup
<!--/source-->

`POST` `/setup/equifax/credentials`

<!--source:api-specifications-->

#### Set Equifax Credentials
<!--/source-->

`setEquifaxCredentials`

<!--source:api-specifications-->
By using Set Equifax Credentials API we allow our customers to configure Equifax in customer environment.

If you want to use your own Equifax contract for verification, please check Request body Schema example for required values from partner side and run Set Equifax Credentials API.

You can check the partner status by calling the Retrieve Partners endpoint

<!--/source-->

##### Request

<!--source:api-specifications-->
application/json Copy
```
{
 "LoginAccountIdentifier": "--------",
 "LoginAccountPassword": "--------",
 "credentials_type": "test"
}
```

<!--/source-->

##### Response

<!--source:api-specifications-->
200400403422500
<!--/source-->

<!--source:api-specifications-->
application/json Copy Setup API Triggered Successfully

```
{
 "message": "Credentials are saved and verified"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Request data failed validation

```
{
 "message": "{'data': ['Missing data for required field.']}"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Invalid key for service

```
{
 "message": "Please check the key you used to call this service",
 "url": "https://staircase.stoplight.io/docs/api-reference/customer-account-manager-service.yml/paths/~1products~1refresh/post"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Request data failed validation

```
{
 "message": "{'data': ['Missing data for required field.']}"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy The product has encountered an internal server error

```
{
 "message": "The product has encountered an internal server error"
}
```

<!--/source-->

##### Parameters

<!--source:api-specifications-->
1
<!--/source-->

| Parameter | Type | Example | Description |
| --- | --- | --- | --- |
| `x-api-key` required | `string` header | `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` | <!--source:api-specifications-->Staircase Environment API Key<!--/source--> |

##### Request body`application/json`

<!--source:api-specifications-->
3 fields
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `LoginAccountIdentifier`required | `string` | <!--source:api-specifications-->Equifax account ID<!--/source--> |
| `LoginAccountPassword`required | `string` | <!--source:api-specifications-->Equifax account password<!--/source--> |
| `credentials_type`required | `string` | <!--source:api-specifications-->Type of credentials, can be either test or production<!--/source--> |

##### Response `200``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Setup API Triggered Successfully
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Message<!--/source--> |

##### Response `400``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Request data failed validation
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Message<!--/source--> |

##### Response `403``application/json`

<!--source:api-specifications-->
2 fields
<!--/source-->
<!--source:api-specifications-->
Invalid key for service
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | — |
| `url` | `string` | — |

##### Response `422``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Request data failed validation
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Message<!--/source--> |

##### Response `500``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
The product has encountered an internal server error
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Error Message<!--/source--> |

##### Other responses

`404`

`POST` `/setup/meridian/credentials`

<!--source:api-specifications-->

#### Set MeridianLink Credentials
<!--/source-->

`setMeridianCredentials`

<!--source:api-specifications-->
Set Meridian Credentials
<!--/source-->

<!--source:api-specifications-->
By using Set MeridianLink Credentials API we allow our customers to configure MeridianLink in customer environment.

If you want to use your own MeridianLink contract for verification, please check Request body Schema example for required values from partner side and run Set Meridian Credentials API.

We currently can't provide Staircase contract for MeridianLink.

Show the rest You can check the partner status by calling the Retrieve Partners endpoint

#### Credit Providers Domains:

| Name | SmartAPI Domain |
| --- | --- |
| Advantage Credit | credit.advcredit.com |
| Advantage Credit Bureau | advantagecreditbureau.meridianlink.com |
| Advantage Plus Credit | advantageplus.meridianlink.com |
| American Reporting Company | arc.meridianlink.com |
| Birchwood Credit Services | birchwood.meridianlink.com |
| CBFS Business Solutions | cbfbusinesssolutions.meridianlink.com |
| Certified Credit Reporting | certifiedcredit.meridianlink.com |
| CIC Credit | cic.meridianlink.com |
| CISCO Credit | credit.ciscocredit.com |
| Credit Bureau Services | cbs.meridianlink.com |
| Credit Link | creditlink.meridianlink.com |
| Credit Technologies | credit.credittechnologies.com |
| Credit Technology | ctinetwork.meridianlink.com |
| Information Searching Company (ISC) | iscsite.meridianlink.com |
| KCB Credit | credit.kewaneecreditbureau.com |
| Merchants Credit Bureau (Augusta) | mcb.meridianlink.com |
| Merchants Credit Bureau (Savannah) | mcbsav.meridianlink.com |
| MeridianLink, Inc. | credit.meridianlink.com |
| Premium Credit Bureau | premium.meridianlink.com |
| Premium Credit Bureau Data | cdc.meridianlink.com |
| SARMA | credit.sarmamortgage.com |
| Service 1st | svc1stinfo.meridianlink.com |
| SettlementOne | credit.settlementone.com |
| TheCreditBureau.com | ncs.meridianlink.com |
| United One Resources | unitedoneresources.meridianlink.com |
| Xactus formerly CIS Credit * | cis.meridianlink.com |
| Xactus formerly Credit Plus * | credit.creditplus.com |
| Xactus formerly DataFacts Lending * | sir.meridianlink.com |
| Xactus formerly Universal Credit * | ucs.meridianlink.com |

<!--/source-->

##### Request

<!--source:api-specifications-->
application/json Copy
```
{
 "client_id": "--------",
 "client_secret": "<redacted>",
 "domain": "demo.mortgagecreditlink.com"
}
```

<!--/source-->

##### Response

<!--source:api-specifications-->
200400403422500
<!--/source-->

<!--source:api-specifications-->
application/json Copy Setup API Triggered Successfully

```
{
 "message": "Credentials are saved and verified"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Request data failed validation

```
{
 "message": "{'data': ['Missing data for required field.']}"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Invalid key for service

```
{
 "message": "Please check the key you used to call this service",
 "url": "https://staircase.stoplight.io/docs/api-reference/customer-account-manager-service.yml/paths/~1products~1refresh/post"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Request data failed validation

```
{
 "message": "{'data': ['Missing data for required field.']}"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy The product has encountered an internal server error

```
{
 "message": "The product has encountered an internal server error"
}
```

<!--/source-->

##### Parameters

<!--source:api-specifications-->
1
<!--/source-->

| Parameter | Type | Example | Description |
| --- | --- | --- | --- |
| `x-api-key` required | `string` header | `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` | <!--source:api-specifications-->Staircase Environment API Key<!--/source--> |

##### Request body`application/json`

<!--source:api-specifications-->
3 fields
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `client_id`required | `string` | <!--source:api-specifications-->Username<!--/source--> |
| `client_secret`required | `string` | <!--source:api-specifications-->Password<!--/source--> |
| `domain`required | `string` | <!--source:api-specifications-->Credit provider domain<!--/source--> |

##### Response `200``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Setup API Triggered Successfully
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Message<!--/source--> |

##### Response `400``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Request data failed validation
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Message<!--/source--> |

##### Response `403``application/json`

<!--source:api-specifications-->
2 fields
<!--/source-->
<!--source:api-specifications-->
Invalid key for service
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | — |
| `url` | `string` | — |

##### Response `422``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Request data failed validation
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Message<!--/source--> |

##### Response `500``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
The product has encountered an internal server error
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Error Message<!--/source--> |

##### Other responses

`404`

`POST` `/setup/cbc/credentials`

<!--source:api-specifications-->

#### Set CBC Credentials
<!--/source-->

`setCBCCredentials`

<!--source:api-specifications-->
By using Set CBC Credentials API we allow our customers to configure CBC in customer environment.

If you want to use your own CBC contract for verification, please check Request body Schema example for required values from partner side and run Set CBC Credentials API.

We currently can't provide Staircase contract for CBC.

You can check the partner status by calling the Retrieve Partners endpoint

Show the rest

#### Credential Profiles

A credential profile allows you to configure different sets of credentials for your CBC integration. Using this approach offers following benefits:

- You can define and name multiple sets of credentials in one place.
- You can easily reuse the same credentials among different invocations.

The format of the credentials profile should look something like the following.

##### Use Case #1:

- You have soft and hard credentials for CBC, you can use the profile in the following way:

```
{
 "LoginAccountIdentifier": "hard-pull-credential-account-id",
 "LoginAccountPassword": "hard-pull-credential-account-password",
 "InternalAccountIdentifier": "hard-pull-credential-internal-account-id"
 "domain": "",
 "credentials_type": "test",
 "soft-pull-profile": {
 "LoginAccountIdentifier": "soft-pull-credential-account-id",
 "LoginAccountPassword": "soft-pull-credential-account-password",
 "InternalAccountIdentifier": "soft-pull-credential-internal-account-id"
 }
}
```

##### Use Case #2:

- You have multiple companies within your organization and each company uses it's own set of CBC credentials:

```
{
 "LoginAccountIdentifier": "default-credential-account-id",
 "LoginAccountPassword": "default-credential-account-password",
 "InternalAccountIdentifier": "default-credential-internal-account-id"
 "domain": "",
 "credentials_type": "test",
 "company-1": {
 "LoginAccountIdentifier": "company-1-credential-account-id",
 "LoginAccountPassword": "company-1-credential-account-password",
 "InternalAccountIdentifier": "company-1-credential-internal-account-id"
 },
 "company-2": {
 "LoginAccountIdentifier": "company-2-credential-account-id",
 "LoginAccountPassword": "company-2-credential-account-password",
 "InternalAccountIdentifier": "company-2-credential-internal-account-id"
 }
}
```

Note that the initial LoginAccountIdentifier, LoginAccountPassword and domain are used as the default values if during the invocation no profile is used or if the profile is missing. The domain should be set only once.

How to invoke Credit using the profiles, please check Verify Credit endpoint.

<!--/source-->

##### Request

<!--source:api-specifications-->
Set CBC Credentials ExampleSet CBC Credentials - Profiles Example
<!--/source-->

<!--source:api-specifications-->
application/json Copy
```
{
 "LoginAccountIdentifier": "",
 "LoginAccountPassword": "",
 "InternalAccountIdentifier": "",
 "domain": "https://qa.creditbureaureports.com/servlet/gnbank",
 "credentials_type": "test"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy
```
{
 "LoginAccountIdentifier": "",
 "LoginAccountPassword": "",
 "InternalAccountIdentifier": "",
 "domain": "https://qa.creditbureaureports.com/servlet/gnbank",
 "credentials_type": "test",
 "test-profile-1": {
 "LoginAccountIdentifier": "",
 "LoginAccountPassword": "",
 "InternalAccountIdentifier": ""
 },
 "test-profile-2": {
 "LoginAccountIdentifier": "",
 "LoginAccountPassword": "",
 "InternalAccountIdentifier": ""
 }
}
```

<!--/source-->

##### Response

<!--source:api-specifications-->
200400403422500
<!--/source-->

<!--source:api-specifications-->
application/json Copy Setup API Triggered Successfully

```
{
 "message": "Credentials are saved and verified"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Request data failed validation

```
{
 "message": "{'data': ['Missing data for required field.']}"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Invalid key for service

```
{
 "message": "Please check the key you used to call this service",
 "url": "https://staircase.stoplight.io/docs/api-reference/customer-account-manager-service.yml/paths/~1products~1refresh/post"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Request data failed validation

```
{
 "message": "{'data': ['Missing data for required field.']}"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy The product has encountered an internal server error

```
{
 "message": "The product has encountered an internal server error"
}
```

<!--/source-->

##### Parameters

<!--source:api-specifications-->
1
<!--/source-->

| Parameter | Type | Example | Description |
| --- | --- | --- | --- |
| `x-api-key` required | `string` header | `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` | <!--source:api-specifications-->Staircase Environment API Key<!--/source--> |

##### Request body`application/json`

<!--source:api-specifications-->
5 fields
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `LoginAccountIdentifier`required | `string` | <!--source:api-specifications-->The assigned Web login<!--/source--> |
| `LoginAccountPassword`required | `string` | <!--source:api-specifications-->The assigned Web password<!--/source--> |
| `InternalAccountIdentifier` | `string` | <!--source:api-specifications-->Identifier used to designate specific account or branch to access when a login has access to more than one. (Contact Interface support for more information)*Appears on invoice<!--/source--> |
| `domain`required | `string` | <!--source:api-specifications-->QA Prod<!--/source--> |
| `credentials_type`required | `string` | <!--source:api-specifications-->Type of credentials, can be either test or production<!--/source--> |

##### Response `200``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Setup API Triggered Successfully
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Message<!--/source--> |

##### Response `400``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Request data failed validation
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Message<!--/source--> |

##### Response `403``application/json`

<!--source:api-specifications-->
2 fields
<!--/source-->
<!--source:api-specifications-->
Invalid key for service
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | — |
| `url` | `string` | — |

##### Response `422``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Request data failed validation
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Message<!--/source--> |

##### Response `500``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
The product has encountered an internal server error
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Error Message<!--/source--> |

##### Other responses

`404`

`POST` `/setup/encompass/credentials`

<!--source:api-specifications-->

#### Set Informative Research Credentials
<!--/source-->

`setInformativeResearchEncompassCredentials`

<!--source:api-specifications-->
By using Set Informative Research Credentials API we allow our customers to configure Informative Research in customer environment.

If you want to use your own Informative Research contract for verification, please check Request body Schema example for required values from partner side and run Set CBC Credentials API.

We currently can't provide Staircase contract for Informative Research.

You can check the partner status by calling the Retrieve Partners endpoint

<!--/source-->

##### Request

<!--source:api-specifications-->
application/json Copy
```
{
 "client_id": "--------",
 "username": "--------",
 "password": "<redacted>",
 "request_source": "--------",
 "request_source_id": "--------",
 "domain": "somedomain.com/api",
 "credentials_type": "test"
}
```

<!--/source-->

##### Response

<!--source:api-specifications-->
200400403422500
<!--/source-->

<!--source:api-specifications-->
application/json Copy Setup API Triggered Successfully

```
{
 "message": "Credentials are saved and verified"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Request data failed validation

```
{
 "message": "{'data': ['Missing data for required field.']}"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Invalid key for service

```
{
 "message": "Please check the key you used to call this service",
 "url": "https://staircase.stoplight.io/docs/api-reference/customer-account-manager-service.yml/paths/~1products~1refresh/post"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Request data failed validation

```
{
 "message": "{'data': ['Missing data for required field.']}"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy The product has encountered an internal server error

```
{
 "message": "The product has encountered an internal server error"
}
```

<!--/source-->

##### Parameters

<!--source:api-specifications-->
1
<!--/source-->

| Parameter | Type | Example | Description |
| --- | --- | --- | --- |
| `x-api-key` required | `string` header | `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` | <!--source:api-specifications-->Staircase Environment API Key<!--/source--> |

##### Request body`application/json`

<!--source:api-specifications-->
6 fields
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `client_id`required | `string` | <!--source:api-specifications-->Client ID<!--/source--> |
| `username`required | `string` | <!--source:api-specifications-->Account username<!--/source--> |
| `password`required | `string` | <!--source:api-specifications-->Account password<!--/source--> |
| `request_source`required | `string` | <!--source:api-specifications-->Requesting party name<!--/source--> |
| `domain`required | `string` | <!--source:api-specifications-->Base URL of the Informative Research API<!--/source--> |
| `credentials_type`required | `string` | <!--source:api-specifications-->Type of credentials, can be either test or production<!--/source--> |

##### Response `200``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Setup API Triggered Successfully
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Message<!--/source--> |

##### Response `400``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Request data failed validation
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Message<!--/source--> |

##### Response `403``application/json`

<!--source:api-specifications-->
2 fields
<!--/source-->
<!--source:api-specifications-->
Invalid key for service
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | — |
| `url` | `string` | — |

##### Response `422``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Request data failed validation
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Message<!--/source--> |

##### Response `500``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
The product has encountered an internal server error
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Error Message<!--/source--> |

##### Other responses

`404`

`POST` `/setup/informative_research/credentials`

<!--source:api-specifications-->

#### Set Informative Research Credentials
<!--/source-->

`setInformativeResearchCredentials`

<!--source:api-specifications-->
By using Set Informative Research Credentials API we allow our customers to configure Informative Research in customer environment.

If you want to use your own Informative Research contract for verification, please check Request body Schema example for required values from partner side and run Set CBC Credentials API.

We currently can't provide Staircase contract for Informative Research.

Show the rest You can check the partner status by calling the Retrieve Partners endpoint

#### Credential Profiles

A credential profile allows you to configure different sets of credentials for your CBC integration. Using this approach offers following benefits:

- You can define and name multiple sets of credentials in one place.
- You can easily reuse the same credentials among different invocations.

The format of the credentials profile should look something like the following.

##### Use Case #1:

- You have soft and hard credentials for Informative Research, you can use the profile in the following way:

```
{
 "client_id": "hard-pull-credential-client-id",
 "username": "hard-pull-credential-username",
 "password": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
 "request_source": "hard-pull-credential-request-source",
 "domain": "",
 "credentials_type": "test",
 "soft-pull-profile": {
 "client_id": "soft-pull-credential-client-id",
 "username": "soft-pull-credential-username",
 "password": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
 "request_source": "soft-pull-credential-request-source"
 }
}
```

##### Use Case #2:

- You have multiple companies within your organization and each company uses it's own set of Informative Research credentials:

```
{
 "client_id": "default-credential-client-id",
 "username": "default-credential-username",
 "password": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
 "request_source": "defualt-credential-request-source",
 "domain": "",
 "credentials_type": "test",
 "company-1": {
 "client_id": "company-1-credential-client-id",
 "username": "company-1-credential-username",
 "password": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
 "request_source": "company-1-credential-request-source"
 },
 "company-2": {
 "client_id": "company-2-credential-client-id",
 "username": "company-2-credential-username",
 "password": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
 "request_source": "company-2-credential-request-source"
 }
}
```

Note that the initial client_id, username, password, request_source and domain are used as the default values if during the invocation no profile is used or if the profile is missing. The domain should be set only once.

How to invoke Credit using the profiles, please check Verify Credit endpoint.

<!--/source-->

##### Request

<!--source:api-specifications-->
Set Informative Research Credentials ExampleSet Informative Research Credentials - Profile Example
<!--/source-->

<!--source:api-specifications-->
application/json Copy
```
{
 "client_id": "--------",
 "username": "--------",
 "password": "<redacted>",
 "request_source": "--------",
 "domain": "somedomain.com/api",
 "credentials_type": "test"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy
```
{
 "client_id": "--------",
 "username": "--------",
 "password": "<redacted>",
 "request_source": "--------",
 "domain": "somedomain.com/api",
 "credentials_type": "test",
 "test-profile-1": {
 "client_id": "--------",
 "username": "--------",
 "password": "<redacted>",
 "request_source": "--------"
 },
 "test-profile-2": {
 "client_id": "--------",
 "username": "--------",
 "password": "<redacted>",
 "request_source": "--------"
 }
}
```

<!--/source-->

##### Response

<!--source:api-specifications-->
200400403422500
<!--/source-->

<!--source:api-specifications-->
application/json Copy Setup API Triggered Successfully

```
{
 "message": "Credentials are saved and verified"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Request data failed validation

```
{
 "message": "{'data': ['Missing data for required field.']}"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Invalid key for service

```
{
 "message": "Please check the key you used to call this service",
 "url": "https://staircase.stoplight.io/docs/api-reference/customer-account-manager-service.yml/paths/~1products~1refresh/post"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Request data failed validation

```
{
 "message": "{'data': ['Missing data for required field.']}"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy The product has encountered an internal server error

```
{
 "message": "The product has encountered an internal server error"
}
```

<!--/source-->

##### Parameters

<!--source:api-specifications-->
1
<!--/source-->

| Parameter | Type | Example | Description |
| --- | --- | --- | --- |
| `x-api-key` required | `string` header | `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` | <!--source:api-specifications-->Staircase Environment API Key<!--/source--> |

##### Request body`application/json`

<!--source:api-specifications-->
6 fields
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `client_id`required | `string` | <!--source:api-specifications-->Client ID<!--/source--> |
| `username`required | `string` | <!--source:api-specifications-->Account username<!--/source--> |
| `password`required | `string` | <!--source:api-specifications-->Account password<!--/source--> |
| `request_source`required | `string` | <!--source:api-specifications-->Requesting party name<!--/source--> |
| `domain`required | `string` | <!--source:api-specifications-->Base URL of the Informative Research API<!--/source--> |
| `credentials_type`required | `string` | <!--source:api-specifications-->Type of credentials, can be either test or production<!--/source--> |

##### Response `200``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Setup API Triggered Successfully
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Message<!--/source--> |

##### Response `400``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Request data failed validation
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Message<!--/source--> |

##### Response `403``application/json`

<!--source:api-specifications-->
2 fields
<!--/source-->
<!--source:api-specifications-->
Invalid key for service
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | — |
| `url` | `string` | — |

##### Response `422``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Request data failed validation
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Message<!--/source--> |

##### Response `500``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
The product has encountered an internal server error
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Error Message<!--/source--> |

##### Other responses

`404`

`POST` `/setup/sharper_lending/credentials`

<!--source:api-specifications-->

#### Set Sharper Lending Credentials
<!--/source-->

`setSharperLendingCredentials`

<!--source:api-specifications-->
By using Set Sharper Lending Credentials API we allow our customers to configure Sharper Lending in customer environment.

If you want to use your own Sharper Lending contract for verification, please check Request body Schema example for required values from partner side and run Set CBC Credentials API.

We currently can't provide Staircase contract for Sharper Lending.

You can check the partner status by calling the Retrieve Partners endpoint

<!--/source-->

##### Request

<!--source:api-specifications-->
application/json Copy
```
{
 "username": "username",
 "password": "<redacted>",
 "provider_id": "1234",
 "subscriber_id": "Example",
 "domain": "test.domain.com/v4/interface/example/example.aspx"
}
```

<!--/source-->

##### Response

<!--source:api-specifications-->
200400403422500
<!--/source-->

<!--source:api-specifications-->
application/json Copy Setup API Triggered Successfully

```
{
 "message": "Credentials are saved and verified"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Request data failed validation

```
{
 "message": "{'data': ['Missing data for required field.']}"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Invalid key for service

```
{
 "message": "Please check the key you used to call this service",
 "url": "https://staircase.stoplight.io/docs/api-reference/customer-account-manager-service.yml/paths/~1products~1refresh/post"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Request data failed validation

```
{
 "message": "{'data': ['Missing data for required field.']}"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy The product has encountered an internal server error

```
{
 "message": "The product has encountered an internal server error"
}
```

<!--/source-->

##### Parameters

<!--source:api-specifications-->
1
<!--/source-->

| Parameter | Type | Example | Description |
| --- | --- | --- | --- |
| `x-api-key` required | `string` header | `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` | <!--source:api-specifications-->Staircase Environment API Key<!--/source--> |

##### Request body`application/json`

<!--source:api-specifications-->
6 fields
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `username`required | `string` | <!--source:api-specifications-->This value is the code that corresponds to the end user's username.<!--/source--> |
| `password`required | `string` | <!--source:api-specifications-->This value is the code that corresponds to the end user's password.<!--/source--> |
| `provider_id`required | `string` | <!--source:api-specifications-->This value indicates the unique provider ID number assigned to the credit reporting agency.<!--/source--> |
| `subscriber_id`required | `string` | <!--source:api-specifications-->This value indicates the unique client/lender company ID assigned by the credit reporting agency to the lender.<!--/source--> |
| `domain`required | `string` | <!--source:api-specifications-->URL of Sharper Lending<!--/source--> |
| `credentials_type` | `string` | <!--source:api-specifications-->Type of credentials, can be either test or production<!--/source--> |

##### Response `200``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Setup API Triggered Successfully
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Message<!--/source--> |

##### Response `400``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Request data failed validation
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Message<!--/source--> |

##### Response `403``application/json`

<!--source:api-specifications-->
2 fields
<!--/source-->
<!--source:api-specifications-->
Invalid key for service
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | — |
| `url` | `string` | — |

##### Response `422``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Request data failed validation
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Message<!--/source--> |

##### Response `500``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
The product has encountered an internal server error
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Error Message<!--/source--> |

##### Other responses

`404`

`GET` `/setup/{partner_name}/credentials`

<!--source:api-specifications-->

#### Retrieve Partner Credentials Schema
<!--/source-->

`getCredentials`

<!--source:api-specifications-->
Get Credentials Schema
<!--/source-->

<!--source:api-specifications-->
Get credentials schema for specific partner. You can use retrieved schema for updating the partner credentials.

<!--/source-->

##### Response

<!--source:api-specifications-->
400403422500
<!--/source-->

<!--source:api-specifications-->
application/json Copy Request data failed validation

```
{
 "message": "{'data': ['Missing data for required field.']}"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Invalid key for service

```
{
 "message": "Please check the key you used to call this service",
 "url": "https://staircase.stoplight.io/docs/api-reference/customer-account-manager-service.yml/paths/~1products~1refresh/post"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Request data failed validation

```
{
 "message": "{'data': ['Missing data for required field.']}"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy The product has encountered an internal server error

```
{
 "message": "The product has encountered an internal server error"
}
```

<!--/source-->

##### Parameters

<!--source:api-specifications-->
2
<!--/source-->

| Parameter | Type | Example | Description |
| --- | --- | --- | --- |
| `x-api-key` required | `string` header | `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` | <!--source:api-specifications-->Staircase Environment API Key<!--/source--> |
| `partner_name` required | `string` path | `meridian` | <!--source:api-specifications-->Partner name<!--/source--> |

##### Response `200``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Create Adapter API Triggered Successfully
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Message<!--/source--> |

##### Response `400``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Request data failed validation
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Message<!--/source--> |

##### Response `403``application/json`

<!--source:api-specifications-->
2 fields
<!--/source-->
<!--source:api-specifications-->
Invalid key for service
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | — |
| `url` | `string` | — |

##### Response `422``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Request data failed validation
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Message<!--/source--> |

##### Response `500``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
The product has encountered an internal server error
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Error Message<!--/source--> |

##### Other responses

`404`

`POST` `/setup/xactus/credentials`

<!--source:api-specifications-->

#### Set Xactus Credentials
<!--/source-->

`setXactusCredentials`

<!--source:api-specifications-->
By using Set Xactus Credentials API we allow our customers to configure Xactus in customer environment.

If you want to use your own Xactus contract for verification, please check Request body Schema example for required values from partner side and run Set Xactus Credentials API.

You can check the partner status by calling the Retrieve Partners endpoint

<!--/source-->

##### Request

<!--source:api-specifications-->
application/json Copy
```
{
 "username": "------",
 "password": "------",
 "domain": "somedomain.com/api/"
}
```

<!--/source-->

##### Response

<!--source:api-specifications-->
200400403422500
<!--/source-->

<!--source:api-specifications-->
application/json Copy Setup API Triggered Successfully

```
{
 "message": "Credentials are saved and verified"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Request data failed validation

```
{
 "message": "{'data': ['Missing data for required field.']}"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Invalid key for service

```
{
 "message": "Please check the key you used to call this service",
 "url": "https://staircase.stoplight.io/docs/api-reference/customer-account-manager-service.yml/paths/~1products~1refresh/post"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Request data failed validation

```
{
 "message": "{'data': ['Missing data for required field.']}"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy The product has encountered an internal server error

```
{
 "message": "The product has encountered an internal server error"
}
```

<!--/source-->

##### Parameters

<!--source:api-specifications-->
1
<!--/source-->

| Parameter | Type | Example | Description |
| --- | --- | --- | --- |
| `x-api-key` required | `string` header | `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` | <!--source:api-specifications-->Staircase Environment API Key<!--/source--> |

##### Request body`application/json`

<!--source:api-specifications-->
3 fields
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `username`required | `string` | <!--source:api-specifications-->Xactus account ID<!--/source--> |
| `password`required | `string` | <!--source:api-specifications-->Xactus account password<!--/source--> |
| `domain`required | `string` | <!--source:api-specifications-->Xactus production or sandbox domain.<!--/source--> |

##### Response `200``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Setup API Triggered Successfully
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Message<!--/source--> |

##### Response `400``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Request data failed validation
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Message<!--/source--> |

##### Response `403``application/json`

<!--source:api-specifications-->
2 fields
<!--/source-->
<!--source:api-specifications-->
Invalid key for service
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | — |
| `url` | `string` | — |

##### Response `422``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Request data failed validation
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Message<!--/source--> |

##### Response `500``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
The product has encountered an internal server error
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Error Message<!--/source--> |

##### Other responses

`404`

<!--source:api-specifications-->

### Workflow
<!--/source-->

`GET` `/products/credit/invocations/{invocation_id}`

<!--source:api-specifications-->

#### Retrieve Credit Verification Status
<!--/source-->

`RetrieveProductFlowInvocationStatus`

<!--source:api-specifications-->
Retrieves the status of running Product flow invocation.

<!--/source-->

##### Response

<!--source:api-specifications-->
200 ProductFlowStatus200 WaterfallStatusCompleted200 WaterfallStatusFailed400403404500
<!--/source-->

<!--source:api-specifications-->
application/json Copy Successfully returned status of the Product flow Invocation.

```
{
 "invocation_id": "9aefb465-90fb-4d50-8ae6-2df2b58373f4",
 "invocation_status": "COMPLETED",
 "product_flow_name": "VOE",
 "service_invocation": {
 "Connector": {
 "connector_flow_name": "demo_flow",
 "invocation_id": "e75e8566-976d-4a15-b801-1e2301646f4e",
 "status": "COMPLETED"
 },
 "Translator": {
 "output": {
 "translation_id": "ad985392-1255-4dc0-8a26-bc166744c60c",
 "language_name": "argyle",
 "status": "COMPLETED"
 },
 "convert_output": {
 "translation_id": "5382d495-9ec9-4619-8e46-299879c1e92e",
 "language_name": "argyle",
 "status": "COMPLETED"
 },
 "input": {
 "translation_id": "0742bc3d-07ca-45fb-a4b7-e9bf627108d0",
 "language_name": "test",
 "status": "COMPLETED"
 },
 "convert_input": {
 "translation_id": "57082d7c-9964-49b6-945c-7c655768e56a",
 "language_name": "test",
 "status": "COMPLETED"
 }
 }
 },
 "transaction_id": "01F6NAMXWN2XVBD1YJ92A6S6R4",
 "request_collection_id": "01F6NAQ4894HPMCBGB4P0G95XK",
 "convert_request_collection_id": "01F6NAQ4894HPMCBGB4P0G9KX5",
 "response_collection_id": "01F6QF1QJF20DMSXH4SYXKB1SN",
 "convert_response_collection_id": "01F6QF1QJF20DMSXH4SYXKBNS1",
 "connector_job_id": "3706b519-9426-4533-9868-14a7dec4fd97",
 "request_collection": {
 "collection_id": "01FCWSAQD3QDKEW91K7CPXN4Y2",
 "transaction_id": "01FCWSAH1RVMC0DH6GRQ9JSAE7",
 "data": {},
 "metadata": {
 "created_at": "2021-08-12T04:58:15.331517-04:00",
 "validation": false
 }
 },
 "response_collection": {
 "collection_id": "01FCWSAQD3QDKEW91K7CPXN4Y2",
 "transaction_id": "01FCWSAH1RVMC0DH6GRQ9JSAE7",
 "data": {},
 "metadata": {
 "created_at": "2021-08-12T04:58:15.331517-04:00",
 "validation": false,
 "report_download_urls": {
 "voe_template": {
 "download_url": "https://dev-data-manager-blobs-bucket-us-east-1-873429376159.s3.amazonaws.com/01FJYAHNJR",
 "blob_id": "01FCWSAQD3QDKEW91K7CPXN4Y2",
 "status": "Succeeded"
 }
 },
 "service_invocation": {
 "Connector": {
 "connector_flow_name": "demo_flow",
 "invocation_id": "e75e8566-976d-4a15-b801-1e2301646f4e",
 "status": "COMPLETED"
 },
 "Translator": {
 "output": {
 "translation_id": "ad985392-1255-4dc0-8a26-bc166744c60c",
 "language_name": "argyle",
 "status": "COMPLETED"
 },
 "convert_output": {
 "translation_id": "5382d495-9ec9-4619-8e46-299879c1e92e",
 "language_name": "argyle",
 "status": "COMPLETED"
 },
 "input": {
 "translation_id": "0742bc3d-07ca-45fb-a4b7-e9bf627108d0",
 "language_name": "test",
 "status": "COMPLETED"
 },
 "convert_input": {
 "translation_id": "57082d7c-9964-49b6-945c-7c655768e56a",
 "language_name": "test",
 "status": "COMPLETED"
 }
 }
 }
 }
 },
 "options": {
 "dry_run": false
 },
 "tags": [
 "manual verification"
 ]
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Successfully returned status of the Product flow Invocation.

```
{
 "invocation_id": "fbc19f9b-1d37-4ced-9f1d-d2769b018b0a",
 "invocation_status": "COMPLETED",
 "request_collection_id": "01FCWK741N7GWYBVG4Z3N74V16",
 "callback_url": "https://webhook.site/68a4aa6a-bf18-4f7d-be7d-bc26503adeb2",
 "transaction_id": "01FCWK72GC1MFM5003SXJHMWNG",
 "request_collection": {
 "data": {
 "foo": "bar",
 "biz": "baz"
 },
 "metadata": {
 "created_at": "2021-08-12T03:11:25.749933-04:00",
 "validation": false
 },
 "transaction_id": "01FCWK72GC1MFM5003SXJHMWNG",
 "collection_id": "01FCWK741N7GWYBVG4Z3N74V16"
 },
 "response_collection": {
 "data": {},
 "collection_id": "01FCWSMVWW7192SZXR9MP52B4A",
 "transaction_id": "01FCWSMNZM271WVQY6FDS2CB6M",
 "metadata": {
 "created_at": "2021-08-12T05:03:47.612771-04:00",
 "validation": false,
 "report_download_urls": {
 "voe_template": {
 "download_url": "https://dev-data-manager-blobs-bucket-us-east-1-873429376159.s3.amazonaws.com/01FJYAHNJR",
 "blob_id": "01FCWSAQD3QDKEW91K7CPXN4Y2",
 "status": "Succeeded"
 }
 }
 }
 },
 "flows_responses": {
 "flow1": {
 "response_collection_id": "01FCWSAQD3QDKEW91K7CPXN4Y2",
 "invocation_id": "7a8980a1-73ac-4313-ada5-e0e976c38ebb",
 "invocation_status": "FAILED",
 "transaction_id": "01FCWSAH1RVMC0DH6GRQ9JSAE7",
 "product_flow_name": "demo_product_flow_422",
 "failure_reason": "Service Connector failed. Connector flow failed. Response payload: {'Error': 'CallVendorError', 'Cause': {'errorMessage': '', 'errorType': 'CallVendorError'}}",
 "response_collection": {
 "collection_id": "01FCWSAQD3QDKEW91K7CPXN4Y2",
 "data": {},
 "transaction_id": "01FCWSAH1RVMC0DH6GRQ9JSAE7",
 "metadata": {
 "created_at": "2021-08-12T04:58:15.331517-04:00",
 "validation": false
 }
 }
 },
 "flow2": {
 "response_collection_id": "01FCWSMVWW7192SZXR9MP52B4A",
 "invocation_id": "c861def5-5e5d-4690-9313-2f25427029a8",
 "invocation_status": "COMPLETED",
 "transaction_id": "01FCWSMNZM271WVQY6FDS2CB6M",
 "product_flow_name": "demo_product_flow"
 },
 "metadata": {
 "actual_flow_name": "flow2",
 "response_collection_id": "01FCWSMVWW7192SZXR9MP52B4A"
 }
 }
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Successfully returned status of the Product flow Invocation.

```
{
 "invocation_id": "fbc19f9b-1d37-4ced-9f1d-d2769b018b0a",
 "invocation_status": "FAILED",
 "request_collection_id": "01FCWK741N7GWYBVG4Z3N74V16",
 "callback_url": "https://webhook.site/68a4aa6a-bf18-4f7d-be7d-bc26503adeb2",
 "transaction_id": "01FCWK72GC1MFM5003SXJHMWNG",
 "failure_reason": "All product flows were failed.",
 "request_collection": {
 "data": {
 "foo": "bar",
 "biz": "baz"
 },
 "metadata": {
 "created_at": "2021-08-12T03:11:25.749933-04:00",
 "validation": false
 },
 "transaction_id": "01FCWK72GC1MFM5003SXJHMWNG",
 "collection_id": "01FCWK741N7GWYBVG4Z3N74V16"
 },
 "response_collection": {
 "collection_id": "01FCWSAQD3QDKEW91K7CPXN4Y2",
 "data": {},
 "transaction_id": "01FCWSAH1RVMC0DH6GRQ9JSAE7",
 "metadata": {
 "created_at": "2021-08-12T04:58:15.331517-04:00",
 "validation": false
 }
 },
 "flows_responses": {
 "flow1": {
 "response_collection_id": "01FCWSAQD3QDKEW91K7CPXN4Y2",
 "invocation_id": "7a8980a1-73ac-4313-ada5-e0e976c38ebb",
 "invocation_status": "FAILED",
 "transaction_id": "01FCWSAH1RVMC0DH6GRQ9JSAE7",
 "product_flow_name": "demo_product_flow_422",
 "failure_reason": "Service Connector failed. Connector flow failed. Response payload: {'Error': 'CallVendorError', 'Cause': {'errorMessage': '', 'errorType': 'CallVendorError'}}"
 }
 },
 "metadata": {
 "actual_flow_name": "flow1"
 }
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Request data failed validation

```
{
 "message": "{'data': ['Missing data for required field.']}"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy 403 invalid error

```
{
 "message": "Please check the key you used to call this service",
 "url": "https://api.staircase.co/docs/api-reference/customer-account-manager-service.yml/paths/~1products~1refresh/post"
}
```

<!--/source-->

<!--source:api-specifications-->
text/html Copy Resource not found

```
<html>\r\n<head><title>400 Bad Request</title></head>\r\n<body>\r\n<center><h1>400 Bad Request</h1></center>\r\n</body>\r\n</html>\r\n
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Internal server error

```
{
 "message": "The product has encountered an internal server error. If you have used a transaction_id to call our services, please submit it to Staircase support"
}
```

<!--/source-->

##### Parameters

<!--source:api-specifications-->
2
<!--/source-->

| Parameter | Type | Example | Description |
| --- | --- | --- | --- |
| `x-api-key` required | `string` header | `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` | <!--source:api-specifications-->Environment API Key.<!--/source--> |
| `invocation_id` required | `string (ulid)` path | `d7ccedb8-8889-4657-add4-bc1s4xs97637` | <!--source:api-specifications-->Product flow invocation identifier<!--/source--> |

##### Response `200``application/json`

<!--source:api-specifications-->
13 fields
<!--/source-->
<!--source:api-specifications-->
Successfully returned status of the Product flow Invocation.
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `invocation_id`required | `string` | <!--source:api-specifications-->Invocation ID.<!--/source--> |
| `invocation_status`required | `string` | <!--source:api-specifications-->Invocation Status.<!--/source-->`ACTION_REQUIRED``COMPLETED``FAILED``RUNNING``STARTED` |
| `transaction_id`required | `string` | <!--source:api-specifications-->Transaction ID used for invocation.<!--/source--> |
| `request_collection_id` | `string` | <!--source:api-specifications-->Request Collection ID.<!--/source--> |
| `request_collection` | `object` | <!--source:api-specifications-->Collection.<!--/source--> |
| `transaction_id` | `string (ulid)` | <!--source:api-specifications-->Transaction ID.<!--/source-->Example `01EZQ32PJQGKRA6HR8D72Q9FFF` |
| `collection_id` | `string (ulid)` | <!--source:api-specifications-->Collection ID.<!--/source-->Example `01EZQ32PJQGKRA6HR8D72Q9FFF` |
| `data` | `object` | <!--source:api-specifications-->Data in Staircase language schema.<!--/source--> |
| `metadata` | `object` | <!--source:api-specifications-->Metadata about collection, f.e version of used Staircase schema.<!--/source--> |
| `response_collection_id` | `string` | <!--source:api-specifications-->Response Collection ID.<!--/source--> |
| `response_collection` | `object` | <!--source:api-specifications-->Collection.<!--/source--> |
| `transaction_id` | `string (ulid)` | <!--source:api-specifications-->Transaction ID.<!--/source-->Example `01EZQ32PJQGKRA6HR8D72Q9FFF` |
| `collection_id` | `string (ulid)` | <!--source:api-specifications-->Collection ID.<!--/source-->Example `01EZQ32PJQGKRA6HR8D72Q9FFF` |
| `data` | `object` | <!--source:api-specifications-->Data in Staircase language schema.<!--/source--> |
| `metadata` | `object` | <!--source:api-specifications-->Metadata about collection, f.e version of used Staircase schema.<!--/source--> |
| `report_download_urls`required | `object` | <!--source:api-specifications-->Information about each generated report identified by template name.<!--/source--> |
| `callback_url` | `string` | <!--source:api-specifications-->URL that was specified in flow invocation and will be used to send the callback when flow invocation will be finished.<!--/source--> |
| `widget_url` | `string (uri)` | <!--source:api-specifications-->URL of the widget.<!--/source--> |
| `metadata` | `object` | <!--source:api-specifications-->Response Collection ID.<!--/source--> |
| `options` | `—` | <!--source:api-specifications-->Options that were passed to the flow invocation.<!--/source--> |
| `connector_job_id` | `string` | <!--source:api-specifications-->Connector job ID.<!--/source--> |
| `service_invocation`required | `one of` | <!--source:api-specifications-->Includes underlying services invocation.<!--/source--> |

##### Response `400``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Request data failed validation
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `one of` | <!--source:api-specifications-->Message<!--/source--> |

##### Response `403``application/json`

<!--source:api-specifications-->
2 fields
<!--/source-->
<!--source:api-specifications-->
403 invalid error
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Error message.<!--/source--> |
| `url` | `string` | <!--source:api-specifications-->Error additional URL.<!--/source--> |

##### Response `404``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Resource not found
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Message<!--/source--> |

##### Response `500``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Internal server error
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Error message.<!--/source--> |

`GET` `/products/credit/request-schema`

<!--source:api-specifications-->

#### Retrieve Request Collection Schema
<!--/source-->

`retrieveRequestSchema`

<!--source:api-specifications-->
Retrieve Request Schema retrieves a JSON schema for the request collection that you can provide to the invocation. If you'd like to retrieve some examples for the request collection, use `return_examples=True` query parameter.

#### Request Collection Description

##### Borrower

| Lexicon Path | Description |
| --- | --- |
| $.people[0].@type | Type of person (borrower or co_borrower) |
| $.people[0].has_first_name |  |
| .has_value | The first name of the individual represented by the parent object. |
| $.people[0].has_last_name |  |
| .has_value | The last name of the individShow the restual represented by the parent object. |
| $.people[0].has_birth_date |  |
| .has_value | Borrower's date of birth. Collected in lieu of AGE in URLA, Section III, second line, third field. |
| $.people[0].has_taxpayer_identifier_value |  |
| .has_value | The specific value of the taxpayer identifier as assigned by the Internal Revenue Service (IRS) to the individual or legal entity. |
| $.people[0].with_address | Address Information |
| $.people[0].contact_at | Contact Information |
| $.people[0].works_for | Organization |

##### Address

| Lexicon Path | Description |
| --- | --- |
| $.addresses[0].@type | Type of address (residential_address) |
| $.people[0].has_address_line_1_text |  |
| .has_value | Address Line 1 |
| $.people[0].has_address_line_2_text |  |
| .has_value | Address Line 2 |
| $.people[0].has_city_name |  |
| .has_value | The name of the city or Military APO FPO designation. |
| $.people[0].has_state_code |  |
| .has_value | The two-character representation of the US state, US Territory, Canadian Province/Territory, or Military Address abbreviation (for example: AE, AP, AA). |
| $.people[0].has_postal_code |  |
| .has_value | The postal code (ZIP Code in the US) for the address. ZIP Code may be either 5 or 9 digits. |
| $.people[0].has_country_name |  |
| .has_value | The name of the country. |

##### Organizations

| Lexicon Path | Description |
| --- | --- |
| $.organizations[0].@type | organization |
| $.organizations[0].has_organization_name | The name of the organization |

<!--/source-->

##### Response

<!--source:api-specifications-->
200400 InvalidReturnExamplesValue400 text/html403404 GetProduct404 text/html500
<!--/source-->

<!--source:api-specifications-->
application/json Copy Successfully returned the list of elements needed for product waterfall.

```
{
 "data": {
 "example": {
 "people": [
 {
 "@id": "01FD6ZKZD7WGZXYFGJBVPVP2Q5",
 "has_first_name": {
 "has_value": "John"
 },
 "has_last_name": {
 "has_value": "Jackson"
 },
 "has_birth_date": {
 "has_value": "12/28/1958"
 },
 "has_taxpayer_identifier_value": {
 "has_value": "666234390"
 },
 "with_address": [
 "01FD6ZNGJADZ0RB1H96FSE8BAB"
 ],
 "contact_at": [
 "01FD6ZNGJW9X96WGWX2BD37CFY"
 ]
 }
 ],
 "addresses": [
 {
 "@id": "01FD6ZNGJADZ0RB1H96FSE8BAB",
 "@type": "address",
 "has_address_line_1_text": {
 "has_value": "33 IRVING PLACE"
 },
 "has_address_line_2_text": {
 "has_value": "a"
 },
 "has_city_name": {
 "has_value": "NEW YORK"
 },
 "has_state_code": {
 "has_value": "NY"
 },
 "has_postal_code": {
 "has_value": "10003"
 },
 "has_country_name": {
 "has_value": "US"
 }
 }
 ],
 "contact_information": [
 {
 "@id": "01FD6ZNGJW9X96WGWX2BD37CFY",
 "@type": "contact_information",
 "has_email_address": {
 "has_value": "test@test.com"
 }
 }
 ],
 "employment": [
 {
 "provided_by": [
 "01FD6ZNGME8E1JFD342F7WDK8V"
 ]
 }
 ],
 "loans": [
 {
 "with_borrower": [
 "01FD6ZKZD7WGZXYFGJBVPVP2Q5"
 ]
 }
 ],
 "organizations": [
 {
 "@id": "01FD6ZNGNFKY3B7CX0YN6NH56E",
 "@type": "customer"
 }
 ]
 }
 },
 "metadata": {}
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Error

```
{
 "message": "Please provide one of valid return examples values: true, false"
}
```

<!--/source-->

<!--source:api-specifications-->
text/html Copy Error

```
<html>\r\n<head><title>400 Bad Request</title></head>\r\n<body>\r\n<center><h1>400 Bad Request</h1></center>\r\n</body>\r\n</html>\r\n
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy 403 invalid error

```
{
 "message": "Please check the key you used to call this service",
 "url": "https://api.staircase.co/docs/api-reference/customer-account-manager-service.yml/paths/~1products~1refresh/post"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Resource not found

```
{
 "type": "string",
 "description": "Error Message."
}
```

<!--/source-->

<!--source:api-specifications-->
text/html Copy Resource not found

```
<html>\r\n<head><title>400 Bad Request</title></head>\r\n<body>\r\n<center><h1>400 Bad Request</h1></center>\r\n</body>\r\n</html>\r\n
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Internal server error

```
{
 "message": "The product has encountered an internal server error. If you have used a transaction_id to call our services, please submit it to Staircase support"
}
```

<!--/source-->

##### Parameters

<!--source:api-specifications-->
2
<!--/source-->

| Parameter | Type | Example | Description |
| --- | --- | --- | --- |
| `x-api-key` required | `string` header | `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` | <!--source:api-specifications-->Environment API Key.<!--/source--> |
| `return_examples` | `boolean` query | `false` | <!--source:api-specifications-->If included and set to `true`, returns one or more pre-filled examples that conform to the schema. Default to `false`<!--/source--> |

##### Response `200``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Successfully returned the list of elements needed for product waterfall.
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `schema` | `object` | <!--source:api-specifications-->Element key / value<!--/source--> |

##### Response `400``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Error
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Message<!--/source--> |

##### Response `403``application/json`

<!--source:api-specifications-->
2 fields
<!--/source-->
<!--source:api-specifications-->
403 invalid error
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Error message.<!--/source--> |
| `url` | `string` | <!--source:api-specifications-->Error additional URL.<!--/source--> |

##### Response `404``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Resource not found
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Error Message.<!--/source--> |

##### Response `500``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Internal server error
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Error message.<!--/source--> |

`GET` `/products/credit/response-schema`

<!--source:api-specifications-->

#### Retrieve Response Collection Schema
<!--/source-->

`retrieveResponseSchema`

<!--source:api-specifications-->
Retrieve Response Schema retrieves a JSON schema for the request collection that you can provide to the invocation. If you'd like to retrieve some examples for the request collection, use `return_examples=True` query parameter.

#### Response Collection Description

##### Credit Information

| Lexicon Path | Description |
| --- | --- |
| $.credit_information[0] |  |
| .@type | credit_information |
| $.credit_information[0] |  |
| .has_credit_frozen_status_equifax_indicator |  |
| .has_value | The credit frozen status equifax indicator |
|  |
| .has_credit_frozen_status_experian_indicator |  |
| .has_value | The credit frozen status experian indicator. |
| $.credit_information[0] |  |
| .has_credit_frozen_status_trans_union_indicator |  |
| .has_value | The credit frozen status trans union indicator. |
| $.credit_information[0] |  |
| .has_credit_rating_code_type |  |
| .has_value | Identifies which system of Manner Of Payment (MOP) rating codes is in the credit report. If Other is selected, then the name of the coding system will appear in the Credit Rating Code Type Other Description. |
| $.credit_information[0] |  |
| .has_credit_report_action_type |  |
| .has_value | {force_new , other , reissue , retrieve , secondary_use_notification , status_query , submit , update , upgrade} |
| $.credit_information[0] |  |
| .has_credit_report_first_issued_date |  |
| .has_value | Date and time the referenced credit report was first issued. |
| $.credit_information[0] |  |
| .has_credit_report_identifier |  |
| .has_value | A reference number assigned by the credit bureau to a specific credit report. This report number is also referenced when a Reissue, Upgrade, or Status Query of an existing report is requested. |
| $.credit_information[0] |  |
| .has_credit_report_last_updated_date |  |
| .has_value | The date and time that the referenced credit report was last updated or revised. |
| $.credit_information[0] |  |
| .has_credit_report_merge_type |  |
| .has_value | This element indicates how duplicate data from multiple sources is handled on a credit report. {blend , list_and_stack , pick_and_choose} |
| $.credit_information[0] |  |
| .has_credit_report_type |  |
| .has_value | The type of credit report that was requested or produced. Most common types are Merged report (data from credit data repositories is merged), and RMCR (Residential Mortgage Credit Report - contains verified liabilities, employment, etc.) |
| $.credit_information[0] |  |
| .has_credit_repository_included_equifax_indicator |  |
| .has_value | This element indicates whether Equifax is included in either the request or response. |
| $.credit_information[0] |  |
| .has_credit_repository_included_experian_indicator |  |
| .has_value | This element indicates whether Experian is included in either the request or response. |
| $.credit_information[0] |  |
| .has_credit_repository_included_trans_union_indicator |  |
| .has_value | This element indicates whether Trans Union is included in either the request or response. |
| $.credit_information[0] |  |
| .has_credit_request_data_credit_repository_included_equifax_indicator |  |
| .has_value | {false , true} |
| $.credit_information[0] |  |
| .has_credit_request_data_credit_repository_included_experian_indicator |  |
| .has_value | {false , true} |
| $.credit_information[0] |  |
| .has_credit_request_data_credit_repository_included_trans_union_indicator |  |
| .has_value | {false , true} |
| $.credit_information[0] |  |
| .has_credit_request_type |  |
| .has_value | {individual , joint} |
| $.credit_information[0] |  |
| .with_credit_score_information | Credit score information |

##### Credit Score Information

| Lexicon Path | Description |
| --- | --- |
| $.credit_score_information[0] |  |
| .@type | credit_score_information |
| $.credit_score_information[0] |  |
| .has_credit_report_identifier |  |
| .has_value | A reference number assigned by the credit bureau to a specific credit report. This report number is also referenced when a Reissue, Upgrade, or Status Query of an existing report is requested. |
| $.credit_score_information[0] |  |
| .has_credit_repository_source_type |  |
| .has_value | This element describes the source of the credit file, Equifax, Experian, Trans Union or Unspecified if the specific sources are not specified.{equifax , experian , innovis , lexis_nexis , other , trans_union , unspecified} |
| $.credit_score_information[0] |  |
| .has_credit_score |  |
| .has_value | Information specific to a Credit Score that was obtained on one or more borrowers. |
| $.credit_score_information[0] |  |
| .has_credit_score_date |  |
| .has_value | Date that the referenced credit score was produced. |
| $.credit_score_information[0] |  |
| .has_credit_score_facta_inquiries_indicator |  |
| .has_value | This indicator is set to True when the Credit Risk Score Value of the borrower was negatively affected by the presence of credit inquiry records on their credit report. There may be FACT Act compliance requirements related to this alert message. {false , true} |
| $.credit_score_information[0] |  |
| .has_credit_score_model_name_type |  |
| .has_value | A value from a MISMO prescribed list that specifies the score algorithm model name used to produce the referenced credit risk score. |
| $.credit_score_information[0] |  |
| .has_credit_score_model_name_type_other_description |  |
| .has_value | When the Credit Score Model Name Type is set to Other, this element holds the description. |
| $.credit_score_information[0] |  |
| .with_credit_score_factor | The credit score factor. |

##### Credit Score Factor

| Lexicon Path | Description |
| --- | --- |
| $.credit_score_factors[0] |  |
| .@type | credit_score_factor |
| $.credit_score_factors[0] |  |
| .has_credit_factor_code |  |
| .has_value | Factors of the borrower's credit which give context to the referenced credit score. The factor is normally a numeric code. The Credit Score Factor Text contains the text for the factor code. |
| $.credit_score_factors[0] |  |
| .has_credit_factor_text |  |
| .has_value | The text remarks associated with a Credit Score Factor. |

##### Document

| Lexicon Path | Description |
| --- | --- |
| $.documents[0].@type | credit_report |
| $.documents[0].has_staircase_blob_identifier |  |
| .has_value | Staircase BLOB Identifier. |

<!--/source-->

##### Response

<!--source:api-specifications-->
200400 InvalidReturnExamplesValue400 text/html403404 GetProduct404 text/html500
<!--/source-->

<!--source:api-specifications-->
application/json Copy Successfully returned the list of elements of response of the product waterfall.

```
{
 "data": {
 "example": {
 "people": [
 {
 "@id": "01FD6ZKZD7WGZXYFGJBVPVP2Q5",
 "has_first_name": {
 "has_value": "John"
 },
 "has_last_name": {
 "has_value": "Jackson"
 },
 "has_birth_date": {
 "has_value": "12/28/1958"
 },
 "has_taxpayer_identifier_value": {
 "has_value": "666234390"
 },
 "with_address": [
 "01FD6ZNGJADZ0RB1H96FSE8BAB"
 ],
 "contact_at": [
 "01FD6ZNGJW9X96WGWX2BD37CFY"
 ]
 }
 ],
 "addresses": [
 {
 "@id": "01FD6ZNGJADZ0RB1H96FSE8BAB",
 "@type": "address",
 "has_address_line_1_text": {
 "has_value": "33 IRVING PLACE"
 },
 "has_address_line_2_text": {
 "has_value": "a"
 },
 "has_city_name": {
 "has_value": "NEW YORK"
 },
 "has_state_code": {
 "has_value": "NY"
 },
 "has_postal_code": {
 "has_value": "10003"
 },
 "has_country_name": {
 "has_value": "US"
 }
 }
 ],
 "contact_information": [
 {
 "@id": "01FD6ZNGJW9X96WGWX2BD37CFY",
 "@type": "contact_information",
 "has_email_address": {
 "has_value": "test@test.com"
 }
 }
 ],
 "employment": [
 {
 "provided_by": [
 "01FD6ZNGME8E1JFD342F7WDK8V"
 ]
 }
 ],
 "loans": [
 {
 "with_borrower": [
 "01FD6ZKZD7WGZXYFGJBVPVP2Q5"
 ]
 }
 ],
 "organizations": [
 {
 "@id": "01FD6ZNGNFKY3B7CX0YN6NH56E",
 "@type": "customer"
 }
 ]
 }
 },
 "metadata": {}
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Error

```
{
 "message": "Please provide one of valid return examples values: true, false"
}
```

<!--/source-->

<!--source:api-specifications-->
text/html Copy Error

```
<html>\r\n<head><title>400 Bad Request</title></head>\r\n<body>\r\n<center><h1>400 Bad Request</h1></center>\r\n</body>\r\n</html>\r\n
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy 403 invalid error

```
{
 "message": "Please check the key you used to call this service",
 "url": "https://api.staircase.co/docs/api-reference/customer-account-manager-service.yml/paths/~1products~1refresh/post"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Resource not found

```
{
 "type": "string",
 "description": "Error Message."
}
```

<!--/source-->

<!--source:api-specifications-->
text/html Copy Resource not found

```
<html>\r\n<head><title>400 Bad Request</title></head>\r\n<body>\r\n<center><h1>400 Bad Request</h1></center>\r\n</body>\r\n</html>\r\n
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Internal server error

```
{
 "message": "The product has encountered an internal server error. If you have used a transaction_id to call our services, please submit it to Staircase support"
}
```

<!--/source-->

##### Parameters

<!--source:api-specifications-->
2
<!--/source-->

| Parameter | Type | Example | Description |
| --- | --- | --- | --- |
| `x-api-key` required | `string` header | `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` | <!--source:api-specifications-->Environment API Key.<!--/source--> |
| `return_examples` | `boolean` query | `false` | <!--source:api-specifications-->If included and set to `true`, returns one or more pre-filled examples that conform to the schema. Default to `false`<!--/source--> |

##### Response `200``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Successfully returned the list of elements of response of the product waterfall.
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `schema` | `object` | <!--source:api-specifications-->Element key / value element<!--/source--> |

##### Response `400``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Error
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Message<!--/source--> |

##### Response `403``application/json`

<!--source:api-specifications-->
2 fields
<!--/source-->
<!--source:api-specifications-->
403 invalid error
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Error message.<!--/source--> |
| `url` | `string` | <!--source:api-specifications-->Error additional URL.<!--/source--> |

##### Response `404``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Resource not found
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Error Message.<!--/source--> |

##### Response `500``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Internal server error
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Error message.<!--/source--> |

<!--source:api-specifications-->

### Operations
<!--/source-->

`POST` `/credit`

<!--source:api-specifications-->

#### Create Credit
<!--/source-->

`post-credit`

<!--source:api-specifications-->
Create Creditt creates, for a borrower, views of the borrower's credit worthiness, to help make quick, actionable loan underwriting decisions with reduced risk.

<!--/source-->

##### Request

<!--source:api-specifications-->
application/json Copy
```
{
 "transaction_id": "uhz6t54e-9d74-g17e-99ca-a36b30vdfd35",
 "collection_id": "hg62e49f-9d74-g17e-99ca-a36b30vdfd35",
 "partner_name": "PartnerName"
}
```

<!--/source-->

##### Response

<!--source:api-specifications-->
application/json Copy Credit request created successfully.

```
{
 "collection_id": "e4502ed2-8df8-4b8f-84bd-a1097e999a77",
 "message": "When ready, data will be available under the following collection_id. Use this new collection_id to get the execution status."
}
```

<!--/source-->

##### Parameters

<!--source:api-specifications-->
1
<!--/source-->

| Parameter | Type | Example | Description |
| --- | --- | --- | --- |
| `x-api-key` required | `string` header | `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` | <!--source:api-specifications-->Authorization key<!--/source--> |

##### Request body`application/json`

<!--source:api-specifications-->
3 fields
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `transaction_id`required | `string` | <!--source:api-specifications-->Transaction ID<!--/source--> |
| `collection_id`required | `string` | <!--source:api-specifications-->Collection ID<!--/source--> |
| `partner_name`required | `string` | — |

##### Response `200``application/json`

<!--source:api-specifications-->
2 fields
<!--/source-->
<!--source:api-specifications-->
Credit request created successfully.
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `collection_id` | `string` | <!--source:api-specifications-->Collection ID<!--/source--> |
| `message` | `string` | <!--source:api-specifications-->Message<!--/source--> |

## Providers

- Arch MI
- CBC / Factual Data
- Equifax
- Informative Research
- MeridianLink
- Sharper Lending
- Xactus

Order: configured per lender.

## Field mapping

| Provider | Flow | Canonical in | Vendor in | Vendor out | Canonical out |
| --- | --- | --- | --- | --- | --- |
| Xactus | `credit-verify` | `staircase-graph` | `credit-input` | `credit-mismo231` | `staircase-graph` |

## Errors

`400``403``404``405``422``500`

## More in Verification

- Previous product: Asset
- Next product: Employment
