<!-- https://staircase.co/products/assessment/appraisal -->
# Appraisal

# Appraisal

Appraisal ordering and intake: placing the order, receiving the report, and normalising it against the loan file.

An appraisal arrives as a form with a defined field set, and normalising it means reading those fields into the canonical model — subject characteristics, comparables with their adjustments, and the reconciled value.

Checking the report for internal correctness is the dual-listed slot, Appraisal under Validation. Intake and validation are separated because a report can be received and stored before anyone has decided whether it is acceptable.

The operations below come from the collateral service, which routes appraisal alongside valuation, inspection and hazard insurance. Ordering an appraisal and ordering an automated valuation are the same shape of call against different evidence, which is why they share a surface.

## Dual listing

Appraisal is filed under two categories. The other listing is Appraisal under Validation, and neither listing carries a recorded specification.

## Operations

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

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

`POST` `/products/collateral-underwriting/invocations`

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

#### Invoke Product Flow
<!--/source-->

`InvokeSpecificProductFlow`

<!--source:api-specifications-->
This endpoint allows you to underwrite an appraisal document.

#### Usage

- Before running this endpoint, you need to create a Staircase Blob with appraisal report content. Then, you can set `$.documents.0.has_staircase_blob_identifier.has_value` to this blob identifier.
- A unique identifier for this loan should be given in the following path `$.loans.0.has_loan_identifier_value.has_value`
- After invocation is completed, Collateral Underwriting will watch status changes in partner, and whenever there is a status changed an `ORDER_STATUS_UPDATED` Job event will be published. You can process these events by catching with this trigger expression.

```
{
"name": "collateral-underwriting-trigger",
"description": "Event Trigger",
"type": "EVENT",
"filter_expression": {
"source_name": [
"collateral-underwriting"
],
"event_type": [
"ORDER_STATUS_UPDATED"
]
},
"actions": {
"target_jobs": [
"collateral-underwriting-test-job"
]
}
}
```

When `vendor_name` is set to `"homevision"`, the captured event will be in the following format:

Show the rest
```
{
 "transaction_id": "01G390E72SN9KK98146AG1WCRX",
 "flow_name": "homevision-flow",
 "homevision_loan_identifier": "01G390E72SN9KK98146AG1WCRX",
 "response_collection_id": "01G390EH4QYS7CNVPVZSP7AZ3S",
 "request_collection_id": "01G390EH4QYS7CNVPVZSP7AZ3S",
 "domain": "aus-dev.staircaseapi.com",
 "homevision_event_type": 4,
 "homevision_order_id": 8109,
 "homevision_internal_url": "",
 "homevision_order_status": "Order Completed",
 "homevision_message": "A new event has occurred for this order",
 "homevision_pdf_url": "",
 "homevision_xml_url": "",
 "homevision_env_url": "",
 "event_type": "ORDER_STATUS_UPDATED"
}
```

<!--/source-->

##### Request

<!--source:api-specifications-->
Flow Invocation with Collection IDConventional ExampleFha Example
<!--/source-->

<!--source:api-specifications-->
application/json Copy
```
{
 "vendor_name": "homevision",
 "transaction_id": "01F6NAMXWN2XVBD1YJ92A6S6R4",
 "request_collection_id": "01F6QF1QJF20DMSXH4SYXKB1SN"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy
```
{
 "vendor_name": "homevision",
 "request_data": {
 "addresses": [
 {
 "@id": "address_id",
 "@type": "business_address",
 "has_state_code": {
 "has_value": "CA"
 },
 "has_city_name": {
 "has_value": "Bankville"
 },
 "has_postal_code": {
 "has_value": 2138
 },
 "has_address_line_1_text": {
 "has_value": "123 Lending Lane"
 }
 },
 {
 "@id": "subject_property_address_id",
 "@type": "subject_property_address",
 "has_county_name": {
 "has_value": "Pinellas"
 },
 "has_state_code": {
 "has_value": "TX"
 },
 "has_city_name": {
 "has_value": "Salem"
 },
 "has_postal_code": {
 "has_value": "2138"
 },
 "has_address_line_1_text": {
 "has_value": "456 Main Street"
 }
 },
 {
 "@id": "borrower_address_id",
 "@type": "residential_address",
 "has_state_code": {
 "has_value": "TX"
 },
 "has_city_name": {
 "has_value": "Salem"
 },
 "has_postal_code": {
 "has_value": "2138"
 },
 "has_address_line_1_text": {
 "has_value": "456 Main Street"
 }
 }
 ],
 "documents": [
 {
 "@id": "document_id",
 "@type": "document",
 "has_staircase_blob_identifier": {
 "has_value": "01G2YVWSGPQC9Y9A6AXTHYMDET"
 }
 }
 ],
 "loans": [
 {
 "@id": "loan_id",
 "@type": "loan",
 "has_loan_identifier_value": {
 "has_value": "01G313MDG9KVKW62YK8S1WNMWB"
 }
 }
 ],
 "loan_terms": [
 {
 "@id": "loan_term_id",
 "@type": "loan_terms",
 "has_loan_purpose_type": {
 "has_value": "refinance"
 }
 }
 ],
 "organizations": [
 {
 "@id": "organization_id",
 "@type": "organization",
 "has_organization_name": {
 "has_value": "Liberty Lending"
 },
 "with_address": [
 "address_id"
 ]
 }
 ],
 "people": [
 {
 "@id": "appraiser_id",
 "@type": "appraiser",
 "has_appraisal_sub_committee_appraiser_identifier": {
 "has_value": "A12345"
 },
 "has_full_name": {
 "has_value": "Alan Appraiser"
 }
 },
 {
 "@id": "borrower_id",
 "@type": "borrower",
 "has_full_name": {
 "has_value": "Jane Doe"
 },
 "lives_at": [
 "residence_id"
 ]
 },
 {
 "@id": "co_borrower_id",
 "@type": "borrower",
 "has_full_name": {
 "has_value": "John Doe"
 }
 }
 ],
 "properties": [
 {
 "@id": "subject_property_id",
 "@type": "subject_property",
 "with_address": [
 "subject_property_address_id"
 ],
 "with_sales_contract": [
 "sales_contract_id"
 ]
 }
 ],
 "property_valuations": [
 {
 "@id": "property_valution_id",
 "@type": "property_valuation",
 "has_property_inspection_type_other_description": {
 "has_value": "1004"
 }
 }
 ],
 "residences": [
 {
 "@id": "residence_id",
 "@type": "residence",
 "with_address": [
 "borrower_address_id"
 ]
 }
 ],
 "roles": [
 {
 "@id": "role_id",
 "@type": "role",
 "with_appraiser": [
 "appraiser_id"
 ]
 }
 ],
 "sales_contracts": [
 {
 "@id": "sales_contract_id",
 "@type": "property_sales_contract",
 "has_sales_contract_amount": {
 "has_value": 123456
 }
 }
 ]
 }
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy
```
{
 "vendor_name": "homevision",
 "request_data": {
 "addresses": [
 {
 "@id": "address_id",
 "@type": "business_address",
 "has_state_code": {
 "has_value": "CA"
 },
 "has_city_name": {
 "has_value": "Bankville"
 },
 "has_postal_code": {
 "has_value": 2138
 },
 "has_address_line_1_text": {
 "has_value": "123 Lending Lane"
 }
 },
 {
 "@id": "subject_property_address_id",
 "@type": "subject_property_address",
 "has_county_name": {
 "has_value": "Pinellas"
 },
 "has_state_code": {
 "has_value": "TX"
 },
 "has_city_name": {
 "has_value": "Salem"
 },
 "has_postal_code": {
 "has_value": "2138"
 },
 "has_address_line_1_text": {
 "has_value": "456 Main Street"
 }
 },
 {
 "@id": "borrower_address_id",
 "@type": "residential_address",
 "has_state_code": {
 "has_value": "TX"
 },
 "has_city_name": {
 "has_value": "Salem"
 },
 "has_postal_code": {
 "has_value": "2138"
 },
 "has_address_line_1_text": {
 "has_value": "456 Main Street"
 }
 }
 ],
 "documents": [
 {
 "@id": "document_id",
 "@type": "document",
 "has_staircase_blob_identifier": {
 "has_value": "01G2YVWSGPQC9Y9A6AXTHYMDET"
 }
 }
 ],
 "government_loans": [
 {
 "@id": "government_loan_id",
 "@type": "government_loan",
 "has_fha_case_number": {
 "has_value": "FHA111111111"
 }
 }
 ],
 "loans": [
 {
 "@id": "loan_id",
 "@type": "loan",
 "has_loan_identifier_value": {
 "has_value": "01G313MDG9KVKW62YK8S1WNMWB"
 },
 "with_government_loan": [
 "government_loan_id"
 ]
 }
 ],
 "loan_terms": [
 {
 "@id": "loan_term_id",
 "@type": "loan_terms",
 "has_loan_purpose_type": {
 "has_value": "refinance"
 }
 }
 ],
 "organizations": [
 {
 "@id": "organization_id",
 "@type": "organization",
 "has_organization_name": {
 "has_value": "Liberty Lending"
 },
 "with_address": [
 "address_id"
 ]
 }
 ],
 "people": [
 {
 "@id": "appraiser_id",
 "@type": "appraiser",
 "has_appraisal_sub_committee_appraiser_identifier": {
 "has_value": "A12345"
 },
 "has_full_name": {
 "has_value": "Alan Appraiser"
 }
 },
 {
 "@id": "borrower_id",
 "@type": "borrower",
 "has_full_name": {
 "has_value": "Jane Doe"
 },
 "lives_at": [
 "residence_id"
 ]
 },
 {
 "@id": "co_borrower_id",
 "@type": "borrower",
 "has_full_name": {
 "has_value": "John Doe"
 }
 }
 ],
 "properties": [
 {
 "@id": "subject_property_id",
 "@type": "subject_property",
 "with_address": [
 "subject_property_address_id"
 ],
 "with_sales_contract": [
 "sales_contract_id"
 ]
 }
 ],
 "property_valuations": [
 {
 "@id": "property_valution_id",
 "@type": "property_valuation",
 "has_property_inspection_type_other_description": {
 "has_value": "1004"
 }
 }
 ],
 "residences": [
 {
 "@id": "residence_id",
 "@type": "residence",
 "with_address": [
 "borrower_address_id"
 ]
 }
 ],
 "roles": [
 {
 "@id": "role_id",
 "@type": "role",
 "with_appraiser": [
 "appraiser_id"
 ]
 }
 ],
 "sales_contracts": [
 {
 "@id": "sales_contract_id",
 "@type": "property_sales_contract",
 "has_sales_contract_amount": {
 "has_value": 123456
 }
 }
 ]
 }
}
```

<!--/source-->

##### Response

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

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

```
{
 "product_flow_name": "collateral-underwriting",
 "metadata": {},
 "request_collection_id": "01FFHJ4JCWGHV38SC1NJ8TVNFY",
 "invocation_id": "08f0f7bd-0158-4ab8-845c-f94eafa3859c",
 "invocation_status": "STARTED",
 "transaction_id": "01FFHJ2ZVS4P7N4AV5W0993QMD"
}
```

<!--/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://staircase.stoplight.io/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\nhave used a transaction_id to call our services, please submit it to\nStaircase support"
}
```

<!--/source-->

##### Parameters

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

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

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

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

| Field | Type | Description |
| --- | --- | --- |
| `invocation_id` | `string` | <!--source:api-specifications-->Invocation ID.<!--/source--> |
| `invocation_status` | `string` | <!--source:api-specifications-->The status of the invocation.<!--/source-->`STARTED` |
| `transaction_id` | `string` | <!--source:api-specifications-->Transaction ID.<!--/source--> |
| `product_flow_name` | `string` | <!--source:api-specifications-->Product flow name.<!--/source-->`collateral-underwriting` |
| `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--> |

