Skip to content
Staircase

Credit

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

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

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

How it works

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

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

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

Operations

Platform

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 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.
Other responses

400404

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

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

{
  "deal_sets": {
    "deal_set": [
      {
        "deals": {
          "deal": [
            {
              "parties": {
                "party": [
                  {
                    "individual": {
                      "name": {
                        "first": "Thomas",
                        "last": "Alex"
                      }
                    },
                    "taxpayer_identifiers": {
                      "taxpayer_identifier": [
                        {
                          "value": "12345"
                        }
                      ]
                    },
                    "roles": {
                      "role": [
                        {
                          "borrower": {
                            "residences": {
                              "residence": [
                                {
                                  "address": {
                                    "line_text": "street 101",
                                    "city": "example city",
                                    "state": "state",
                                    "postal_code": "1234",
                                    "street_name": "street 23"
                                  }
                                }
                              ]
                            }
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            }
          ]
        }
      }
    ]
  }
}
Parameters
2
ParameterTypeExampleDescription
x-api-key required string header xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Environment API Key.
transaction_id required string (ulid) path 01F0KHK7DN3H5JZ4QJKMYAM6GB Staircase Transaction Identifier
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.
Other responses

200

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

Collection created successfully

{
  "data": {
    "example": {
      "people": [
        {
          "@id": "01FD6ZKZD7WGZXYFGJBVPVP2Q5",
          "has_first_name": {
            "has_value": "John"
          },
          "has_last_name": {
            "has_value": "Jackson"
          },
          "has_birth_date": {
            "has_value": "12/28/1958"
          },
          "has_taxpayer_identifier_value": {
            "has_value": "666234390"
          },
          "with_address": [
            "01FD6ZNGJADZ0RB1H96FSE8BAB"
          ],
          "contact_at": [
            "01FD6ZNGJW9X96WGWX2BD37CFY"
          ]
        }
      ],
      "addresses": [
        {
          "@id": "01FD6ZNGJADZ0RB1H96FSE8BAB",
          "@type": "address",
          "has_address_line_1_text": {
            "has_value": "33 IRVING PLACE"
          },
          "has_address_line_2_text": {
            "has_value": "a"
          },
          "has_city_name": {
            "has_value": "NEW YORK"
          },
          "has_state_code": {
            "has_value": "NY"
          },
          "has_postal_code": {
            "has_value": "10003"
          },
          "has_country_name": {
            "has_value": "US"
          }
        }
      ],
      "contact_information": [
        {
          "@id": "01FD6ZNGJW9X96WGWX2BD37CFY",
          "@type": "contact_information",
          "has_email_address": {
            "has_value": "test@test.com"
          }
        }
      ],
      "employment": [
        {
          "provided_by": [
            "01FD6ZNGME8E1JFD342F7WDK8V"
          ]
        }
      ],
      "loans": [
        {
          "with_borrower": [
            "01FD6ZKZD7WGZXYFGJBVPVP2Q5"
          ]
        }
      ],
      "organizations": [
        {
          "@id": "01FD6ZNGNFKY3B7CX0YN6NH56E",
          "@type": "customer"
        }
      ]
    }
  },
  "metadata": {}
}
Parameters
2
ParameterTypeExampleDescription
x-api-key required string header xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Environment API Key.
transaction_id required string (ulid) path 01F0KHK7DN3H5JZ4QJKMYAM6GB Staircase Transaction Identifier
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.
Other responses

201405

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": {
    "credit_information": [
      {
        "has_credit_report_identifier": {
          "has_value": "2-d0a38e38-1639-4493-8",
          "data_sourced_from": [
            "01FCZHG9EGC306GQ34ZNZ36A67"
          ]
        },
        "has_credit_request_data_credit_repository_included_equifax_indicator": {
          "has_value": "false"
        },
        "has_credit_frozen_status_experian_indicator": {
          "has_value": "false"
        },
        "has_credit_request_data_credit_repository_included_trans_union_indicator": {
          "has_value": "false"
        },
        "has_data_version_equifax_identifier": {
          "has_value": "4"
        },
        "@type": "credit_information",
        "has_credit_bureau_name": {
          "has_value": null
        },
        "has_credit_rating_code_type": {
          "has_value": "equifax"
        },
        "has_credit_report_merge_type": {
          "has_value": "list_and_stack"
        },
        "has_credit_frozen_status_trans_union_indicator": {
          "has_value": "false"
        },
        "has_credit_repository_included_experian_indicator": {
          "has_value": "false"
        },
        "has_credit_repository_included_equifax_indicator": {
          "has_value": "false"
        },
        "has_credit_request_data_credit_repository_included_experian_indicator": {
          "has_value": "false"
        },
        "has_requesting_party_name": {
          "has_value": null
        },
        "has_credit_repository_included_trans_union_indicator": {
          "has_value": "true"
        },
        "has_credit_report_first_issued_date": {
          "has_value": "2021-08-13"
        },
        "@id": "01FCZHG9ED6FP1B3853716DDBJ",
        "has_credit_frozen_status_equifax_indicator": {
          "has_value": "false"
        },
        "with_credit_score_information": [
          "01FCZHG9EVWB7XSMY2VAK0QAJ1"
        ],
        "has_data_version_credmo_identifier": {
          "has_value": "1.3"
        }
      }
    ],
    "credit_score_information": [
      {
        "has_credit_report_identifier": {
          "has_value": "2-d0a38e38-1639-4493-8",
          "data_sourced_from": [
            "01FCZHG9EGC306GQ34ZNZ36A67"
          ]
        },
        "has_credit_score_model_name_type_other_description": {
          "has_value": "TransUnionVantageScore3.0"
        },
        "has_credit_score": {
          "has_value": "677",
          "data_sourced_from": [
            "01FCZHG9EGC306GQ34ZNZ36A67"
          ]
        },
        "has_credit_score_model_name_type": {
          "has_value": "Other"
        },
        "with_credit_score_factor": [
          [
            "01FCZHG9G3Y586GW0QXYH9GEY1",
            "01FCZHG9G372Z31MSTBYD1RZRT",
            "01FCZHG9G3C36KNGA1WSY9KGSW",
            "01FCZHG9G30MEQG7RSHZTZD3RB",
            "01FCZHG9G30BENG7W0ERGN939G"
          ]
        ],
        "@type": "credit_score_information",
        "has_credit_score_facta_inquiries_indicator": {
          "has_value": "true"
        },
        "has_credit_repository_source_type": {
          "has_value": "trans_union"
        },
        "@id": "01FCZHG9EVWB7XSMY2VAK0QAJ1",
        "has_credit_score_date": {
          "has_value": "2015-06-09"
        }
      }
    ],
    "credit_score_factors": [
      {
        "has_credit_score_factor_code": {
          "has_value": "63"
        },
        "has_credit_score_factor_text": {
          "has_value": "Lack of sufficient relevant real estate account information"
        },
        "@id": "01FCZHG9G3Y586GW0QXYH9GEY1",
        "@type": "credit_score_factor"
      },
      {
        "has_credit_score_factor_code": {
          "has_value": "12"
        },
        "has_credit_score_factor_text": {
          "has_value": "The date that you opened your oldest account is too recent"
        },
        "@id": "01FCZHG9G372Z31MSTBYD1RZRT",
        "@type": "credit_score_factor"
      },
      {
        "has_credit_score_factor_code": {
          "has_value": "14"
        },
        "has_credit_score_factor_text": {
          "has_value": "Lack of sufficient credit history"
        },
        "@id": "01FCZHG9G3C36KNGA1WSY9KGSW",
        "@type": "credit_score_factor"
      },
      {
        "has_credit_score_factor_code": {
          "has_value": "30"
        },
        "has_credit_score_factor_text": {
          "has_value": "Too few of your bankcard or other revolving accounts have high limits"
        },
        "@id": "01FCZHG9G30MEQG7RSHZTZD3RB",
        "@type": "credit_score_factor"
      },
      {
        "has_credit_score_factor_code": {
          "has_value": "I"
        },
        "has_credit_score_factor_text": {
          "has_value": "Inquiries did impact the credit score"
        },
        "@id": "01FCZHG9G30BENG7W0ERGN939G",
        "@type": "credit_score_factor"
      }
    ]
  }
}
Parameters
3
ParameterTypeExampleDescription
x-api-key required string header xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Environment API Key.
transaction_id required string (ulid) path 01F0KHK7DN3H5JZ4QJKMYAM6GB Staircase Transaction Identifier
collection_id required string (ulid) path 01F0KHKADN0HRFXMCQQXPA6AFZ Staircase collection_id
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

200400

Encompass

POST /products/credit/invocations

Credit Service Order

invokeProductFlow

This endpoint will order new Service request in Encompass Service

This api is using Dev Connect Service Order API

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

Successfully started flow invocation.

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

Successfully started flow invocation.

FieldTypeDescription
invocation_idrequiredstringInvocation ID.
invocation_statusrequiredstringThe status of the invocation.STARTED
transaction_idrequiredstringTransaction ID.
request_collection_idrequiredstringRequest collection ID.
response_collection_idrequiredstringResponse collection ID.
product_flow_namestringProduct flow name.
metadataobjectThe metadata of the invoked product flow.
callback_urlstringCallback URL.
request_dataobjectThe data for the request collection.
tagsstring[]List of tags.
optionsobjectAdditional information that should be passed to the connector but not be added to the request collection.
widget_urlstringProduct widget_url listening on the connector widget_url
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.

Partners

GET /products/credit/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",
    "verification_type": "borrower",
    "byoc": true
  }
]
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
6 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
verification_typestringType of verification
byocbooleanSpecify whether customer should add its own partner credentials or not
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/credit/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
1 fields

Successfully retrieved partners ordering.

FieldTypeDescription
partner_orderobjectPartner and order
partnerstringExample partner1
ordernumberExample 1
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/credit/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/credit/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.

Setup

POST /setup/equifax/credentials

Set Equifax Credentials

setEquifaxCredentials

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

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

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

Request
application/json
{
  "LoginAccountIdentifier": "--------",
  "LoginAccountPassword": "--------",
  "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
3 fields
FieldTypeDescription
LoginAccountIdentifierrequiredstringEquifax account ID
LoginAccountPasswordrequiredstringEquifax account 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

POST /setup/meridian/credentials

Set MeridianLink Credentials

setMeridianCredentials

Set Meridian Credentials

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

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

We currently can't provide Staircase contract for MeridianLink.

Show the rest

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

Credit Providers Domains:

Name SmartAPI Domain
Advantage Credit credit.advcredit.com
Advantage Credit Bureau advantagecreditbureau.meridianlink.com
Advantage Plus Credit advantageplus.meridianlink.com
American Reporting Company arc.meridianlink.com
Birchwood Credit Services birchwood.meridianlink.com
CBFS Business Solutions cbfbusinesssolutions.meridianlink.com
Certified Credit Reporting certifiedcredit.meridianlink.com
CIC Credit cic.meridianlink.com
CISCO Credit credit.ciscocredit.com
Credit Bureau Services cbs.meridianlink.com
Credit Link creditlink.meridianlink.com
Credit Technologies credit.credittechnologies.com
Credit Technology ctinetwork.meridianlink.com
Information Searching Company (ISC) iscsite.meridianlink.com
KCB Credit credit.kewaneecreditbureau.com
Merchants Credit Bureau (Augusta) mcb.meridianlink.com
Merchants Credit Bureau (Savannah) mcbsav.meridianlink.com
MeridianLink, Inc. credit.meridianlink.com
Premium Credit Bureau premium.meridianlink.com
Premium Credit Bureau Data cdc.meridianlink.com
SARMA credit.sarmamortgage.com
Service 1st svc1stinfo.meridianlink.com
SettlementOne credit.settlementone.com
TheCreditBureau.com ncs.meridianlink.com
United One Resources unitedoneresources.meridianlink.com
Xactus formerly CIS Credit * cis.meridianlink.com
Xactus formerly Credit Plus * credit.creditplus.com
Xactus formerly DataFacts Lending * sir.meridianlink.com
Xactus formerly Universal Credit * ucs.meridianlink.com
Request
application/json
{
  "client_id": "--------",
  "client_secret": "<redacted>",
  "domain": "demo.mortgagecreditlink.com"
}
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
3 fields
FieldTypeDescription
client_idrequiredstringUsername
client_secretrequiredstringPassword
domainrequiredstringCredit provider domain
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

POST /setup/cbc/credentials

Set CBC Credentials

setCBCCredentials

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

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

We currently can't provide Staircase contract for CBC.

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

Show the rest

Credential Profiles

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

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

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

Use Case #1:
  • You have soft and hard credentials for CBC, you can use the profile in the following way:
{
 "LoginAccountIdentifier": "hard-pull-credential-account-id",
 "LoginAccountPassword": "hard-pull-credential-account-password",
 "InternalAccountIdentifier": "hard-pull-credential-internal-account-id"
 "domain": "",
 "credentials_type": "test",
 "soft-pull-profile": {
 "LoginAccountIdentifier": "soft-pull-credential-account-id",
 "LoginAccountPassword": "soft-pull-credential-account-password",
 "InternalAccountIdentifier": "soft-pull-credential-internal-account-id"
 }
}
Use Case #2:
  • You have multiple companies within your organization and each company uses it's own set of CBC credentials:
{
 "LoginAccountIdentifier": "default-credential-account-id",
 "LoginAccountPassword": "default-credential-account-password",
 "InternalAccountIdentifier": "default-credential-internal-account-id"
 "domain": "",
 "credentials_type": "test",
 "company-1": {
 "LoginAccountIdentifier": "company-1-credential-account-id",
 "LoginAccountPassword": "company-1-credential-account-password",
 "InternalAccountIdentifier": "company-1-credential-internal-account-id"
 },
 "company-2": {
 "LoginAccountIdentifier": "company-2-credential-account-id",
 "LoginAccountPassword": "company-2-credential-account-password",
 "InternalAccountIdentifier": "company-2-credential-internal-account-id"
 }
}

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

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

Request
application/json
{
  "LoginAccountIdentifier": "",
  "LoginAccountPassword": "",
  "InternalAccountIdentifier": "",
  "domain": "https://qa.creditbureaureports.com/servlet/gnbank",
  "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
5 fields
FieldTypeDescription
LoginAccountIdentifierrequiredstringThe assigned Web login
LoginAccountPasswordrequiredstringThe assigned Web password
InternalAccountIdentifierstringIdentifier used to designate specific account or branch to access when a login has access to more than one. (Contact Interface support for more information)*Appears on invoice
domainrequiredstringQA Prod
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

POST /setup/encompass/credentials

Set Informative Research Credentials

setInformativeResearchEncompassCredentials

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

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

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

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

Request
application/json
{
  "client_id": "--------",
  "username": "--------",
  "password": "<redacted>",
  "request_source": "--------",
  "request_source_id": "--------",
  "domain": "somedomain.com/api",
  "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
6 fields
FieldTypeDescription
client_idrequiredstringClient ID
usernamerequiredstringAccount username
passwordrequiredstringAccount password
request_sourcerequiredstringRequesting party name
domainrequiredstringBase URL of the Informative Research API
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

POST /setup/informative_research/credentials

Set Informative Research Credentials

setInformativeResearchCredentials

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

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

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

Show the rest

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

Credential Profiles

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

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

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

Use Case #1:
  • You have soft and hard credentials for Informative Research, you can use the profile in the following way:
{
 "client_id": "hard-pull-credential-client-id",
 "username": "hard-pull-credential-username",
 "password": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
 "request_source": "hard-pull-credential-request-source",
 "domain": "",
 "credentials_type": "test",
 "soft-pull-profile": {
 "client_id": "soft-pull-credential-client-id",
 "username": "soft-pull-credential-username",
 "password": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
 "request_source": "soft-pull-credential-request-source"
 }
}
Use Case #2:
  • You have multiple companies within your organization and each company uses it's own set of Informative Research credentials:
{
 "client_id": "default-credential-client-id",
 "username": "default-credential-username",
 "password": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
 "request_source": "defualt-credential-request-source",
 "domain": "",
 "credentials_type": "test",
 "company-1": {
 "client_id": "company-1-credential-client-id",
 "username": "company-1-credential-username",
 "password": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
 "request_source": "company-1-credential-request-source"
 },
 "company-2": {
 "client_id": "company-2-credential-client-id",
 "username": "company-2-credential-username",
 "password": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
 "request_source": "company-2-credential-request-source"
 }
}

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

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

Request
application/json
{
  "client_id": "--------",
  "username": "--------",
  "password": "<redacted>",
  "request_source": "--------",
  "domain": "somedomain.com/api",
  "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
6 fields
FieldTypeDescription
client_idrequiredstringClient ID
usernamerequiredstringAccount username
passwordrequiredstringAccount password
request_sourcerequiredstringRequesting party name
domainrequiredstringBase URL of the Informative Research API
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

POST /setup/sharper_lending/credentials

Set Sharper Lending Credentials

setSharperLendingCredentials

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

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

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

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

Request
application/json
{
  "username": "username",
  "password": "<redacted>",
  "provider_id": "1234",
  "subscriber_id": "Example",
  "domain": "test.domain.com/v4/interface/example/example.aspx"
}
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
6 fields
FieldTypeDescription
usernamerequiredstringThis value is the code that corresponds to the end user's username.
passwordrequiredstringThis value is the code that corresponds to the end user's password.
provider_idrequiredstringThis value indicates the unique provider ID number assigned to the credit reporting agency.
subscriber_idrequiredstringThis value indicates the unique client/lender company ID assigned by the credit reporting agency to the lender.
domainrequiredstringURL of Sharper Lending
credentials_typestringType 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 updating 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 meridian 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

POST /setup/xactus/credentials

Set Xactus Credentials

setXactusCredentials

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

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

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

Request
application/json
{
  "username": "------",
  "password": "------",
  "domain": "somedomain.com/api/"
}
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
3 fields
FieldTypeDescription
usernamerequiredstringXactus account ID
passwordrequiredstringXactus account password
domainrequiredstringXactus production or sandbox domain.
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

Workflow

GET /products/credit/invocations/{invocation_id}

Retrieve Credit Verification Status

RetrieveProductFlowInvocationStatus

Retrieves the status of running Product flow invocation.

Response
application/json

Successfully returned status of the Product flow Invocation.

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

Successfully returned status of the Product flow Invocation.

FieldTypeDescription
invocation_idrequiredstringInvocation ID.
invocation_statusrequiredstringInvocation Status.ACTION_REQUIREDCOMPLETEDFAILEDRUNNINGSTARTED
transaction_idrequiredstringTransaction ID used for invocation.
request_collection_idstringRequest Collection ID.
request_collectionobjectCollection.
transaction_idstring (ulid)Transaction ID.Example 01EZQ32PJQGKRA6HR8D72Q9FFF
collection_idstring (ulid)Collection ID.Example 01EZQ32PJQGKRA6HR8D72Q9FFF
dataobjectData in Staircase language schema.
metadataobjectMetadata about collection, f.e version of used Staircase schema.
response_collection_idstringResponse Collection ID.
response_collectionobjectCollection.
transaction_idstring (ulid)Transaction ID.Example 01EZQ32PJQGKRA6HR8D72Q9FFF
collection_idstring (ulid)Collection ID.Example 01EZQ32PJQGKRA6HR8D72Q9FFF
dataobjectData in Staircase language schema.
metadataobjectMetadata about collection, f.e version of used Staircase schema.
report_download_urlsrequiredobjectInformation about each generated report identified by template name.
callback_urlstringURL that was specified in flow invocation and will be used to send the callback when flow invocation will be finished.
widget_urlstring (uri)URL of the widget.
metadataobjectResponse Collection ID.
optionsOptions that were passed to the flow invocation.
connector_job_idstringConnector job ID.
service_invocationrequiredone ofIncludes underlying services invocation.
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.
GET /products/credit/request-schema

Retrieve Request Collection Schema

retrieveRequestSchema

Retrieve Request Schema retrieves a JSON schema for the request collection that you can provide to the invocation. If you'd like to retrieve some examples for the request collection, use return_examples=True query parameter.

Request Collection Description

Borrower
Lexicon Path Description
$.people[0].@type Type of person (borrower or co_borrower)
$.people[0].has_first_name
.has_value The first name of the individual represented by the parent object.
$.people[0].has_last_name
.has_value The last name of the individShow the rest
ual represented by the parent object.
$.people[0].has_birth_date
.has_value Borrower's date of birth. Collected in lieu of AGE in URLA, Section III, second line, third field.
$.people[0].has_taxpayer_identifier_value
.has_value The specific value of the taxpayer identifier as assigned by the Internal Revenue Service (IRS) to the individual or legal entity.
$.people[0].with_address Address Information
$.people[0].contact_at Contact Information
$.people[0].works_for Organization
Address
Lexicon Path Description
$.addresses[0].@type Type of address (residential_address)
$.people[0].has_address_line_1_text
.has_value Address Line 1
$.people[0].has_address_line_2_text
.has_value Address Line 2
$.people[0].has_city_name
.has_value The name of the city or Military APO FPO designation.
$.people[0].has_state_code
.has_value The two-character representation of the US state, US Territory, Canadian Province/Territory, or Military Address abbreviation (for example: AE, AP, AA).
$.people[0].has_postal_code
.has_value The postal code (ZIP Code in the US) for the address. ZIP Code may be either 5 or 9 digits.
$.people[0].has_country_name
.has_value The name of the country.
Organizations
Lexicon Path Description
$.organizations[0].@type organization
$.organizations[0].has_organization_name The name of the organization
Response
application/json

Successfully returned the list of elements needed for product waterfall.

{
  "data": {
    "example": {
      "people": [
        {
          "@id": "01FD6ZKZD7WGZXYFGJBVPVP2Q5",
          "has_first_name": {
            "has_value": "John"
          },
          "has_last_name": {
            "has_value": "Jackson"
          },
          "has_birth_date": {
            "has_value": "12/28/1958"
          },
          "has_taxpayer_identifier_value": {
            "has_value": "666234390"
          },
          "with_address": [
            "01FD6ZNGJADZ0RB1H96FSE8BAB"
          ],
          "contact_at": [
            "01FD6ZNGJW9X96WGWX2BD37CFY"
          ]
        }
      ],
      "addresses": [
        {
          "@id": "01FD6ZNGJADZ0RB1H96FSE8BAB",
          "@type": "address",
          "has_address_line_1_text": {
            "has_value": "33 IRVING PLACE"
          },
          "has_address_line_2_text": {
            "has_value": "a"
          },
          "has_city_name": {
            "has_value": "NEW YORK"
          },
          "has_state_code": {
            "has_value": "NY"
          },
          "has_postal_code": {
            "has_value": "10003"
          },
          "has_country_name": {
            "has_value": "US"
          }
        }
      ],
      "contact_information": [
        {
          "@id": "01FD6ZNGJW9X96WGWX2BD37CFY",
          "@type": "contact_information",
          "has_email_address": {
            "has_value": "test@test.com"
          }
        }
      ],
      "employment": [
        {
          "provided_by": [
            "01FD6ZNGME8E1JFD342F7WDK8V"
          ]
        }
      ],
      "loans": [
        {
          "with_borrower": [
            "01FD6ZKZD7WGZXYFGJBVPVP2Q5"
          ]
        }
      ],
      "organizations": [
        {
          "@id": "01FD6ZNGNFKY3B7CX0YN6NH56E",
          "@type": "customer"
        }
      ]
    }
  },
  "metadata": {}
}
Parameters
2
ParameterTypeExampleDescription
x-api-key required string header xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Environment API Key.
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
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.
GET /products/credit/response-schema

Retrieve Response Collection Schema

retrieveResponseSchema

Retrieve Response Schema retrieves a JSON schema for the request collection that you can provide to the invocation. If you'd like to retrieve some examples for the request collection, use return_examples=True query parameter.

Response Collection Description

Credit Information
Lexicon Path Description
$.credit_information[0]
.@type credit_information
$.credit_information[0]
.has_credit_frozen_status_equifax_indicator
.has_value The credit frozen status equifax indicator
$.credit_information[0]<Show the rest
/td>
.has_credit_frozen_status_experian_indicator
.has_value The credit frozen status experian indicator.
$.credit_information[0]
.has_credit_frozen_status_trans_union_indicator
.has_value The credit frozen status trans union indicator.
$.credit_information[0]
.has_credit_rating_code_type
.has_value Identifies which system of Manner Of Payment (MOP) rating codes is in the credit report. If Other is selected, then the name of the coding system will appear in the Credit Rating Code Type Other Description.
$.credit_information[0]
.has_credit_report_action_type
.has_value {force_new , other , reissue , retrieve , secondary_use_notification , status_query , submit , update , upgrade}
$.credit_information[0]
.has_credit_report_first_issued_date
.has_value Date and time the referenced credit report was first issued.
$.credit_information[0]
.has_credit_report_identifier
.has_value A reference number assigned by the credit bureau to a specific credit report. This report number is also referenced when a Reissue, Upgrade, or Status Query of an existing report is requested.
$.credit_information[0]
.has_credit_report_last_updated_date
.has_value The date and time that the referenced credit report was last updated or revised.
$.credit_information[0]
.has_credit_report_merge_type
.has_value This element indicates how duplicate data from multiple sources is handled on a credit report. {blend , list_and_stack , pick_and_choose}
$.credit_information[0]
.has_credit_report_type
.has_value The type of credit report that was requested or produced. Most common types are Merged report (data from credit data repositories is merged), and RMCR (Residential Mortgage Credit Report - contains verified liabilities, employment, etc.)
$.credit_information[0]
.has_credit_repository_included_equifax_indicator
.has_value This element indicates whether Equifax is included in either the request or response.
$.credit_information[0]
.has_credit_repository_included_experian_indicator
.has_value This element indicates whether Experian is included in either the request or response.
$.credit_information[0]
.has_credit_repository_included_trans_union_indicator
.has_value This element indicates whether Trans Union is included in either the request or response.
$.credit_information[0]
.has_credit_request_data_credit_repository_included_equifax_indicator
.has_value {false , true}
$.credit_information[0]
.has_credit_request_data_credit_repository_included_experian_indicator
.has_value {false , true}
$.credit_information[0]
.has_credit_request_data_credit_repository_included_trans_union_indicator
.has_value {false , true}
$.credit_information[0]
.has_credit_request_type
.has_value {individual , joint}
$.credit_information[0]
.with_credit_score_information Credit score information
Credit Score Information
Lexicon Path Description
$.credit_score_information[0]
.@type credit_score_information
$.credit_score_information[0]
.has_credit_report_identifier
.has_value A reference number assigned by the credit bureau to a specific credit report. This report number is also referenced when a Reissue, Upgrade, or Status Query of an existing report is requested.
$.credit_score_information[0]
.has_credit_repository_source_type
.has_value This element describes the source of the credit file, Equifax, Experian, Trans Union or Unspecified if the specific sources are not specified.{equifax , experian , innovis , lexis_nexis , other , trans_union , unspecified}
$.credit_score_information[0]
.has_credit_score
.has_value Information specific to a Credit Score that was obtained on one or more borrowers.
$.credit_score_information[0]
.has_credit_score_date
.has_value Date that the referenced credit score was produced.
$.credit_score_information[0]
.has_credit_score_facta_inquiries_indicator
.has_value This indicator is set to True when the Credit Risk Score Value of the borrower was negatively affected by the presence of credit inquiry records on their credit report. There may be FACT Act compliance requirements related to this alert message. {false , true}
$.credit_score_information[0]
.has_credit_score_model_name_type
.has_value A value from a MISMO prescribed list that specifies the score algorithm model name used to produce the referenced credit risk score.
$.credit_score_information[0]
.has_credit_score_model_name_type_other_description
.has_value When the Credit Score Model Name Type is set to Other, this element holds the description.
$.credit_score_information[0]
.with_credit_score_factor The credit score factor.
Credit Score Factor
Lexicon Path Description
$.credit_score_factors[0]
.@type credit_score_factor
$.credit_score_factors[0]
.has_credit_factor_code
.has_value Factors of the borrower's credit which give context to the referenced credit score. The factor is normally a numeric code. The Credit Score Factor Text contains the text for the factor code.
$.credit_score_factors[0]
.has_credit_factor_text
.has_value The text remarks associated with a Credit Score Factor.
Document
Lexicon Path Description
$.documents[0].@type credit_report
$.documents[0].has_staircase_blob_identifier
.has_value Staircase BLOB Identifier.
Response
application/json

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

{
  "data": {
    "example": {
      "people": [
        {
          "@id": "01FD6ZKZD7WGZXYFGJBVPVP2Q5",
          "has_first_name": {
            "has_value": "John"
          },
          "has_last_name": {
            "has_value": "Jackson"
          },
          "has_birth_date": {
            "has_value": "12/28/1958"
          },
          "has_taxpayer_identifier_value": {
            "has_value": "666234390"
          },
          "with_address": [
            "01FD6ZNGJADZ0RB1H96FSE8BAB"
          ],
          "contact_at": [
            "01FD6ZNGJW9X96WGWX2BD37CFY"
          ]
        }
      ],
      "addresses": [
        {
          "@id": "01FD6ZNGJADZ0RB1H96FSE8BAB",
          "@type": "address",
          "has_address_line_1_text": {
            "has_value": "33 IRVING PLACE"
          },
          "has_address_line_2_text": {
            "has_value": "a"
          },
          "has_city_name": {
            "has_value": "NEW YORK"
          },
          "has_state_code": {
            "has_value": "NY"
          },
          "has_postal_code": {
            "has_value": "10003"
          },
          "has_country_name": {
            "has_value": "US"
          }
        }
      ],
      "contact_information": [
        {
          "@id": "01FD6ZNGJW9X96WGWX2BD37CFY",
          "@type": "contact_information",
          "has_email_address": {
            "has_value": "test@test.com"
          }
        }
      ],
      "employment": [
        {
          "provided_by": [
            "01FD6ZNGME8E1JFD342F7WDK8V"
          ]
        }
      ],
      "loans": [
        {
          "with_borrower": [
            "01FD6ZKZD7WGZXYFGJBVPVP2Q5"
          ]
        }
      ],
      "organizations": [
        {
          "@id": "01FD6ZNGNFKY3B7CX0YN6NH56E",
          "@type": "customer"
        }
      ]
    }
  },
  "metadata": {}
}
Parameters
2
ParameterTypeExampleDescription
x-api-key required string header xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx Environment API Key.
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
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.

Operations

POST /credit

Create Credit

post-credit

Create Creditt creates, for a borrower, views of the borrower's credit worthiness, to help make quick, actionable loan underwriting decisions with reduced risk.

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

Credit request created successfully.

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

Credit request created successfully.

FieldTypeDescription
collection_idstringCollection ID
messagestringMessage

Providers

Order: configured per lender.

Field mapping

ProviderFlowCanonical inVendor inVendor outCanonical out
Xactus credit-verify staircase-graph credit-input credit-mismo231 staircase-graph

Errors

400403404405422500

Type to search.