<!-- https://staircase.co/products/contract/notary -->
# Notary

# Notary

Remote online notarisation: scheduling the ceremony, running it, and returning the notarised documents and the notary's record.

A caller sends the closing package and the participants. The product schedules the session with the notarisation vendor, tracks it through completion, and returns the executed documents together with the audit record the notary is required to keep.

The session is asynchronous and can span days. The caller is not made to poll for it: the flow is declared with a callback and the completion arrives as an event.

## Operations

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

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

`POST` `/notary/input/selection`

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

#### Switch Input Source
<!--/source-->

`switchInputSource`

<!--source:api-specifications-->
Switch Input Source API can be used to switch input source for Notary process.

Available sources:

- docutech
- encompass

<!--/source-->

##### Request

<!--source:api-specifications-->
application/json Copy
```
{
 "source": "docutech"
}
```

<!--/source-->

##### Response

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

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

```
{
 "code": 400,
 "message": "Bad Request"
}
```

<!--/source-->

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

```
{
 "code": 422,
 "message": "Unprocessed Entity."
}
```

<!--/source-->

##### Parameters

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

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

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

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

| Field | Type | Description |
| --- | --- | --- |
| `source` | `string` | <!--source:api-specifications-->Input Source<!--/source-->`docutech``encompass` |

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

<!--source:api-specifications-->
2 fields
<!--/source-->
<!--source:api-specifications-->
Successfully switched input source
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `code` | `number` | <!--source:api-specifications-->Status code<!--/source--> |
| `message` | `object` | <!--source:api-specifications-->Message<!--/source--> |

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

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

| Field | Type | Description |
| --- | --- | --- |
| `error` | `object` | <!--source:api-specifications-->Unprocessed entity error.<!--/source--> |
| `code`required | `string` | <!--source:api-specifications-->Error name.<!--/source--> |
| `message`required | `string` | <!--source:api-specifications-->Error description.<!--/source--> |

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

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

| Field | Type | Description |
| --- | --- | --- |
| `error` | `object` | <!--source:api-specifications-->Unprocessed entity error.<!--/source--> |
| `code`required | `string` | <!--source:api-specifications-->Error name.<!--/source--> |
| `message`required | `string` | <!--source:api-specifications-->Error description.<!--/source--> |

`POST` `/products/notary/invocations`

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

#### Notary API
<!--/source-->

`invokeProductFlow`

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

<!--source:api-specifications-->
In Notary API operation:

- File is created in E-Notary partner.
- If documents are provided in input collection: documents are added to created file in E-Notary partner.
- If documents are not provided in input collection: it invokes document generation then collects the generated documents and added to created file in E-Notary partner.
- File is retrieved

**Notary API ** invokes an automated process that sends the Staircase collection data to given e-Notary partner.

Show the rest To invoke Notary API, you will need:

- transaction_id, a unique identifier for Staircase operations.
- collection_id, a unique identifier that contains Staircase V2 data that is going to send to the partner.
- vendor_name, a supported vendor name for this operation
- product_flow_name, a Staircase Connector flow name that is going to be executed in the process.
- callback_url, URL for getting result of this asynchronous operation.(optional)

To send a file to e-notary partner, there are some mandatory Staircase containers you should store in the collection that you provide in the input:

