Skip to content
Staircase

Identity

Identity verification and fraud checks run before the rest of an application proceeds.

A caller sends the identity claims collected from a borrower — name, date of birth, address history, and a government identifier — and receives a verified or unverified result with the reasons behind it.

It gates the products after it. An application that cannot establish who the borrower is has nothing useful to verify, so identity runs first in every flow that composes these products.

How it works

Two vendor types sit behind it: a phone-and-carrier signal check and a bureau identity product. They answer different questions — one is possession of a device tied to an identity, the other is the existence and consistency of a credit-file identity — and the canonical response carries both rather than collapsing them to a single score.

Operations

Setup

PUT /connector-jobs/vendors/prove/passed-credentials

Set Prove Credentials

setProveCredentials

By using Set Prove Credentials API we allow our customers to configure custom instance in customer environment. If you want to use your own instance for verification operations, run Set Credentials API.

Request
application/json
{
  "host": "https://api.staging.payfone.com",
  "username": "d3e28e0e-a4f9-490b-af32-a4001101ce3b",
  "password": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
Response
application/json

Setup API Triggered Successfully

{
  "message": "Credentials are saved and verified"
}
Parameters
1
ParameterTypeExampleDescription
x-api-key required string header xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Environment API Key.
Request bodyapplication/json
3 fields
FieldTypeDescription
hostrequiredstringProve host
usernamerequiredstringProve username
passwordrequiredstringProve password
Response 200application/json
1 fields

Setup API Triggered Successfully

FieldTypeDescription
messagestringMessage
Response 400application/json
1 fields

Request data failed validation

FieldTypeDescription
errorobjectUnprocessed entity error.
coderequiredstringError name.
messagerequiredstringError description.
Response 403application/json
2 fields

Invalid key for service

FieldTypeDescription
messagestring
urlstring
Response 404application/json
2 fields

Invalid key for service

FieldTypeDescription
messagestring
urlstring
Response 422application/json
1 fields

Unprocessed Entity

FieldTypeDescription
errorobjectUnprocessed entity error.
coderequiredstringError name.
messagerequiredstringError description.
Response 500application/json
1 fields

The product has encountered an internal server error. If possible, please contact Staircase support with the transaction_id you used.

FieldTypeDescription
messagestring
POST /setup/dytrix/credentials

Set Dytrix Credentials

setDytrixCredentials

By using Set Dytrix Credentials API we allow our customers to configure Dytrix in customer environment.

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

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

Request
application/json
{
  "base_url": "https://api.dytrix.com",
  "username": "--------",
  "password": "<redacted>",
  "credentials_type": "test"
}
Response
application/json

Setup API Triggered Successfully

{
  "message": "Credentials are saved and verified"
}
Parameters
1
ParameterTypeExampleDescription
x-api-key required string header xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Staircase Environment API Key
Request bodyapplication/json
4 fields
FieldTypeDescription
base_urlrequiredstringBase URL for Dytrix API
usernamerequiredstringDytrix username
passwordrequiredstringDytrix password
credentials_typerequiredstringType of credentials, can be either test or production
Response 200application/json
1 fields

Setup API Triggered Successfully

FieldTypeDescription
messagestringMessage
Response 400application/json
1 fields

Request data failed validation

FieldTypeDescription
messagestringMessage
Response 403application/json
2 fields

Invalid key for service

FieldTypeDescription
messagestring
urlstring
Response 422application/json
1 fields

Request data failed validation

FieldTypeDescription
messagestringMessage
Response 500application/json
1 fields

The product has encountered an internal server error

FieldTypeDescription
messagestringError Message
Other responses

404

GET /setup/{partner_name}/credentials

Retrieve Partner Credentials Schema

getCredentials

Get Credentials Schema

Get credentials schema for specific partner. You can use retrieved schema for setting the partner credentials.

Response
application/json

Request data failed validation

{
  "message": "{'data': ['Missing data for required field.']}"
}
Parameters
2
ParameterTypeExampleDescription
x-api-key required string header xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Staircase Environment API Key
partner_name required string path dytrix Partner name
Response 200application/json
1 fields

Create Adapter API Triggered Successfully

FieldTypeDescription
messagestringMessage
Response 400application/json
1 fields

Request data failed validation

FieldTypeDescription
messagestringMessage
Response 403application/json
2 fields

Invalid key for service

FieldTypeDescription
messagestring
urlstring
Response 422application/json
1 fields

Request data failed validation

FieldTypeDescription
messagestringMessage
Response 500application/json
1 fields

The product has encountered an internal server error

FieldTypeDescription
messagestringError Message
Other responses

404

Workflow

POST /identity/verification

Verify Phone Number

verifyPhoneNumber

By using Verify Phone Number API we allow our customers to verify the phone number. Before executing this operation need to execute Set Prove Credentials API and enable static IP feature in network settings.

Request
application/json
{
  "partner_name": "Prove",
  "request_data": {
    "people": [
      {
        "first_name": "Tod",
        "last_name": "Weedall",
        "phone_number": "2001001686",
        "birth_date": "1984-12-10"
      }
    ]
  }
}
Response
application/json

Setup API Triggered Successfully

{
  "id": "01H1WE08FGKNX0PKNZ88AKNTBX"
}
Parameters
2
ParameterTypeExampleDescription
x-api-key required string header xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Environment API Key.
content-type required string header application/json Content Type.
Request bodyapplication/json
2 fields
FieldTypeDescription
partner_namerequiredstringPartner name
peopleobject[]People for verification
first_namestringFirst name
last_namestringLast name
phone_numberstringPhone number
birth_datestringBirthdate
Response 200application/json
1 fields

Setup API Triggered Successfully

FieldTypeDescription
idstringExecution identifier
Response 400application/json
1 fields

Request data failed validation

FieldTypeDescription
errorobjectUnprocessed entity error.
coderequiredstringError name.
messagerequiredstringError description.
Response 403application/json
2 fields

Invalid key for service

FieldTypeDescription
messagestring
urlstring
Response 404application/json
2 fields

Invalid key for service

FieldTypeDescription
messagestring
urlstring
Response 422application/json
1 fields

Unprocessed Entity

FieldTypeDescription
errorobjectUnprocessed entity error.
coderequiredstringError name.
messagerequiredstringError description.
Response 500application/json
1 fields

The product has encountered an internal server error. If possible, please contact Staircase support with the transaction_id you used.

FieldTypeDescription
messagestring
POST /products/identity/invocations

Verify Identity

invokeProductFlow

This endpoint creates an identity verification request for the provided transaction, collection and selected partner

Usage

You can send a request in two different ways:

  • Using transaction_id and request_collection_id: If you already have a request collection, you can provide its details using these two parameters. Note that in this case Response Collection would be created in the provided Transaction.
  • Using request_data: If you provide this parameter, flow invocation would use the data here as input. If you also provide a transaction_id in the request body, Response Collection would be created in the related Transaction object. If you don't provide a transaction_id we will automatically create a Transaction for you and Response Collection would be created in this new Transaction as well.

Note: You cannot provide product_flow_name and vendor_name parameters together. When provided together, simply product_flow_name is used.

Show the rest

Verification options

  • If you are already familiar with agent details, the get-report flow can be executed.
  • If you are not familiar with agent details, search-agent flow can be used to search for it.
  • If you are not able to find an agent you can either request to add a company (add-company flow) or request to add a branch to the existing company (add-branch flow).
get-report

You can use get-report flow to get Identity verification documents (Closing Agent Report, Insurance reports and Wire Instruction reports). Mandatory request fields are:

  • AgentId
  • BorrowersName
  • FullPropertyAddress
  • LoanId
  • EstClosingDate
search-agent

You can use search-agent flow to search for available agents. The only mandatory field is the CompanyName, and it has to have at least 3 or more characters.

add-company

If the agent you want to use is not in the list, you can request to add the company. Mandatory request fields are:

  • AgentName
  • ContactFirstName
  • ContactLastName
  • Email
  • Phone
  • Address1
  • City
  • State
  • ZipCode
  • BorrowersName
  • FullPropertyAddress
  • LoanId
  • EstClosingDate
add-branch

If the agent you want to use is on the list, but there is no matching branch (location), you can request to add the branch to the existing company. Mandatory request fields are:

  • AgentId
  • CompanyName
  • ContactFirstName
  • ContactLastName
  • Email
  • Phone
  • Address1
  • City
  • State
  • ZipCode
  • BorrowersName
  • FullPropertyAddress
  • LoanId
  • EstClosingDate
get-request-status

You can use get-request-status flow to get the partner's request status for add-company, add-branch, add-wire, suspend-agent-update and update-agent-info flows. Mandatory field is RequestId. You can retrieve mentioned RequestId as a part of a response of all previously mentioned flows.

add-wire

You can use add-wire flow to get the wire number verification. Mandatory request fields are:

  • AgentId
  • BorrowersName
  • FullPropertyAddress
  • LoanId
  • EstClosingDate
  • ContactFirstName
  • ContactLastName
  • Email
  • Phone
suspend-agent-update

You can use suspend-agent-update flow if the agent is not yet qualified, or it has documents that have expired recently. Mandatory request fields are:

  • AgentId
  • BorrowersName
  • FullPropertyAddress
  • LoanId
  • EstClosingDate
  • ContactFirstName
  • ContactLastName
  • Email
  • Phone
cancel-request

You can use cancel-request flow to cancel any of the requests (add-company, add-branch, add-wire, suspend-agent-update or update-agent-info) made. Mandatory request fields are:

  • RequestId
  • Reason
update-agent-info

You can use update-agent-info flow if the agent's insurance or license dates are expired or non-existing. You can also use the mentioned flow if the agent qualification is still pending review. Mandatory request fields are:

  • AgentId
  • RequestPurpose
  • BorrowersName
  • FullPropertyAddress
  • LoanId
  • EstClosingDate
  • ContactFirstName
  • ContactLastName
  • Email
  • Phone

Retrieving the Invocation Result

After flow invocation, endpoint returns an invocation_id which you can poll for its status using /products/identity/invocations/{invocation_id} endpoint. Once the invocation is completed, the Response Collection is populated with results.

If you would rather receive a callback once the invocation is completed instead of polling it, you can set the callback_url parameter in the request body.

Request
application/json
{
  "product_flow_name": "get-report",
  "request_data": {
    "people": [
      {
        "@type": "appraiser",
        "@id": "01FD6ZNGJADZ0RB1H96FSEAA01",
        "has_first_name": {
          "has_value": "Joe"
        },
        "has_last_name": {
          "has_value": "Doe"
        },
        "contact_at": [
          "01FD6ZNGJADZ0RB1H96FSEAA02"
        ]
      },
      {
        "@type": "borrower",
        "@id": "01FD6ZNGJADZ0RB1H96FSEAA20",
        "has_full_name": {
          "has_value": "John Smith"
        }
      }
    ],
    "contact_information": [
      {
        "@type": "contact_information",
        "@id": "01FD6ZNGJADZ0RB1H96FSEAA02",
        "has_email_address": {
          "has_value": "appraiser@appraiser.com"
        },
        "has_phone_number": {
          "has_value": "+14086002581"
        }
      }
    ],
    "organizations": [
      {
        "@type": "agent_branch",
        "@id": "01FD6ZNGJADZ0RB1H96FSEAA03",
        "has_organization_identifier": {
          "has_value": "123"
        }
      }
    ],
    "addresses": [
      {
        "@type": "address",
        "@id": "01FD6ZNGJADZ0RB1H96FSEAA06",
        "has_full_address_text": {
          "has_value": "57 Berry Lane, Bldg 12, Apt # 22 New York, NY, 10014"
        },
        "has_state_code": {
          "has_value": "NY"
        }
      }
    ],
    "property": [
      {
        "@type": "property",
        "@id": "01FD6ZNGJADZ0RB1H96FSEAA05",
        "with_address": [
          "01FD6ZNGJADZ0RB1H96FSEAA06"
        ]
      }
    ],
    "loans": [
      {
        "@id": "01FD6ZNGJADZ0RB1H96FSEAA07",
        "@type": "loan",
        "has_loan_identifier_value": {
          "has_value": "123456"
        },
        "has_loan_purpose_type": {
          "has_value": "1"
        },
        "has_loan_amount": {
          "has_value": "50000.55"
        },
        "has_loan_estimated_closing_date": {
          "has_value": "05/12/2020"
        }
      }
    ],
    "comment": [
      {
        "@type": "comment",
        "@id": "01FD6ZNGJADZ0RB1H96FSEAA08",
        "has_comment": {
          "has_value": "This is comment."
        }
      }
    ]
  }
}
Response
application/json

Successfully started flow invocation.

{
  "product_flow_name": "search-agent",
  "metadata": {},
  "request_collection_id": "01GG6ZWKQM5TEE7ZCSWK78WFHZ",
  "response_collection_id": "01GG6ZWKSD1C5363SKB0J9DVMQ",
  "invocation_mode": "single_flow",
  "widget_url": "",
  "invocation_id": "e0280760-f674-44bc-a2d8-1a67e5480da8",
  "invocation_status": "STARTED",
  "transaction_id": "01GG6ZWKE0FHMPZGVWPPM27S08",
  "request_data": {
    "people": [
      {
        "@type": "appraiser",
        "@id": "01FD6ZNGJADZ0RB1H96FSEAA01",
        "has_first_name": {
          "has_value": "Joe"
        },
        "has_last_name": {
          "has_value": "Doe"
        },
        "contact_at": [
          "01FD6ZNGJADZ0RB1H96FSEAA02"
        ]
      }
    ],
    "contact_information": [
      {
        "@type": "contact_information",
        "@id": "01FD6ZNGJADZ0RB1H96FSEAA02",
        "has_email_address": {
          "has_value": "appraiser@appraiser.com"
        },
        "has_phone_number": {
          "has_value": "+14086002581"
        }
      }
    ],
    "organizations": [
      {
        "@type": "agent_branch",
        "@id": "01FD6ZNGJADZ0RB1H96FSEAA03",
        "has_organization_name": {
          "has_value": "ACME Inc."
        },
        "with_address": [
          "01FD6ZNGJADZ0RB1H96FSEAA04"
        ]
      }
    ],
    "addresses": [
      {
        "@type": "address",
        "@id": "01FD6ZNGJADZ0RB1H96FSEAA04",
        "has_address_line_1_text": {
          "has_value": "57 Berry Lane"
        },
        "has_address_line_2_text": {
          "has_value": "Bldg 12, Apt # 22"
        },
        "has_city_name": {
          "has_value": "New York"
        },
        "has_state_code": {
          "has_value": "NY"
        },
        "has_postal_code": {
          "has_value": "10014"
        }
      },
      {
        "@type": "address",
        "@id": "01FD6ZNGJADZ0RB1H96FSEAA06",
        "has_state_code": {
          "has_value": "PA"
        }
      }
    ],
    "property": [
      {
        "@type": "property",
        "@id": "01FD6ZNGJADZ0RB1H96FSEAA05",
        "with_address": [
          "01FD6ZNGJADZ0RB1H96FSEAA06"
        ]
      }
    ]
  },
  "_links": {
    "health_metrics": "https://staircase-environment.staircaseapi.com/code-health-checker/metric/01GG6ZWKE0FHMPZGVWPPM27S08?product_name=identity"
  }
}
Parameters
1
ParameterTypeExampleDescription
x-api-key required string header xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Environment API Key.
Request bodyapplication/json
10 fields
FieldTypeDescription
product_flow_namestringProduct flow name. If it is not specified, the default product flow will be invoked. If the product has no default product flow, the first created flow will be invoked. Cannot be specified together with vendor_name.
vendor_namestringVendor name. Cannot be specified together with product_flow_name.
transaction_idstringTransaction ID used for invocation.
request_collection_idstringRequest Collection ID.
response_collection_idstringResponse Collection ID.
callback_urlstring (uri)Callback URL.
request_dataobjectRequest JSON body.
tagsstring[]List of tags.
optionsobjectAdditional information that should be passed to the connector but not be added to the request collection.
invocation_modestringThe invocation mode of a product flow single_flow or waterfall, default value single_flow
Response 201application/json
11 fields

Successfully started flow invocation.

FieldTypeDescription
product_flow_namestringProduct flow name.
metadataobjectThe metadata of the invoked product flow.
request_collection_idstringRequest collection ID.
response_collection_idstringResponse collection ID.
invocation_modestringInvocation flow.
widget_urlstringProduct widget_url listening on the connector widget_url.
invocation_idstringInvocation ID.
invocation_statusstringThe status of the invocation.
transaction_idstringTransaction ID.
request_dataobjectRequest collection data.
peopleobject[]
@typestring
@idstring
has_first_nameobject
has_valuestring
has_last_nameobject
has_valuestring
contact_atstring[]
contact_informationobject[]
@typestring
@idstring
has_email_addressobject
has_valuestring
has_phone_numberobject
has_valuestring
organizationsobject[]
@typestring
@idstring
has_organization_nameobject
has_valuestring
with_addressstring[]
addressesobject[]
@typestring
@idstring
has_address_line_1_textobject
has_valuestring
has_address_line_2_textobject
has_valuestring
has_city_nameobject
has_valuestring
has_state_codeobject
has_valuestring
has_postal_codeobject
has_valuestring
propertyobject[]
@typestring
@idstring
with_addressstring[]
_linksobject
health_metricsstring
Response 400application/json
1 fields

Request data failed validation

FieldTypeDescription
messageone ofMessage
Response 403application/json
2 fields

403 invalid error

FieldTypeDescription
messagestringError message.
urlstringError additional URL.
Response 404application/json
1 fields

Resource not found

FieldTypeDescription
messagestringMessage
Response 500application/json
1 fields

Internal server error

FieldTypeDescription
messagestringError message.
POST /blobs/upload

Upload Identity Document

uploadBlob

Upload Blob allows a customer to upload a document in .pdf form. Upload Blob uploads a .pdf document (blob) to Persistence product.

You can upload pdf using HTML Request Maker Try It Out. Place your api_key in the request header, set the request body to binary and browse to your document. Click Send to upload your document. To upload a document programmatically, use the programmatic upload example below. After the approval document is successfully uploaded, a blob_id value is provided. Example: 'blob_id': '01EZYHKY4EXFW4Z8RKWHDP1KHB' After you got successful response, you need to use the blob_id in collection with the following path.

Show the rest
$.document_sets.document_set[0].documents.document[0].foreign_objects.foreign_object[0].staircase_blob_id

To upload a document within code, you can to use a below example.

import requests

with open("document.pdf", "rb") as document:
 payload = document.read

url = ""
headers = {
 "x-api-key": ...,
 "Content-Type": "application/pdf"
}
response = requests.post(url, headers=headers, data=payload)
if response.ok:
 blob_id = response.json["blob_id"]
Request
application/octet-stream
Select option 'binary' in order to upload file
Response
application/json

Blob uploaded

{
  "blob_id": "01EZY9J8SEFM2JKDJ1Q3YX65HS"
}
Parameters
1
ParameterTypeDescription
x-api-key required string header The environment API key.
Response 201application/json
1 fields

Blob uploaded

FieldTypeDescription
blob_idstringCreated blob id
Response 403application/json
2 fields

403 invalid error

FieldTypeDescription
messagestringError message.
urlstringError additional URL.
Response 500application/json
1 fields

Internal server error

FieldTypeDescription
messagestringError message.
Other responses

400405422

GET /identity/verification/{execution_id}

Verify Phone Number Status

verifyPhoneNumberStatus

Verify Phone Number Status Get the verification status by execution identifier.

Response
application/json

Setup API Triggered Successfully

{
  "data": {
    "statuses": [
      {
        "@id": "01H1WE08FGKNX0PKNZ88AKNTBX",
        "@type": "verification_status",
        "status_code": "200",
        "verified": true,
        "status_name": "Verified"
      }
    ]
  }
}
Parameters
2
ParameterTypeExampleDescription
x-api-key required string header xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Environment API Key.
execution_id required string path 01H1WE08FGKNX0PKNZ88AKNTBX Verification execution identifier
Response 200application/json
1 fields

Setup API Triggered Successfully

FieldTypeDescription
dataobjectData
statusesobject[]Statuses
@idstringIdentifier
@typestringType
status_codestringStatus code
verifiedbooleanVerified
status_namestringStatus name
error_messagesobject[]Statuses
@idstringIdentifier
@typestringType
error_message_textstringError message text
Response 400application/json
1 fields

Request data failed validation

FieldTypeDescription
errorobjectUnprocessed entity error.
coderequiredstringError name.
messagerequiredstringError description.
Response 403application/json
2 fields

Invalid key for service

FieldTypeDescription
messagestring
urlstring
Response 404application/json
2 fields

Invalid key for service

FieldTypeDescription
messagestring
urlstring
Response 422application/json
1 fields

Unprocessed Entity

FieldTypeDescription
errorobjectUnprocessed entity error.
coderequiredstringError name.
messagerequiredstringError description.
Response 500application/json
1 fields

The product has encountered an internal server error. If possible, please contact Staircase support with the transaction_id you used.

FieldTypeDescription
messagestring
GET /products/identity/invocations/{invocation_id}

Retrieve Identity Invocation Status

RetrieveProductFlowInvocationStatus

Retrieve Invocation Status

Retrieves the status of running Product flow invocation.

Response
application/json

Successfully returned status of the Product flow Invocation.

{
  "request_collection_id": "01GGC93ZHVCTNFDT2Q852CVF9P",
  "response_collection_id": "01GGC93ZM4ZR9SWPH7EQV9HWPX",
  "service_invocation": {
    "Persistence": {
      "run_flow_invocation": {
        "elapsed_time": "0.29608583450317383"
      },
      "process_translation_input": {
        "elapsed_time": "0.07210111618041992"
      },
      "process_translation_output": {
        "elapsed_time": "0.07207798957824707"
      },
      "translate_input": {
        "elapsed_time": "0.1422419548034668"
      },
      "total_elapsed_time": "0.16972756385803223",
      "process_connector_flow": {
        "elapsed_time": "0.16049575805664062"
      },
      "process_invocation_result": {
        "elapsed_time": "0.09764957427978516"
      }
    },
    "Connector": {
      "finished_on": "2022-10-27T04:32:24.452940-04:00",
      "elapsed_time": "8.227691",
      "connector_flow_name": "dytrix-add-company",
      "started_on": "2022-10-27T04:32:16.225249-04:00",
      "status": "COMPLETED",
      "invocation_id": "288a9e3e-31ba-4e57-87a6-d4436c0f73d8"
    },
    "Language": {
      "output": {
        "started_on": "2022-10-27T04:32:27.567001-04:00",
        "invocation_id": "01GGC94EFSV79TAHPZSCBZVPF4",
        "finished_on": "2022-10-27T04:32:28.753980-04:00",
        "elapsed_time": "1.186979",
        "from_language": "identity-dytrix-add-company-output",
        "to_language": "staircase-graph",
        "status": "TRANSLATED"
      },
      "input": {
        "started_on": "2022-10-27T04:32:13.019510-04:00",
        "invocation_id": "01GGC9405XSMEAQ9Q2G1VGPC3T",
        "finished_on": "2022-10-27T04:32:15.295687-04:00",
        "elapsed_time": "2.276177",
        "from_language": "staircase-graph",
        "to_language": "identity-dytrix-add-company-input",
        "status": "TRANSLATED"
      }
    }
  },
  "widget_url": "",
  "metadata": {},
  "options": {},
  "raw_collection": "01GGC94GGFHSZDRNMPS2CQBXXV",
  "total_integrated_elapsed_time": 11.860574563858034,
  "invocation_id": "65d45988-5678-4957-821c-ee3bbd2c0218",
  "invocation_status": "COMPLETED",
  "transaction_id": "01GGC93Z8ZWCEP40VFD5J1NF6M",
  "product_flow_name": "add-company",
  "connector_job_id": "288a9e3e-31ba-4e57-87a6-d4436c0f73d8",
  "total_elapsed_time": 23.308631,
  "product_overhead": 11.448056436141965,
  "request_collection": {
    "collection_id": "01GGC93ZHVCTNFDT2Q852CVF9P",
    "transaction_id": "01GGC93Z8ZWCEP40VFD5J1NF6M",
    "data": {
      "people": [
        {
          "@type": "appraiser",
          "@id": "01FD6ZNGJADZ0RB1H96FSEAA01",
          "has_first_name": {
            "has_value": "Joe"
          },
          "has_last_name": {
            "has_value": "Doe"
          },
          "contact_at": [
            "01FD6ZNGJADZ0RB1H96FSEAA02"
          ]
        },
        {
          "@type": "contact",
          "@id": "01FD6ZNGJADZ0RB1H96FSEAA31",
          "has_first_name": {
            "has_value": "Jane"
          },
          "has_last_name": {
            "has_value": "Smith"
          },
          "contact_at": [
            "01FD6ZNGJADZ0RB1H96FSEAA32"
          ]
        },
        {
          "@type": "borrower",
          "@id": "01FD6ZNGJADZ0RB1H96FSEAA20",
          "has_full_name": {
            "has_value": "John Smith"
          }
        }
      ],
      "contact_information": [
        {
          "@type": "contact_information",
          "@id": "01FD6ZNGJADZ0RB1H96FSEAA02",
          "has_email_address": {
            "has_value": "appraiser@appraiser.com"
          },
          "has_phone_number": {
            "has_value": "+14086002581"
          }
        },
        {
          "@type": "contact_information",
          "@id": "01FD6ZNGJADZ0RB1H96FSEAA32",
          "has_email_address": {
            "has_value": "contact@contact.com"
          },
          "has_phone_number": {
            "has_value": "+14086002582"
          }
        }
      ],
      "organizations": [
        {
          "@type": "agent_branch",
          "@id": "01FD6ZNGJADZ0RB1H96FSEAA03",
          "has_organization_name": {
            "has_value": "ACME Inc."
          },
          "with_address": [
            "01FD6ZNGJADZ0RB1H96FSEAA33"
          ]
        }
      ],
      "addresses": [
        {
          "@type": "address",
          "@id": "01FD6ZNGJADZ0RB1H96FSEAA33",
          "has_address_line_1_text": {
            "has_value": "57 Berry Lane"
          },
          "has_address_line_2_text": {
            "has_value": "Bldg 12, Apt # 22"
          },
          "has_city_name": {
            "has_value": "New York"
          },
          "has_state_code": {
            "has_value": "NY"
          },
          "has_postal_code": {
            "has_value": "10014"
          }
        },
        {
          "@type": "address",
          "@id": "01FD6ZNGJADZ0RB1H96FSEAA06",
          "has_full_address_text": {
            "has_value": "57 Berry Lane, Bldg 12, Apt # 22 New York, NY, 10014"
          }
        }
      ],
      "property": [
        {
          "@type": "property",
          "@id": "01FD6ZNGJADZ0RB1H96FSEAA05",
          "with_address": [
            "01FD6ZNGJADZ0RB1H96FSEAA06"
          ]
        }
      ],
      "loans": [
        {
          "@id": "01FD6ZNGJADZ0RB1H96FSEAA07",
          "@type": "loan",
          "has_loan_identifier_value": {
            "has_value": "123456"
          },
          "has_loan_purpose_type": {
            "has_value": "1"
          },
          "has_loan_amount": {
            "has_value": "50000.55"
          },
          "has_loan_estimated_closing_date": {
            "has_value": "05/12/2020"
          }
        }
      ],
      "comment": [
        {
          "@type": "comment",
          "@id": "01FD6ZNGJADZ0RB1H96FSEAA08",
          "has_comment": {
            "has_value": "This is comment."
          }
        }
      ]
    },
    "metadata": {
      "validation": false,
      "linked_collections": [
        {
          "collection_id": "01GGC93ZM4ZR9SWPH7EQV9HWPX",
          "label": "Response Collection"
        }
      ],
      "created_at": "2022-10-27T04:32:11.835614-04:00",
      "last_updated_at": "2022-10-27T04:32:11.981988-04:00"
    }
  },
  "response_collection": {
    "metadata": {
      "linked_collections": [
        {
          "collection_id": "01GGC94GGFHSZDRNMPS2CQBXXV",
          "label": "Raw Response Collection"
        },
        {
          "collection_id": "01GGC93ZHVCTNFDT2Q852CVF9P",
          "label": "Request Collection"
        }
      ],
      "validation": false,
      "version": 2,
      "created_at": "2022-10-27T04:32:11.909043-04:00",
      "invocation_status": "COMPLETED",
      "last_updated_at": "2022-10-27T04:32:34.874297-04:00",
      "partner_language": "identity-dytrix-add-company-output",
      "partner_name": "dytrix",
      "product_name": "identity",
      "service_invocation": {
        "Persistence": {
          "run_flow_invocation": {
            "elapsed_time": "0.29608583450317383"
          },
          "translate_input": {
            "elapsed_time": "0.1422419548034668"
          },
          "process_translation_input": {
            "elapsed_time": "0.07210111618041992"
          },
          "process_translation_output": {
            "elapsed_time": "0.07207798957824707"
          },
          "total_elapsed_time": "0.07207798957824707",
          "process_connector_flow": {
            "elapsed_time": "0.16049575805664062"
          }
        },
        "operation_name": "language_output",
        "Connector": {
          "finished_on": "2022-10-27T04:32:24.452940-04:00",
          "elapsed_time": "8.227691",
          "connector_flow_name": "dytrix-add-company",
          "started_on": "2022-10-27T04:32:16.225249-04:00",
          "status": "COMPLETED",
          "invocation_id": "288a9e3e-31ba-4e57-87a6-d4436c0f73d8"
        },
        "Language": {
          "output": {
            "started_on": "2022-10-27T04:32:27.567001-04:00",
            "invocation_id": "01GGC94EFSV79TAHPZSCBZVPF4",
            "finished_on": "2022-10-27T04:32:28.753980-04:00",
            "elapsed_time": "1.186979",
            "from_language": "identity-dytrix-add-company-output",
            "to_language": "staircase-graph",
            "status": "TRANSLATED"
          },
          "input": {
            "started_on": "2022-10-27T04:32:13.019510-04:00",
            "invocation_id": "01GGC9405XSMEAQ9Q2G1VGPC3T",
            "finished_on": "2022-10-27T04:32:15.295687-04:00",
            "elapsed_time": "2.276177",
            "from_language": "staircase-graph",
            "to_language": "identity-dytrix-add-company-input",
            "status": "TRANSLATED"
          }
        }
      },
      "staircase_language_version": 2
    },
    "data": {
      "comment": [
        {
          "@type": "comment",
          "comment": [
            {
              "has_comment": {}
            }
          ],
          "@id": "01GGC94FVWTS8A4DDAEH9RKAX1"
        }
      ],
      "customer_request": [
        {
          "@type": "customer_request",
          "customer_request": [
            {
              "has_customer_request_identifier": {
                "has_value": 27929
              }
            }
          ],
          "@id": "01GGC94FVW0HJ44VSDJ7GSPQXT"
        }
      ]
    },
    "transaction_id": "01GGC93Z8ZWCEP40VFD5J1NF6M",
    "collection_id": "01GGC93ZM4ZR9SWPH7EQV9HWPX"
  },
  "flows_responses": {},
  "_links": {
    "finance_metrics": "https://russell-dev.staircaseapi.com/finance/metrics/query/",
    "health_metrics": "https://russell-dev.staircaseapi.com/code-health-checker/metric/01GGC93Z8ZWCEP40VFD5J1NF6M?product_name=identity"
  }
}
Parameters
2
ParameterTypeExampleDescription
x-api-key required string header xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Environment API Key.
invocation_id required string (ulid) path d7ccedb8-8889-4657-add4-bc1s4xs97637 Product flow invocation identifier
Response 200application/json
19 fields

Successfully returned status of the Product flow Invocation.

FieldTypeDescription
request_collection_idstring
response_collection_idstring
service_invocationobject
Persistenceobject
run_flow_invocationobject
elapsed_timestring
process_translation_inputobject
elapsed_timestring
process_translation_outputobject
elapsed_timestring
translate_inputobject
elapsed_timestring
total_elapsed_timestring
process_connector_flowobject
elapsed_timestring
process_invocation_resultobject
elapsed_timestring
Connectorobject
finished_onstring
elapsed_timestring
connector_flow_namestring
started_onstring
statusstring
invocation_idstring
Languageobject
outputobject
started_onstring
invocation_idstring
finished_onstring
elapsed_timestring
from_languagestring
to_languagestring
statusstring
inputobject
started_onstring
invocation_idstring
finished_onstring
elapsed_timestring
from_languagestring
to_languagestring
statusstring
widget_urlstring
metadataobject
optionsobject
raw_collectionstring
total_integrated_elapsed_timenumber
invocation_idstring
invocation_statusstring
transaction_idstring
product_flow_namestring
connector_job_idstring
total_elapsed_timenumber
product_overheadnumber
request_collectionobject
collection_idstring
transaction_idstring
dataobject
peopleobject[]
@typestring
@idstring
has_first_nameobject
has_last_nameobject
contact_atstring[]
has_full_nameobject
contact_informationobject[]
@typestring
@idstring
has_email_addressobject
has_phone_numberobject
organizationsobject[]
@typestring
@idstring
has_organization_nameobject
with_addressstring[]
addressesobject[]
@typestring
@idstring
has_address_line_1_textobject
has_address_line_2_textobject
has_city_nameobject
has_state_codeobject
has_postal_codeobject
has_full_address_textobject
propertyobject[]
@typestring
@idstring
with_addressstring[]
loansobject[]
@idstring
@typestring
has_loan_identifier_valueobject
has_loan_purpose_typeobject
has_loan_amountobject
has_loan_estimated_closing_dateobject
commentobject[]
@typestring
@idstring
has_commentobject
metadataobject
validationboolean
linked_collectionsobject[]
collection_idstring
labelstring
created_atstring
last_updated_atstring
response_collectionobject
metadataobject
linked_collectionsobject[]
collection_idstring
labelstring
validationboolean
versioninteger
created_atstring
invocation_statusstring
last_updated_atstring
partner_languagestring
partner_namestring
product_namestring
service_invocationobject
Persistenceobject
operation_namestring
Connectorobject
Languageobject
staircase_language_versioninteger
dataobject
commentobject[]
@typestring
commentobject[]
@idstring
customer_requestobject[]
@typestring
customer_requestobject[]
@idstring
transaction_idstring
collection_idstring
flows_responsesobject
_linksobject
finance_metricsstring
health_metricsstring
Response 400application/json
1 fields

Request data failed validation

FieldTypeDescription
messageone ofMessage
Response 403application/json
2 fields

403 invalid error

FieldTypeDescription
messagestringError message.
urlstringError additional URL.
Response 404application/json
1 fields

Resource not found

FieldTypeDescription
messagestringMessage
Response 500application/json
1 fields

Internal server error

FieldTypeDescription
messagestringError message.
POST /identity/trust_score

Retrieve Trust Score

retrieveTrustScore

This endpoint retrieves trust score based on the phone number provided. Before executing this, user should set the credentials through the Set Prove Credentials API and enable static IP feature in network settings.

Request
application/json
{
  "partner_name": "Prove",
  "request_data": {
    "people": [
      {
        "phone_number": "2001001686"
      }
    ]
  }
}
Response
application/json

Invoked Retrieve Trust Score successfully

{
  "id": "01H1WE08FGKNX0PKNZ88AKNTBX"
}
Parameters
2
ParameterTypeExampleDescription
x-api-key required string header xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Environment API Key.
content-type required string header application/json Content Type.
Request bodyapplication/json
2 fields
FieldTypeDescription
partner_namerequiredstringPartner name
peopleobject[]People for verification
phone_numberstringPhone number
Response 200application/json
1 fields

Invoked Retrieve Trust Score successfully

FieldTypeDescription
idstringExecution identifier
Response 400application/json
1 fields

Request data failed validation

FieldTypeDescription
errorobjectUnprocessed entity error.
coderequiredstringError name.
messagerequiredstringError description.
Response 403application/json
2 fields

Invalid key for service

FieldTypeDescription
messagestring
urlstring
Response 404application/json
2 fields

Invalid key for service

FieldTypeDescription
messagestring
urlstring
Response 422application/json
1 fields

Unprocessed Entity

FieldTypeDescription
errorobjectUnprocessed entity error.
coderequiredstringError name.
messagerequiredstringError description.
Response 500application/json
1 fields

The product has encountered an internal server error. If possible, please contact Staircase support with the transaction_id you used.

FieldTypeDescription
messagestring
GET /products/identity/request-schema

Retrieve Request Schema

retrieveRequestSchema

Retrieve Request Schema retrieves a JSON schema for the request to the product waterfall. It also has the option of returning an example for the request object expected through the return_example attribute.

Response
application/json

Successfully returned the list of elements needed for product waterfall.

{
  "data": {
    "deal_sets": {
      "deal_set": [
        {
          "deals": {
            "deal": [
              {
                "parties": {
                  "party": [
                    {
                      "customer_transaction_id": "6f039329-3fd6-44c1-a460-9af546e798de",
                      "individual": {
                        "contact_points": {
                          "contact_point": [
                            {
                              "contact_point_telephone": {
                                "value": "+1234567890"
                              },
                              "email": "test@test.com"
                            }
                          ]
                        },
                        "name": {
                          "first": "John",
                          "last": "Jackson"
                        }
                      },
                      "roles": {
                        "role": [
                          {
                            "borrower": {
                              "birth_date": "1985-01-23",
                              "employers": {
                                "employer": [
                                  {
                                    "legal_entity": {
                                      "full_name": "Amazon"
                                    }
                                  }
                                ]
                              },
                              "residences": {
                                "residence": [
                                  {
                                    "address": {
                                      "additional_line_text": "None",
                                      "city": "NEW YORK",
                                      "country": "US",
                                      "line_text": "33 IRVING PLACE",
                                      "postal_code": "10003",
                                      "state": "NY"
                                    }
                                  }
                                ]
                              }
                            }
                          }
                        ]
                      },
                      "taxpayer_identifiers": {
                        "taxpayer_identifier": [
                          {
                            "value": "999-00-0000"
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            ]
          }
        }
      ]
    }
  },
  "metadata": {}
}
Parameters
2
ParameterTypeDescription
x-api-key required string header The environment API key.
return_examples boolean query If included and set to `true`, returns one or more pre-filled examples that conform to the schema. Default to `false`
Response 200application/json
1 fields

Successfully returned the list of elements needed for product waterfall.

FieldTypeDescription
schemaobjectElement key / value
Response 400application/json
1 fields

Error

FieldTypeDescription
messagestringMessage
Response 403application/json
2 fields

403 invalid error

FieldTypeDescription
messagestringError message.
urlstringError additional URL.
Response 404application/json
1 fields

Resource not found

FieldTypeDescription
messagestringError Message.
Response 500application/json
1 fields

Internal server error

FieldTypeDescription
messagestringError message.
POST /transactions

Create Transaction

createTransaction

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

Request
application/json
{
  "label": "first_transaction",
  "callback_url": "https://webhook.site/0c1c4e00-79d9-490b-a0f3-bab8b12a61d5"
}
Response
application/json

Transaction created successfully

{
  "transaction_id": "01F0KHK7DN3H5JZ4QJKMYAM6GB",
  "created_at": "03/04/2021, 1:04:05 PM EST"
}
Parameters
1
ParameterTypeExampleDescription
x-api-key required string header xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Environment API Key.
Request bodyapplication/json
2 fields
FieldTypeDescription
callback_urlstring (url)URL for receiving events about changes inside transaction
labelstringTransaction label
Response 201application/json
2 fields

Transaction created successfully

FieldTypeDescription
transaction_idstring (ulid)Staircase Transaction IdentifierExample 01F0KHK7DN3H5JZ4QJKMYAM6GB
created_atstringStaircase time string.Example 03/03/2021, 8:24:04 AM EST
Response 403application/json
2 fields

403 invalid error

FieldTypeDescription
messagestringError message.
urlstringError additional URL.
Response 500application/json
1 fields

Internal server error

FieldTypeDescription
messagestringError message.
Other responses

400

POST /build-payload

Build JSON Payload

retrieveExampleJSON

Build JSON Payload retrieves a JSON schema for either:

  • a request for product invocation, or
  • a response containing response details. To retrieve the employment verification request schema:
  1. Invoke Retrieve Request Elements to get an array of product request elements.
  2. Place the output from Retrieve Request Elements into the Build JSON Payload request body.
  3. Place your api_key into the Build JSON Payload header.
  4. Send the request to Build JSON Payload. You will receive a JSON schema in response, with null values that must be replaced with your own. To retrieve the product response schema:
  5. Show the rest
>Invoke Retrieve Response Elements to get the product response elements.
  • Place the output from Retrieve Response Elements into the Build JSON Payload request body.
  • Place your api_key into the Build JSON Payload header.
  • Send the request to Build JSON Payload. You will receive a JSON schema in response, with null values that will be replaced by the partner upon return of employment verification details.
  • Request
    application/json
    {
      "$.deal_sets.deal_set[0].deals.deal[0].loans.loan[0].loan_identifiers.loan_identifier[0].identifier": 12345,
      "$.deal_sets.deal_set[0].deals.deal[0].parties.party[0].individual.name.first": "John",
      "$.deal_sets.deal_set[0].deals.deal[0].parties.party[0].individual.name.last": "Doe",
      "$.deal_sets.deal_set[0].deals.deal[0].parties.party[0].taxpayer_identifiers.taxpayer_identifier[0].value": 67890
    }
    Response
    application/json

    Product Invocation Flow Payload.

    {
      "deal_sets": {
        "deal_set": [
          {
            "deals": {
              "deal": [
                {
                  "parties": {
                    "party": [
                      {
                        "individual": {
                          "name": {
                            "first": "Thomas",
                            "last": "Alex"
                          }
                        },
                        "roles": {
                          "role": [
                            {
                              "borrower": {
                                "residences": {
                                  "residence": [
                                    {
                                      "address": {
                                        "city": "example city",
                                        "line_text": "street 101",
                                        "postal_code": "1234",
                                        "state": "state",
                                        "street_name": "street 23"
                                      }
                                    }
                                  ]
                                }
                              }
                            }
                          ]
                        },
                        "taxpayer_identifiers": {
                          "taxpayer_identifier": [
                            {
                              "value": "12345"
                            }
                          ]
                        }
                      }
                    ]
                  }
                }
              ]
            }
          }
        ]
      }
    }
    Parameters
    1
    ParameterTypeDescription
    x-api-key required string header The environment API key.
    Response 400application/json
    1 fields

    Request data failed validation

    FieldTypeDescription
    messagestringMessage
    Response 403application/json
    2 fields

    403 invalid error

    FieldTypeDescription
    messagestringError message.
    urlstringError additional URL.
    Response 500application/json
    1 fields

    Internal server error

    FieldTypeDescription
    messagestringError message.
    Other responses

    200

    GET /identity/trust_score/{execution_id}

    Retrieve Trust Score Status

    retrieveTrustScoreStatus

    Get the trust score retrieval status by execution identifier.

    Response
    application/json

    Retrieve Trust Score Status

    {
      "data": {
        "people": [
          {
            "@id": "01H1WE08FGKNX0PKNZ88AKNTBX",
            "@type": "person",
            "phone_number": null,
            "has_identity": "01H1Y684VCD1GJ8WSR630GDD0K"
          }
        ],
        "identities": [
          {
            "@id": "01H1Y684VCD1GJ8WSR630GDD0K",
            "@type": "identity",
            "identity_provider": "Prove",
            "identity_trust_score": 1000
          }
        ]
      }
    }
    Parameters
    2
    ParameterTypeExampleDescription
    x-api-key required string header xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Environment API Key.
    execution_id required string path 01H1WE08FGKNX0PKNZ88AKNTBX Verification execution identifier
    Response 400application/json
    1 fields

    Request data failed validation

    FieldTypeDescription
    errorobjectUnprocessed entity error.
    coderequiredstringError name.
    messagerequiredstringError description.
    Response 403application/json
    2 fields

    Invalid key for service

    FieldTypeDescription
    messagestring
    urlstring
    Response 404application/json
    2 fields

    Invalid key for service

    FieldTypeDescription
    messagestring
    urlstring
    Response 422application/json
    1 fields

    Unprocessed Entity

    FieldTypeDescription
    errorobjectUnprocessed entity error.
    coderequiredstringError name.
    messagerequiredstringError description.
    Response 500application/json
    1 fields

    The product has encountered an internal server error. If possible, please contact Staircase support with the transaction_id you used.

    FieldTypeDescription
    messagestring
    Other responses

    200

    POST /identity/identity

    Retrieve Identity

    retrieveIdentity

    This endpoint retrieves identity information based on the phone number and birthdate provided. Before executing this, user should set the credentials through the Set Prove Credentials API and enable static IP feature in network settings.

    Request
    application/json
    {
      "partner_name": "Prove",
      "request_data": {
        "people": [
          {
            "phone_number": "2001001686",
            "birth_date": "1980-01-01"
          }
        ]
      }
    }
    Response
    application/json

    Invoked Retrieve Identity successfully

    {
      "id": "01H1WE08FGKNX0PKNZ88AKNTBX"
    }
    Parameters
    2
    ParameterTypeExampleDescription
    x-api-key required string header xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Environment API Key.
    content-type required string header application/json Content Type.
    Request bodyapplication/json
    2 fields
    FieldTypeDescription
    partner_namerequiredstringPartner name
    peopleobject[]People for verification
    phone_numberstringPhone number
    birth_datestringBirthdate
    Response 200application/json
    1 fields

    Invoked Retrieve Identity successfully

    FieldTypeDescription
    idstringExecution identifier
    Response 400application/json
    1 fields

    Request data failed validation

    FieldTypeDescription
    errorobjectUnprocessed entity error.
    coderequiredstringError name.
    messagerequiredstringError description.
    Response 403application/json
    2 fields

    Invalid key for service

    FieldTypeDescription
    messagestring
    urlstring
    Response 404application/json
    2 fields

    Invalid key for service

    FieldTypeDescription
    messagestring
    urlstring
    Response 422application/json
    1 fields

    Unprocessed Entity

    FieldTypeDescription
    errorobjectUnprocessed entity error.
    coderequiredstringError name.
    messagerequiredstringError description.
    Response 500application/json
    1 fields

    The product has encountered an internal server error. If possible, please contact Staircase support with the transaction_id you used.

    FieldTypeDescription
    messagestring
    POST /transactions/{transaction_id}/collections

    Create Collection

    createCollection

    Create Collection creates a collection of data points required for product invocation. A collection contains a digital representation of the input or output data for the product and is identified by collection_id.

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

    Request
    application/json
    {
      "data": {
        "deal_sets": {
          "deal_set": [
            {
              "deals": {
                "deal": [
                  {
                    "parties": {
                      "party": [
                        {
                          "customer_transaction_id": "6f039329-3fd6-44c1-a460-9af546e798de",
                          "individual": {
                            "contact_points": {
                              "contact_point": [
                                {
                                  "contact_point_telephone": {
                                    "value": "+1234567890"
                                  },
                                  "email": "test@test.com"
                                }
                              ]
                            },
                            "name": {
                              "first": "John",
                              "last": "Jackson"
                            }
                          },
                          "roles": {
                            "role": [
                              {
                                "borrower": {
                                  "birth_date": "1985-01-23",
                                  "employers": {
                                    "employer": [
                                      {
                                        "legal_entity": {
                                          "full_name": "Amazon"
                                        }
                                      }
                                    ]
                                  },
                                  "residences": {
                                    "residence": [
                                      {
                                        "address": {
                                          "additional_line_text": "None",
                                          "city": "NEW YORK",
                                          "country": "US",
                                          "line_text": "33 IRVING PLACE",
                                          "postal_code": "10003",
                                          "state": "NY"
                                        }
                                      }
                                    ]
                                  }
                                }
                              }
                            ]
                          },
                          "taxpayer_identifiers": {
                            "taxpayer_identifier": [
                              {
                                "value": "999-00-0000"
                              }
                            ]
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            }
          ]
        }
      },
      "metadata": {}
    }
    Response
    application/json

    Collection created successfully

    {
      "data": {
        "deal_sets": {
          "deal_set": [
            {
              "deals": {
                "deal": [
                  {
                    "parties": {
                      "party": [
                        {
                          "customer_transaction_id": "6f039329-3fd6-44c1-a460-9af546e798de",
                          "individual": {
                            "contact_points": {
                              "contact_point": [
                                {
                                  "contact_point_telephone": {
                                    "value": "+1234567890"
                                  },
                                  "email": "test@test.com"
                                }
                              ]
                            },
                            "name": {
                              "first": "John",
                              "last": "Jackson"
                            }
                          },
                          "roles": {
                            "role": [
                              {
                                "borrower": {
                                  "birth_date": "1985-01-23",
                                  "employers": {
                                    "employer": [
                                      {
                                        "legal_entity": {
                                          "full_name": "Amazon"
                                        }
                                      }
                                    ]
                                  },
                                  "residences": {
                                    "residence": [
                                      {
                                        "address": {
                                          "additional_line_text": "None",
                                          "city": "NEW YORK",
                                          "country": "US",
                                          "line_text": "33 IRVING PLACE",
                                          "postal_code": "10003",
                                          "state": "NY"
                                        }
                                      }
                                    ]
                                  }
                                }
                              }
                            ]
                          },
                          "taxpayer_identifiers": {
                            "taxpayer_identifier": [
                              {
                                "value": "999-00-0000"
                              }
                            ]
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            }
          ]
        }
      },
      "metadata": {}
    }
    Parameters
    2
    ParameterTypeExampleDescription
    x-api-key required string header The environment API key.
    transaction_id required string (ulid) path 01F0KHK7DN3H5JZ4QJKMYAM6GB Staircase Transaction Identifier
    Request bodyapplication/json
    2 fields
    FieldTypeDescription
    dataobject
    deal_setsrequiredobject
    deal_setrequiredobject[]
    dealsrequiredobject
    metadata
    Response 201application/json
    4 fields

    Collection created successfully

    FieldTypeDescription
    collection_idstring (ulid)Collection idExample 01EZQ32PJQGKRA6HR8D72Q9FFF
    dataarray
    metadataobjectMetadata about collection, f.e version of used Staircase schema
    transaction_idstring (ulid)Transaction idExample 01EZQ32PJQGKRA6HR8D72Q9FFF
    Response 400application/json
    1 fields

    Error

    FieldTypeDescription
    messageone ofEither message object with more properties.
    Response 403application/json
    2 fields

    403 invalid error

    FieldTypeDescription
    messagestringError message.
    urlstringError additional URL.
    Response 404application/json
    1 fields

    Resource not found

    FieldTypeDescription
    messagestringMessage
    Response 500application/json
    1 fields

    Internal server error

    FieldTypeDescription
    messagestringError message.
    PUT /blobs/{blob_id}/presigned-urls/{action}

    Create Report Download URL

    createPresignedUrl

    Create Report Download URL creates a presigned URL in Staircase. It expires one hour after creation.

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

    Response
    application/json

    Presigned URL created successfully.

    {
      "upload": {
        "url": "https://dev-data-manager-blobs-bucket.s3.amazonaws.com/01EZY9J8SEFM2JKDJ1Q3YX65HS"
      }
    }
    Parameters
    3
    ParameterTypeExampleDescription
    x-api-key required string header xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Environment API Key.
    blob_id required string path 01EZY9J8SEFM2JKDJ1Q3YX65HS Blob identifier
    action required string path upload Action, one of ['upload', 'download']
    Response 200application/json
    2 fields

    Presigned URL created successfully.

    FieldTypeDescription
    uploadobjectAction
    urlstringPresigned_url
    downloadobjectAction
    urlstringPresigned_url
    Response 403application/json
    2 fields

    403 invalid error

    FieldTypeDescription
    messagestringError message.
    urlstringError additional URL.
    Response 500application/json
    1 fields

    Internal server error

    FieldTypeDescription
    messagestringError message.
    Other responses

    400

    GET /identity/identity/{execution_id}

    Retrieve Identity Status

    retrieveIdentityStatus

    Get the identity retrieval status by execution identifier.

    Response
    application/json

    Retrieve Identity Status

    {
      "data": {
        "people": [
          {
            "@id": "01H1WE08FGKNX0PKNZ88AKNTBX",
            "@type": "person",
            "first_name": "Tom",
            "last_name": "Odell",
            "phone_number": "2001231686",
            "ssn": "283992634",
            "birth_date": "1988-10-05",
            "has_address": [
              "01H4DT7QY42XRKM2Y3XKKJ6635"
            ]
          }
        ],
        "addresses": [
          {
            "@id": "01H4DT7QY42XRKM2Y3XKKJ6635",
            "@type": "address",
            "address_line_1": "23A Main Street",
            "city_name": "Philadelphia",
            "postal_code": "32210-2955"
          }
        ]
      }
    }
    Parameters
    2
    ParameterTypeExampleDescription
    x-api-key required string header xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Environment API Key.
    execution_id required string path 01H1WE08FGKNX0PKNZ88AKNTBX Verification execution identifier
    Response 400application/json
    1 fields

    Request data failed validation

    FieldTypeDescription
    errorobjectUnprocessed entity error.
    coderequiredstringError name.
    messagerequiredstringError description.
    Response 403application/json
    2 fields

    Invalid key for service

    FieldTypeDescription
    messagestring
    urlstring
    Response 404application/json
    2 fields

    Invalid key for service

    FieldTypeDescription
    messagestring
    urlstring
    Response 422application/json
    1 fields

    Unprocessed Entity

    FieldTypeDescription
    errorobjectUnprocessed entity error.
    coderequiredstringError name.
    messagerequiredstringError description.
    Response 500application/json
    1 fields

    The product has encountered an internal server error. If possible, please contact Staircase support with the transaction_id you used.

    FieldTypeDescription
    messagestring
    Other responses

    200

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

    Retrieve Collection

    retrieveCollection

    Retrieve Collection returns the content of a given collection_id associated with a transaction_id.

    Response
    application/json

    Successfully Retrieved Collection

    {
      "data": {
        "deal_sets": {
          "deal_set": [
            {
              "deals": {
                "deal": [
                  {
                    "parties": {
                      "party": [
                        {
                          "customer_transaction_id": "6f039329-3fd6-44c1-a460-9af546e798de",
                          "individual": {
                            "contact_points": {
                              "contact_point": [
                                {
                                  "contact_point_telephone": {
                                    "value": "+1234567890"
                                  },
                                  "email": "test@test.com"
                                }
                              ]
                            },
                            "name": {
                              "first": "John",
                              "last": "Jackson"
                            }
                          },
                          "roles": {
                            "role": [
                              {
                                "borrower": {
                                  "birth_date": "1985-01-23",
                                  "employers": {
                                    "employer": [
                                      {
                                        "legal_entity": {
                                          "full_name": "Amazon"
                                        }
                                      }
                                    ]
                                  },
                                  "residences": {
                                    "residence": [
                                      {
                                        "address": {
                                          "additional_line_text": "None",
                                          "city": "NEW YORK",
                                          "country": "US",
                                          "line_text": "33 IRVING PLACE",
                                          "postal_code": "10003",
                                          "state": "NY"
                                        }
                                      }
                                    ]
                                  }
                                }
                              }
                            ]
                          },
                          "taxpayer_identifiers": {
                            "taxpayer_identifier": [
                              {
                                "value": "999-00-0000"
                              }
                            ]
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            }
          ]
        }
      },
      "metadata": {}
    }
    Parameters
    3
    ParameterTypeExampleDescription
    x-api-key required string header The environment API key.
    transaction_id required string (ulid) path 01F0KHK7DN3H5JZ4QJKMYAM6GB Staircase Transaction Identifier
    collection_id required string (ulid) path 01F0KHKADN0HRFXMCQQXPA6AFZ Staircase collection_id
    Response 200application/json
    2 fields

    Successfully Retrieved Collection

    FieldTypeDescription
    dataobject
    deal_setsrequiredobject
    deal_setrequiredobject[]
    dealsrequiredobject
    metadata
    Response 403application/json
    2 fields

    403 invalid error

    FieldTypeDescription
    messagestringError message.
    urlstringError additional URL.
    Response 404application/json
    1 fields

    Resource not found

    FieldTypeDescription
    messagestringMessage
    Response 500application/json
    1 fields

    Internal server error

    FieldTypeDescription
    messagestringError message.
    Other responses

    400

    Partners

    GET /products/identity/partners

    Retrieve Product Partners

    getVendors

    Retrieve Partners retrieves:

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

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

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

    Response
    application/json

    Successfully retrieved product partners.

    [
      {
        "partner": "partner_name",
        "order": 1,
        "active": true,
        "status": "active"
      }
    ]
    Parameters
    2
    ParameterTypeExampleDescription
    x-api-key required string header xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Environment API Key.
    active boolean query false Include vendors with active product flows
    Response 200application/json
    4 fields

    Successfully retrieved product partners.

    FieldTypeDescription
    partnerstringPartner name
    ordernumberOrder of the product flows associated with this partner
    activebooleanPartner has active flows
    statusstringStatus of the partner
    Response 400application/json
    1 fields

    Validation Error

    FieldTypeDescription
    messageone ofMessage
    Response 403application/json
    2 fields

    403 invalid error

    FieldTypeDescription
    messagestringError message.
    urlstringError additional URL.
    Response 404application/json
    1 fields

    Resource not found

    FieldTypeDescription
    messagestringError Message.
    Response 500application/json
    1 fields

    Internal server error

    FieldTypeDescription
    messagestringError message.
    GET /products/identity/partners/ordering

    Retrieve Partners Ordering

    getPartnersOrdering

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

    Response
    application/json

    Successfully retrieved partners ordering.

    [
      {
        "partner": "partner1",
        "order": 1
      },
      {
        "partner": "partner2",
        "order": 2
      }
    ]
    Parameters
    1
    ParameterTypeExampleDescription
    x-api-key required string header xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Environment API Key.
    Response 200application/json
    2 fields

    Successfully retrieved partners ordering.

    FieldTypeDescription
    partnerstringPartner name
    ordernumberOrder of the product flows associated with this partner
    Response 400application/json
    1 fields

    Validation Error

    FieldTypeDescription
    messageone ofMessage
    Response 403application/json
    2 fields

    403 invalid error

    FieldTypeDescription
    messagestringError message.
    urlstringError additional URL.
    Response 404application/json
    1 fields

    Resource not found

    FieldTypeDescription
    messagestringError Message.
    Response 500application/json
    1 fields

    Internal server error

    FieldTypeDescription
    messagestringError message.
    PUT /products/identity/partners/ordering

    Update Partners Ordering

    UpdatePartnersOrdering

    Update Partners Order updates the order of execution of the product flows associated with the partner by updating their order in the product waterfall settings.

    Request
    application/json
    {
      "ordering": [
        {
          "partner": "partner1",
          "order": 1
        },
        {
          "partner": "partner2",
          "order": 10
        }
      ]
    }
    Response
    application/json

    Successfully updated partners ordering.

    [
      {
        "partner": "partner1",
        "order": 1
      },
      {
        "partner": "partner2",
        "order": 10
      }
    ]
    Parameters
    1
    ParameterTypeExampleDescription
    x-api-key required string header xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Environment API Key.
    Request bodyapplication/json
    1 fields
    FieldTypeDescription
    orderingobject[]
    partnerstringPartner nameExample wage
    ordernumberPartner orderExample 1
    Response 200application/json
    2 fields

    Successfully updated partners ordering.

    FieldTypeDescription
    partnerstringPartner nameExample wage
    ordernumberPartner orderExample 1
    Response 400application/json
    1 fields

    Failed to update the partner from one of the reasons

    FieldTypeDescription
    messagestringPartner doesn't exist in database
    Response 403application/json
    2 fields

    403 invalid error

    FieldTypeDescription
    messagestringError message.
    urlstringError additional URL.
    Response 404application/json
    1 fields

    Resource not found

    FieldTypeDescription
    messagestringError Message.
    Response 500application/json
    1 fields

    Internal server error

    FieldTypeDescription
    messagestringError message.
    PATCH /products/identity/partners/{partner}/status

    Update Partner Status

    updatePartnerStatus

    Update Partner Status updates the active value of a specific partner to value true or false. This shall activate or deactivate the flows configured for this partner in Product Flows.

    Request
    application/json
    {
      "active": true,
      "verification_type": "borrower",
      "byoc": true,
      "status": "active"
    }
    Response
    application/json

    Successfully updated active parameter for the partner.

    {
      "message": "Partner status updated."
    }
    Parameters
    2
    ParameterTypeExampleDescription
    x-api-key required string header xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Environment API Key.
    partner required string path partner_name Name of the partner for which we wan't to update status.
    Request bodyapplication/json
    4 fields
    FieldTypeDescription
    activerequiredbooleanExample true
    byocbooleanSpecify whether customer should add its own partner credentials or not
    statusstringStatus of the vendor
    verification_typestringType of verification
    Response 200application/json
    1 fields

    Successfully updated active parameter for the partner.

    FieldTypeDescription
    messagestringPartner status updated.
    Response 400application/json
    1 fields

    Failed to update the partner from one of the reasons.

    FieldTypeDescription
    messagestringPartner doesn't exist in database.
    Response 403application/json
    2 fields

    403 invalid error

    FieldTypeDescription
    messagestringError message.
    urlstringError additional URL.
    Response 404application/json
    1 fields

    Resource not found

    FieldTypeDescription
    messagestringError Message.
    Response 500application/json
    1 fields

    Internal server error

    FieldTypeDescription
    messagestringError message.

    Platform

    GET /products/identity/response-schema

    Retrieve Response Schema

    retrieveResponseSchema

    Retrieve Schema retrieves a JSON schema for the response returned by the product. It can also return an example for the response output object through return_example attribute.

    Response
    application/json

    Successfully returned the list of elements of response of the product waterfall.

    {
      "data": {
        "deal_sets": {
          "deal_set": [
            {
              "deals": {
                "deal": [
                  {
                    "parties": {
                      "party": [
                        {
                          "customer_transaction_id": "6f039329-3fd6-44c1-a460-9af546e798de",
                          "individual": {
                            "contact_points": {
                              "contact_point": [
                                {
                                  "contact_point_telephone": {
                                    "value": "+1234567890"
                                  },
                                  "email": "test@test.com"
                                }
                              ]
                            },
                            "name": {
                              "first": "John",
                              "last": "Jackson"
                            }
                          },
                          "roles": {
                            "role": [
                              {
                                "borrower": {
                                  "birth_date": "1985-01-23",
                                  "employers": {
                                    "employer": [
                                      {
                                        "legal_entity": {
                                          "full_name": "Amazon"
                                        }
                                      }
                                    ]
                                  },
                                  "residences": {
                                    "residence": [
                                      {
                                        "address": {
                                          "additional_line_text": "None",
                                          "city": "NEW YORK",
                                          "country": "US",
                                          "line_text": "33 IRVING PLACE",
                                          "postal_code": "10003",
                                          "state": "NY"
                                        }
                                      }
                                    ]
                                  }
                                }
                              }
                            ]
                          },
                          "taxpayer_identifiers": {
                            "taxpayer_identifier": [
                              {
                                "value": "999-00-0000"
                              }
                            ]
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            }
          ]
        }
      },
      "metadata": {}
    }
    Parameters
    2
    ParameterTypeDescription
    x-api-key required string header The environment API key.
    return_examples boolean query If included and set to `true`, returns one or more pre-filled examples that conform to the schema. Default to `false`
    Response 200application/json
    1 fields

    Successfully returned the list of elements of response of the product waterfall.

    FieldTypeDescription
    schemaobjectElement key / value element
    Response 400application/json
    1 fields

    Error

    FieldTypeDescription
    messagestringMessage
    Response 403application/json
    2 fields

    403 invalid error

    FieldTypeDescription
    messagestringError message.
    urlstringError additional URL.
    Response 404application/json
    1 fields

    Resource not found

    FieldTypeDescription
    messagestringError Message.
    Response 500application/json
    1 fields

    Internal server error

    FieldTypeDescription
    messagestringError message.
    GET /products/identity/schema/{data_object}

    Retrieve Product Schemas and Examples

    retrieveSchema

    Retrieve Product Schemas and Examples retrieves a JSON schema for the request and the response returned by the product. It can also return an example of a json object defined with schema.

    Response
    application/json

    Successfully returned the list of elements needed for Income.

    {
      "type": "object",
      "description": "get-report",
      "properties": {
        "people": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "@type": {
                "type": "string"
              },
              "@id": {
                "type": "string"
              },
              "has_first_name": {
                "type": "object",
                "properties": {
                  "has_value": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              },
              "has_last_name": {
                "type": "object",
                "properties": {
                  "has_value": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              },
              "contact_at": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "has_full_name": {
                "type": "object",
                "properties": {
                  "has_value": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              }
            },
            "additionalProperties": false
          }
        },
        "contact_information": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "@type": {
                "type": "string"
              },
              "@id": {
                "type": "string"
              },
              "has_email_address": {
                "type": "object",
                "properties": {
                  "has_value": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              },
              "has_phone_number": {
                "type": "object",
                "properties": {
                  "has_value": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              }
            },
            "additionalProperties": false
          }
        },
        "organizations": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "@type": {
                "type": "string"
              },
              "@id": {
                "type": "string"
              },
              "has_organization_identifier": {
                "type": "object",
                "properties": {
                  "has_value": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              }
            },
            "additionalProperties": false
          }
        },
        "addresses": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "@type": {
                "type": "string"
              },
              "@id": {
                "type": "string"
              },
              "has_full_address_text": {
                "type": "object",
                "properties": {
                  "has_value": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              },
              "has_state_code": {
                "type": "object",
                "properties": {
                  "has_value": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              }
            },
            "additionalProperties": false
          }
        },
        "property": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "@type": {
                "type": "string"
              },
              "@id": {
                "type": "string"
              },
              "with_address": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "additionalProperties": false
          }
        },
        "loans": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "@id": {
                "type": "string"
              },
              "@type": {
                "type": "string"
              },
              "has_loan_identifier_value": {
                "type": "object",
                "properties": {
                  "has_value": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              },
              "has_loan_purpose_type": {
                "type": "object",
                "properties": {
                  "has_value": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              },
              "has_loan_amount": {
                "type": "object",
                "properties": {
                  "has_value": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              },
              "has_loan_estimated_closing_date": {
                "type": "object",
                "properties": {
                  "has_value": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              }
            },
            "additionalProperties": false
          }
        },
        "comment": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "@type": {
                "type": "string"
              },
              "@id": {
                "type": "string"
              },
              "has_comment": {
                "type": "object",
                "properties": {
                  "has_value": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              }
            },
            "additionalProperties": false
          }
        }
      },
      "additionalProperties": false
    }
    Parameters
    3
    ParameterTypeExampleDescription
    x-api-key required string header xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Environment API Key.
    data_object required string path request Describes the particular data object you are getting a schema for. Can be either request or response.
    return_examples boolean query false If included and set to `true`, returns one or more pre-filled examples that conform to the schema. Default to `false`
    Response 200application/json
    7 fields

    Successfully returned the list of elements needed for Income.

    FieldTypeDescription
    peopleobject[]
    @typestring
    @idstring
    has_first_nameobject
    has_valuestring
    has_last_nameobject
    has_valuestring
    contact_atstring[]
    has_full_nameobject
    has_valuestring
    contact_informationobject[]
    @typestring
    @idstring
    has_email_addressobject
    has_valuestring
    has_phone_numberobject
    has_valuestring
    organizationsobject[]
    @typestring
    @idstring
    has_organization_identifierobject
    has_valuestring
    addressesobject[]
    @typestring
    @idstring
    has_full_address_textobject
    has_valuestring
    has_state_codeobject
    has_valuestring
    propertyobject[]
    @typestring
    @idstring
    with_addressstring[]
    loansobject[]
    @idstring
    @typestring
    has_loan_identifier_valueobject
    has_valuestring
    has_loan_purpose_typeobject
    has_valuestring
    has_loan_amountobject
    has_valuestring
    has_loan_estimated_closing_dateobject
    has_valuestring
    commentobject[]
    @typestring
    @idstring
    has_commentobject
    has_valuestring
    Response 400application/json
    1 fields

    Error

    FieldTypeDescription
    messagestringMessage
    Response 403application/json
    2 fields

    403 invalid error

    FieldTypeDescription
    messagestringError message.
    urlstringError additional URL.
    Response 404application/json
    1 fields

    Resource not found

    FieldTypeDescription
    messagestringError Message.
    Response 500application/json
    1 fields

    Internal server error

    FieldTypeDescription
    messagestringError message.
    GET /transactions/{transaction_id}/collections

    Retrieve Transaction Collections

    RetrieveTransactionCollections

    Retrieve Transaction Collections returns the content of a given collection_id associated with a specific transaction_id.

    Response
    application/json

    Transaction collection retrieved successfully

    [
      {
        "data": {
          "deal_sets": {
            "deal_set": [
              {
                "deals": {
                  "deal": [
                    {
                      "parties": {
                        "party": [
                          {
                            "customer_transaction_id": "6f039329-3fd6-44c1-a460-9af546e798de",
                            "individual": {
                              "contact_points": {
                                "contact_point": [
                                  {
                                    "contact_point_telephone": {
                                      "value": "+1234567890"
                                    },
                                    "email": "test@test.com"
                                  }
                                ]
                              },
                              "name": {
                                "first": "John",
                                "last": "Jackson"
                              }
                            },
                            "roles": {
                              "role": [
                                {
                                  "borrower": {
                                    "birth_date": "1985-01-23",
                                    "employers": {
                                      "employer": [
                                        {
                                          "legal_entity": {
                                            "full_name": "Amazon"
                                          }
                                        }
                                      ]
                                    },
                                    "residences": {
                                      "residence": [
                                        {
                                          "address": {
                                            "additional_line_text": "None",
                                            "city": "NEW YORK",
                                            "country": "US",
                                            "line_text": "33 IRVING PLACE",
                                            "postal_code": "10003",
                                            "state": "NY"
                                          }
                                        }
                                      ]
                                    }
                                  }
                                }
                              ]
                            },
                            "taxpayer_identifiers": {
                              "taxpayer_identifier": [
                                {
                                  "value": "999-00-0000"
                                }
                              ]
                            }
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            ]
          }
        },
        "metadata": {}
      },
      {
        "data": {
          "deal_sets.deal_set[0].deals.deal[0].parties.party[0].individual.contact_points.contact_point[0].contact_point_telephone": {
            "matched": [
              "Ekata",
              "Socure 30",
              "Lexis Nexis Instant ID"
            ],
            "score": 1,
            "unmatched": []
          },
          "deal_sets.deal_set[0].deals.deal[0].parties.party[0].individual.contact_points.contact_point[0].email": {
            "matched": [
              "Ekata",
              "Socure 30"
            ],
            "score": 0.99,
            "unmatched": []
          },
          "deal_sets.deal_set[0].deals.deal[0].parties.party[0].individual.name": {
            "matched": [
              "Socure 30",
              "Lexis Nexis Instant ID"
            ],
            "score": 0.99,
            "unmatched": []
          },
          "deal_sets.deal_set[0].deals.deal[0].parties.party[0].roles.role[0].borrower.birth_date": {
            "matched": [
              "Socure 30",
              "Lexis Nexis Instant ID"
            ],
            "score": 0.99,
            "unmatched": []
          },
          "deal_sets.deal_set[0].deals.deal[0].parties.party[0].roles.role[0].borrower.residences.residence[0].address": {
            "matched": [
              "Ekata",
              "Socure 30",
              "Lexis Nexis Instant ID"
            ],
            "score": 1,
            "unmatched": []
          },
          "deal_sets.deal_set[0].deals.deal[0].parties.party[0].taxpayer_identifiers.taxpayer_identifier[0].value": {
            "matched": [
              "Socure 30",
              "Lexis Nexis Instant ID"
            ],
            "score": 0.99,
            "unmatched": []
          }
        },
        "metadata": {}
      }
    ]
    Parameters
    2
    ParameterTypeExampleDescription
    x-api-key required string header The environment API key.
    transaction_id required string (ulid) path 01F0KHK7DN3H5JZ4QJKMYAM6GB Staircase Transaction Identifier
    Response 200application/json
    4 fields

    Transaction collection retrieved successfully

    FieldTypeDescription
    collection_idstring (ulid)Collection idExample 01EZQ32PJQGKRA6HR8D72Q9FFF
    dataarray
    metadataobjectMetadata about collection, f.e version of used Staircase schema
    transaction_idstring (ulid)Transaction idExample 01EZQ32PJQGKRA6HR8D72Q9FFF
    Response 400application/json
    1 fields

    Error

    FieldTypeDescription
    messageone ofEither message object with more properties.
    Response 403application/json
    2 fields

    403 invalid error

    FieldTypeDescription
    messagestringError message.
    urlstringError additional URL.
    Response 404application/json
    1 fields

    Resource not found

    FieldTypeDescription
    messagestringMessage
    Response 500application/json
    1 fields

    Internal server error

    FieldTypeDescription
    messagestringError message.
    PUT /transactions/{transaction_id}/collections/{collection_id}

    Update Collection

    updateCollection

    Update Collection allows you to update the content of a given collection_id associated with a transaction_id.

    Request
    application/json
    {
      "data": {
        "deal_sets": {
          "deal_set": [
            {
              "deals": {
                "deal": [
                  {
                    "parties": {
                      "party": [
                        {
                          "customer_transaction_id": "6f039329-3fd6-44c1-a460-9af546e798de",
                          "individual": {
                            "contact_points": {
                              "contact_point": [
                                {
                                  "contact_point_telephone": {
                                    "value": "+1234567890"
                                  },
                                  "email": "test@test.com"
                                }
                              ]
                            },
                            "name": {
                              "first": "John",
                              "last": "Jackson"
                            }
                          },
                          "roles": {
                            "role": [
                              {
                                "borrower": {
                                  "birth_date": "1985-01-23",
                                  "employers": {
                                    "employer": [
                                      {
                                        "legal_entity": {
                                          "full_name": "Amazon"
                                        }
                                      }
                                    ]
                                  },
                                  "residences": {
                                    "residence": [
                                      {
                                        "address": {
                                          "additional_line_text": "None",
                                          "city": "NEW YORK",
                                          "country": "US",
                                          "line_text": "33 IRVING PLACE",
                                          "postal_code": "10003",
                                          "state": "NY"
                                        }
                                      }
                                    ]
                                  }
                                }
                              }
                            ]
                          },
                          "taxpayer_identifiers": {
                            "taxpayer_identifier": [
                              {
                                "value": "999-00-0000"
                              }
                            ]
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            }
          ]
        }
      },
      "metadata": {}
    }
    Response
    application/json

    Collection updated successfully

    {
      "data": {
        "deal_sets": {
          "deal_set": [
            {
              "deals": {
                "deal": [
                  {
                    "parties": {
                      "party": [
                        {
                          "customer_transaction_id": "6f039329-3fd6-44c1-a460-9af546e798de",
                          "individual": {
                            "contact_points": {
                              "contact_point": [
                                {
                                  "contact_point_telephone": {
                                    "value": "+1234567890"
                                  },
                                  "email": "test@test.com"
                                }
                              ]
                            },
                            "name": {
                              "first": "John",
                              "last": "Jackson"
                            }
                          },
                          "roles": {
                            "role": [
                              {
                                "borrower": {
                                  "birth_date": "1985-01-23",
                                  "employers": {
                                    "employer": [
                                      {
                                        "legal_entity": {
                                          "full_name": "Amazon"
                                        }
                                      }
                                    ]
                                  },
                                  "residences": {
                                    "residence": [
                                      {
                                        "address": {
                                          "additional_line_text": "None",
                                          "city": "NEW YORK",
                                          "country": "US",
                                          "line_text": "33 IRVING PLACE",
                                          "postal_code": "10003",
                                          "state": "NY"
                                        }
                                      }
                                    ]
                                  }
                                }
                              }
                            ]
                          },
                          "taxpayer_identifiers": {
                            "taxpayer_identifier": [
                              {
                                "value": "999-00-0000"
                              }
                            ]
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            }
          ]
        }
      },
      "metadata": {}
    }
    Parameters
    3
    ParameterTypeExampleDescription
    x-api-key required string header The environment API key.
    transaction_id required string (ulid) path 01F0KHK7DN3H5JZ4QJKMYAM6GB Staircase Transaction Identifier
    collection_id required string (ulid) path 01F0KHKADN0HRFXMCQQXPA6AFZ Staircase collection_id
    Request bodyapplication/json
    2 fields
    FieldTypeDescription
    dataobject
    deal_setsrequiredobject
    deal_setrequiredobject[]
    dealsrequiredobject
    metadata
    Response 200application/json
    2 fields

    Collection updated successfully

    FieldTypeDescription
    dataobject
    deal_setsrequiredobject
    deal_setrequiredobject[]
    dealsrequiredobject
    metadata
    Response 400application/json
    1 fields

    Error

    FieldTypeDescription
    messageone ofEither message object with more properties.
    Response 403application/json
    2 fields

    403 invalid error

    FieldTypeDescription
    messagestringError message.
    urlstringError additional URL.
    Response 404application/json
    1 fields

    Resource not found

    FieldTypeDescription
    messagestringMessage
    Response 500application/json
    1 fields

    Internal server error

    FieldTypeDescription
    messagestringError message.

    Operations

    POST /identity

    Create Identity

    post-identity

    Create Identity creates views verifying the authenticity of a borrower's ID, the addresses a borrower listed on documents, and other identification tags, to ensure the borrower behind a loan application is who they say they are.

    Request
    application/json
    {
      "transaction_id": "uhz6t54e-9d74-g17e-99ca-a36b30vdfd35",
      "collection_id": "hg62e49f-9d74-g17e-99ca-a36b30vdfd35",
      "partner_name": "PartnerName"
    }
    Response
    application/json

    Identity 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."
    }
    Parameters
    1
    ParameterTypeExampleDescription
    x-api-key required string header xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Authorization key
    Request bodyapplication/json
    3 fields
    FieldTypeDescription
    transaction_idrequiredstringTransaction ID
    collection_idrequiredstringCollection ID
    partner_namerequiredstring
    Response 200application/json
    2 fields

    Identity request created successfully.

    FieldTypeDescription
    collection_idstringCollection ID
    messagestringMessage

    Canonical model

    Property data it reads

    Providers

    Errors

    400403404405422500

    Type to search.