##### 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-->
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/collateral-underwriting/invocations/{invocation_id}`

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

#### Retrieve Invocation Status
<!--/source-->

`RetrieveProductFlowInvocationStatus`

<!--source:api-specifications-->
Retrieve status of a Product Flow Invocation
<!--/source-->

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

<!--/source-->

##### Response

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

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

```
{
 "request_collection_id": "01FFHJ4JCWGHV38SC1NJ8TVNFY",
 "response_collection_id": "01FFHKS6W9J0JDTGTQJB9Y2RWB",
 "metadata": {},
 "invocation_id": "08f0f7bd-0158-4ab8-845c-f94eafa3859c",
 "invocation_status": "RUNNING",
 "transaction_id": "01FFHJ2ZVS4P7N4AV5W0993QMD",
 "product_flow_name": "collateral-underwriting",
 "request_collection": {
 "metadata": {
 "created_at": "2021-09-14T03:08:00.284090-04:00",
 "validation": false
 },
 "transaction_id": "01FFHJ2ZVS4P7N4AV5W0993QMD",
 "collection_id": "01FFHJ4JCWGHV38SC1NJ8TVNFY",
 "data": {
 "addresses": [
 {
 "@id": "address_id",
 "@type": "business_address",
 "has_state_code": {
 "has_value": "CA"
 },
 "has_city_name": {
 "has_value": "Bankville"
 },
 "has_postal_code": {
 "has_value": 2138
 },
 "has_address_line_1_text": {
 "has_value": "123 Lending Lane"
 }
 },
 {
 "@id": "subject_property_address_id",
 "@type": "subject_property_address",
 "has_county_name": {
 "has_value": "Pinellas"
 },
 "has_state_code": {
 "has_value": "TX"
 },
 "has_city_name": {
 "has_value": "Salem"
 },
 "has_postal_code": {
 "has_value": "2138"
 },
 "has_address_line_1_text": {
 "has_value": "456 Main Street"
 }
 },
 {
 "@id": "borrower_address_id",
 "@type": "residential_address",
 "has_state_code": {
 "has_value": "TX"
 },
 "has_city_name": {
 "has_value": "Salem"
 },
 "has_postal_code": {
 "has_value": "2138"
 },
 "has_address_line_1_text": {
 "has_value": "456 Main Street"
 }
 }
 ],
 "documents": [
 {
 "@id": "document_id",
 "@type": "document",
 "has_staircase_blob_identifier": {
 "has_value": "01G2YVWSGPQC9Y9A6AXTHYMDET"
 }
 }
 ],
 "loans": [
 {
 "@id": "loan_id",
 "@type": "loan",
 "has_loan_identifier_value": {
 "has_value": "01G313MDG9KVKW62YK8S1WNMWB"
 }
 }
 ],
 "loan_terms": [
 {
 "@id": "loan_term_id",
 "@type": "loan_terms",
 "has_loan_purpose_type": {
 "has_value": "refinance"
 }
 }
 ],
 "organizations": [
 {
 "@id": "organization_id",
 "@type": "organization",
 "has_organization_name": {
 "has_value": "Liberty Lending"
 },
 "with_address": [
 "address_id"
 ]
 }
 ],
 "people": [
 {
 "@id": "appraiser_id",
 "@type": "appraiser",
 "has_appraisal_sub_committee_appraiser_identifier": {
 "has_value": "A12345"
 },
 "has_full_name": {
 "has_value": "Alan Appraiser"
 }
 },
 {
 "@id": "borrower_id",
 "@type": "borrower",
 "has_full_name": {
 "has_value": "Jane Doe"
 },
 "lives_at": [
 "residence_id"
 ]
 },
 {
 "@id": "co_borrower_id",
 "@type": "borrower",
 "has_full_name": {
 "has_value": "John Doe"
 }
 }
 ],
 "properties": [
 {
 "@id": "subject_property_id",
 "@type": "subject_property",
 "with_address": [
 "subject_property_address_id"
 ],
 "with_sales_contract": [
 "sales_contract_id"
 ]
 }
 ],
 "property_valuations": [
 {
 "@id": "property_valution_id",
 "@type": "property_valuation",
 "has_property_inspection_type_other_description": {
 "has_value": "1004"
 }
 }
 ],
 "residences": [
 {
 "@id": "residence_id",
 "@type": "residence",
 "with_address": [
 "borrower_address_id"
 ]
 }
 ],
 "roles": [
 {
 "@id": "role_id",
 "@type": "role",
 "with_appraiser": [
 "appraiser_id"
 ]
 }
 ],
 "sales_contracts": [
 {
 "@id": "sales_contract_id",
 "@type": "property_sales_contract",
 "has_sales_contract_amount": {
 "has_value": 123456
 }
 }
 ]
 }
 },
 "response_collection": {
 "metadata": {
 "created_at": "2021-09-14T03:36:45.193268-04:00",
 "validation": false
 },
 "transaction_id": "01FFHJ2ZVS4P7N4AV5W0993QMD",
 "collection_id": "01FFHKS6W9J0JDTGTQJB9Y2RWB",
 "data": {
 "services": [
 {
 "@id": "service_id",
 "@type": "service",
 "has_service_name": {
 "has_value": "Collateral Underwriting"
 },
 "has_service_vendor_name": {
 "has_value": "homevision"
 },
 "with_foreign_object": [
 "f1",
 "f2",
 "f3",
 "f4"
 ]
 }
 ],
 "foreign_objects": [
 {
 "@id": "f1",
 "@type": "foreign_object",
 "has_object_name": {
 "has_value": "internal_url"
 },
 "has_object_url_value": {
 "has_value": "https://app.homevision.co/xmlqc/2394077"
 }
 },
 {
 "@id": "f2",
 "@type": "foreign_object",
 "has_object_name": {
 "has_value": "pdf_url"
 },
 "has_object_url_value": {
 "has_value": "https://app.homevision.co/123456/pdf.pdf"
 }
 },
 {
 "@id": "f3",
 "@type": "foreign_object",
 "has_object_name": {
 "has_value": "xml_url"
 },
 "has_object_url_value": {
 "has_value": "https://app.homevision.co/123456/xml.xml"
 }
 },
 {
 "@id": "f4",
 "@type": "foreign_object",
 "has_object_name": {
 "has_value": "env_url"
 },
 "has_object_url_value": {
 "has_value": "https://app.homevision.co/123456/env.env"
 }
 }
 ]
 }
 }
}
```

<!--/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://staircase.stoplight.io/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\nhave used a transaction_id to call our services, please submit it to\nStaircase support"
}
```

<!--/source-->

##### Parameters

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

| Parameter | Type | Example | Description |
| --- | --- | --- | --- |
| `x-api-key` required | `string` header | — | <!--source:api-specifications-->Environment API Key.<!--/source--> |
| `invocation_id` required | `string (ulid)` path | `01F0KHKADN0HRFXMCQQXPA6AFZ` | <!--source:api-specifications-->Product flow invocation identifier<!--/source--> |

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

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

| Field | Type | Description |
| --- | --- | --- |
| `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` | — |
| `services`required | `object[]` | — |
| `@id`required | `string` | — |
| `@type`required | `string` | — |
| `has_service_name`required | `object` | — |
| `has_service_vendor_name`required | `object` | — |
| `with_foreign_object`required | `string[]` | — |
| `foreign_objects`required | `object[]` | — |
| `@id`required | `string` | — |
| `@type`required | `string` | — |
| `has_object_name`required | `object` | — |
| `has_object_url_value` | `object` | — |
| `metadata` | `object` | <!--source:api-specifications-->Metadata about collection, f.e version of used Staircase schema.<!--/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--> |