- documents container for storing the document itself, document id, document name.(optional, documents can be generated if it's missing)
- contact_point_emails container for storing signer email information.
- addresses container for storing subject property address information.
- loan_identifiers container for storing loan identifier information.
- terms_of_loans container for storing purpose type and note amount information
- contact_points container for establishing relationship between person and email.
- people container for signer name and establishing relationship between person and contact point.
- closing_information container for storing closing date information.
- sales_contracts container for storing sale price information.

Example Staircase Collection data:

```
{
 "closing_information": [
 {
 "has_closing_date": {
 "has_value": "2022-12-27"
 },
 "@type": "closing_information",
 "@id": "01GMX7JA3NFZTXYJCQAYJB36C8"
 }
 ],
 "contact_point_emails": [
 {
 "@type": "contact_point_email",
 "@id": "01GMX7JA3MJMZCS0GSZAB48RV0",
 "has_contact_point_email_value": {
 "has_value": "utku.ozdil@staircase.co"
 }
 },
 {
 "@type": "contact_point_email",
 "@id": "01GMX7JA3MJMZCS0GSZAB48RV1",
 "has_contact_point_email_value": {
 "has_value": "utku.ozdil1@staircase.co"
 }
 }
 ],
 "addresses": [
 {
 "has_address_line_1_text": {
 "has_value": "TEST ROAD"
 },
 "has_state_code": {
 "has_value": "AL"
 },
 "@type": "subject_property_address",
 "@id": "sprop_RWbmV8HG5TRDHwutizUiRM",
 "has_country_name": {
 "has_value": "US"
 },
 "has_postal_code": {
 "has_value": "35020"
 },
 "has_city_name": {
 "has_value": "HELENA"
 }
 }
 ],
 "loan_identifiers": [
 {
 "has_loan_identifier_type": {
 "has_value": "lender_loan"
 },
 "@type": "loan_identifier",
 "has_loan_identifier_value": {
 "has_value": "STAIRCASE_DEMO"
 },
 "@id": "01GMX7JA3NDAYKA02ZC3P4TXWS"
 }
 ],
 "contact_points": [
 {
 "with_contact_point_email": [
 "01GMX7JA3MJMZCS0GSZAB48RV0"
 ],
 "@type": "contact_point",
 "@id": "01GMX7JA3M17XW1C0N71T4TS1J"
 },
 {
 "with_contact_point_email": [
 "01GMX7JA3MJMZCS0GSZAB48RV1"
 ],
 "@type": "contact_point",
 "@id": "01GMX7JA3M17XW1C0N71T4TS1K"
 }
 ],
 "terms_of_loans": [
 {
 "has_loan_purpose_type": {
 "has_value": "purchase"
 },
 "@id": "01GMX7JA3N7QV53DA8K922HB7N",
 "has_note_amount": {
 "has_value": 100000
 },
 "@type": "terms_of_loan"
 }
 ],
 "people": [
 {
 "has_full_name": {
 "has_value": "STAIRCASE TEST USER"
 },
 "with_contact_point": [
 "01GMX7JA3M17XW1C0N71T4TS1J"
 ],
 "@id": "utku.ozdil@staircase.co",
 "@type": "borrower"
 },
 {
 "has_full_name": {
 "has_value": "STAIRCASE TEST USER 2"
 },
 "with_contact_point": [
 "01GMX7JA3M17XW1C0N71T4TS1K"
 ],
 "@id": "utku.ozdil1@staircase.co",
 "@type": "lender"
 }
 ],
 "sales_contracts": [
 {
 "@type": "sales_contract",
 "has_sales_contract_amount": {
 "has_value": 1000000
 },
 "@id": "01GMX7JA3NZSKH4QYQPTEJ2V6N"
 }
 ]
}
```

Example Staircase Collection data for a document after Document generation:

```
{
 "document_form_fields": [
 {
 "@id": "SignatureDate1",
 "@type": "form_field_text",
 "with_field_reference": [
 "01GKXY7YJBJSMBK5PHZK1ZXZVK"
 ],
 "with_signer": [
 "BOR1"
 ]
 },
 {
 "@id": "SignerSignature1",
 "@type": "form_field_signature",
 "with_field_reference": [
 "01GKXY7YJB26S751TBTBNHN74E"
 ],
 "with_signer": [
 "BOR1"
 ]
 }
 ],
 "document_forms": [
 {
 "@id": "01GKXY7YJBY543NCPQXS51VP6S",
 "@type": "document_form",
 "with_document_form_field": [
 "01GKXY7YJBAZ731PHEW6GR71KB",
 "01GKXY7YJBCFD5XTRTQHFGJGKD"
 ]
 }
 ],
 "documents": [
 {
 "@id": "18566",
 "@type": "document",
 "has_document_name": {
 "has_value": "Closing Disclosure (John Test)"
 },
 "has_staircase_blob_identifier": {
 "has_value": "01GKXY7V1F3RGVGTW5FY28GWFT"
 },
 "with_document_form": [
 "01GKXY7YJBY543NCPQXS51VP6S"
 ]
 }
 ],
 "field_references": [
 {
 "@id": "01GKXY7YJBJSMBK5PHZK1ZXZVK",
 "@type": "field_reference",
 "has_field_height_number": {
 "has_value": 10
 },
 "has_field_width_number": {
 "has_value": 40.68
 },
 "has_offset_from_left_number": {
 "has_value": 256.1
 },
 "has_offset_from_top_number": {
 "has_value": 188.56
 },
 "has_page_number_value": {
 "has_value": "5"
 }
 },
 {
 "@id": "01GKXY7YJB26S751TBTBNHN74E",
 "@type": "field_reference",
 "has_field_height_number": {
 "has_value": 15.4
 },
 "has_field_width_number": {
 "has_value": 194.04
 },
 "has_offset_from_left_number": {
 "has_value": 28.8
 },
 "has_offset_from_top_number": {
 "has_value": 186.06
 },
 "has_page_number_value": {
 "has_value": "5"
 }
 }
 ]
 }
```

Example Staircase response for Retrieve File operation:

```
{
 "closing_information": [
 {
 "has_closing_date": {
 "has_value": "2022-12-27"
 },
 "@type": "closing_information",
 "@id": "01GNVY2GKZZ154SCVTG3WT419K"
 }
 ],
 "contact_point_emails": [
 {
 "@type": "contact_point_email",
 "@id": "01GNVY2GKZ2FW6FVKJW2NFB74W",
 "has_contact_point_email_value": {
 "has_value": "utku.ozdil@staircase.co"
 }
 },
 {
 "@type": "contact_point_email",
 "@id": "01GNVY2GKZX4P8MN9QKW0HJ0N8",
 "has_contact_point_email_value": {
 "has_value": "utku.ozdil1@staircase.co"
 }
 }
 ],
 "addresses": [
 {
 "has_address_line_1_text": {
 "has_value": "TEST ROAD"
 },
 "has_state_code": {
 "has_value": "AL"
 },
 "@type": "subject_property_address",
 "@id": "sprop_XxdZMVAzMJ8ty9CrESh4PY",
 "has_country_name": {
 "has_value": "US"
 },
 "has_postal_code": {
 "has_value": "35020"
 },
 "has_city_name": {
 "has_value": "HELENA"
 }
 }
 ],
 "documents": [
 {
 "@id": "filedoc_fdBXc9PRynQy4jg8dfLUPg",
 "has_document_signed_indicator": {
 "has_value": false
 },
 "has_staircase_blob_identifier": {
 "has_value": "01GNVY2DDEM6K57HBBM4BP4C7P"
 },
 "@type": "document"
 },
 {
 "@id": "filedoc_2KmscMkesntZnREiBSeTXP",
 "has_document_signed_indicator": {
 "has_value": false
 },
 "has_staircase_blob_identifier": {
 "has_value": "01GNVY2EFXQGMS5PFK0FA047CE"
 },
 "@type": "document"
 },
 {
 "@id": "filedoc_FRMjvbgyYY3FPYk8ParAkY",
 "has_document_signed_indicator": {
 "has_value": false
 },
 "has_staircase_blob_identifier": {
 "has_value": "01GNVY2E9EG2BVPJD1DZJFT2TP"
 },
 "@type": "document"
 },
 {
 "@id": "filedoc_LRNh6osA3PVDj5tnPDouai",
 "has_document_signed_indicator": {
 "has_value": false
 },
 "has_staircase_blob_identifier": {
 "has_value": "01GNVY2DZ0M8W6Y1KJYBD7QYSD"
 },
 "@type": "document"
 },
 {
 "@id": "filedoc_UuxRL8mjFD6HBkuqYbarNf",
 "has_document_signed_indicator": {
 "has_value": false
 },
 "has_staircase_blob_identifier": {
 "has_value": "01GNVY2EQ9TRG4XBVYN6DG839W"
 },
 "@type": "document"
 },
 {
 "@id": "filedoc_k2viwb7N92kN6XJohVNq42",
 "has_document_signed_indicator": {
 "has_value": false
 },
 "has_staircase_blob_identifier": {
 "has_value": "01GNVY2DPHEFHQP4M5GTZX7MSZ"
 },
 "@type": "document"
 }
 ],
 "customer_requests": [
 {
 "@type": "customer_request",
 "has_customer_request_identifier": {
 "has_value": "file_L3uAMczFbzbUt4GqJhYsJ6"
 },
 "@id": "01GNVY2GKZ17BWFDFTZ0WGBFQH"
 }
 ],
 "loan_identifiers": [
 {
 "@type": "loan_identifier",
 "has_loan_identifier_value": {
 "has_value": "STAIRCASE_DEMO"
 },
 "@id": "01GNVY2GKZZ01V63234K08CZYJ"
 }
 ],
 "contact_points": [
 {
 "with_contact_point_email": [
 "01GNVY2GKZ2FW6FVKJW2NFB74W"
 ],
 "@type": "contact_point",
 "@id": "01GNVY2GKZ1AXV165ZC57ZHB8M"
 },
 {
 "with_contact_point_email": [
 "01GNVY2GKZX4P8MN9QKW0HJ0N8"
 ],
 "@type": "contact_point",
 "@id": "01GNVY2GKZV669YHX85Q7ASNJT"
 }
 ],
 "terms_of_loans": [
 {
 "has_loan_purpose_type": {
 "has_value": "purchase"
 },
 "@id": "01GNVY2GKZ1YJT6500TQ4CVRZZ",
 "has_note_amount": {
 "has_value": 100000
 },
 "@type": "terms_of_loan"
 }
 ],
 "people": [
 {
 "has_last_name": {
 "has_value": "USER"
 },
 "with_contact_point": [
 "01GNVY2GKZ1AXV165ZC57ZHB8M"
 ],
 "@id": "01GNVY2GKZ9NMSCVZJQHJR41AF",
 "has_first_name": {
 "has_value": "STAIRCASE"
 },
 "has_middle_name": {
 "has_value": "TEST"
 },
 "@type": "borrower"
 },
 {
 "has_last_name": {
 "has_value": "USER"
 },
 "with_contact_point": [
 "01GNVY2GKZV669YHX85Q7ASNJT"
 ],
 "@id": "01GNVY2GKZXB7GJ8M5S879MDZH",
 "has_first_name": {
 "has_value": "STAIRCASE"
 },
 "has_middle_name": {
 "has_value": "TEST"
 },
 "@type": "person"
 }
 ],
 "sales_contracts": [
 {
 "@type": "sales_contract",
 "has_sales_contract_amount": {
 "has_value": 1000000
 },
 "@id": "01GNVY2GKZBBEZZK8YHFE0XNX4"
 }
 ]
 }
```

<!--/source-->

##### Request

<!--source:api-specifications-->
Create A FileAdd Document
<!--/source-->

<!--source:api-specifications-->
application/json Copy
```
{
 "transaction_id": "01FV0H1MPRMAF6JAHJ6BAPYF9X",
 "collection_id": "01FV0H1MWC9N5F71DG0W79V0H3",
 "product_flow_name": "create_file",
 "vendor_name": "<redacted>"
}
```

<!--/source-->

<!--source:api-specifications-->
application/json Copy
```
{
 "transaction_id": "01FV0H1MPRMAF6JAHJ6BAPYF9X",
 "collection_id": "01FV0H1MWC9N5F71DG0W79V0H3",
 "product_flow_name": "add_document",
 "vendor_name": "<redacted>",
 "options": {
 "file_identifier": "file_identifier"
 }
}
```

<!--/source-->

##### Response

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

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

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

<!--/source-->

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

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

<!--/source-->

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

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

<!--/source-->

<!--source:api-specifications-->
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-->

##### Parameters

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

`RetrieveProductFlowInvocationStatus`

<!--source:api-specifications-->
Retrieves the status of running e-notary invocation.

<!--/source-->

##### Response

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

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

```
{
 "status": "SUCCEEDED",
 "message": "Invocation completed successfully",
 "created_at": "2022-01-22T04:54:13.507355-05:00",
 "invocation_status": "COMPLETED",
 "last_updated_at": "2022-01-22T04:55:31.399320-05:00",
 "partner_language": "test-convert-v2-output_language",
 "service_invocation": {
 "Connector": {
 "connector_flow_name": "test-convert_flow",
 "debug_config": {
 "dry_run": true
 },
 "status": "COMPLETED",
 "invocation_id": "08589dde-d0ab-48d2-8912-6060f7413c52"
 },
 "Translator": {
 "output": {
 "status": "COMPLETED",
 "invocation_id": "f70d76d8-c57f-42c5-8685-ea64fcc64d16",
 "language_name": "staircase"
 },
 "input": {
 "status": "COMPLETED",
 "invocation_id": "b38f8b65-e5de-4acd-b2f3-7a372f922fc2",
 "language_name": "test-convert-v2-input_language"
 },
 "convert_output": {
 "status": "COMPLETED",
 "invocation_id": "f70d76d8-c57f-42c5-8685-ea64fcc64d16",
 "language_name": "staircase"
 },
 "convert_input": {
 "status": "COMPLETED",
 "invocation_id": "850d7d39-b90d-4ee5-a903-b3ad6d06ec4a",
 "language_name": "staircase"
 }
 }
 },
 "staircase_language_version": 2,
 "staircase_output_version": 0,
 "validation": false,
 "version": 2
}
```

<!--/source-->

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

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

<!--/source-->

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

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

<!--/source-->

<!--source:api-specifications-->
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 The product has encountered an internal server error. If possible, please contact Staircase support with the transaction_id you used.

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

<!--/source-->

##### Parameters

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

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

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

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

| Field | Type | Description |
| --- | --- | --- |
| `status` | `string` | <!--source:api-specifications-->Mapped status of the invocation.<!--/source-->Example `STARTED` |
| `message` | `string` | <!--source:api-specifications-->Message.<!--/source-->Example `Verification is completed, please check response collection to see verification data.` |
| `created_at` | `string` | <!--source:api-specifications-->Time of creation<!--/source--> |
| `invocation_status` | `string` | <!--source:api-specifications-->Status of the product invocation before mapping<!--/source--> |
| `last_updated_at` | `string` | <!--source:api-specifications-->Last time the collection was updated<!--/source--> |
| `service_invocation` | `object` | <!--source:api-specifications-->Includes underlying services invocation.<!--/source--> |
| `Connector` | `object` | <!--source:api-specifications-->Response from Connector service.<!--/source--> |
| `connector_flow_name` | `string` | <!--source:api-specifications-->Vendor flow name.<!--/source--> |
| `invocation_id` | `string (uuid)` | <!--source:api-specifications-->Connector job ID.<!--/source--> |
| `status` | `string` | <!--source:api-specifications-->Connector flow status.<!--/source-->`ACTION_REQUIRED``COMPLETED``FAILED``RUNNING` |
| `Translator` | `object` | <!--source:api-specifications-->Response from Translator service about input and output translation.<!--/source--> |
| `input` | `object` | <!--source:api-specifications-->Input translation status.<!--/source--> |
| `language_name` | `string` | <!--source:api-specifications-->Input translation language.<!--/source--> |
| `translation_id` | `string (uuid)` | <!--source:api-specifications-->Translation ID.<!--/source--> |
| `status` | `string` | <!--source:api-specifications-->Input translation status.<!--/source-->`COMPLETED``FAILED``RUNNING` |
| `convert_input` | `object` | <!--source:api-specifications-->Convert input translation status.<!--/source--> |
| `language_name` | `string` | <!--source:api-specifications-->Input translation language.<!--/source--> |
| `translation_id` | `string (uuid)` | <!--source:api-specifications-->Translation ID.<!--/source--> |
| `status` | `string` | <!--source:api-specifications-->Input translation status.<!--/source-->`COMPLETED``FAILED``RUNNING` |
| `output` | `object` | <!--source:api-specifications-->Output translation status.<!--/source--> |
| `language_name` | `string` | <!--source:api-specifications-->Output translation language.<!--/source--> |
| `translation_id` | `string (uuid)` | <!--source:api-specifications-->Translation ID.<!--/source--> |
| `status` | `string` | <!--source:api-specifications-->Output translation status.<!--/source-->`COMPLETE``FAILED``RUNNING` |
| `convert_output` | `object` | <!--source:api-specifications-->Convert output translation status.<!--/source--> |
| `language_name` | `string` | <!--source:api-specifications-->Output translation language.<!--/source--> |
| `translation_id` | `string (uuid)` | <!--source:api-specifications-->Translation ID.<!--/source--> |
| `status` | `string` | <!--source:api-specifications-->Output translation status.<!--/source-->`COMPLETE``FAILED``RUNNING` |

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

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

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

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

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

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

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

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

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

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

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
The product has encountered an internal server error. If possible, please contact Staircase support with the transaction_id you used.
<!--/source-->

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

`PATCH` `/connector-jobs/vendors/docutech/passed-credentials`

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

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

`setDocutechCredentials`

<!--source:api-specifications-->
Set Docutech Credentials API can be used to set Docutech Credentials for the environment.

Example input body:

```
{
 "docutech_url": "EXAMPLE"
}
```

<!--/source-->

##### Request

<!--source:api-specifications-->
application/json Copy
```
{
 "docutech_url": "example"
}
```

<!--/source-->

##### Response

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

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

```
{
 "code": 400,
 "message": "Bad Request"
}
```

<!--/source-->

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

```
{
 "code": 422,
 "message": "Unprocessed Entity."
}
```

<!--/source-->

##### Parameters

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

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

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

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

| Field | Type | Description |
| --- | --- | --- |
| `docutech_url` | `string` | <!--source:api-specifications-->Docutech URL<!--/source--> |

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

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Successfully switched input source
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `docutech_url` | `string` | <!--source:api-specifications-->Stored Docutech URL<!--/source--> |

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

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

| Field | Type | Description |
| --- | --- | --- |
| `error` | `object` | <!--source:api-specifications-->Unprocessed entity error.<!--/source--> |
| `code`required | `string` | <!--source:api-specifications-->Error name.<!--/source--> |
| `message`required | `string` | <!--source:api-specifications-->Error description.<!--/source--> |

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

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

| Field | Type | Description |
| --- | --- | --- |
| `error` | `object` | <!--source:api-specifications-->Unprocessed entity error.<!--/source--> |
| `code`required | `string` | <!--source:api-specifications-->Error name.<!--/source--> |
| `message`required | `string` | <!--source:api-specifications-->Error description.<!--/source--> |

`PUT` `/customer-account-manager/update-configurations`

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

#### Set Docutech Token Configuration
<!--/source-->

`setDocutechTokenConfiguration`

<!--source:api-specifications-->
Set Docutech Token Configuration API can be used to set Docutech token configuration for the environment.

Example input body:

```
{
 "product": "document",
 "environment": "YOUR_SUBDOMAIN.staircaseapi.com",
 "configurations": [
 {
 "key": "private_key",
 "value": "EXAMPLE"
 },
 {
 "key": "iss",
 "value": "EXAMPLE"
 },
 {
 "key": "sub",
 "value": "EXAMPLE"
 },
 {
 "key": "aud",
 "value": "EXAMPLE"
 },
 {
 "key": "token_url",
 "value": "EXAMPLE"
 }
 ]
}
```

<!--/source-->

##### Request

<!--source:api-specifications-->
application/json Copy
```
{
 "product": "example",
 "environment": "example",
 "configurations": [
 {
 "key": "private_key",
 "value": "example"
 },
 {
 "key": "iss",
 "value": "example"
 },
 {
 "key": "sub",
 "value": "example"
 },
 {
 "key": "aud",
 "value": "example"
 },
 {
 "key": "token_url",
 "value": "example"
 }
 ]
}
```

<!--/source-->

##### Response

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

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

```
{
 "code": 400,
 "message": "Bad Request"
}
```

<!--/source-->

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

```
{
 "code": 422,
 "message": "Unprocessed Entity."
}
```

<!--/source-->

##### Parameters

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

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

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

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

| Field | Type | Description |
| --- | --- | --- |
| `product` | `string` | <!--source:api-specifications-->Product Name<!--/source--> |
| `environment` | `string` | <!--source:api-specifications-->Staircase environment information<!--/source--> |
| `configurations` | `string[]` | <!--source:api-specifications-->Configuration array<!--/source--> |

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

<!--source:api-specifications-->
3 fields
<!--/source-->
<!--source:api-specifications-->
Successfully switched input source
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `product` | `string` | <!--source:api-specifications-->Product Name<!--/source--> |
| `environment` | `string` | <!--source:api-specifications-->Staircase environment information<!--/source--> |
| `configurations` | `string[]` | <!--source:api-specifications-->Configuration array<!--/source--> |

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

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

| Field | Type | Description |
| --- | --- | --- |
| `error` | `object` | <!--source:api-specifications-->Unprocessed entity error.<!--/source--> |
| `code`required | `string` | <!--source:api-specifications-->Error name.<!--/source--> |
| `message`required | `string` | <!--source:api-specifications-->Error description.<!--/source--> |

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

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

| Field | Type | Description |
| --- | --- | --- |
| `error` | `object` | <!--source:api-specifications-->Unprocessed entity error.<!--/source--> |
| `code`required | `string` | <!--source:api-specifications-->Error name.<!--/source--> |
| `message`required | `string` | <!--source:api-specifications-->Error description.<!--/source--> |

`GET` `/customer-account-manager/retrieve-configurations`

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

#### Retrieve Docutech Token Configuration
<!--/source-->

`retrieveDocutechTokenConfiguration`

<!--source:api-specifications-->
Retrieve Docutech Token Configuration API can be used to retrieve Docutech token configuration for the environment. For query parameters; product should be "document" and environment should be subdomain.staircaseapi.com

Example query parameters:

```
?product=document&environment=stavvy.staircaseapi.com
```

<!--/source-->

##### Response

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

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

```
{
 "code": 400,
 "message": "Bad Request"
}
```

<!--/source-->

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

```
{
 "code": 422,
 "message": "Unprocessed Entity."
}
```

<!--/source-->

##### Parameters

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

| Parameter | Type | Example | Description |
| --- | --- | --- | --- |
| `x-api-key` required | `string` header | `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` | <!--source:api-specifications-->Environment API Key.<!--/source--> |
| `product` | `string` query | `document` | <!--source:api-specifications-->You can use this to filter configurations by product name<!--/source--> |
| `environment` | `string` query | `<redacted>.staircaseapi.com` | <!--source:api-specifications-->You can use this to filter configurations by environment name<!--/source--> |

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

<!--source:api-specifications-->
3 fields
<!--/source-->
<!--source:api-specifications-->
Successfully switched input source
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `product` | `string` | <!--source:api-specifications-->Product Name<!--/source--> |
| `environment` | `string` | <!--source:api-specifications-->Staircase environment information<!--/source--> |
| `configurations` | `string[]` | <!--source:api-specifications-->Configuration array<!--/source--> |

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

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

| Field | Type | Description |
| --- | --- | --- |
| `error` | `object` | <!--source:api-specifications-->Unprocessed entity error.<!--/source--> |
| `code`required | `string` | <!--source:api-specifications-->Error name.<!--/source--> |
| `message`required | `string` | <!--source:api-specifications-->Error description.<!--/source--> |

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

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

| Field | Type | Description |
| --- | --- | --- |
| `error` | `object` | <!--source:api-specifications-->Unprocessed entity error.<!--/source--> |
| `code`required | `string` | <!--source:api-specifications-->Error name.<!--/source--> |
| `message`required | `string` | <!--source:api-specifications-->Error description.<!--/source--> |

`POST` `/connector-jobs/vendors/stavvy/configurations`

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

#### Store Stavvy Credentials For Brands
<!--/source-->

`storeStavvyCredentialsForBrands`

<!--source:api-specifications-->
Store Stavvy Credentials For Brand
<!--/source-->

<!--source:api-specifications-->
Store Stavvy Credentials For Brands API is used to store Stavvy credentials for brands. You can use this API to securely manage credentials for multiple brands in a single environment. Each brand configuration is identified using a unique brand identifier.

To ensure proper identification, the "partner_configuration_id" should be unique and follow the pattern: "stavvy-brand-BRAND_IDENTIFIER".

Show the rest

#### Example Input:

```
{
 "partner_configuration_id": "stavvy-brand-BRAND_IDENTIFIER",
 "partner_configuration": {
 "partner_configuration": {
 "company_connections": [
 {
 "@id": "company_connection_id",
 "@type": "company_connection",
 "has_client_identifier": {
 "has_value": "STAVVY_CLIENT_ID"
 },
 "has_client_secret_value": {
 "has_value": "STAVVY_CLIENT_SECRET"
 },
 "has_token_url": {
 "has_value": "STAVVY_TOKEN_URL"
 },
 "has_token_audience": {
 "has_value": "STAVVY_TOKEN_AUDIENCE"
 },
 "has_main_url": {
 "has_value": "STAVVY_MAIN_URL"
 }
 }
 ]
 }
 }
}
```

#### Success Response:

If successful, the API responds with a status code of 201 Created and provides the unique identifier for the partner configuration:

```
{
 "partner_configuration_id": "stavvy-brand-BRAND_IDENTIFIER"
}
```

Note: You can use the same "@id" value for multiple executions, and the "@type" value should always be "company_connection".

<!--/source-->

##### Request

<!--source:api-specifications-->
application/json Copy
```
{
 "partner_configuration_id": "<redacted>-brand-test",
 "partner_configuration": {
 "partner_configuration": {
 "company_connections": [
 {
 "@id": "01H8HBR6NESARDAYMP7V5DZZHM",
 "@type": "company_connection",
 "has_client_identifier": {
 "has_value": "test"
 },
 "has_client_secret_value": {
 "has_value": "test"
 },
 "has_token_url": {
 "has_value": "test"
 },
 "has_token_audience": {
 "has_value": "test"
 },
 "has_main_url": {
 "has_value": "test"
 }
 }
 ]
 }
 }
}
```

<!--/source-->

##### Response

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

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

```
{
 "code": 400,
 "message": "Bad Request"
}
```

<!--/source-->

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

```
{
 "code": 422,
 "message": "Unprocessed Entity."
}
```

<!--/source-->

##### Parameters

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

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

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

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

| Field | Type | Description |
| --- | --- | --- |
| `partner_configuration_id` | `string` | <!--source:api-specifications-->Unique identifier for the partner configuration<!--/source--> |
| `partner_configuration` | `object` | <!--source:api-specifications-->Partner configuration object<!--/source--> |
| `partner_configuration` | `object` | <!--source:api-specifications-->Main configuration for the partner<!--/source--> |
| `company_connections` | `object[]` | <!--source:api-specifications-->Company connections array<!--/source--> |
| `@id` | `string` | <!--source:api-specifications-->Unique identifier for the company connection<!--/source--> |
| `@type` | `string` | <!--source:api-specifications-->Type of the connection (company connection)<!--/source-->`company_connection` |
| `has_client_identifier` | `object` | <!--source:api-specifications-->The client identifier for the connection<!--/source--> |
| `has_client_secret_value` | `object` | <!--source:api-specifications-->The client secret for the connection<!--/source--> |
| `has_token_url` | `object` | <!--source:api-specifications-->The token URL for the connection<!--/source--> |
| `has_token_audience` | `object` | <!--source:api-specifications-->The token audience for the connection<!--/source--> |
| `has_main_url` | `object` | <!--source:api-specifications-->The main URL for the connection<!--/source--> |

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

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

| Field | Type | Description |
| --- | --- | --- |
| `partner_configuration_id` | `string` | <!--source:api-specifications-->Partner configuration identifier<!--/source--> |

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

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

| Field | Type | Description |
| --- | --- | --- |
| `error` | `object` | <!--source:api-specifications-->Unprocessed entity error.<!--/source--> |
| `code`required | `string` | <!--source:api-specifications-->Error name.<!--/source--> |
| `message`required | `string` | <!--source:api-specifications-->Error description.<!--/source--> |

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

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

| Field | Type | Description |
| --- | --- | --- |
| `error` | `object` | <!--source:api-specifications-->Unprocessed entity error.<!--/source--> |
| `code`required | `string` | <!--source:api-specifications-->Error name.<!--/source--> |
| `message`required | `string` | <!--source:api-specifications-->Error description.<!--/source--> |

`GET` `/notary/input/selection`

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

#### Retrieve Selected Input Source
<!--/source-->

`retrieveSelectedInputSource`

<!--source:api-specifications-->
Retrieve Selected Input Source API can be used to retrieve selected input source for Notary process.

Available sources:

- docutech
- encompass

<!--/source-->

##### Response

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

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

```
{
 "code": 400,
 "message": "Bad Request"
}
```

<!--/source-->

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

```
{
 "code": 422,
 "message": "Unprocessed Entity."
}
```

<!--/source-->

##### Parameters

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

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

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

<!--source:api-specifications-->
2 fields
<!--/source-->
<!--source:api-specifications-->
Successfully switched input source
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `code` | `number` | <!--source:api-specifications-->Status code<!--/source--> |
| `message` | `object` | <!--source:api-specifications-->Message<!--/source--> |
| `input_source` | `string` | <!--source:api-specifications-->Input Source<!--/source-->`docutech``encompass` |

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

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

| Field | Type | Description |
| --- | --- | --- |
| `error` | `object` | <!--source:api-specifications-->Unprocessed entity error.<!--/source--> |
| `code`required | `string` | <!--source:api-specifications-->Error name.<!--/source--> |
| `message`required | `string` | <!--source:api-specifications-->Error description.<!--/source--> |

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

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

| Field | Type | Description |
| --- | --- | --- |
| `error` | `object` | <!--source:api-specifications-->Unprocessed entity error.<!--/source--> |
| `code`required | `string` | <!--source:api-specifications-->Error name.<!--/source--> |
| `message`required | `string` | <!--source:api-specifications-->Error description.<!--/source--> |

`GET` `/connector-jobs/vendors/stavvy/configurations`

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

#### Retrieve Stavvy Credentials For Brands
<!--/source-->

`retrieveStavvyCredentialsForBrands`

<!--source:api-specifications-->
This API allows you to retrieve Stavvy configurations for brands. The retrieved data includes partner configuration IDs that have the "brand identifier" as a suffix.

#### Example Response:

```
{
 "page": {
 "next_token": null,
 "count": 1
 },
 "product_name": null,
 "partner_configurations": [
 {
 "partner_configuration_id": "stavvy-brand-1"
 }
 ],
 "vendor_name": "stavvy"
}
```

<!--/source-->

##### Response

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

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

```
{
 "code": 400,
 "message": "Bad Request"
}
```

<!--/source-->

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

```
{
 "code": 422,
 "message": "Unprocessed Entity."
}
```

<!--/source-->

##### Parameters

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

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

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

<!--source:api-specifications-->
4 fields
<!--/source-->
<!--source:api-specifications-->
Stavvy configurations retrieved successfully
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `page` | `object` | <!--source:api-specifications-->Page information<!--/source--> |
| `next_token` | `string` | <!--source:api-specifications-->Next token information<!--/source--> |
| `count`required | `integer` | <!--source:api-specifications-->Count information<!--/source--> |
| `product_name` | `string` | <!--source:api-specifications-->Product name information<!--/source--> |
| `partner_configurations` | `object[]` | <!--source:api-specifications-->Partner configurations array<!--/source--> |
| `partner_configuration_id` | `string` | <!--source:api-specifications-->Partner configuration identifier<!--/source--> |
| `vendor_name` | `string` | <!--source:api-specifications-->Vendor name information<!--/source--> |

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

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

| Field | Type | Description |
| --- | --- | --- |
| `error` | `object` | <!--source:api-specifications-->Unprocessed entity error.<!--/source--> |
| `code`required | `string` | <!--source:api-specifications-->Error name.<!--/source--> |
| `message`required | `string` | <!--source:api-specifications-->Error description.<!--/source--> |

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

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

| Field | Type | Description |
| --- | --- | --- |
| `error` | `object` | <!--source:api-specifications-->Unprocessed entity error.<!--/source--> |
| `code`required | `string` | <!--source:api-specifications-->Error name.<!--/source--> |
| `message`required | `string` | <!--source:api-specifications-->Error description.<!--/source--> |

`DELETE` `/notary/brands/{configuration_id}`

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

#### Delete Stavvy Credential For Brands
<!--/source-->

`deleteStavvyCredentialForBrands`

<!--source:api-specifications-->
The Delete Stavvy Configuration API provides the capability to remove a Stavvy configuration associated with a specific brand. To use this API, specify the unique configuration ID of the Stavvy configuration you wish to delete. Each brand's configuration is uniquely identified by a configuration ID.

#### Configuration ID:

The `configuration_id` parameter represents the unique identifier of the Stavvy configuration you want to delete. This ID is crucial for pinpointing the specific configuration to be removed.

<!--/source-->

##### Response

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

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

```
{
 "code": 400,
 "message": "Bad Request"
}
```

<!--/source-->

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

```
{
 "code": 422,
 "message": "Unprocessed Entity."
}
```

<!--/source-->

##### Parameters

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

| Parameter | Type | Example | Description |
| --- | --- | --- | --- |
| `x-api-key` required | `string` header | `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` | <!--source:api-specifications-->Environment API Key.<!--/source--> |
| `configuration_id` required | `string` path | `<redacted>-brand-1` | <!--source:api-specifications-->Configuration identifier<!--/source--> |

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

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

| Field | Type | Description |
| --- | --- | --- |
| `error` | `object` | <!--source:api-specifications-->Unprocessed entity error.<!--/source--> |
| `code`required | `string` | <!--source:api-specifications-->Error name.<!--/source--> |
| `message`required | `string` | <!--source:api-specifications-->Error description.<!--/source--> |

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

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

| Field | Type | Description |
| --- | --- | --- |
| `error` | `object` | <!--source:api-specifications-->Unprocessed entity error.<!--/source--> |
| `code`required | `string` | <!--source:api-specifications-->Error name.<!--/source--> |
| `message`required | `string` | <!--source:api-specifications-->Error description.<!--/source--> |

##### Other responses

`204`

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

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

`POST` `/transactions`

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

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

`create_transaction`

<!--source:api-specifications-->
Create empty transaction You can subscribe to every changes inside transaction by providing `callback_url` in body, and you will receive `POST` request to this url, with your `x-api-key` in headers. If you respond with a non `2XX` status code or not within 6 sec, requests will be retried during 5 minutes every 2 seconds, you can indicate if you already processed that event, but for some reasons respond with non `2XX` code by `id` parameter. `type` parameter indicates type of the event.

Show the rest

| Event type | Description |
| --- | --- |
| co.staircase.persistence.collection_created | New collection was created |
| co.staircase.persistence.collection_data_inserted | Data was added to collection |
| co.staircase.persistence.collection_metadata_updated | Metadata of collection was updated |
| co.staircase.persistence.collection_updated | Both metadata and data of collection was updated |
| Event structure is cloudevents, so you can use any tools that supports it or SDK ```json json_schema |  |
| { |  |
| "type": "object", |  |
| "$schema": "", |  |
| "properties": { |  |
| "specversion": { |  |
| "type": "string", |  |
| "description": "Version of cloudevents event structure" |  |
| }, |  |
| "id": { |  |
| "type": "string", |  |
| "description": "Unique identifier of the event, for retired requests will always be the same" |  |
| }, |  |
| "source": { |  |
| "type": "string", |  |
| "description": "Source of the event, for Persistence it will always be co.staircase.persistence", |  |
| "const": "persistence" |  |
| }, |  |
| "type": { |  |
| "type": "string", |  |
| "description": "Name of the event, that indicates, what happened", |  |
| "enum": [ |  |
| "co.staircase.persistence.collection_created", |  |
| "co.staircase.persistence.collection_data_inserted", |  |
| "co.staircase.persistence.collection_metadata_updated", |  |
| "co.staircase.persistence.collection_updated" |  |
| ] |  |
| }, |  |
| "time": { |  |
| "type": "string", |  |
| "format": "date-time", |  |
| "description": "Timestamp of when the occurrence happened." |  |
| }, |  |
| "data": { |  |
| "type": "object", |  |
| "properties": { |  |
| "transaction_id": { |  |
| "type": "string", |  |
| "format": "ulid", |  |
| "description": "Transaction id" |  |
| }, |  |
| "collection_id": { |  |
| "type": "string", |  |
| "format": "ulid", |  |
| "description": "Collection id" |  |
| }, |  |
| "collection": { |  |
| "type": "object", |  |
| "description": "Collection itself" |  |
| } |  |
| } |  |
| } |  |
| } |  |
| } |  |
| ``` You can assign label to transaction by providing `label` field. To search for transaction using label you should use Retrieve List of Transactions endpoint |  |

<!--/source-->

##### Request

<!--source:api-specifications-->
application/json Copy
```
{
 "label": "first_transaction"
}
```

<!--/source-->

##### Response

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

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

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

<!--/source-->

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

```
{
 "code": 400,
 "message": "Bad Request"
}
```

<!--/source-->

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

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

<!--/source-->

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

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

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

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

<!--source:api-specifications-->
2 fields
<!--/source-->
<!--source:api-specifications-->
Transaction have been created
<!--/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 `400``application/json`

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

| Field | Type | Description |
| --- | --- | --- |
| `error` | `object` | <!--source:api-specifications-->Unprocessed entity error.<!--/source--> |
| `code`required | `string` | <!--source:api-specifications-->Error name.<!--/source--> |
| `message`required | `string` | <!--source:api-specifications-->Error description.<!--/source--> |

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

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

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

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

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

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

`create_collection`

##### Request

<!--source:api-specifications-->
application/json Copy
```
{
 "metadata": {
 "version": 2,
 "validation": true,
 "linked_collections": [
 {
 "collection_id": "01EZQ32PJQGKRA6HR8D72Q9FFF",
 "label": "Employment Verification Report"
 }
 ]
 },
 "data": {
 "people": [
 {
 "@type": "borrower",
 "@id": "01FDF04MYHEZ98AD7T8ZGY5CMB",
 "has_first_name": {
 "has_value": "John"
 },
 "has_last_name": {
 "has_value": "Deere"
 },
 "has_birth_date": {
 "has_value": "1985-01-01"
 },
 "has_taxpayer_identifier_value": {
 "has_value": "999-00-0000"
 },
 "contact_at": [
 "01FDF09BNQCT03DCAX7M5KM52T"
 ],
 "employed_as": [
 "01FDF0DFYAHBRJGFA5RS26HVP1"
 ]
 }
 ],
 "addresses": [
 {
 "@id": "01FDF077N6V7R2RNC64DGT31DY",
 "@type": "business_address",
 "has_address_line_1_text": {
 "has_value": "33 IRVING PLACE",
 "data_sourced_from": [
 "01FDF10040SA2VTETKJQXJ3MQZ"
 ]
 },
 "has_address_line_2_text": {
 "has_value": "additional_line_text",
 "data_sourced_from": [
 "01FDF10040SA2VTETKJQXJ3MQZ"
 ]
 },
 "has_city_name": {
 "has_value": "NEW YORK",
 "data_sourced_from": [
 "01FDF10040SA2VTETKJQXJ3MQZ"
 ]
 },
 "has_postal_code": {
 "has_value": "10003",
 "data_sourced_from": [
 "01FDF10040SA2VTETKJQXJ3MQZ"
 ]
 },
 "has_country_name": {
 "has_value": "US",
 "data_sourced_from": [
 "01FDF10040SA2VTETKJQXJ3MQZ"
 ]
 }
 }
 ],
 "contact_information": [
 {
 "@type": "contact_information",
 "@id": "01FDF09BNQCT03DCAX7M5KM52T",
 "has_phone_number": {
 "has_value": "+1234567890"
 }
 }
 ],
 "employment": [
 {
 "@type": "employment",
 "@id": "01FDF0DFYAHBRJGFA5RS26HVP1",
 "has_employment_position_description": {
 "has_value": "Engineer",
 "data_sourced_from": [
 "01FDF10040SA2VTETKJQXJ3MQZ"
 ]
 },
 "provided_by": [
 "01FDF0G4BP9AE6B7FT5VDEWK5F"
 ]
 }
 ],
 "organizations": [
 {
 "@type": "organization",
 "@id": "01FDF0G4BP9AE6B7FT5VDEWK5F",
 "has_organization_name": {
 "has_value": "GRAIN PROCESSING COR",
 "data_sourced_from": [
 "01FDF10040SA2VTETKJQXJ3MQZ"
 ]
 },
 "with_address": [
 "01FDF077N6V7R2RNC64DGT31DY"
 ]
 }
 ],
 "mortgage_products": [
 {
 "@type": "employment",
 "@id": "01FDF10040SA2VTETKJQXJ3MQZ",
 "has_data_source_date": {
 "has_value": "1972-01-01"
 },
 "has_purpose_of_verification_description": {
 "has_value": "risk-assessment"
 }
 }
 ],
 "documents": [
 {
 "@type": "irs_w2",
 "@id": "01FS9VK2BVSBZYN0MMYQQ73KAZ",
 "has_document_description": {
 "has_value": "Employment Verification Report prepared by Staircase"
 },
 "has_document_mime_type": {
 "has_value": "application/pdf"
 },
 "has_document_name": {
 "has_value": "01FD9X8V5N804Y0CFWY7F72ZCD.pdf"
 }
 }
 ]
 }
}
```

<!--/source-->

##### Response

<!--source:api-specifications-->
201400403404 GetProduct404 text/html
<!--/source-->

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

```
{
 "transaction_id": "01FJCADX5QEXEDVRWNXAK206MA",
 "collection_id": "01FJCAQW7EYJAA6FY05WRKRM3T",
 "metadata": {
 "version": 2
 },
 "data": {
 "people": [
 {
 "@type": "borrower",
 "@id": "01FDF04MYHEZ98AD7T8ZGY5CMB",
 "has_first_name": {
 "has_value": "John"
 },
 "has_last_name": {
 "has_value": "Deere"
 },
 "has_birth_date": {
 "has_value": "01/01/1985"
 },
 "has_taxpayer_identifier_value": {
 "has_value": "999-00-0000"
 },
 "contact_at": [
 "01FDF09BNQCT03DCAX7M5KM52T"
 ],
 "employed_as": [
 "01FDF0DFYAHBRJGFA5RS26HVP1"
 ]
 }
 ],
 "addresses": [
 {
 "@id": "01FDF077N6V7R2RNC64DGT31DY",
 "@type": "business_address",
 "has_address_line_1_text": {
 "has_value": "33 IRVING PLACE",
 "data_sourced_from": [
 "01FDF10040SA2VTETKJQXJ3MQZ"
 ]
 },
 "has_address_line_2_text": {
 "has_value": "additional_line_text",
 "data_sourced_from": [
 "01FDF10040SA2VTETKJQXJ3MQZ"
 ]
 },
 "has_city_name": {
 "has_value": "NEW YORK",
 "data_sourced_from": [
 "01FDF10040SA2VTETKJQXJ3MQZ"
 ]
 },
 "has_postal_code": {
 "has_value": "10003",
 "data_sourced_from": [
 "01FDF10040SA2VTETKJQXJ3MQZ"
 ]
 },
 "has_country_name": {
 "has_value": "US",
 "data_sourced_from": [
 "01FDF10040SA2VTETKJQXJ3MQZ"
 ]
 }
 }
 ],
 "contact_information": [
 {
 "@type": "contact_information",
 "@id": "01FDF09BNQCT03DCAX7M5KM52T",
 "has_phone_number": {
 "has_value": "+1234567890"
 }
 }
 ],
 "employment": [
 {
 "@type": "employment",
 "@id": "01FDF0DFYAHBRJGFA5RS26HVP1",
 "has_employment_position_description": {
 "has_value": "Engineer",
 "data_sourced_from": [
 "01FDF10040SA2VTETKJQXJ3MQZ"
 ]
 },
 "provided_by": [
 "01FDF0G4BP9AE6B7FT5VDEWK5F"
 ]
 }
 ],
 "organizations": [
 {
 "@type": "organization",
 "@id": "01FDF0G4BP9AE6B7FT5VDEWK5F",
 "has_organization_name": {
 "has_value": "GRAIN PROCESSING COR",
 "data_sourced_from": [
 "01FDF10040SA2VTETKJQXJ3MQZ"
 ]
 },
 "has_transaction_identifier": {
 "has_value": "e171ec31-75b4-4fd6-ada1",
 "data_sourced_from": [
 "01FDF10040SA2VTETKJQXJ3MQZ"
 ]
 },
 "with_address": [
 "01FDF077N6V7R2RNC64DGT31DY"
 ]
 }
 ],
 "mortgage_products": [
 {
 "@type": "employment",
 "@id": "01FDF10040SA2VTETKJQXJ3MQZ",
 "has_data_source_date": {
 "has_value": "01/01/1972"
 },
 "has_purpose_of_verification_description": {
 "has_value": "risk-assessment"
 }
 }
 ],
 "documents": [
 {
 "@type": "irs_w2",
 "has_staircase_document_category_type": {
 "has_value": "staircase"
 },
 "has_document_description": {
 "has_value": "Employment Verification Report prepared by Staircase"
 },
 "has_document_mime_type": {
 "has_value": "application/pdf"
 },
 "has_document_name": {
 "has_value": "01FD9X8V5N804Y0CFWY7F72ZCD.pdf"
 }
 }
 ]
 }
}
```

<!--/source-->

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

```
{
 "code": 400,
 "message": "Bad Request"
}
```

<!--/source-->

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

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

<!--/source-->

<!--source:api-specifications-->
application/json Copy 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-->

##### Parameters

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

| Parameter | Type | Example | Description |
| --- | --- | --- | --- |
| `transaction_id` required | `string (ulid)` path | `01FJCADX5QEXEDVRWNXAK206MA` | <!--source:api-specifications-->Transaction ID<!--/source--> |

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

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

| Field | Type | Description |
| --- | --- | --- |
| `data`required | `object` | <!--source:api-specifications-->Collection data<!--/source--> |
| `metadata` | `object` | <!--source:api-specifications-->Collection metadata. Maximum allowable length of the dumped json object - 400 000 symbols.<!--/source--> |
| `version` | `integer` | <!--source:api-specifications-->Version of staircase language with what collection has been created.<!--/source-->`0``2` |
| `validation` | `boolean` | <!--source:api-specifications-->Flag that enables validation<!--/source--> |
| `linked_collections` | `object[]` | <!--source:api-specifications-->List of linked collections<!--/source--> |
| `collection_id` | `string (ulid)` | <!--source:api-specifications-->Collection ID of linked collection<!--/source--> |
| `label` | `string` | <!--source:api-specifications-->Label of linked collection<!--/source--> |

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

<!--source:api-specifications-->
4 fields
<!--/source-->
<!--source:api-specifications-->
201 response
<!--/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-->
Request data failed validation
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `error` | `object` | <!--source:api-specifications-->Unprocessed entity error.<!--/source--> |
| `code`required | `string` | <!--source:api-specifications-->Error name.<!--/source--> |
| `message`required | `string` | <!--source:api-specifications-->Error description.<!--/source--> |

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

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

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

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

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

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

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

`get_collections`

<!--source:api-specifications-->
Retrieve Transaction Collections. Collections can be filtered by collection_id or created_at fields. Supported operations per fields:

- collection_id:
- in:
- description: Get only collections with specified ids
- example: collection_id+in+01EZQ32PJQGKRA6HR8D72Q9FFF,01EZQ32NZ34WACWSAF54WGEM51
- created_at:
- gt:
- description: Get collections that were created after specified datetime in ISO format
- example: created_at+gt+2021-03-30T04:27:15.372006-04:00
- lt:
- description: Get collections that were created before specified datetime in ISO format
- example: created_at+lt+2021-03-30T04:27:15.372006-04:00

<!--/source-->

##### Response

<!--source:api-specifications-->
400404 GetProduct404 text/html
<!--/source-->

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

```
{
 "code": 400,
 "message": "Bad Request"
}
```

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

##### Parameters

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

| Parameter | Type | Example | Description |
| --- | --- | --- | --- |
| `transaction_id` required | `string (ulid)` path | `01FJCADX5QEXEDVRWNXAK206MA` | <!--source:api-specifications-->Transaction ID<!--/source--> |
| `filter` | `string` query | `collection_id+in+01EZQ32PJQGKRA6HR8D72Q9FFF,01EZQ32NZ34WACWSAF54WGEM51` | <!--source:api-specifications-->Filter expression in format {field_name}+{operation}+{value}<!--/source--> |
| `sort` | `string` query | `asc` | <!--source:api-specifications-->Order of sorting<!--/source--> |
| `limit` | `number` query | `5` | <!--source:api-specifications-->Amount of items to show<!--/source--> |
| `after_id` | `string` query | `01EZQ32PJQGKRA6HR8D72Q9FFF` | <!--source:api-specifications-->id of last evaluated transaction<!--/source--> |

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

<!--source:api-specifications-->
4 fields
<!--/source-->
<!--source:api-specifications-->
200 response
<!--/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-->
Request data failed validation
<!--/source-->

| Field | Type | Description |
| --- | --- | --- |
| `error` | `object` | <!--source:api-specifications-->Unprocessed entity error.<!--/source--> |
| `code`required | `string` | <!--source:api-specifications-->Error name.<!--/source--> |
| `message`required | `string` | <!--source:api-specifications-->Error description.<!--/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 `422``application/json`

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

| Field | Type | Description |
| --- | --- | --- |
| `message` | `string` | <!--source:api-specifications-->Message<!--/source--> |
| `collections` | `object[]` | <!--source:api-specifications-->List of collections without 'data' field and with links to retrieve single collections.<!--/source--> |
| `transaction_id` | `string (ulid)` | <!--source:api-specifications-->Transaction id<!--/source--> |
| `collection_id` | `string (ulid)` | <!--source:api-specifications-->Collection id<!--/source--> |
| `metadata` | `object` | <!--source:api-specifications-->Metadata about collection, f.e version of used Staircase schema Maximum allowable length of the dumped json object - 400 000 symbols.<!--/source--> |
| `_links` | `object` | <!--source:api-specifications-->Links<!--/source--> |
| `collection` | `string (url)` | <!--source:api-specifications-->Link to retrieve full collection.<!--/source--> |

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

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

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

`get_collection`

##### Response

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

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

```
{
 "transaction_id": "01FJCADX5QEXEDVRWNXAK206MA",
 "collection_id": "01FJCAQW7EYJAA6FY05WRKRM3T",
 "metadata": {
 "version": 2
 },
 "data": {
 "contact_point_emails": [
 {
 "@id": "01GK25GGSH00VWJ3RY6K1XCHTH",
 "@type": "contact_point_email",
 "has_contact_point_email_value": {
 "has_value": "jdoe@exampleemail.com"
 }
 }
 ],
 "contact_points": [
 {
 "@id": "01GK25GGSH9EZFR92CC5QMGFR7",
 "@type": "contact_point",
 "with_contact_point_email": [
 "01GK25GGSH00VWJ3RY6K1XCHTH"
 ]
 }
 ],
 "documents": [
 {
 "@type": "document",
 "@id": "18566",
 "has_document_name": {
 "has_value": "Closing Disclosure (John Doe)"
 },
 "has_staircase_blob_identifier": {
 "has_value": "01GK25FYZ868JHCPXSHDP74J0E"
 }
 }
 ],
 "page_extraction_metadata": [
 {
 "@id": "01GK25GGSH4BPPE0K1JBA5JAW4",
 "@type": "page_extraction_metadata",
 "has_page_number": {
 "has_value": "5"
 }
 }
 ],
 "people": [
 {
 "@type": "person",
 "@id": "Borrower1",
 "with_contact_point": [
 "01GK25GGSH9EZFR92CC5QMGFR7"
 ],
 "with_signature": [
 "SignerSignature1"
 ]
 }
 ],
 "property_extraction_metadata": [
 {
 "@id": "01GK25GGSH25569942YTGNXSX6",
 "@type": "property_extraction_metadata",
 "has_bounding_box_height_ratio": {
 "has_value": "10"
 },
 "has_bounding_box_left_ratio": {
 "has_value": "256.1"
 },
 "has_bounding_box_top_ratio": {
 "has_value": "188.56"
 },
 "has_bounding_box_width_ratio": {
 "has_value": "40.68"
 }
 },
 {
 "@id": "01GK25GGSH7RVP88650D8MAGYT",
 "@type": "property_extraction_metadata",
 "has_bounding_box_height_ratio": {
 "has_value": "15.4"
 },
 "has_bounding_box_left_ratio": {
 "has_value": "28.8"
 },
 "has_bounding_box_top_ratio": {
 "has_value": "186.06"
 },
 "has_bounding_box_width_ratio": {
 "has_value": "194.04"
 }
 }
 ],
 "signatures": [
 {
 "@type": "signature",
 "@id": "SignerSignature1",
 "has_signature_date": {
 "has_value": "",
 "with_data_extraction_metadata": [
 "01GK25GGSH25569942YTGNXSX6"
 ]
 },
 "has_signed_indicator": {
 "has_value": false,
 "with_data_extraction_metadata": [
 "01GK25GGSH7RVP88650D8MAGYT"
 ]
 },
 "with_page_extraction_metadata": [
 "01GK25GGSH4BPPE0K1JBA5JAW4"
 ]
 }
 ]
 }
}
```

<!--/source-->

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

```
{
 "code": 400,
 "message": "Bad Request"
}
```

<!--/source-->

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

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

<!--/source-->

<!--source:api-specifications-->
application/json Copy 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 Unprocessable entity error

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

<!--/source-->

##### Parameters

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

| Parameter | Type | Example | Description |
| --- | --- | --- | --- |
| `transaction_id` required | `string (ulid)` path | `01FJCADX5QEXEDVRWNXAK206MA` | <!--source:api-specifications-->Transaction ID<!--/source--> |
| `collection_id` required | `string (ulid)` path | `01FJCAQW7EYJAA6FY05WRKRM3T` | <!--source:api-specifications-->Collection ID<!--/source--> |
| `refs` | `boolean` query | `true` | <!--source:api-specifications-->If `true`, refs will not be resolved<!--/source--> |
| `flatten` | `boolean` query | `true` | <!--source:api-specifications-->If `true`, the collection will be flattened<!--/source--> |

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

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

| Field | Type | Description |
| --- | --- | --- |
| `people` | `object[]` | <!--source:api-specifications-->People information<!--/source--> |
| `@id` | `string` | <!--source:api-specifications-->ID information<!--/source--> |
| `@type` | `string` | <!--source:api-specifications-->Type information<!--/source--> |
| `with_contact_point` | `string[]` | <!--source:api-specifications-->Contact point information<!--/source--> |
| `with_signature` | `string[]` | <!--source:api-specifications-->Signature information<!--/source--> |

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

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

| Field | Type | Description |
| --- | --- | --- |
| `error` | `object` | <!--source:api-specifications-->Unprocessed entity error.<!--/source--> |
| `code`required | `string` | <!--source:api-specifications-->Error name.<!--/source--> |
| `message`required | `string` | <!--source:api-specifications-->Error description.<!--/source--> |

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

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

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

##### Response `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 `422``application/json`

<!--source:api-specifications-->
1 fields
<!--/source-->
<!--source:api-specifications-->
Unprocessable entity error
<!--/source-->

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

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

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

`POST` `/`

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

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

`post-enotary`

<!--source:api-specifications-->
Create eNotary invokes a data partner for eNotary. Data partners: HelloSign Notarize, HelloFax, DocuSign, NotaryCam, eOriginal, Escrow Tab, Nexsys, OneSpan

<!--/source-->

##### Request

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

<!--/source-->

##### Response

<!--source:api-specifications-->
application/json Copy eNotary 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-->
eNotary request created successfully.
<!--/source-->

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

##### Other responses

`400``404`

## Providers

- Stavvy

## Errors

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

## More in Contract

- Previous product: Lexicon
- Next product: Price