##### 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-->
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/collateral-underwriting/request-schema`

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

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

<!--/source-->

##### Response

<!--source:api-specifications-->
200 Schema200 Schema with Examples400 InvalidReturnExamplesValue400 text/html403404 GetProduct404 text/html500
<!--/source-->

<!--source:api-specifications-->
application/json Copy Request schema (possibly with examples) is successfully returned.

```
{
 "schema": {
 "type": "object",
 "required": [
 "addresses",
 "documents",
 "loans",
 "loan_terms",
 "organizations",
 "people",
 "properties",
 "property_valuations",
 "residences",
 "roles",
 "sales_contracts"
 ],
 "properties": {
 "addresses": {
 "type": "array",
 "items": {
 "type": "object",
 "required": [
 "@id",
 "@type",
 "has_state_code",
 "has_city_name",
 "has_postal_code",
 "has_address_line_1_text"
 ],
 "properties": {
 "@id": {
 "type": "string"
 },
 "@type": {
 "type": "string"
 },
 "has_state_code": {
 "type": "object",
 "required": [
 "has_value"
 ],
 "properties": {
 "has_value": {
 "type": "string"
 }
 }
 },
 "has_city_name": {
 "type": "object",
 "required": [
 "has_value"
 ],
 "properties": {
 "has_value": {
 "type": "string"
 }
 }
 },
 "has_postal_code": {
 "type": "object",
 "required": [
 "has_value"
 ],
 "properties": {
 "has_value": {
 "type": "string"
 }
 }
 },
 "has_address_line_1_text": {
 "type": "object",
 "required": [
 "has_value"
 ],
 "properties": {
 "has_value": {
 "type": "string"
 }
 }
 },
 "has_county_name": {
 "type": "object",
 "required": [
 "has_value"
 ],
 "properties": {
 "has_value": {
 "type": "string"
 }
 }
 }
 }
 }
 },
 "documents": {
 "type": "array",
 "items": {
 "type": "object",
 "properties": {
 "@id": {
 "type": "string"
 },
 "@type": {
 "type": "string"
 },
 "has_staircase_blob_identifier": {
 "type": "object",
 "required": [
 "has_value"
 ],
 "properties": {
 "has_value": {
 "type": "string"
 }
 }
 }
 },
 "required": [
 "@id",
 "@type",
 "has_staircase_blob_identifier"
 ]
 }
 },
 "loans": {
 "type": "array",
 "items": {
 "type": "object",
 "properties": {
 "@id": {
 "type": "string"
 },
 "@type": {
 "type": "string"
 },
 "with_government_loan": {
 "type": "array",
 "items": {
 "type": "string"
 }
 },
 "has_loan_identifier_value": {
 "type": "object",
 "required": [
 "has_value"
 ],
 "properties": {
 "has_value": {
 "type": "string"
 }
 }
 }
 },
 "required": [
 "@id",
 "@type",
 "has_loan_identifier_value"
 ]
 }
 },
 "government_loans": {
 "type": "array",
 "items": {
 "type": "object",
 "required": [
 "@id",
 "@type",
 "has_fha_case_number"
 ],
 "properties": {
 "@id": {
 "type": "string"
 },
 "@type": {
 "type": "string"
 },
 "has_fha_case_number": {
 "type": "object",
 "properties": {
 "has_value": {
 "type": "string"
 }
 },
 "required": [
 "has_value"
 ]
 }
 }
 }
 },
 "loan_terms": {
 "type": "array",
 "items": {
 "type": "object",
 "required": [
 "@id",
 "@type",
 "has_loan_purpose_type"
 ],
 "properties": {
 "@id": {
 "type": "string"
 },
 "@type": {
 "type": "string"
 },
 "has_loan_purpose_type": {
 "type": "object",
 "required": [
 "has_value"
 ],
 "properties": {
 "has_value": {
 "type": "string"
 }
 }
 }
 }
 }
 },
 "organizations": {
 "type": "array",
 "items": {
 "type": "object",
 "required": [
 "@id",
 "@type",
 "has_organization_name",
 "with_address"
 ],
 "properties": {
 "@id": {
 "type": "string"
 },
 "@type": {
 "type": "string"
 },
 "has_organization_name": {
 "type": "object",
 "required": [
 "has_value"
 ],
 "properties": {
 "has_value": {
 "type": "string"
 }
 }
 },
 "with_address": {
 "type": "array",
 "items": {
 "type": "string"
 }
 }
 }
 }
 },
 "people": {
 "type": "array",
 "items": {
 "type": "object",
 "required": [
 "@id",
 "@type",
 "has_full_name"
 ],
 "properties": {
 "@id": {
 "type": "string"
 },
 "@type": {
 "type": "string"
 },
 "has_appraisal_sub_committee_appraiser_identifier": {
 "type": "object",
 "required": [
 "has_value"
 ],
 "properties": {
 "has_value": {
 "type": "string"
 }
 }
 },
 "has_full_name": {
 "type": "object",
 "required": [
 "has_value"
 ],
 "properties": {
 "has_value": {
 "type": "string"
 }
 }
 },
 "lives_at": {
 "type": "array",
 "items": {
 "type": "string"
 }
 }
 }
 }
 },
 "properties": {
 "type": "array",
 "items": {
 "type": "object",
 "required": [
 "@id",
 "@type",
 "with_address",
 "with_sales_contract"
 ],
 "properties": {
 "@id": {
 "type": "string"
 },
 "@type": {
 "type": "string"
 },
 "with_address": {
 "type": "array",
 "items": {
 "type": "string"
 }
 },
 "with_sales_contract": {
 "type": "array",
 "items": {
 "type": "string"
 }
 }
 }
 }
 },
 "property_valuations": {
 "type": "array",
 "items": {
 "type": "object",
 "required": [
 "@id",
 "@type",
 "has_property_inspection_type_other_description"
 ],
 "properties": {
 "@id": {
 "type": "string"
 },
 "@type": {
 "type": "string"
 },
 "has_property_inspection_type_other_description": {
 "type": "object",
 "required": [
 "has_value"
 ],
 "properties": {
 "has_value": {
 "type": "string"
 }
 }
 }
 }
 }
 },
 "residences": {
 "type": "array",
 "items": {
 "type": "object",
 "required": [
 "@id",
 "@type",
 "with_address"
 ],
 "properties": {
 "@id": {
 "type": "string"
 },
 "@type": {
 "type": "string"
 },
 "with_address": {
 "type": "array",
 "items": {
 "type": "string"
 }
 }
 }
 }
 },
 "roles": {
 "type": "array",
 "items": {
 "type": "object",
 "required": [
 "@id",
 "@type",
 "with_appraiser"
 ],
 "properties": {
 "@id": {
 "type": "string"
 },
 "@type": {
 "type": "string"
 },
 "with_appraiser": {
 "type": "array",
 "items": {
 "type": "string"
 }
 }
 }
 }
 },
 "sales_contracts": {
 "type": "array",
 "items": {
 "type": "object",
 "required": [
 "@id",
 "@type",
 "has_sales_contract_amount"
 ],
 "properties": {
 "@id": {
 "type": "string"
 },
 "@type": {
 "type": "string"
 },
 "has_sales_contract_amount": {
 "type": "object",
 "required": [
 "has_value"
 ],
 "properties": {
 "has_value": {
 "type": "integer"
 }
 }
 }
 }
 }
 }
 },
 "description": "The data that is needed for invocation. It should follow the request schema"
 }
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Request schema (possibly with examples) is successfully returned.

```
{
 "schema": {
 "type": "object",
 "required": [
 "addresses",
 "documents",
 "loans",
 "loan_terms",
 "organizations",
 "people",
 "properties",
 "property_valuations",
 "residences",
 "roles",
 "sales_contracts"
 ],
 "properties": {
 "addresses": {
 "type": "array",
 "items": {
 "type": "object",
 "required": [
 "@id",
 "@type",
 "has_state_code",
 "has_city_name",
 "has_postal_code",
 "has_address_line_1_text"
 ],
 "properties": {
 "@id": {
 "type": "string"
 },
 "@type": {
 "type": "string"
 },
 "has_state_code": {
 "type": "object",
 "required": [
 "has_value"
 ],
 "properties": {
 "has_value": {
 "type": "string"
 }
 }
 },
 "has_city_name": {
 "type": "object",
 "required": [
 "has_value"
 ],
 "properties": {
 "has_value": {
 "type": "string"
 }
 }
 },
 "has_postal_code": {
 "type": "object",
 "required": [
 "has_value"
 ],
 "properties": {
 "has_value": {
 "type": "string"
 }
 }
 },
 "has_address_line_1_text": {
 "type": "object",
 "required": [
 "has_value"
 ],
 "properties": {
 "has_value": {
 "type": "string"
 }
 }
 },
 "has_county_name": {
 "type": "object",
 "required": [
 "has_value"
 ],
 "properties": {
 "has_value": {
 "type": "string"
 }
 }
 }
 }
 }
 },
 "documents": {
 "type": "array",
 "items": {
 "type": "object",
 "properties": {
 "@id": {
 "type": "string"
 },
 "@type": {
 "type": "string"
 },
 "has_staircase_blob_identifier": {
 "type": "object",
 "required": [
 "has_value"
 ],
 "properties": {
 "has_value": {
 "type": "string"
 }
 }
 }
 },
 "required": [
 "@id",
 "@type",
 "has_staircase_blob_identifier"
 ]
 }
 },
 "loans": {
 "type": "array",
 "items": {
 "type": "object",
 "properties": {
 "@id": {
 "type": "string"
 },
 "@type": {
 "type": "string"
 },
 "with_government_loan": {
 "type": "array",
 "items": {
 "type": "string"
 }
 },
 "has_loan_identifier_value": {
 "type": "object",
 "required": [
 "has_value"
 ],
 "properties": {
 "has_value": {
 "type": "string"
 }
 }
 }
 },
 "required": [
 "@id",
 "@type",
 "has_loan_identifier_value"
 ]
 }
 },
 "government_loans": {
 "type": "array",
 "items": {
 "type": "object",
 "required": [
 "@id",
 "@type",
 "has_fha_case_number"
 ],
 "properties": {
 "@id": {
 "type": "string"
 },
 "@type": {
 "type": "string"
 },
 "has_fha_case_number": {
 "type": "object",
 "properties": {
 "has_value": {
 "type": "string"
 }
 },
 "required": [
 "has_value"
 ]
 }
 }
 }
 },
 "loan_terms": {
 "type": "array",
 "items": {
 "type": "object",
 "required": [
 "@id",
 "@type",
 "has_loan_purpose_type"
 ],
 "properties": {
 "@id": {
 "type": "string"
 },
 "@type": {
 "type": "string"
 },
 "has_loan_purpose_type": {
 "type": "object",
 "required": [
 "has_value"
 ],
 "properties": {
 "has_value": {
 "type": "string"
 }
 }
 }
 }
 }
 },
 "organizations": {
 "type": "array",
 "items": {
 "type": "object",
 "required": [
 "@id",
 "@type",
 "has_organization_name",
 "with_address"
 ],
 "properties": {
 "@id": {
 "type": "string"
 },
 "@type": {
 "type": "string"
 },
 "has_organization_name": {
 "type": "object",
 "required": [
 "has_value"
 ],
 "properties": {
 "has_value": {
 "type": "string"
 }
 }
 },
 "with_address": {
 "type": "array",
 "items": {
 "type": "string"
 }
 }
 }
 }
 },
 "people": {
 "type": "array",
 "items": {
 "type": "object",
 "required": [
 "@id",
 "@type",
 "has_full_name"
 ],
 "properties": {
 "@id": {
 "type": "string"
 },
 "@type": {
 "type": "string"
 },
 "has_appraisal_sub_committee_appraiser_identifier": {
 "type": "object",
 "required": [
 "has_value"
 ],
 "properties": {
 "has_value": {
 "type": "string"
 }
 }
 },
 "has_full_name": {
 "type": "object",
 "required": [
 "has_value"
 ],
 "properties": {
 "has_value": {
 "type": "string"
 }
 }
 },
 "lives_at": {
 "type": "array",
 "items": {
 "type": "string"
 }
 }
 }
 }
 },
 "properties": {
 "type": "array",
 "items": {
 "type": "object",
 "required": [
 "@id",
 "@type",
 "with_address",
 "with_sales_contract"
 ],
 "properties": {
 "@id": {
 "type": "string"
 },
 "@type": {
 "type": "string"
 },
 "with_address": {
 "type": "array",
 "items": {
 "type": "string"
 }
 },
 "with_sales_contract": {
 "type": "array",
 "items": {
 "type": "string"
 }
 }
 }
 }
 },
 "property_valuations": {
 "type": "array",
 "items": {
 "type": "object",
 "required": [
 "@id",
 "@type",
 "has_property_inspection_type_other_description"
 ],
 "properties": {
 "@id": {
 "type": "string"
 },
 "@type": {
 "type": "string"
 },
 "has_property_inspection_type_other_description": {
 "type": "object",
 "required": [
 "has_value"
 ],
 "properties": {
 "has_value": {
 "type": "string"
 }
 }
 }
 }
 }
 },
 "residences": {
 "type": "array",
 "items": {
 "type": "object",
 "required": [
 "@id",
 "@type",
 "with_address"
 ],
 "properties": {
 "@id": {
 "type": "string"
 },
 "@type": {
 "type": "string"
 },
 "with_address": {
 "type": "array",
 "items": {
 "type": "string"
 }
 }
 }
 }
 },
 "roles": {
 "type": "array",
 "items": {
 "type": "object",
 "required": [
 "@id",
 "@type",
 "with_appraiser"
 ],
 "properties": {
 "@id": {
 "type": "string"
 },
 "@type": {
 "type": "string"
 },
 "with_appraiser": {
 "type": "array",
 "items": {
 "type": "string"
 }
 }
 }
 }
 },
 "sales_contracts": {
 "type": "array",
 "items": {
 "type": "object",
 "required": [
 "@id",
 "@type",
 "has_sales_contract_amount"
 ],
 "properties": {
 "@id": {
 "type": "string"
 },
 "@type": {
 "type": "string"
 },
 "has_sales_contract_amount": {
 "type": "object",
 "required": [
 "has_value"
 ],
 "properties": {
 "has_value": {
 "type": "integer"
 }
 }
 }
 }
 }
 }
 },
 "description": "The data that is needed for invocation. It should follow the request schema"
 },
 "examples": [
 {
 "addresses": [
 {
 "@id": "address_id",
 "@type": "business_address",
 "has_state_code": {
 "has_value": "CA"
 },
 "has_city_name": {
 "has_value": "Bankville"
 },
 "has_postal_code": {
 "has_value": 2138
 },
 "has_address_line_1_text": {
 "has_value": "123 Lending Lane"
 }
 },
 {
 "@id": "subject_property_address_id",
 "@type": "subject_property_address",
 "has_county_name": {
 "has_value": "Pinellas"
 },
 "has_state_code": {
 "has_value": "TX"
 },
 "has_city_name": {
 "has_value": "Salem"
 },
 "has_postal_code": {
 "has_value": "2138"
 },
 "has_address_line_1_text": {
 "has_value": "456 Main Street"
 }
 },
 {
 "@id": "borrower_address_id",
 "@type": "residential_address",
 "has_state_code": {
 "has_value": "TX"
 },
 "has_city_name": {
 "has_value": "Salem"
 },
 "has_postal_code": {
 "has_value": "2138"
 },
 "has_address_line_1_text": {
 "has_value": "456 Main Street"
 }
 }
 ],
 "documents": [
 {
 "@id": "document_id",
 "@type": "document",
 "has_staircase_blob_identifier": {
 "has_value": "01G2YVWSGPQC9Y9A6AXTHYMDET"
 }
 }
 ],
 "loans": [
 {
 "@id": "loan_id",
 "@type": "loan",
 "has_loan_identifier_value": {
 "has_value": "01G313MDG9KVKW62YK8S1WNMWB"
 }
 }
 ],
 "loan_terms": [
 {
 "@id": "loan_term_id",
 "@type": "loan_terms",
 "has_loan_purpose_type": {
 "has_value": "refinance"
 }
 }
 ],
 "organizations": [
 {
 "@id": "organization_id",
 "@type": "organization",
 "has_organization_name": {
 "has_value": "Liberty Lending"
 },
 "with_address": [
 "address_id"
 ]
 }
 ],
 "people": [
 {
 "@id": "appraiser_id",
 "@type": "appraiser",
 "has_appraisal_sub_committee_appraiser_identifier": {
 "has_value": "A12345"
 },
 "has_full_name": {
 "has_value": "Alan Appraiser"
 }
 },
 {
 "@id": "borrower_id",
 "@type": "borrower",
 "has_full_name": {
 "has_value": "Jane Doe"
 },
 "lives_at": [
 "residence_id"
 ]
 },
 {
 "@id": "co_borrower_id",
 "@type": "borrower",
 "has_full_name": {
 "has_value": "John Doe"
 }
 }
 ],
 "properties": [
 {
 "@id": "subject_property_id",
 "@type": "subject_property",
 "with_address": [
 "subject_property_address_id"
 ],
 "with_sales_contract": [
 "sales_contract_id"
 ]
 }
 ],
 "property_valuations": [
 {
 "@id": "property_valution_id",
 "@type": "property_valuation",
 "has_property_inspection_type_other_description": {
 "has_value": "1004"
 }
 }
 ],
 "residences": [
 {
 "@id": "residence_id",
 "@type": "residence",
 "with_address": [
 "borrower_address_id"
 ]
 }
 ],
 "roles": [
 {
 "@id": "role_id",
 "@type": "role",
 "with_appraiser": [
 "appraiser_id"
 ]
 }
 ],
 "sales_contracts": [
 {
 "@id": "sales_contract_id",
 "@type": "property_sales_contract",
 "has_sales_contract_amount": {
 "has_value": 123456
 }
 }
 ]
 },
 {
 "addresses": [
 {
 "@id": "address_id",
 "@type": "business_address",
 "has_state_code": {
 "has_value": "CA"
 },
 "has_city_name": {
 "has_value": "Bankville"
 },
 "has_postal_code": {
 "has_value": 2138
 },
 "has_address_line_1_text": {
 "has_value": "123 Lending Lane"
 }
 },
 {
 "@id": "subject_property_address_id",
 "@type": "subject_property_address",
 "has_county_name": {
 "has_value": "Pinellas"
 },
 "has_state_code": {
 "has_value": "TX"
 },
 "has_city_name": {
 "has_value": "Salem"
 },
 "has_postal_code": {
 "has_value": "2138"
 },
 "has_address_line_1_text": {
 "has_value": "456 Main Street"
 }
 },
 {
 "@id": "borrower_address_id",
 "@type": "residential_address",
 "has_state_code": {
 "has_value": "TX"
 },
 "has_city_name": {
 "has_value": "Salem"
 },
 "has_postal_code": {
 "has_value": "2138"
 },
 "has_address_line_1_text": {
 "has_value": "456 Main Street"
 }
 }
 ],
 "documents": [
 {
 "@id": "document_id",
 "@type": "document",
 "has_staircase_blob_identifier": {
 "has_value": "01G2YVWSGPQC9Y9A6AXTHYMDET"
 }
 }
 ],
 "government_loans": [
 {
 "@id": "government_loan_id",
 "@type": "government_loan",
 "has_fha_case_number": {
 "has_value": "FHA111111111"
 }
 }
 ],
 "loans": [
 {
 "@id": "loan_id",
 "@type": "loan",
 "has_loan_identifier_value": {
 "has_value": "01G313MDG9KVKW62YK8S1WNMWB"
 },
 "with_government_loan": [
 "government_loan_id"
 ]
 }
 ],
 "loan_terms": [
 {
 "@id": "loan_term_id",
 "@type": "loan_terms",
 "has_loan_purpose_type": {
 "has_value": "refinance"
 }
 }
 ],
 "organizations": [
 {
 "@id": "organization_id",
 "@type": "organization",
 "has_organization_name": {
 "has_value": "Liberty Lending"
 },
 "with_address": [
 "address_id"
 ]
 }
 ],
 "people": [
 {
 "@id": "appraiser_id",
 "@type": "appraiser",
 "has_appraisal_sub_committee_appraiser_identifier": {
 "has_value": "A12345"
 },
 "has_full_name": {
 "has_value": "Alan Appraiser"
 }
 },
 {
 "@id": "borrower_id",
 "@type": "borrower",
 "has_full_name": {
 "has_value": "Jane Doe"
 },
 "lives_at": [
 "residence_id"
 ]
 },
 {
 "@id": "co_borrower_id",
 "@type": "borrower",
 "has_full_name": {
 "has_value": "John Doe"
 }
 }
 ],
 "properties": [
 {
 "@id": "subject_property_id",
 "@type": "subject_property",
 "with_address": [
 "subject_property_address_id"
 ],
 "with_sales_contract": [
 "sales_contract_id"
 ]
 }
 ],
 "property_valuations": [
 {
 "@id": "property_valution_id",
 "@type": "property_valuation",
 "has_property_inspection_type_other_description": {
 "has_value": "1004"
 }
 }
 ],
 "residences": [
 {
 "@id": "residence_id",
 "@type": "residence",
 "with_address": [
 "borrower_address_id"
 ]
 }
 ],
 "roles": [
 {
 "@id": "role_id",
 "@type": "role",
 "with_appraiser": [
 "appraiser_id"
 ]
 }
 ],
 "sales_contracts": [
 {
 "@id": "sales_contract_id",
 "@type": "property_sales_contract",
 "has_sales_contract_amount": {
 "has_value": 123456
 }
 }
 ]
 }
 ]
}
```

<!--/source-->

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

```
{
 "message": "Please provide one of valid return examples values:\ntrue, 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://staircase.stoplight.io/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\nhave used a transaction_id to call our services, please submit it to\nStaircase support"
}
```

<!--/source-->

##### Parameters

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

| Parameter | Type | Description |
| --- | --- | --- |
| `x-api-key` required | `string` header | <!--source:api-specifications-->Environment API Key.<!--/source--> |
| `return_examples` | `boolean` query | <!--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-->
2 fields
<!--/source-->
<!--source:api-specifications-->
Request schema (possibly with examples) is successfully returned.
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `schema`required | `object` | <!--source:api-specifications-->Schema for the Request Collection<!--/source--> |
| `examples` | `object` | <!--source:api-specifications-->Each item in the dictionary corresponds to the name of the example and dictionary content is the sample response.<!--/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/collateral-underwriting/response-schema`

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

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

`retrieveResponseSchema`

<!--source:api-specifications-->
Retrieve Response Schema returns the JSON schema for the response collection, created by an invocation.

If you would like to retrieve examples along with the schema, you can provide `return_examples=True` query parameter.

<!--/source-->

##### Response

<!--source:api-specifications-->
200 Schema200 Schema with Examples Response400 InvalidReturnExamplesValue400 text/html403404 GetProduct404 text/html500
<!--/source-->

<!--source:api-specifications-->
application/json Copy Response schema (possibly with examples) is successfully returned.

```
{
 "schema": {
 "type": "object",
 "required": [
 "services",
 "foreign_objects"
 ],
 "properties": {
 "services": {
 "type": "array",
 "items": {
 "type": "object",
 "required": [
 "@id",
 "@type",
 "has_service_name",
 "has_service_vendor_name",
 "with_foreign_object"
 ],
 "properties": {
 "@id": {
 "type": "string"
 },
 "@type": {
 "type": "string"
 },
 "has_service_name": {
 "type": "object",
 "required": [
 "has_value"
 ],
 "properties": {
 "has_value": {
 "type": "string"
 }
 }
 },
 "has_service_vendor_name": {
 "type": "object",
 "required": [
 "has_value"
 ],
 "properties": {
 "has_value": {
 "type": "string"
 }
 }
 },
 "with_foreign_object": {
 "type": "array",
 "items": {
 "type": "string"
 }
 }
 }
 }
 },
 "foreign_objects": {
 "type": "array",
 "items": {
 "type": "object",
 "required": [
 "@id",
 "@type",
 "has_object_name"
 ],
 "properties": {
 "@id": {
 "type": "string"
 },
 "@type": {
 "type": "string"
 },
 "has_object_name": {
 "type": "object",
 "required": [
 "has_value"
 ],
 "properties": {
 "has_value": {
 "type": "string"
 }
 }
 },
 "has_object_url_value": {
 "type": "object",
 "required": [
 "has_value"
 ],
 "properties": {
 "has_value": {
 "type": "string"
 }
 }
 }
 }
 }
 }
 }
 }
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Response schema (possibly with examples) is successfully returned.

```
{
 "schema": {
 "type": "object",
 "required": [
 "services",
 "foreign_objects"
 ],
 "properties": {
 "services": {
 "type": "array",
 "items": {
 "type": "object",
 "required": [
 "@id",
 "@type",
 "has_service_name",
 "has_service_vendor_name",
 "with_foreign_object"
 ],
 "properties": {
 "@id": {
 "type": "string"
 },
 "@type": {
 "type": "string"
 },
 "has_service_name": {
 "type": "object",
 "required": [
 "has_value"
 ],
 "properties": {
 "has_value": {
 "type": "string"
 }
 }
 },
 "has_service_vendor_name": {
 "type": "object",
 "required": [
 "has_value"
 ],
 "properties": {
 "has_value": {
 "type": "string"
 }
 }
 },
 "with_foreign_object": {
 "type": "array",
 "items": {
 "type": "string"
 }
 }
 }
 }
 },
 "foreign_objects": {
 "type": "array",
 "items": {
 "type": "object",
 "required": [
 "@id",
 "@type",
 "has_object_name"
 ],
 "properties": {
 "@id": {
 "type": "string"
 },
 "@type": {
 "type": "string"
 },
 "has_object_name": {
 "type": "object",
 "required": [
 "has_value"
 ],
 "properties": {
 "has_value": {
 "type": "string"
 }
 }
 },
 "has_object_url_value": {
 "type": "object",
 "required": [
 "has_value"
 ],
 "properties": {
 "has_value": {
 "type": "string"
 }
 }
 }
 }
 }
 }
 }
 },
 "examples": [
 {
 "services": [
 {
 "@id": "service_id",
 "@type": "service",
 "has_service_name": {
 "has_value": "Collateral Underwriting"
 },
 "has_service_vendor_name": {
 "has_value": "homevision"
 },
 "with_foreign_object": [
 "f1",
 "f2",
 "f3",
 "f4"
 ]
 }
 ],
 "foreign_objects": [
 {
 "@id": "f1",
 "@type": "foreign_object",
 "has_object_name": {
 "has_value": "internal_url"
 },
 "has_object_url_value": {
 "has_value": "https://app.homevision.co/xmlqc/2394077"
 }
 },
 {
 "@id": "f2",
 "@type": "foreign_object",
 "has_object_name": {
 "has_value": "pdf_url"
 },
 "has_object_url_value": {
 "has_value": "https://app.homevision.co/123456/pdf.pdf"
 }
 },
 {
 "@id": "f3",
 "@type": "foreign_object",
 "has_object_name": {
 "has_value": "xml_url"
 },
 "has_object_url_value": {
 "has_value": "https://app.homevision.co/123456/xml.xml"
 }
 },
 {
 "@id": "f4",
 "@type": "foreign_object",
 "has_object_name": {
 "has_value": "env_url"
 },
 "has_object_url_value": {
 "has_value": "https://app.homevision.co/123456/env.env"
 }
 }
 ]
 }
 ]
}
```

<!--/source-->

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

```
{
 "message": "Please provide one of valid return examples values:\ntrue, 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://staircase.stoplight.io/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\nhave used a transaction_id to call our services, please submit it to\nStaircase support"
}
```

<!--/source-->

##### Parameters

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

| Parameter | Type | Description |
| --- | --- | --- |
| `x-api-key` required | `string` header | <!--source:api-specifications-->Environment API Key.<!--/source--> |
| `return_examples` | `boolean` query | <!--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-->
2 fields
<!--/source-->
<!--source:api-specifications-->
Response schema (possibly with examples) is successfully returned.
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `schema`required | `object` | <!--source:api-specifications-->JSON-Schema as a single object<!--/source--> |
| `examples` | `object` | <!--source:api-specifications-->A key-value pair for the examples. Keys are the example names, while values correspond to the example values for the response collections you can retrieve.<!--/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-->

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

`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-->

##### 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://staircase.stoplight.io/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\nhave used a transaction_id to call our services, please submit it to\nStaircase support"
}
```

<!--/source-->

##### Parameters

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

| Parameter | Type | Description |
| --- | --- | --- |
| `x-api-key` required | `string` header | <!--source:api-specifications-->Environment API Key.<!--/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`

`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 /products/collateral-underwriting/invocations

<!--/source-->

##### Request

<!--source:api-specifications-->
Conventional ExampleFha Example
<!--/source-->

<!--source:api-specifications-->
application/json Copy
```
{
 "data": {
 "addresses": [
 {
 "@id": "address_id",
 "@type": "business_address",
 "has_state_code": {
 "has_value": "CA"
 },
 "has_city_name": {
 "has_value": "Bankville"
 },
 "has_postal_code": {
 "has_value": 2138
 },
 "has_address_line_1_text": {
 "has_value": "123 Lending Lane"
 }
 },
 {
 "@id": "subject_property_address_id",
 "@type": "subject_property_address",
 "has_county_name": {
 "has_value": "Pinellas"
 },
 "has_state_code": {
 "has_value": "TX"
 },
 "has_city_name": {
 "has_value": "Salem"
 },
 "has_postal_code": {
 "has_value": "2138"
 },
 "has_address_line_1_text": {
 "has_value": "456 Main Street"
 }
 },
 {
 "@id": "borrower_address_id",
 "@type": "residential_address",
 "has_state_code": {
 "has_value": "TX"
 },
 "has_city_name": {
 "has_value": "Salem"
 },
 "has_postal_code": {
 "has_value": "2138"
 },
 "has_address_line_1_text": {
 "has_value": "456 Main Street"
 }
 }
 ],
 "documents": [
 {
 "@id": "document_id",
 "@type": "document",
 "has_staircase_blob_identifier": {
 "has_value": "01G2YVWSGPQC9Y9A6AXTHYMDET"
 }
 }
 ],
 "loans": [
 {
 "@id": "loan_id",
 "@type": "loan",
 "has_loan_identifier_value": {
 "has_value": "01G313MDG9KVKW62YK8S1WNMWB"
 }
 }
 ],
 "loan_terms": [
 {
 "@id": "loan_term_id",
 "@type": "loan_terms",
 "has_loan_purpose_type": {
 "has_value": "refinance"
 }
 }
 ],
 "organizations": [
 {
 "@id": "organization_id",
 "@type": "organization",
 "has_organization_name": {
 "has_value": "Liberty Lending"
 },
 "with_address": [
 "address_id"
 ]
 }
 ],
 "people": [
 {
 "@id": "appraiser_id",
 "@type": "appraiser",
 "has_appraisal_sub_committee_appraiser_identifier": {
 "has_value": "A12345"
 },
 "has_full_name": {
 "has_value": "Alan Appraiser"
 }
 },
 {
 "@id": "borrower_id",
 "@type": "borrower",
 "has_full_name": {
 "has_value": "Jane Doe"
 },
 "lives_at": [
 "residence_id"
 ]
 },
 {
 "@id": "co_borrower_id",
 "@type": "borrower",
 "has_full_name": {
 "has_value": "John Doe"
 }
 }
 ],
 "properties": [
 {
 "@id": "subject_property_id",
 "@type": "subject_property",
 "with_address": [
 "subject_property_address_id"
 ],
 "with_sales_contract": [
 "sales_contract_id"
 ]
 }
 ],
 "property_valuations": [
 {
 "@id": "property_valution_id",
 "@type": "property_valuation",
 "has_property_inspection_type_other_description": {
 "has_value": "1004"
 }
 }
 ],
 "residences": [
 {
 "@id": "residence_id",
 "@type": "residence",
 "with_address": [
 "borrower_address_id"
 ]
 }
 ],
 "roles": [
 {
 "@id": "role_id",
 "@type": "role",
 "with_appraiser": [
 "appraiser_id"
 ]
 }
 ],
 "sales_contracts": [
 {
 "@id": "sales_contract_id",
 "@type": "property_sales_contract",
 "has_sales_contract_amount": {
 "has_value": 123456
 }
 }
 ]
 }
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy
```
{
 "data": {
 "addresses": [
 {
 "@id": "address_id",
 "@type": "business_address",
 "has_state_code": {
 "has_value": "CA"
 },
 "has_city_name": {
 "has_value": "Bankville"
 },
 "has_postal_code": {
 "has_value": 2138
 },
 "has_address_line_1_text": {
 "has_value": "123 Lending Lane"
 }
 },
 {
 "@id": "subject_property_address_id",
 "@type": "subject_property_address",
 "has_county_name": {
 "has_value": "Pinellas"
 },
 "has_state_code": {
 "has_value": "TX"
 },
 "has_city_name": {
 "has_value": "Salem"
 },
 "has_postal_code": {
 "has_value": "2138"
 },
 "has_address_line_1_text": {
 "has_value": "456 Main Street"
 }
 },
 {
 "@id": "borrower_address_id",
 "@type": "residential_address",
 "has_state_code": {
 "has_value": "TX"
 },
 "has_city_name": {
 "has_value": "Salem"
 },
 "has_postal_code": {
 "has_value": "2138"
 },
 "has_address_line_1_text": {
 "has_value": "456 Main Street"
 }
 }
 ],
 "documents": [
 {
 "@id": "document_id",
 "@type": "document",
 "has_staircase_blob_identifier": {
 "has_value": "01G2YVWSGPQC9Y9A6AXTHYMDET"
 }
 }
 ],
 "government_loans": [
 {
 "@id": "government_loan_id",
 "@type": "government_loan",
 "has_fha_case_number": {
 "has_value": "FHA111111111"
 }
 }
 ],
 "loans": [
 {
 "@id": "loan_id",
 "@type": "loan",
 "has_loan_identifier_value": {
 "has_value": "01G313MDG9KVKW62YK8S1WNMWB"
 },
 "with_government_loan": [
 "government_loan_id"
 ]
 }
 ],
 "loan_terms": [
 {
 "@id": "loan_term_id",
 "@type": "loan_terms",
 "has_loan_purpose_type": {
 "has_value": "refinance"
 }
 }
 ],
 "organizations": [
 {
 "@id": "organization_id",
 "@type": "organization",
 "has_organization_name": {
 "has_value": "Liberty Lending"
 },
 "with_address": [
 "address_id"
 ]
 }
 ],
 "people": [
 {
 "@id": "appraiser_id",
 "@type": "appraiser",
 "has_appraisal_sub_committee_appraiser_identifier": {
 "has_value": "A12345"
 },
 "has_full_name": {
 "has_value": "Alan Appraiser"
 }
 },
 {
 "@id": "borrower_id",
 "@type": "borrower",
 "has_full_name": {
 "has_value": "Jane Doe"
 },
 "lives_at": [
 "residence_id"
 ]
 },
 {
 "@id": "co_borrower_id",
 "@type": "borrower",
 "has_full_name": {
 "has_value": "John Doe"
 }
 }
 ],
 "properties": [
 {
 "@id": "subject_property_id",
 "@type": "subject_property",
 "with_address": [
 "subject_property_address_id"
 ],
 "with_sales_contract": [
 "sales_contract_id"
 ]
 }
 ],
 "property_valuations": [
 {
 "@id": "property_valution_id",
 "@type": "property_valuation",
 "has_property_inspection_type_other_description": {
 "has_value": "1004"
 }
 }
 ],
 "residences": [
 {
 "@id": "residence_id",
 "@type": "residence",
 "with_address": [
 "borrower_address_id"
 ]
 }
 ],
 "roles": [
 {
 "@id": "role_id",
 "@type": "role",
 "with_appraiser": [
 "appraiser_id"
 ]
 }
 ],
 "sales_contracts": [
 {
 "@id": "sales_contract_id",
 "@type": "property_sales_contract",
 "has_sales_contract_amount": {
 "has_value": 123456
 }
 }
 ]
 }
}
```

<!--/source-->

##### Response

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

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

```
{
 "transaction_id": "01F0KHK7DN3H5JZ4QJKMYAM6GB",
 "collection_id": "01F6QF1QJF20DMSXH4SYXKB1SN",
 "metadata": {
 "created_at": "2021-09-14T03:08:00.284090-04:00",
 "validation": false
 },
 "data": {
 "addresses": [
 {
 "@id": "address_id",
 "@type": "business_address",
 "has_state_code": {
 "has_value": "CA"
 },
 "has_city_name": {
 "has_value": "Bankville"
 },
 "has_postal_code": {
 "has_value": 2138
 },
 "has_address_line_1_text": {
 "has_value": "123 Lending Lane"
 }
 },
 {
 "@id": "subject_property_address_id",
 "@type": "subject_property_address",
 "has_county_name": {
 "has_value": "Pinellas"
 },
 "has_state_code": {
 "has_value": "TX"
 },
 "has_city_name": {
 "has_value": "Salem"
 },
 "has_postal_code": {
 "has_value": "2138"
 },
 "has_address_line_1_text": {
 "has_value": "456 Main Street"
 }
 },
 {
 "@id": "borrower_address_id",
 "@type": "residential_address",
 "has_state_code": {
 "has_value": "TX"
 },
 "has_city_name": {
 "has_value": "Salem"
 },
 "has_postal_code": {
 "has_value": "2138"
 },
 "has_address_line_1_text": {
 "has_value": "456 Main Street"
 }
 }
 ],
 "documents": [
 {
 "@id": "document_id",
 "@type": "document",
 "has_staircase_blob_identifier": {
 "has_value": "01G2YVWSGPQC9Y9A6AXTHYMDET"
 }
 }
 ],
 "loans": [
 {
 "@id": "loan_id",
 "@type": "loan",
 "has_loan_identifier_value": {
 "has_value": "01G313MDG9KVKW62YK8S1WNMWB"
 }
 }
 ],
 "loan_terms": [
 {
 "@id": "loan_term_id",
 "@type": "loan_terms",
 "has_loan_purpose_type": {
 "has_value": "refinance"
 }
 }
 ],
 "organizations": [
 {
 "@id": "organization_id",
 "@type": "organization",
 "has_organization_name": {
 "has_value": "Liberty Lending"
 },
 "with_address": [
 "address_id"
 ]
 }
 ],
 "people": [
 {
 "@id": "appraiser_id",
 "@type": "appraiser",
 "has_appraisal_sub_committee_appraiser_identifier": {
 "has_value": "A12345"
 },
 "has_full_name": {
 "has_value": "Alan Appraiser"
 }
 },
 {
 "@id": "borrower_id",
 "@type": "borrower",
 "has_full_name": {
 "has_value": "Jane Doe"
 },
 "lives_at": [
 "residence_id"
 ]
 },
 {
 "@id": "co_borrower_id",
 "@type": "borrower",
 "has_full_name": {
 "has_value": "John Doe"
 }
 }
 ],
 "properties": [
 {
 "@id": "subject_property_id",
 "@type": "subject_property",
 "with_address": [
 "subject_property_address_id"
 ],
 "with_sales_contract": [
 "sales_contract_id"
 ]
 }
 ],
 "property_valuations": [
 {
 "@id": "property_valution_id",
 "@type": "property_valuation",
 "has_property_inspection_type_other_description": {
 "has_value": "1004"
 }
 }
 ],
 "residences": [
 {
 "@id": "residence_id",
 "@type": "residence",
 "with_address": [
 "borrower_address_id"
 ]
 }
 ],
 "roles": [
 {
 "@id": "role_id",
 "@type": "role",
 "with_appraiser": [
 "appraiser_id"
 ]
 }
 ],
 "sales_contracts": [
 {
 "@id": "sales_contract_id",
 "@type": "property_sales_contract",
 "has_sales_contract_amount": {
 "has_value": 123456
 }
 }
 ]
 }
}
```

<!--/source-->

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

```
{
 "message": "Unable to create collection. Please check the collectionchr\ndata"
}
```

<!--/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://staircase.stoplight.io/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\nID."
}
```

<!--/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\nhave used a transaction_id to call our services, please submit it to\nStaircase support"
}
```

<!--/source-->

##### Parameters

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

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

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

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

| Field | Type | Description |
| --- | --- | --- |
| `data` | `object` | <!--source:api-specifications-->The data that is needed for invocation. It should follow the request schema<!--/source--> |
| `addresses`required | `object[]` | — |
| `@id`required | `string` | — |
| `@type`required | `string` | — |
| `has_state_code`required | `object` | — |
| `has_value`required | `string` | — |
| `has_city_name`required | `object` | — |
| `has_value`required | `string` | — |
| `has_postal_code`required | `object` | — |
| `has_value`required | `string` | — |
| `has_address_line_1_text`required | `object` | — |
| `has_value`required | `string` | — |
| `has_county_name` | `object` | — |
| `has_value`required | `string` | — |
| `documents`required | `object[]` | — |
| `@id`required | `string` | — |
| `@type`required | `string` | — |
| `has_staircase_blob_identifier`required | `object` | — |
| `has_value`required | `string` | — |
| `loans`required | `object[]` | — |
| `@id`required | `string` | — |
| `@type`required | `string` | — |
| `with_government_loan` | `string[]` | — |
| `has_loan_identifier_value`required | `object` | — |
| `has_value`required | `string` | — |
| `government_loans` | `object[]` | — |
| `@id`required | `string` | — |
| `@type`required | `string` | — |
| `has_fha_case_number`required | `object` | — |
| `has_value`required | `string` | — |
| `loan_terms`required | `object[]` | — |
| `@id`required | `string` | — |
| `@type`required | `string` | — |
| `has_loan_purpose_type`required | `object` | — |
| `has_value`required | `string` | — |
| `organizations`required | `object[]` | — |
| `@id`required | `string` | — |
| `@type`required | `string` | — |
| `has_organization_name`required | `object` | — |
| `has_value`required | `string` | — |
| `with_address`required | `string[]` | — |
| `people`required | `object[]` | — |
| `@id`required | `string` | — |
| `@type`required | `string` | — |
| `has_appraisal_sub_committee_appraiser_identifier` | `object` | — |
| `has_value`required | `string` | — |
| `has_full_name`required | `object` | — |
| `has_value`required | `string` | — |
| `lives_at` | `string[]` | — |
| `properties`required | `object[]` | — |
| `@id`required | `string` | — |
| `@type`required | `string` | — |
| `with_address`required | `string[]` | — |
| `with_sales_contract`required | `string[]` | — |
| `property_valuations`required | `object[]` | — |
| `@id`required | `string` | — |
| `@type`required | `string` | — |
| `has_property_inspection_type_other_description`required | `object` | — |
| `has_value`required | `string` | — |
| `residences`required | `object[]` | — |
| `@id`required | `string` | — |
| `@type`required | `string` | — |
| `with_address`required | `string[]` | — |
| `roles`required | `object[]` | — |
| `@id`required | `string` | — |
| `@type`required | `string` | — |
| `with_appraiser`required | `string[]` | — |
| `sales_contracts`required | `object[]` | — |
| `@id`required | `string` | — |
| `@type`required | `string` | — |
| `has_sales_contract_amount`required | `object` | — |
| `has_value`required | `integer` | — |

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

<!--source:api-specifications-->
4 fields
<!--/source-->
<!--source:api-specifications-->
Collection created successfully
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `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 `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

`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-->
403404 GetCollectionError404 GetCollectionsError500
<!--/source-->

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

```
{
 "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 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\ncheck the transaction id"
}
```

<!--/source-->

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

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

<!--/source-->

##### Parameters

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

| Parameter | Type | Example | Description |
| --- | --- | --- | --- |
| `x-api-key` required | `string` header | — | <!--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 `200``application/json`

<!--source:api-specifications-->
4 fields
<!--/source-->
<!--source:api-specifications-->
Successfully Retrieved Collection
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `transaction_id`required | `string` | — |
| `collection_id`required | `string` | — |
| `metadata`required | `object` | — |
| `created_at`required | `string` | — |
| `validation`required | `boolean` | — |
| `data`required | `object` | — |

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

`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

```
{
 "metadata": {
 "created_at": "2021-09-14T03:08:00.284090-04:00",
 "validation": false
 },
 "transaction_id": "01FFHJ2ZVS4P7N4AV5W0993QMD",
 "collection_id": "01FFHJ4JCWGHV38SC1NJ8TVNFY",
 "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://staircase.stoplight.io/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\ncheck the transaction id"
}
```

<!--/source-->

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

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

<!--/source-->

##### Parameters

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

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

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

<!--source:api-specifications-->
4 fields
<!--/source-->
<!--source:api-specifications-->
Transaction collection retrieved successfully
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `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 `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--> |

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

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

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

`updateCollection`

<!--source:api-specifications-->
Update Collection allows you to update the content of a given `collection_id` associated with a `transaction_id`.

<!--/source-->

##### Request

<!--source:api-specifications-->
Conventional ExampleFha Example
<!--/source-->

<!--source:api-specifications-->
application/json Copy
```
{
 "data": {
 "addresses": [
 {
 "@id": "address_id",
 "@type": "business_address",
 "has_state_code": {
 "has_value": "CA"
 },
 "has_city_name": {
 "has_value": "Bankville"
 },
 "has_postal_code": {
 "has_value": 2138
 },
 "has_address_line_1_text": {
 "has_value": "123 Lending Lane"
 }
 },
 {
 "@id": "subject_property_address_id",
 "@type": "subject_property_address",
 "has_county_name": {
 "has_value": "Pinellas"
 },
 "has_state_code": {
 "has_value": "TX"
 },
 "has_city_name": {
 "has_value": "Salem"
 },
 "has_postal_code": {
 "has_value": "2138"
 },
 "has_address_line_1_text": {
 "has_value": "456 Main Street"
 }
 },
 {
 "@id": "borrower_address_id",
 "@type": "residential_address",
 "has_state_code": {
 "has_value": "TX"
 },
 "has_city_name": {
 "has_value": "Salem"
 },
 "has_postal_code": {
 "has_value": "2138"
 },
 "has_address_line_1_text": {
 "has_value": "456 Main Street"
 }
 }
 ],
 "documents": [
 {
 "@id": "document_id",
 "@type": "document",
 "has_staircase_blob_identifier": {
 "has_value": "01G2YVWSGPQC9Y9A6AXTHYMDET"
 }
 }
 ],
 "loans": [
 {
 "@id": "loan_id",
 "@type": "loan",
 "has_loan_identifier_value": {
 "has_value": "01G313MDG9KVKW62YK8S1WNMWB"
 }
 }
 ],
 "loan_terms": [
 {
 "@id": "loan_term_id",
 "@type": "loan_terms",
 "has_loan_purpose_type": {
 "has_value": "refinance"
 }
 }
 ],
 "organizations": [
 {
 "@id": "organization_id",
 "@type": "organization",
 "has_organization_name": {
 "has_value": "Liberty Lending"
 },
 "with_address": [
 "address_id"
 ]
 }
 ],
 "people": [
 {
 "@id": "appraiser_id",
 "@type": "appraiser",
 "has_appraisal_sub_committee_appraiser_identifier": {
 "has_value": "A12345"
 },
 "has_full_name": {
 "has_value": "Alan Appraiser"
 }
 },
 {
 "@id": "borrower_id",
 "@type": "borrower",
 "has_full_name": {
 "has_value": "Jane Doe"
 },
 "lives_at": [
 "residence_id"
 ]
 },
 {
 "@id": "co_borrower_id",
 "@type": "borrower",
 "has_full_name": {
 "has_value": "John Doe"
 }
 }
 ],
 "properties": [
 {
 "@id": "subject_property_id",
 "@type": "subject_property",
 "with_address": [
 "subject_property_address_id"
 ],
 "with_sales_contract": [
 "sales_contract_id"
 ]
 }
 ],
 "property_valuations": [
 {
 "@id": "property_valution_id",
 "@type": "property_valuation",
 "has_property_inspection_type_other_description": {
 "has_value": "1004"
 }
 }
 ],
 "residences": [
 {
 "@id": "residence_id",
 "@type": "residence",
 "with_address": [
 "borrower_address_id"
 ]
 }
 ],
 "roles": [
 {
 "@id": "role_id",
 "@type": "role",
 "with_appraiser": [
 "appraiser_id"
 ]
 }
 ],
 "sales_contracts": [
 {
 "@id": "sales_contract_id",
 "@type": "property_sales_contract",
 "has_sales_contract_amount": {
 "has_value": 123456
 }
 }
 ]
 }
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy
```
{
 "data": {
 "addresses": [
 {
 "@id": "address_id",
 "@type": "business_address",
 "has_state_code": {
 "has_value": "CA"
 },
 "has_city_name": {
 "has_value": "Bankville"
 },
 "has_postal_code": {
 "has_value": 2138
 },
 "has_address_line_1_text": {
 "has_value": "123 Lending Lane"
 }
 },
 {
 "@id": "subject_property_address_id",
 "@type": "subject_property_address",
 "has_county_name": {
 "has_value": "Pinellas"
 },
 "has_state_code": {
 "has_value": "TX"
 },
 "has_city_name": {
 "has_value": "Salem"
 },
 "has_postal_code": {
 "has_value": "2138"
 },
 "has_address_line_1_text": {
 "has_value": "456 Main Street"
 }
 },
 {
 "@id": "borrower_address_id",
 "@type": "residential_address",
 "has_state_code": {
 "has_value": "TX"
 },
 "has_city_name": {
 "has_value": "Salem"
 },
 "has_postal_code": {
 "has_value": "2138"
 },
 "has_address_line_1_text": {
 "has_value": "456 Main Street"
 }
 }
 ],
 "documents": [
 {
 "@id": "document_id",
 "@type": "document",
 "has_staircase_blob_identifier": {
 "has_value": "01G2YVWSGPQC9Y9A6AXTHYMDET"
 }
 }
 ],
 "government_loans": [
 {
 "@id": "government_loan_id",
 "@type": "government_loan",
 "has_fha_case_number": {
 "has_value": "FHA111111111"
 }
 }
 ],
 "loans": [
 {
 "@id": "loan_id",
 "@type": "loan",
 "has_loan_identifier_value": {
 "has_value": "01G313MDG9KVKW62YK8S1WNMWB"
 },
 "with_government_loan": [
 "government_loan_id"
 ]
 }
 ],
 "loan_terms": [
 {
 "@id": "loan_term_id",
 "@type": "loan_terms",
 "has_loan_purpose_type": {
 "has_value": "refinance"
 }
 }
 ],
 "organizations": [
 {
 "@id": "organization_id",
 "@type": "organization",
 "has_organization_name": {
 "has_value": "Liberty Lending"
 },
 "with_address": [
 "address_id"
 ]
 }
 ],
 "people": [
 {
 "@id": "appraiser_id",
 "@type": "appraiser",
 "has_appraisal_sub_committee_appraiser_identifier": {
 "has_value": "A12345"
 },
 "has_full_name": {
 "has_value": "Alan Appraiser"
 }
 },
 {
 "@id": "borrower_id",
 "@type": "borrower",
 "has_full_name": {
 "has_value": "Jane Doe"
 },
 "lives_at": [
 "residence_id"
 ]
 },
 {
 "@id": "co_borrower_id",
 "@type": "borrower",
 "has_full_name": {
 "has_value": "John Doe"
 }
 }
 ],
 "properties": [
 {
 "@id": "subject_property_id",
 "@type": "subject_property",
 "with_address": [
 "subject_property_address_id"
 ],
 "with_sales_contract": [
 "sales_contract_id"
 ]
 }
 ],
 "property_valuations": [
 {
 "@id": "property_valution_id",
 "@type": "property_valuation",
 "has_property_inspection_type_other_description": {
 "has_value": "1004"
 }
 }
 ],
 "residences": [
 {
 "@id": "residence_id",
 "@type": "residence",
 "with_address": [
 "borrower_address_id"
 ]
 }
 ],
 "roles": [
 {
 "@id": "role_id",
 "@type": "role",
 "with_appraiser": [
 "appraiser_id"
 ]
 }
 ],
 "sales_contracts": [
 {
 "@id": "sales_contract_id",
 "@type": "property_sales_contract",
 "has_sales_contract_amount": {
 "has_value": 123456
 }
 }
 ]
 }
}
```

<!--/source-->

##### Response

<!--source:api-specifications-->
200400 UpdateCollectionError400 text/html403404 UpdateCollectionError404 text/html500
<!--/source-->

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

```
{
 "transaction_id": "01F0KHK7DN3H5JZ4QJKMYAM6GB",
 "collection_id": "01F6QF1QJF20DMSXH4SYXKB1SN",
 "metadata": {
 "created_at": "2021-09-14T03:08:00.284090-04:00",
 "validation": false
 },
 "data": {
 "addresses": [
 {
 "@id": "address_id",
 "@type": "business_address",
 "has_state_code": {
 "has_value": "CA"
 },
 "has_city_name": {
 "has_value": "Bankville"
 },
 "has_postal_code": {
 "has_value": 2138
 },
 "has_address_line_1_text": {
 "has_value": "123 Lending Lane"
 }
 },
 {
 "@id": "subject_property_address_id",
 "@type": "subject_property_address",
 "has_county_name": {
 "has_value": "Pinellas"
 },
 "has_state_code": {
 "has_value": "TX"
 },
 "has_city_name": {
 "has_value": "Salem"
 },
 "has_postal_code": {
 "has_value": "2138"
 },
 "has_address_line_1_text": {
 "has_value": "456 Main Street"
 }
 },
 {
 "@id": "borrower_address_id",
 "@type": "residential_address",
 "has_state_code": {
 "has_value": "TX"
 },
 "has_city_name": {
 "has_value": "Salem"
 },
 "has_postal_code": {
 "has_value": "2138"
 },
 "has_address_line_1_text": {
 "has_value": "456 Main Street"
 }
 }
 ],
 "documents": [
 {
 "@id": "document_id",
 "@type": "document",
 "has_staircase_blob_identifier": {
 "has_value": "01G2YVWSGPQC9Y9A6AXTHYMDET"
 }
 }
 ],
 "loans": [
 {
 "@id": "loan_id",
 "@type": "loan",
 "has_loan_identifier_value": {
 "has_value": "01G313MDG9KVKW62YK8S1WNMWB"
 }
 }
 ],
 "loan_terms": [
 {
 "@id": "loan_term_id",
 "@type": "loan_terms",
 "has_loan_purpose_type": {
 "has_value": "refinance"
 }
 }
 ],
 "organizations": [
 {
 "@id": "organization_id",
 "@type": "organization",
 "has_organization_name": {
 "has_value": "Liberty Lending"
 },
 "with_address": [
 "address_id"
 ]
 }
 ],
 "people": [
 {
 "@id": "appraiser_id",
 "@type": "appraiser",
 "has_appraisal_sub_committee_appraiser_identifier": {
 "has_value": "A12345"
 },
 "has_full_name": {
 "has_value": "Alan Appraiser"
 }
 },
 {
 "@id": "borrower_id",
 "@type": "borrower",
 "has_full_name": {
 "has_value": "Jane Doe"
 },
 "lives_at": [
 "residence_id"
 ]
 },
 {
 "@id": "co_borrower_id",
 "@type": "borrower",
 "has_full_name": {
 "has_value": "John Doe"
 }
 }
 ],
 "properties": [
 {
 "@id": "subject_property_id",
 "@type": "subject_property",
 "with_address": [
 "subject_property_address_id"
 ],
 "with_sales_contract": [
 "sales_contract_id"
 ]
 }
 ],
 "property_valuations": [
 {
 "@id": "property_valution_id",
 "@type": "property_valuation",
 "has_property_inspection_type_other_description": {
 "has_value": "1004"
 }
 }
 ],
 "residences": [
 {
 "@id": "residence_id",
 "@type": "residence",
 "with_address": [
 "borrower_address_id"
 ]
 }
 ],
 "roles": [
 {
 "@id": "role_id",
 "@type": "role",
 "with_appraiser": [
 "appraiser_id"
 ]
 }
 ],
 "sales_contracts": [
 {
 "@id": "sales_contract_id",
 "@type": "property_sales_contract",
 "has_sales_contract_amount": {
 "has_value": 123456
 }
 }
 ]
 }
}
```

<!--/source-->

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

```
{
 "description": "Error details.",
 "message": "Unable to update collection. Please check the collection\ndata"
}
```

<!--/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://staircase.stoplight.io/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 update collection. Please check the given ids"
}
```

<!--/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\nhave used a transaction_id to call our services, please submit it to\nStaircase support"
}
```

<!--/source-->

##### Parameters

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

| Parameter | Type | Example | Description |
| --- | --- | --- | --- |
| `x-api-key` required | `string` header | — | <!--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--> |

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

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

| Field | Type | Description |
| --- | --- | --- |
| `data` | `object` | <!--source:api-specifications-->The data that is needed for invocation. It should follow the request schema<!--/source--> |
| `addresses`required | `object[]` | — |
| `@id`required | `string` | — |
| `@type`required | `string` | — |
| `has_state_code`required | `object` | — |
| `has_value`required | `string` | — |
| `has_city_name`required | `object` | — |
| `has_value`required | `string` | — |
| `has_postal_code`required | `object` | — |
| `has_value`required | `string` | — |
| `has_address_line_1_text`required | `object` | — |
| `has_value`required | `string` | — |
| `has_county_name` | `object` | — |
| `has_value`required | `string` | — |
| `documents`required | `object[]` | — |
| `@id`required | `string` | — |
| `@type`required | `string` | — |
| `has_staircase_blob_identifier`required | `object` | — |
| `has_value`required | `string` | — |
| `loans`required | `object[]` | — |
| `@id`required | `string` | — |
| `@type`required | `string` | — |
| `with_government_loan` | `string[]` | — |
| `has_loan_identifier_value`required | `object` | — |
| `has_value`required | `string` | — |
| `government_loans` | `object[]` | — |
| `@id`required | `string` | — |
| `@type`required | `string` | — |
| `has_fha_case_number`required | `object` | — |
| `has_value`required | `string` | — |
| `loan_terms`required | `object[]` | — |
| `@id`required | `string` | — |
| `@type`required | `string` | — |
| `has_loan_purpose_type`required | `object` | — |
| `has_value`required | `string` | — |
| `organizations`required | `object[]` | — |
| `@id`required | `string` | — |
| `@type`required | `string` | — |
| `has_organization_name`required | `object` | — |
| `has_value`required | `string` | — |
| `with_address`required | `string[]` | — |
| `people`required | `object[]` | — |
| `@id`required | `string` | — |
| `@type`required | `string` | — |
| `has_appraisal_sub_committee_appraiser_identifier` | `object` | — |
| `has_value`required | `string` | — |
| `has_full_name`required | `object` | — |
| `has_value`required | `string` | — |
| `lives_at` | `string[]` | — |
| `properties`required | `object[]` | — |
| `@id`required | `string` | — |
| `@type`required | `string` | — |
| `with_address`required | `string[]` | — |
| `with_sales_contract`required | `string[]` | — |
| `property_valuations`required | `object[]` | — |
| `@id`required | `string` | — |
| `@type`required | `string` | — |
| `has_property_inspection_type_other_description`required | `object` | — |
| `has_value`required | `string` | — |
| `residences`required | `object[]` | — |
| `@id`required | `string` | — |
| `@type`required | `string` | — |
| `with_address`required | `string[]` | — |
| `roles`required | `object[]` | — |
| `@id`required | `string` | — |
| `@type`required | `string` | — |
| `with_appraiser`required | `string[]` | — |
| `sales_contracts`required | `object[]` | — |
| `@id`required | `string` | — |
| `@type`required | `string` | — |
| `has_sales_contract_amount`required | `object` | — |
| `has_value`required | `integer` | — |

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

<!--source:api-specifications-->
4 fields
<!--/source-->
<!--source:api-specifications-->
Collection updated successfully
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `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 `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

`405`

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

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

`POST` `/appraisal`

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

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

`post-appraisal`

##### 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 Appraisal 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-->
Appraisal request created successfully.
<!--/source-->

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

`GET` `/appraisal/elements`

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

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

`get-appraisal-elements`

<!--source:api-specifications-->
Retrieve Elements provides a list of the elements needed to invoke a partner product.

<!--/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--> |

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

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Elements needed for request.
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `elements` | `object` | <!--source:api-specifications-->List of elements<!--/source--> |

`POST` `/appraisal/elements/complete`

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

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

`post-appraisal-collection-complete`

<!--source:api-specifications-->
Validate Collection validates that a collection contains all of the elements needed to invoke a partner product.

<!--/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-->
1 fields
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `collection`required | `object` | — |

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

<!--source:api-specifications-->
2 fields
<!--/source-->
<!--source:api-specifications-->
Collection is invalid.
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Error message<!--/source--> |
| `errors` | `object` | <!--source:api-specifications-->List of elements that are missing<!--/source--> |

##### Other responses

`200`

`GET` `/appraisal/status/{transaction_id}/{collection_id}`

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

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

`get-appraisal-status`

<!--source:api-specifications-->
Retrieve Status checks status of your request. Possible statuses:

- REQUEST_MADE
- REQUEST_ACCEPTED
- WAITING_FOR_RESPONSE
- COMPLETED

<!--/source-->

##### Response

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

<!--source:api-specifications-->
application/json Copy Statuses include: * REQUEST_MADE<p> * REQUEST_ACCEPTED<p> * WAITING_FOR_RESPONSE<p> * COMPLETED

```
{
 "status": "COMPLETED"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy Status is unavailable

```
{
 "error": "Request for specified transaction_id and collection_id was not found!"
}
```

<!--/source-->

##### Parameters

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

| Parameter | Type | Example | Description |
| --- | --- | --- | --- |
| `transaction_id` required | `string` path | `9u8z7t65-cb71-4f20-8e40-7a829b52e91e` | <!--source:api-specifications-->Transaction ID<!--/source--> |
| `collection_id` required | `string` path | `e4502ed2-8df8-4b8f-84bd-a1097e999a77` | <!--source:api-specifications-->Collection ID<!--/source--> |
| `x-api-key` required | `string` header | `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` | <!--source:api-specifications-->Authorization key<!--/source--> |

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

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Statuses include: * REQUEST_MADE<p> * REQUEST_ACCEPTED<p> * WAITING_FOR_RESPONSE<p> * COMPLETED
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `status` | `object` | <!--source:api-specifications-->Current execution status<!--/source--> |

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

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Status is unavailable
<!--/source-->

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

`POST` `/appraisal/transactions`

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

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

`post-appraisal-transaction`

<!--source:api-specifications-->
Create Transaction creates a transaction in Staircase. A transaction in Staircase is an acknowledgement that you want to call a Staircase product. It's a container for everything associated with that product invocation, and is correlated with a collection related to the product (e.g. a document). You need to create a new transaction every time you want to connect with a Staircase product. Staircase then associates everything, from a data and API execution standpoint, to that transaction.

<!--/source-->

##### Response

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

```
{
 "transaction_id": "a34c40a6-3c02-44f9-a696-cd7388f506d3"
}
```

<!--/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--> |

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

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

| Field | Type | Description |
| --- | --- | --- |
| `transaction_id` | `string` | <!--source:api-specifications-->Transaction ID<!--/source--> |

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

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

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

`post-appraisal-collection`

<!--source:api-specifications-->
Create Collection creates a collection of elements . The elements within the collection are required.

<!--/source-->

##### Request

<!--source:api-specifications-->
application/json Copy
```
{
 "sets": {
 "set": [
 {
 "elements": {
 "element": [
 {
 "property_entry": {
 "property_entries": {
 "datetime": "2020-08-25",
 "description": "Description of property",
 "event_type": "TestType"
 }
 },
 "property_class": {
 "property_clases": {
 "type": "STATEMENT"
 },
 "name": "Test",
 "period_start_date": "2020-07-01",
 "period_end_date": "2020-07-31"
 },
 "content": {
 "foreign_object": "7e62ce76-d93d-4f31-92d3-45c2cb8255ea"
 }
 }
 ]
 }
 }
 ]
 }
}
```

<!--/source-->

##### Response

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

```
{
 "collection_id": "hg62e49f-9d74-g17e-99ca-a36b30vdfd35",
 "data": {
 "sets": {
 "set": [
 {
 "elements": {
 "element": [
 {
 "property_entry": {
 "property_entries": {
 "datetime": "2020-08-25",
 "description": "Description of property",
 "event_type": "TestType"
 }
 },
 "property_class": {
 "property_clases": {
 "type": "STATEMENT"
 },
 "name": "Test",
 "period_start_date": "2020-07-01",
 "period_end_date": "2020-07-31"
 },
 "content": {
 "foreign_object": "7e62ce76-d93d-4f31-92d3-45c2cb8255ea"
 }
 }
 ]
 }
 }
 ]
 }
 },
 "metadata": {},
 "transaction_id": "6t5r4wq1-9d74-g17e-99ca-a36b30vdfd35"
}
```

<!--/source-->

##### Parameters

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

| Parameter | Type | Example | Description |
| --- | --- | --- | --- |
| `transaction_id` required | `string` path | `3wet53r4-cb71-8u74-8e40-7a829b52e91e` | <!--source:api-specifications-->Transaction ID<!--/source--> |
| `x-api-key` required | `string` header | `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` | <!--source:api-specifications-->Authorization key<!--/source--> |

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

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

| Field | Type | Description |
| --- | --- | --- |
| `data`required | `object` | — |
| `metadata` | `object` | — |

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

<!--source:api-specifications-->
4 fields
<!--/source-->
<!--source:api-specifications-->
Collection successfully created.
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `transaction_id` | `object` | <!--source:api-specifications-->Transaction ID<!--/source--> |
| `collection_id` | `object` | <!--source:api-specifications-->Collection ID<!--/source--> |
| `data` | `object` | <!--source:api-specifications-->Data object<!--/source--> |
| `metadata` | `object` | <!--source:api-specifications-->Metadata object<!--/source--> |

`PUT` `/appraisal/transactions/{transaction_id}/collections/{collection_id}`

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

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

`put-appraisal-collection`

<!--source:api-specifications-->
Update Collection updates a collection of elements by new elements.

<!--/source-->

##### Request

<!--source:api-specifications-->
application/json Copy
```
{
 "sets": {
 "set": [
 {
 "properties": {
 "property": [
 {
 "propety_entry": {
 "propety_entries": {
 "datetime": "2020-05-05",
 "description": "Test Description",
 "event_type": "TestType"
 }
 },
 "propety_class": {
 "propety_classes": {
 "type": "TestType"
 },
 "name": "TestName",
 "period_start_date": "2019-01-01",
 "period_end_date": "2019-12-31"
 },
 "content": {
 "foreign_object": "7z6t5r4e-d93d-4f31-92d3-45c2cb8255ea"
 }
 }
 ]
 }
 }
 ]
 }
}
```

<!--/source-->

##### Response

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

```
{
 "collection_id": "hg62e49f-9d74-g17e-99ca-a36b30vdfd35",
 "data": {
 "sets": {
 "set": [
 {
 "properties": {
 "property": [
 {
 "property_data": {
 "property_class": {
 "datetime": "2020-05-05",
 "description": "Info",
 "event_type": "TestEvent"
 }
 },
 "document_classification": {
 "document_classes": {
 "type": "TestType"
 },
 "name": "TestName",
 "period_start_date": "2019-01-01",
 "period_end_date": "2019-12-31"
 },
 "content": {
 "foreign_object": "7z6t5r4e-d93d-4f31-92d3-45c2cb8255ea"
 }
 }
 ]
 }
 }
 ]
 }
 },
 "metadata": {},
 "transaction_id": "6t5r4wq1-9d74-g17e-99ca-a36b30vdfd35"
}
```

<!--/source-->

##### Parameters

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

| Parameter | Type | Example | Description |
| --- | --- | --- | --- |
| `transaction_id` required | `string` path | `3wet53r4-cb71-8u74-8e40-7a829b52e91e` | <!--source:api-specifications-->Transaction ID<!--/source--> |
| `collection_id` required | `string` path | `9u8z7t65-cb71-8u74-8e40-7a829b52e91e` | <!--source:api-specifications-->Transaction ID<!--/source--> |
| `x-api-key` required | `string` header | `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` | <!--source:api-specifications-->API Key<!--/source--> |

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

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

| Field | Type | Description |
| --- | --- | --- |
| `data`required | `object` | — |
| `metadata` | `object` | — |

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

<!--source:api-specifications-->
4 fields
<!--/source-->
<!--source:api-specifications-->
Collection successfully updated
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `transaction_id` | `object` | <!--source:api-specifications-->Transaction ID<!--/source--> |
| `collection_id` | `object` | <!--source:api-specifications-->Collection ID<!--/source--> |
| `data` | `object` | <!--source:api-specifications-->Data object<!--/source--> |
| `metadata` | `object` | <!--source:api-specifications-->Metadata object<!--/source--> |

## Errors

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

## More in Assessment

- Next product: Listing
