Document generation, classification and closing-package assembly, plus the ingestion half of the document pipeline.
Two directions. Outbound, it generates documents from the canonical model — disclosures, letters and the closing package — so the document and the loan record cannot disagree. Inbound, it classifies an uploaded document, extracts its fields, and writes them back into the model.
Extraction quality is measured rather than assumed. The scorecard is a separate product, Document under Validation, which carries per-vendor accuracy and cost.
How it works
Classification comes before extraction and is treated as its own step. A document routed to the wrong extractor produces confident wrong fields, which is worse than an unprocessed upload, so the classifier's output is a first-class result with its own confidence rather than an internal detail.
Field mappings are declared per document type against the canonical model. The recorded mappings cover the standard loan application and its coborrower variant, tax returns and their schedules, wage statements, the loan estimate, closing data, housing expenses and the preapproval letter.
Dual listing
Document is filed under two categories. The other listing is
Document under Validation, and the recorded
specifications resolve there — its 17 operations render on that page.
Retrieve Doctypes retrieves the list of available document types for data extraction. Partner documentai supports only bank_statements documents that contain data just for one period.
Creates a new collection which will contain new blob_id for each document in collection
Separate document blobs creates new collection that contains new blob_id for each document in collection. Completion of the request must be check in the response collection metadata.status. Possible values are: WAITING_FOR_RESPONSE, COMPLETED or ERROR. Newly created blobs will contain respective pages as defined by the classification result.
If provided, filters by start_date it must be used together with the end_date. Date must be in ISO8601 format: YYYY-MM-DD, if not provided then period parameter must be set
end_date
stringquery
2021-12-30
If provided, filters by end_date it must be used together with the start_date. Date must be in ISO8601 format: YYYY-MM-DD
period
stringquery
1m
If used must be sent using d for days, w for weeks and m for months, the number always goes first e.g. 3w
Response 200application/json
1 fields
Success
Field
Type
Description
costsrequired
object[]
Cost details
transaction_idrequired
string
Transaction id
request_collection_idrequired
string
Request collection id
response_collection_idrequired
string
Response collection id
partner_namerequired
string
Name of the partner
finished_atrequired
string
Finish date of the execution
document_typerequired
string
Document type used for data extraction
pagesrequired
string
Number of pages for provided PDF
cost_in_centsrequired
string
Cost in cents for data extraction invocation
Other responses
400403
GET/costs/partner-cost
Get parner costs
get-ide-partner-costs
Gets partner costs
Gets partner costs retrieves list of partner costs for every product invocation
If provided, filters by start_date it must be used together with the end_date. Date must be in ISO8601 format: YYYY-MM-DD, if not provided then period parameter must be set
end_date
stringquery
2021-12-30
If provided, filters by end_date it must be used together with the start_date. Date must be in ISO8601 format: YYYY-MM-DD
period
stringquery
1m
If used must be sent using d for days, w for weeks and m for months, the number always goes first e.g. 3w
If provided, filters by start_date it must be used together with the end_date. Date must be in ISO8601 format: YYYY-MM-DD, if not provided and period parameter is also not provided it will retrieve data for past 30 days.
end_date
stringquery
2021-12-30
If provided, filters by end_date it must be used together with the start_date. Date must be in ISO8601 format: YYYY-MM-DD
period
stringquery
1m
If used must be sent using d for days, w for weeks and m for months, the number always goes first e.g. 3w. If not provided and start_date is also not provided it will retrieve data for past 30 days.
Staircase connector flow that operates this process
Response 200application/json
1 fields
Response collection
Field
Type
Description
message
string
Asynchronous operation start message
Response 400application/json
1 fields
Request data failed validation
Field
Type
Description
error
object
Unprocessed entity error.
coderequired
string
Error name.
messagerequired
string
Error description.
Response 422application/json
1 fields
Unprocessed Entity
Field
Type
Description
error
object
Unprocessed entity error.
coderequired
string
Error name.
messagerequired
string
Error description.
POST/blobs
Create Blob
post-data-extraction-blob-create
Create Blob creates a blob in Staircase.
A Binary Large Object (blob) is a collection of binary data stored as a single entity. Typically, it represents a document, image or other multimedia object.
To invoke a partner for Data Extraction, you must first create a blob for your document. The presigned URL, which is returned as a response, represents a container in Staircase for your document. A presigned URL expires one hour after creation.
Request
application/json
{
"extension": ".pdf"
}
Response
application/json
Blob has been created
{
"blob_id": "01EZY9ENJGRMTW4S9CS4V1Y6XH",
"extension": ".pdf",
"presigned_urls": {
"upload": {
"url": "https://dev-data-manager-blobs-bucket-us-east-1-867210375911.s3.amazonaws.com/01EZY9ENJGRMTW4S9CS4V1Y6XH"
}
},
"message": "Blob has been created."
}
Parameters
1
Parameter
Type
Example
Description
x-api-keyrequired
stringheader
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Environment API Key.
Request bodyapplication/json
1 fields
Field
Type
Description
extensionrequired
string
Document extension that blob is persistingExample .pdf
Response 201application/json
3 fields
Blob has been created
Field
Type
Description
blob_id
string
Blob ID
extension
string
File extension
presigned_urls
object
Presigned URL
Other responses
400403
GET/products/document/invocations/{invocation_id}
Retrieve Document Creation Status
RetrieveProductFlowInvocationStatus
Retrieves the status of running Product flow invocation.
Response
application/json
Successfully returned status of the Product flow Invocation.
{
"message": "{'data': ['Missing data for required field.']}"
}
application/json
Invalid key for service
{
"message": "Please check the key you used to call this service",
"url": "https://staircase.stoplight.io/docs/api-reference/customer-account-manager-service.yml/paths/~1products~1refresh/post"
}
application/json
The product has encountered an internal server error. If possible, please contact Staircase support with the transaction_id you used.
{
"message": "The product has encountered an internal server error. If you have used a transaction_id to call our services, please submit it to Staircase support."
}
Parameters
2
Parameter
Type
Example
Description
x-api-keyrequired
stringheader
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Environment API Key.
invocation_idrequired
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.
Field
Type
Description
invocation_id
string
Invocation id
transaction_id
string
Transaction id
product_flow_name
string
Product flow name
response_collection_id
string
Response collection id
invocation_status
string
Invocation status
callback_url
string
Callback URL
widget_url
string
Widget URL
metadata
object
Metadata
options
object
Options
service_invocation
object
Service invocation
CallConnector
object
Connector process
started_on
string
Date information
finished_on
string
Date information
status
string
Status information
CallJob
object
Job process
started_on
string
Date information
finished_on
string
Date information
status
string
Status information
ConvertXmlToJson
object
Conversion process
started_on
string
Date information
finished_on
string
Date information
status
string
Status information
CreateBlob
object
Creating blob process
started_on
string
Date information
finished_on
string
Date information
status
string
Status information
GeneratePresignedURL
object
Generating URL process
started_on
string
Date information
finished_on
string
Date information
status
string
Status information
GetCollection
object
Getting collection data process
started_on
string
Date information
finished_on
string
Date information
status
string
Status information
GetJobResultCollection
object
Getting job data process
started_on
string
Date information
finished_on
string
Date information
status
string
Status information
UpdateResponseCollection
object
Updating response collection process
started_on
string
Date information
finished_on
string
Date information
status
string
Status information
response_collection
object
Response collection
collection_id
string
Collection id
transaction_id
string
Transaction id
flows_responses
object
Flows responses
_links
object
Links
finance_metrics
string
Finance metrics
health_metrics
string
Health metrics
Response 400application/json
1 fields
Request data failed validation
Field
Type
Description
message
one of
Message
Response 403application/json
2 fields
Invalid key for service
Field
Type
Description
message
string
—
url
string
—
Response 404application/json
1 fields
Resource not found
Field
Type
Description
messagerequired
string
—
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.
Field
Type
Description
message
string
—
GET/request-elements
Retrieve Request Elements
get-data-extraction-request-elements
Retrieve Request Elements retrieves a list of elements needed to invoke a partner for data extraction.
Classify Document invokes a partner to classify the pages within a document according to document type(s).
To invoke Classify Document, you will need:
a transaction_id, and
a collection_id.
Once you have a transaction_id and collection_id, you can send them, along with your api key (authorization key) to as many partners as you want. Simply invoke Classify Document with the same transaction_id and collection_id, but with different partner names. Doing so enables you to get classification results from multiple partners, and to see which one provides the optimal response.
Show the rest
Classify Document returns, as a synchronous acknowledgement, a newcollection_id. The newcollection_id represents an empty container which will hold the partner's response once processing has completed.
In case partner_name was provided as default, classify will be run through Ephesoft & DocumentAI partners. The response_collection_id will be a combined one, and we will provide the confidence score of Staircase which will be equal or higher than the one of a singular partner.
Document classification request created successfully.
{
"collection_id": "01EZY95SC1K85WTA3J66R81WCV",
"message": "When ready, data will be available in the collection specified by this collection_id. Use this new collection_id to get the execution status."
}
application/json
Unprocessable Entity
{
"message": "transaction_id value had non-alphanumeric characters. Please check transaction id"
}
application/json
Unprocessable Entity
{
"message": "collection_id value had non-alphanumeric characters. Please check collection id"
}
application/json
The product has encountered an internal server error. If possible, please contact Staircase support with the transaction_id you used.
{
"message": "The product has encountered an internal server error. If you have used a transaction_id to call our services, please submit it to Staircase support"
}
Parameters
1
Parameter
Type
Example
Description
x-api-keyrequired
stringheader
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Environment API Key.
Request bodyapplication/json
5 fields
Field
Type
Description
transaction_idrequired
string (ulid)
Transaction IDExample 01FM04Q4WKNGG0AWRKPBC8KBCP
collection_idrequired
string (ulid)
Collection IDExample 01FM04QXEVT3V2SXBV2KM74RV1
partner_namerequired
string
Partner name such as DocumentAIdefaultdocumentaiephesoftocrolus
callback_url
string
Callback url
options
object
Additional options for document classification
separate_document_blobs
boolean
In case blob contains multiple documents response collection will contain unique blob_id for each document classified
Response 200application/json
2 fields
Document classification request created successfully.
Field
Type
Description
collection_id
string
Collection ID
message
string
Message
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.
Field
Type
Description
message
string
—
Other responses
400403404422
POST/extract
Extract Data
post-data-extraction-extract
Extract Data invokes a partner to extract the data within a document according to document type.
To invoke Extract Data, you will need:
a transaction_id, and
a collection_id.
Once you have a transaction_id and collection_id, you can send them, along with your api_key (authorization key) to as many partners as you want. Simply invoke Extract Data with the same transaction_id and collection_id, but with different partner names. Doing so enables you to extract data using multiple partners, and to see which one provides the optimal response.
Extract Data returns, as a synchronous acknowledgement, a newcollection_id. The newcollection_id represents an empty container which will hold the partner's response once processing has completed.
Name of partner providing data extraction. If you wish to invoke multiple partners with one request you can use partners parameter instead. If this parameter is not set then it is required to set partners parameterdocumentaiocrolus
partners
string[]
List of partners you want to use for extraction. If this parameter is not set then you have to set partner_name parameter
callback_url
string
Callback url
data_elements
string[]
All elements that need to be selected in the response
options
object
Additional settings for extraction.
include_simplified_response
boolean
Simplified response has simple structure and better field coverage. In case request collections is v0 this value is set to true by default. For v2 request collections this value is set to false by default.
Response 200application/json
3 fields
Data Extraction request created successfully.
Field
Type
Description
response_collections
object[]
In case partners parameter is set in request payload response will contain this object.
collection_idrequired
string
Collection ID
messagerequired
string
Message with additional information about execution
collection_id
string
Response will contain this parameter only if partner_name parameter is set in request collection
message
string
Response will contain this parameter only if partner_name parameter is set in request collection
Other responses
400
GET/status/{transaction_id}/{collection_id}
Retrieve Status
get-data-extraction-status
Retrieve Status determines if a partner has completed data extraction for a document.
Response
application/json
Request received.
Potential status responses: 'REQUEST_MADE', 'WAITING_FOR_RESPONSE', 'COMPLETED', 'ERROR'"
{
"status": "COMPLETED"
}
Parameters
3
Parameter
Type
Example
Description
x-api-keyrequired
stringheader
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Environment API Key.
transaction_idrequired
stringpath
01EZY95SC1K85WTA3J66R81WCV
Transaction ID
collection_idrequired
stringpath
01EZY9J8SEFM2JKDJ1Q3YX65HS
Collection ID
Response 200application/json
1 fields
Request received.
Potential status responses: 'REQUEST_MADE', 'WAITING_FOR_RESPONSE', 'COMPLETED', 'ERROR'"
Field
Type
Description
status
string
Request received.
Other responses
400403404
PDFs
POST/fill
Fill PDF template with data
fill_pdf
Fill PDF
This endpoint takes a document's content in JSON format, translates it into the specified target language, and then fills a PDF template using the translated content. It requires a blob ID for the PDF template, the target language for translation, and the data to be translated. The process involves translating the input data, mapping it according to a predefined schema, and dynamically filling the PDF with the translated content, returning a new blob ID for the filled document.
For now endpoint works only with loan-application-doc-language-v2 language. Source blob_id should be 1003 borrower information PDF from this link:
{
"message": "{'data': ['Missing data for required field.']}"
}
application/json
Requested resource not found
{
"message": "Collection not found"
}
Request bodyapplication/json
3 fields
Field
Type
Description
blob_idrequired
string
Blob ID
to_language_name
string
Language name to translate data
data
object
Data to fill in PDF template
Response 200application/json
4 fields
OK.
Field
Type
Description
to_language_name
string
language data
data
object
language data
generated_blob_id
string
Generated blob ID
warnings
object
Warning message
Response 400application/json
1 fields
Request data failed validation
Field
Type
Description
message
one of
Message
Response 403application/json
1 fields
Missing API key
Field
Type
Description
message
string
Message
Response 404application/json
1 fields
Requested resource not found
Field
Type
Description
message
string
Message
Other responses
422
POST/generate-language-pdf
Generate language from PDF template
generate_language_pdf
Generate mapping from PDF template
Generates the language definition of PDF template from blob. Generation type is language by default. Generation type language generates Language product definition from PDF template. Generation type form generates form to fill PDF template. Generation type info generates information data about PDF template fields.
{
"message": "{'data': ['Missing data for required field.']}"
}
application/json
Requested resource not found
{
"message": "Collection not found"
}
Request bodyapplication/json
2 fields
Field
Type
Description
blob_idrequired
string
Blob ID
generation_type
string
Generation typelanguageforminfo
Response 200application/json
1 fields
OK.
Field
Type
Description
data
object
language data
Response 400application/json
1 fields
Request data failed validation
Field
Type
Description
message
one of
Message
Response 403application/json
1 fields
Missing API key
Field
Type
Description
message
string
Message
Response 404application/json
1 fields
Requested resource not found
Field
Type
Description
message
string
Message
Other responses
422
POST/fill-pre-approval
Fill Pre approval PDF template with data
fill_pdf_pre_approval
Fill PDF Pre approval
This endpoint takes a document's content in JSON format, translates it into the specified target language, and then fills a PDF template using the translated content. It requires a the target language for translation, and the data to be translated. The process involves translating the input data, mapping it according to a predefined schema, and dynamically filling the PDF with the translated content, returning a new blob ID for the filled document.
For now endpoint works only with pre-approval-letter language.
{
"message": "{'data': ['Missing data for required field.']}"
}
application/json
Requested resource not found
{
"message": "Collection not found"
}
Request bodyapplication/json
1 fields
Field
Type
Description
datarequired
object
Data to fill in PDF template
Response 200application/json
3 fields
OK.
Field
Type
Description
data
object
language data
generated_blob_id
string
Generated blob ID
warnings
object
Warning message
Response 400application/json
1 fields
Request data failed validation
Field
Type
Description
message
one of
Message
Response 403application/json
1 fields
Missing API key
Field
Type
Description
message
string
Message
Response 404application/json
1 fields
Requested resource not found
Field
Type
Description
message
string
Message
Other responses
422
POST/fill-listing-agreement
Fill Listing Agreement PDF template with data
fill_pdf_listing_cancellation
Fill PDF Listing Cancellation
This endpoint takes a document's content in JSON format and then fills a PDF template using the translated content. It requires the data to be translated. The process involves translating the input data, mapping it according to a predefined schema, and dynamically filling the PDF with the translated content, returning a new blob ID for the filled document.
Request
application/json
{
"data": {
"lead": {
"@id": "01J17WAPBYY5A3C3EB342K1TRT",
"@type": "lead",
"has_listing": {
"@id": "01J17WAPBY69HXZ1C8XP7HMW1X",
"@type": "listing",
"broker_cancellation_fee_amount": {
"@type": "http://www.w3.org/2001/XMLSchema#integer",
"@value": "0"
},
"broker_cancellation_fee_indicator": {
"@type": "http://www.w3.org/2001/XMLSchema#boolean",
"@value": "true"
},
"broker_compensation_indicator": {
"@type": "http://www.w3.org/2001/XMLSchema#boolean",
"@value": "true"
},
"conditional_termination_agreement_indicator": {
"@type": "http://www.w3.org/2001/XMLSchema#boolean",
"@value": "true"
},
"current_list_price_amount": {
"@type": "http://www.w3.org/2001/XMLSchema#integer",
"@value": "2500000"
},
"exclusive_brokerage_listing_agreement_indicator": {
"@type": "http://www.w3.org/2001/XMLSchema#boolean",
"@value": "false"
},
"exclusive_right_of_sale_listing_agreement_indicator": {
"@type": "http://www.w3.org/2001/XMLSchema#boolean",
"@value": "true"
},
"exclusive_right_to_lease_agreement_indicator": {
"@type": "http://www.w3.org/2001/XMLSchema#boolean",
"@value": "false"
},
"has_agent": [
{
"@id": "01J17WAPBYCV1NKE2F810G9D82",
"@type": "person",
"first_name": "Kesa",
"last_name": "Longfellow"
},
{
"@id": "01J17WAPBYSAS7JVKVJP52H9Y6",
"@type": "person",
"first_name": "Robert",
"last_name": "Thomson"
}
],
"has_agent_company": {
"@id": "01J17WAPBYN3R18K0ENCQJVEEM",
"@type": "company",
"name": "Waterfront Properties & Club C (303140)"
},
"has_listing_timeline": [
{
"@id": "01J17WAPBY1RJYRCVV5YH3E9HM",
"@type": "listing_timeline",
"listing_status_type": "Active"
},
{
"@id": "01J17WAPBYNJYWKAQPR53FR3GA",
"@type": "listing_timeline",
"price_date": "2023-10-14",
"price_type": "InitialListing"
},
{
"@id": "01J17WAPBYNX103Z4TG7SASWDP",
"@type": "listing_timeline",
"price_amount": {
"@type": "http://www.w3.org/2001/XMLSchema#integer",
"@value": "2500000"
},
"price_date": "2023-10-15",
"price_type": "MinSold"
}
],
"has_previous_version": {
"@id": "01J17WAPBY69HXZ1C8XP7HMW1X_2"
},
"listing_agreement_price_terms": "785,000.00",
"listing_agreement_price_terms_indicator": {
"@type": "http://www.w3.org/2001/XMLSchema#boolean",
"@value": "false"
},
"listing_agreement_termination_date": "2024-10-25",
"listing_agreement_termination_date_indicator": {
"@type": "http://www.w3.org/2001/XMLSchema#boolean",
"@value": "true"
},
"listing_identifier": "RX-10927244",
"listing_property_description": "Crystal Pointe PL 2 Lt 25, Washer and Dryer, Refrigerator, Oven, Microwave, Dish Washer, All Window Coverings, all pool equipment",
"listing_status_type": "Active",
"special_listing_conditions": "Listing Brokers commission to be paid at time of listing agreement. Cooperating Brokers will be paid at funding.",
"special_listing_conditions_indicator": {
"@type": "http://www.w3.org/2001/XMLSchema#boolean",
"@value": "true"
},
"unconditional_termination_agreement_indicator": {
"@type": "http://www.w3.org/2001/XMLSchema#boolean",
"@value": "false"
}
},
"has_person": [
{
"@id": "01J17WAPBY2K8Z6PS1WY5Y93WW",
"@type": "person",
"first_name": "WALTER",
"has_communication_method": [
{
"@id": "01J17WAPBXNHYKESB682SBGN3V",
"@type": "communication",
"phone_number": "7463044"
},
{
"@id": "01J17WAPBXVNJMB1TT77XVYWSA",
"@type": "communication",
"phone_number": "8637634638"
},
{
"@id": "01J17WAPBX4KR4WS9Y2KXXD08T",
"@type": "communication",
"phone_number": "5619727157"
},
{
"@id": "01J17WAPBXHVAST0QWEH80RPX0",
"@type": "communication",
"phone_number": "5617463044"
}
],
"last_name": "ARRINGTON",
"middle_name": ""
},
{
"@id": "01J17WAPBY6D6PK74KMT7QKN23",
"@type": "person",
"first_name": "BETTY",
"last_name": "ARRINGTON",
"middle_name": ""
}
],
"has_property": {
"@id": "01J17WAPBYYPC0PKEVBZQDN2TZ",
"@type": "property",
"bedroom_count": {
"@type": "http://www.w3.org/2001/XMLSchema#integer",
"@value": "4"
},
"covered_spaces": {
"@type": "http://www.w3.org/2001/XMLSchema#integer",
"@value": "2"
},
"full_bathroom_count": {
"@type": "http://www.w3.org/2001/XMLSchema#integer",
"@value": "3"
},
"garage_spaces": {
"@type": "http://www.w3.org/2001/XMLSchema#integer",
"@value": "2"
},
"gross_living_area_square_feet_number": {
"@type": "http://www.w3.org/2001/XMLSchema#integer",
"@value": "4104"
},
"half_bathroom_count": {
"@type": "http://www.w3.org/2001/XMLSchema#integer",
"@value": "0"
},
"has_address": {
"@id": "01J17WAPBY1W0FCZGYADP20KSN",
"@type": "address",
"address_line_1": "12274 150th Ln N",
"city_name": "Jupiter",
"country_code": "US",
"country_name": "USA",
"county_code": "12099",
"county_name": "Palm Beach",
"full_address": "12274 150th Ln N, Jupiter, FL 33478-3512, United States",
"latitude": {
"@type": "http://www.w3.org/2001/XMLSchema#decimal",
"@value": "-80.22953"
},
"longitude": {
"@type": "http://www.w3.org/2001/XMLSchema#decimal",
"@value": "26.89854"
},
"plus_four_postal_code": "3512",
"postal_code": "33478",
"sequence_number": "12274",
"state_code": "FL",
"street_name": "150th Ln N"
},
"has_appliance": [
{
"@id": "01J17WAPBX70H0YY9WQMKQ0TFF",
"@type": "appliance",
"appliance_type": "Washer"
},
{
"@id": "01J17WAPBX0RD6N57C93HEJJPM",
"@type": "appliance",
"appliance_type": "WaterSoftenerOwned"
},
{
"@id": "01J17WAPBXK7RQE050QSWCDMPQ",
"@type": "appliance",
"appliance_type": "Refrigerator"
},
{
"@id": "01J17WAPBXD3XY93XB4T8VAGM0",
"@type": "appliance",
"appliance_type": "Microwave"
},
{
"@id": "01J17WAPBXTEYZHZTHDTRTVF51",
"@type": "appliance",
"appliance_type": "GasWaterHeater"
},
{
"@id": "01J17WAPBXYGG2TXE5NNGECY7C",
"@type": "appliance",
"appliance_type": "GasRange"
},
{
"@id": "01J17WAPBX4AMFY6K66XFA7PFK",
"@type": "appliance",
"appliance_type": "Dishwasher"
},
{
"@id": "01J17WAPBXW7M1PH3K894EMXAA",
"@type": "appliance",
"appliance_type": "Dryer"
},
{
"@id": "01J17WAPBXGMFJV2KJHA1HCBG0",
"@type": "appliance",
"appliance_type": "BuiltInOven"
}
],
"has_exterior": [
{
"@id": "01J17WAPBX7HP9CJ34AM2A3QA0",
"@type": "exterior",
"parking_type": "GarageDoorOpener"
},
{
"@id": "01J17WAPBXNZ9EX8E0ZHA35JT5",
"@type": "exterior",
"parking_type": "TwoOrMoreSpaces"
},
{
"@id": "01J17WAPBX0ZZZK5DSJEWRB9NW",
"@type": "exterior",
"parking_type": "Other",
"parking_type_other_description": "RV Access/Parking"
},
{
"@id": "01J17WAPBXGZ1JASW2ZAMMN1B5",
"@type": "exterior",
"parking_type": "Other",
"parking_type_other_description": "Open"
},
{
"@id": "01J17WAPBX4P828R02XRMBVYJ4",
"@type": "exterior",
"parking_type": "Other",
"parking_type_other_description": "Guest"
},
{
"@id": "01J17WAPBXTRMMQ944K216C9KF",
"@type": "exterior",
"parking_type": "Other",
"parking_type_other_description": "Golf Cart Garage"
},
{
"@id": "01J17WAPBX5J7BBA26Q56SMWWE",
"@type": "exterior",
"parking_type": "Garage"
},
{
"@id": "01J17WAPBX44Z547DBP8T2PE6N",
"@type": "exterior",
"parking_type": "Driveway"
},
{
"@id": "01J17WAPBXY00DKQTSM7MNMQ8A",
"@type": "exterior",
"parking_type": "Other",
"parking_type_other_description": "Covered"
},
{
"@id": "01J17WAPBXRPE71NEQHQDKSH7P",
"@type": "exterior",
"parking_type": "CircularDriveway"
},
{
"@id": "01J17WAPBXCRTKHXQWF1CV2Y6T",
"@type": "exterior",
"parking_type": "Attached"
}
],
"has_structure": [
{
"@id": "01J17WAPBXRVE16C04VG31EXT2",
"@type": "structure",
"window_type": "ImpactGlass"
},
{
"@id": "01J17WAPBX2PQ23SS998W2DRR1",
"@type": "structure",
"window_type": "Other",
"window_type_other_description": "Blinds"
},
{
"@id": "01J17WAPBXJERD12ST5XXV9P0Y",
"@type": "structure",
"roof_type": "Other",
"roof_type_other_description": "Metal"
},
{
"@id": "01J17WAPBXE64385CRBCERXA75",
"@type": "structure",
"construction_material_type": "Block"
},
{
"@id": "01J17WAPBXNCM0BXDP15G53TJV",
"@type": "structure",
"flooring_type": "Other",
"flooring_type_other_description": "Vinyl"
},
{
"@id": "01J17WAPBXP1Q2X4QXY79PQ77C",
"@type": "structure",
"flooring_type": "Other",
"flooring_type_other_description": "Carpet"
}
],
"has_utility": [
{
"@id": "01J17WAPBYNF3MVD9RFTFJ2Z96",
"@type": "utility",
"cooling_system_type": "Electric"
},
{
"@id": "01J17WAPBYJ8R7208NBEVTA04J",
"@type": "utility",
"cooling_system_type": "Other",
"cooling_system_type_other_description": "Ceiling Fan(s)"
},
{
"@id": "01J17WAPBY2EVRGT1T7WW0CJQ0",
"@type": "utility",
"cooling_system_type": "CentralAir"
},
{
"@id": "01J17WAPBYSB8G88NT0MEQ8VK2",
"@type": "utility",
"water_source_type": "Well"
},
{
"@id": "01J17WAPBYD06T872GT0V97VVW",
"@type": "utility",
"public_utility_type": "Other",
"public_utility_type_other_description": "Natural Gas Available"
},
{
"@id": "01J17WAPBY9D4HSC1WA766C22X",
"@type": "utility",
"public_utility_type": "ElectricityAvailable"
},
{
"@id": "01J17WAPBY60D4C50AJQKPK6ZG",
"@type": "utility",
"public_utility_type": "CableAvailable"
},
{
"@id": "01J17WAPBYY14KBZBP15AC92D0",
"@type": "utility",
"sewer_type": "Septic"
},
{
"@id": "01J17WAPBY6MJDPW9VSWRGXGWE",
"@type": "utility",
"heating_system_type": "Central"
}
],
"property_structure_built_year": {
"@type": "http://www.w3.org/2001/XMLSchema#integer",
"@value": "2021"
},
"property_type": "SingleFamily",
"stories_count": {
"@type": "http://www.w3.org/2001/XMLSchema#integer",
"@value": "1"
},
"subdivision": "Jupiter Farms",
"total_room_count": {
"@type": "http://www.w3.org/2001/XMLSchema#integer",
"@value": "7"
}
},
"lead_identifier": "01J17WAPBYY5A3C3EB342K1TRT",
"has_real_estate_agent_notes": [
{
"@id": "01J1C80RB815MHH1VH81Y5FGRF",
"@type": "chat_message",
"message_content": "Real Estate Agent left a chat card on Walter Arrington's gate.",
"message_datetime": "2024-06-27T07:02:06.811085"
},
{
"@id": "01J1CCFY9D7ZHFJZAP7ZGBBX63",
"@type": "chat_message",
"message_content": "Left ChatMTG card to Walter Arrington",
"message_datetime": "2024-06-27T08:20:18.725224"
},
{
"@id": "01J1FT99PVPP87YDGM9S73J9R3",
"@type": "chat_message",
"message_content": "Real Estate Agent left a chat card on Walter Arrington's gate on June 27, 2024.",
"message_datetime": "2024-06-28T16:19:04.387580"
},
{
"@id": "01J1FT9CY58CQEAZXNWDAKQXDQ",
"@type": "chat_message",
"message_content": "Real Estate Agent left a chat card to Walter Arrington on June 27, 2024.",
"message_datetime": "2024-06-28T16:19:07.711293"
},
{
"@id": "01J1PS2PZZM3ZD0CJN78KWMFH0",
"@type": "chat_message",
"message_content": "Generated icebreaker prompts for Walter Arrington.",
"message_datetime": "2024-07-01T09:12:41.075499"
},
{
"@id": "01J1Q0N1K9J744E80KGB10ENJX",
"@type": "chat_message",
"message_content": "Client is ready to move the listing.",
"message_datetime": "2024-07-01T11:25:01.786014"
},
{
"@id": "01J1Q0S1XDZ1PDWYWT76WFAD7J",
"@type": "chat_message",
"message_content": "Broker's name is Alex Taylor.",
"message_datetime": "2024-07-01T11:27:13.173127"
},
{
"@id": "01J1Q6NNHMFFMVNYCCC47AQE0J",
"@type": "chat_message",
"message_content": "Lead Walter Arrington is ready to move the listing at 12274 150th Ln N, Jupiter, FL, 33478.",
"message_datetime": "2024-07-01T13:10:13.661928"
},
{
"@id": "01J1Q6SBS0FHG9HE1GNEMAP7SF",
"@type": "chat_message",
"message_content": "The lead, Walter Arrington, has agreed to move the listing.",
"message_datetime": "2024-07-01T13:12:14.625923"
},
{
"@id": "01J1Q6VCTHREFN9ESZF583XFK6",
"@type": "chat_message",
"message_content": "The lead agreed to move the listing.",
"message_datetime": "2024-07-01T13:13:21.328873"
},
{
"@id": "01J1Q6YA254NY7TXN8D7ZKGKFD",
"@type": "chat_message",
"message_content": "Lead Walter Arrington is ready to move the listing",
"message_datetime": "2024-07-01T13:14:56.831426"
},
{
"@id": "01J1Q7339B8VFYKDRWV80RBFK2",
"@type": "chat_message",
"message_content": "The client, Walter Arrington, is ready to move the listing for the property at 12274 150th Ln N, Jupiter, FL, 33478.",
"message_datetime": "2024-07-01T13:17:33.721484"
},
{
"@id": "01J1Q76MAZXZAW4CV0WXZYN8CX",
"@type": "chat_message",
"message_content": "The client, Walter Arrington, is ready to move the listing at 12274 150th Ln N, Jupiter, FL, 33478.",
"message_datetime": "2024-07-01T13:19:29.481406"
},
{
"@id": "01J1Q7B2CJTT3KXW75Q2H8VPEJ",
"@type": "chat_message",
"message_content": "Lead Walter Arrington is ready to move the listing",
"message_datetime": "2024-07-01T13:21:54.944470"
},
{
"@id": "01J1Q7ZRVY0PXKH5RSJZBGFMQQ",
"@type": "chat_message",
"message_content": "Lead Walter Arrington agreed to move the listing for the property at 12274 150th Ln N, Jupiter, FL, 33478",
"message_datetime": "2024-07-01T13:33:13.339853"
},
{
"@id": "01J1Q91P0QH4BZZVYV9TV07VB1",
"@type": "chat_message",
"message_content": "The client is ready to move their listing.",
"message_datetime": "2024-07-01T13:51:44.524739"
},
{
"@id": "01J1Q91VSB3WTVDYR1TKC0SN3A",
"@type": "chat_message",
"message_content": "Walter Arrington is ready to move the listing for the property at 12274 150th Ln N, Jupiter, FL, 33478.",
"message_datetime": "2024-07-01T13:51:50.423623"
},
{
"@id": "01J1Q91WP9DA3KW86B6801B3QA",
"@type": "chat_message",
"message_content": "The lead, Walter Arrington, is ready to move the listing.",
"message_datetime": "2024-07-01T13:51:51.362478"
},
{
"@id": "01J1Q91Z7XXGNFCH80AEMGCZ6X",
"@type": "chat_message",
"message_content": "Lead agreed to move the listing.",
"message_datetime": "2024-07-01T13:51:53.977552"
},
{
"@id": "01J1Q9212950NFAZPZDS7RWT2R",
"@type": "chat_message",
"message_content": "Lead Walter Arrington is ready to move the listing for the property at 12274 150th Ln N, Jupiter, FL, 33478.",
"message_datetime": "2024-07-01T13:51:55.837267"
},
{
"@id": "01J1Q9FD2CJ6ME5SDM52BZ9H6G",
"@type": "chat_message",
"message_content": "Walter Arrington agreed to move the listing.",
"message_datetime": "2024-07-01T13:59:14.114412"
},
{
"@id": "01J1Q9FEJGR0WYGQSWVZ4DC2R6",
"@type": "chat_message",
"message_content": "Lead agreed to move the listing to us.",
"message_datetime": "2024-07-01T13:59:15.639663"
},
{
"@id": "01J1Q9M9T9HPPP8MTKB74YKV0S",
"@type": "chat_message",
"message_content": "Lead agreed to move the listing.",
"message_datetime": "2024-07-01T14:01:54.618791"
},
{
"@id": "01J1Q9MF109ARJ3JJJ7PNDM1NA",
"@type": "chat_message",
"message_content": "Walter Arrington is ready to move the listing for the property at 12274 150th Ln N, Jupiter, FL, 33478.",
"message_datetime": "2024-07-01T14:01:59.959381"
},
{
"@id": "01J1Q9RBJWDDJJPQX4BYYAEES1",
"@type": "chat_message",
"message_content": "Lead Walter Arrington agreed to move the listing.",
"message_datetime": "2024-07-01T14:04:07.499670"
},
{
"@id": "01J1Q9RBM9VWD2F716MP2VAWPH",
"@type": "chat_message",
"message_content": "The lead expressed readiness to move his listing.",
"message_datetime": "2024-07-01T14:04:07.551797"
},
{
"@id": "01J1QA4VXAXPWXF5WC2JSS9R0B",
"@type": "chat_message",
"message_content": "Walter Arrington is ready to move his listing.",
"message_datetime": "2024-07-01T14:10:57.425425"
},
{
"@id": "01J1QA4X1MVZA90Z35ZH5GMY9A",
"@type": "chat_message",
"message_content": "Walter Arrington is ready to move the listing.",
"message_datetime": "2024-07-01T14:10:58.601251"
},
{
"@id": "01J1QAEGZF23F0WPAB0C54FFEY",
"@type": "chat_message",
"message_content": "Lead agreed to move the listing.",
"message_datetime": "2024-07-01T14:16:13.922487"
},
{
"@id": "01J1QAEMY0R0CMP39JS7B4QZ2J",
"@type": "chat_message",
"message_content": "Walter Arrington is ready to move the listing.",
"message_datetime": "2024-07-01T14:16:17.977624"
},
{
"@id": "01J1QAMBS15KANVMB4Z7PM8DK9",
"@type": "chat_message",
"message_content": "Lead Walter Arrington is ready to move the listing.",
"message_datetime": "2024-07-01T14:19:25.176210"
},
{
"@id": "01J1QAMJTPPGC3QG4V9QPKEZ7M",
"@type": "chat_message",
"message_content": "Walter Arrington is ready to move the listing.",
"message_datetime": "2024-07-01T14:19:32.409926"
},
{
"@id": "01J1QAMPEGC9ZF5B2XMX6XKPNC",
"@type": "chat_message",
"message_content": "Lead agrees to move the listing.",
"message_datetime": "2024-07-01T14:19:36.131188"
},
{
"@id": "01J1QB4XEG2MVY8TDPEHT6S0A3",
"@type": "chat_message",
"message_content": "Lead WALTER ARRINGTON has agreed to move the listing at 12274 150th Ln N, Jupiter, FL, 33478.",
"message_datetime": "2024-07-01T14:28:27.600725"
},
{
"@id": "01J1QB50AZARAZKZ9R96KGBX1C",
"@type": "chat_message",
"message_content": "The lead is ready to move the listing.",
"message_datetime": "2024-07-01T14:28:30.547010"
},
{
"@id": "01J1QB53YPWRA29RR4Z7YJZ98D",
"@type": "chat_message",
"message_content": "Lead is ready to move their listing.",
"message_datetime": "2024-07-01T14:28:34.246355"
},
{
"@id": "01J1QB9GP4T8Y2R1Q4V609NCVX",
"@type": "chat_message",
"message_content": "Client Walter Arrington is ready to move the listing at 12274 150th Ln N, Jupiter, FL, 33478.",
"message_datetime": "2024-07-01T14:30:58.345685"
},
{
"@id": "01J1QB9JY449NERKQK7RR9RPB6",
"@type": "chat_message",
"message_content": "The client, Walter Arrington, is ready to move the listing.",
"message_datetime": "2024-07-01T14:31:00.662517"
},
{
"@id": "01J1QB9QYCR3D7AYANQ4ZWBST7",
"@type": "chat_message",
"message_content": "Lead agreed to move their listing.",
"message_datetime": "2024-07-01T14:31:05.785133"
},
{
"@id": "01J1QC5BD0HXAFJGZJBZ43WY27",
"@type": "chat_message",
"message_content": "Lead is ready to move the listing.",
"message_datetime": "2024-07-01T14:46:10.442077"
},
{
"@id": "01J1QC5DMCVYQESSTQ8FT0JDNZ",
"@type": "chat_message",
"message_content": "Lead is ready to move the listing.",
"message_datetime": "2024-07-01T14:46:12.735697"
},
{
"@id": "01J1QDAKJ57R02QY94EXC3WVG4",
"@type": "chat_message",
"message_content": "Generated tailored icebreaker prompts for Walter Arrington.",
"message_datetime": "2024-07-01T15:06:31.223288"
},
{
"@id": "01J1QEEBS5YEB6XHQPVWAN1C7W",
"@type": "chat_message",
"message_content": "Walter Arrington is ready to move their listing.",
"message_datetime": "2024-07-01T15:26:02.909692"
},
{
"@id": "01J1QEECDWV89MQ9A1FRG38W1Q",
"@type": "chat_message",
"message_content": "Walter Arrington is ready to move the listing.",
"message_datetime": "2024-07-01T15:26:03.572510"
},
{
"@id": "01J1QEECKX37Q78GWH67N1GNH1",
"@type": "chat_message",
"message_content": "The client WALTER ARRINGTON is ready to move the listing.",
"message_datetime": "2024-07-01T15:26:03.760093"
},
{
"@id": "01J1QEFFMF03H76C1AMPDP198A",
"@type": "chat_message",
"message_content": "Client Walter Arrington has agreed to move the listing for the property at 12274 150th Ln N, Jupiter, FL, 33478.",
"message_datetime": "2024-07-01T15:26:39.616660"
},
{
"@id": "01J1QEN6WPK7PFWWAT825243YJ",
"@type": "chat_message",
"message_content": "Walter Arrington agreed to move the listing for the property at 12274 150th Ln N, Jupiter, FL, 33478.",
"message_datetime": "2024-07-01T15:29:47.280712"
},
{
"@id": "01J1QFD3JBT2NN01H3Q998H4X9",
"@type": "chat_message",
"message_content": "Borrower is ready to move their listing.",
"message_datetime": "2024-07-01T15:42:50.311125"
},
{
"@id": "01J1SC35PMQP4MB3V2WC9RVPWN",
"@type": "chat_message",
"message_content": "Lead Walter Arrington agreed to move their listing.",
"message_datetime": "2024-07-02T09:23:27.948810"
},
{
"@id": "01J1SC8BKT3E68CEKQT0J4BVJ2",
"@type": "chat_message",
"message_content": "The borrower, Walter Arrington, agreed to move their listing.",
"message_datetime": "2024-07-02T09:26:17.838358"
},
{
"@id": "01J1SCWRFKEKSSQ0PCH66VKFJN",
"@type": "chat_message",
"message_content": "WALTER ARRINGTON is ready to move the listing.",
"message_datetime": "2024-07-02T09:37:26.368239"
},
{
"@id": "01J1SCWS9M6GW0TZET9XYVQP83",
"@type": "chat_message",
"message_content": "WALTER ARRINGTON is ready to move the listing.",
"message_datetime": "2024-07-02T09:37:27.211964"
},
{
"@id": "01J1SCWSH1SNCXDVMKNFEDDC0W",
"@type": "chat_message",
"message_content": "Lead expressed readiness to move the listing.",
"message_datetime": "2024-07-02T09:37:27.449811"
},
{
"@id": "01J210ES4JYCMC5TD22CEF8ZCH",
"@type": "chat_message",
"message_content": "Borrower agreed to move their listing.",
"message_datetime": "2024-07-05T08:34:00.841450"
}
]
}
}
}
{
"message": "Please check the key you used to call this service",
"url": "https://staircase.stoplight.io/docs/api-reference/customer-account-manager-service.yml/paths/~1products~1refresh/post"
}
application/json
The product has encountered an internal server error. If possible, please contact Staircase support with the transaction_id you used.
{
"message": "The product has encountered an internal server error. If you have used a transaction_id to call our services, please submit it to Staircase support"
}
Parameters
2
Parameter
Type
Example
Description
x-api-keyrequired
stringheader
—
adapter.staircaseapi.com environment API key.
blob_idrequired
stringpath
01EZY9J8SEFM2JKDJ1Q3YX65HS
Blob identifier
Response 200application/json
4 fields
Blob retrieved successfully.
Field
Type
Description
blob_id
string
Blob ID
extension
string
File extension
message
string
Blob retrieved successfully.
presigned_urls
object
Presigned URL
Response 403application/json
2 fields
Invalid key for service
Field
Type
Description
message
string
—
url
string
—
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.
Field
Type
Description
message
string
—
Other responses
400404
POST/blobs/{blob_id}
Upload blob
Parameters
1
Parameter
Type
Description
blob_idrequired
stringpath
Blob id
Other responses
200
GET/blobs/{blob_id}/presigned-urls
Retrieve Presigned URLs
retrievePresignedUrls
Retrieve Presigned URLs retrieves, for a given blob_id, presigned URLs for uploading and downloading the blob to and from Staircase.
{
"message": "Please check the key you used to call this service",
"url": "https://staircase.stoplight.io/docs/api-reference/customer-account-manager-service.yml/paths/~1products~1refresh/post"
}
Parameters
2
Parameter
Type
Example
Description
x-api-keyrequired
stringheader
—
adapter.staircaseapi.com environment API key.
blob_idrequired
stringpath
01EZY9J8SEFM2JKDJ1Q3YX65HS
Blob identifier
Response 200application/json
1 fields
Presigned URLs retrieved successfully.
Field
Type
Description
presigned_urls
object
—
Response 403application/json
2 fields
Invalid key for service
Field
Type
Description
message
string
—
url
string
—
Other responses
400404
GET/blobs/{blob_id}/presigned-urls/{action}
Retrieve Presigned URL for Action
retrievePresignedUrl
Retrieve Presigned URL for Action retrieves a presigned URL for a specific action. An action can be download or upload.
{
"message": "Please check the key you used to call this service",
"url": "https://staircase.stoplight.io/docs/api-reference/customer-account-manager-service.yml/paths/~1products~1refresh/post"
}
application/json
The product has encountered an internal server error. If possible, please contact Staircase support with the transaction_id you used.
{
"message": "The product has encountered an internal server error. If you have used a transaction_id to call our services, please submit it to Staircase support"
}
Parameters
3
Parameter
Type
Example
Description
x-api-keyrequired
stringheader
—
adapter.staircaseapi.com environment API key.
blob_idrequired
stringpath
01EZY9J8SEFM2JKDJ1Q3YX65HS
Blob identifier
actionrequired
stringpath
upload
Possible actions:
- upload
- download
Response 200application/json
1 fields
Presigned URL retrieved successfully.
Field
Type
Description
url
string
Presigned url
Response 403application/json
2 fields
Invalid key for service
Field
Type
Description
message
string
—
url
string
—
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.
Field
Type
Description
message
string
—
Other responses
400404
PUT/blobs/{blob_id}/presigned-urls/{action}
Create Presigned URL
createPresignedUrl
Create Presigned URL creates a presigned URL in Staircase. The presigned URL is used to upload or download a blob (document). It expires one hour after creation.
{
"message": "Please check the key you used to call this service",
"url": "https://staircase.stoplight.io/docs/api-reference/customer-account-manager-service.yml/paths/~1products~1refresh/post"
}
Parameters
3
Parameter
Type
Example
Description
x-api-keyrequired
stringheader
—
adapter.staircaseapi.com environment API key.
blob_idrequired
string (ulid)path
01EZQ32PJQGKRA6HR8D72Q9FFF
Blob id
actionrequired
stringpath
upload
Action, one of one of ['upload', 'donwload']
Response 200application/json
1 fields
Presigned URL created successfully.
Field
Type
Description
presigned_urls
object
—
Response 403application/json
2 fields
Invalid key for service
Field
Type
Description
message
string
—
url
string
—
Other responses
400404
POST/blobs/upload/{blob_id}
Upload Blob
uploadBlob
Upload Blob uploads a document (blob) to a presigned URL via the HTML Request Maker.
Try It Out:
Place your api_key in the request header, your blob_id in the path parameter
Set the request body to binary and browse to your document.
Click Send to upload your document.
This service should be used in the HTML Request Maker Try it Out only.
To upload a document within code, you need to use a PUT request to the presigned URL returned into the Create Blob response body.
Show the rest
import requests
# Create Blob endpoint returns blob_id and upload presigned url
# For example, the presigned_url might look like this:
presigned_url = ""
# Set the path to the file you want to upload
filepath = "document.pdf"
# Set the headers appropriately
headers = {
'Content-Type': 'application/pdf'
}
# Read the file data and make the PUT request
with open(filepath, 'rb') as file:
payload = file.read
response = requests.put(url=upload_presigned_url, headers=headers, data=payload)
Request
application/octet-stream
Select option 'binary' in order to upload file
Response
application/json
Blob uploaded
{
"message": "Blob uploaded."
}
application/json
Invalid key for service
{
"message": "Please check the key you used to call this service",
"url": "https://staircase.stoplight.io/docs/api-reference/customer-account-manager-service.yml/paths/~1products~1refresh/post"
}
application/json
The product has encountered an internal server error. If possible, please contact Staircase support with the transaction_id you used.
{
"message": "The product has encountered an internal server error. If you have used a transaction_id to call our services, please submit it to Staircase support"
}
Parameters
2
Parameter
Type
Example
Description
x-api-keyrequired
stringheader
—
adapter.staircaseapi.com environment API key.
blob_idrequired
stringpath
01EZY9HV24XQDGMNEPPXDNK0FY
Blob identifier
Response 200application/json
1 fields
Blob uploaded
Field
Type
Description
message
string
Blob uploaded
Response 403application/json
2 fields
Invalid key for service
Field
Type
Description
message
string
—
url
string
—
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.
Field
Type
Description
message
string
—
Other responses
400404405
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:
Invoke Retrieve Request Elements to get an array of product request elements.
Place the output from Retrieve Request 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 must be replaced with your own.
To retrieve the product response schema:
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.
{
"message": "{'data': ['Missing data for required field.']}"
}
application/json
Invalid key for service
{
"message": "Please check the key you used to call this service",
"url": "https://staircase.stoplight.io/docs/api-reference/customer-account-manager-service.yml/paths/~1products~1refresh/post"
}
application/json
The product has encountered an internal server error. If possible, please contact Staircase support with the transaction_id you used.
{
"message": "The product has encountered an internal server error. If you have used a transaction_id to call our services, please submit it to Staircase support"
}
Parameters
1
Parameter
Type
Description
x-api-keyrequired
stringheader
adapter.staircaseapi.com environment API key.
Response 400application/json
1 fields
Request data failed validation
Field
Type
Description
message
string
Message
Response 403application/json
2 fields
Invalid key for service
Field
Type
Description
message
string
—
url
string
—
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.
Field
Type
Description
message
string
—
Other responses
200
POST/create_blob_from_content
Create Blob from Partner content
createBlobFromContent
Create Blob from Partner content will create a blob from the content that a partner has returned. The payload will be the extension path of the blob to be created in the vendor response object, content_path is the path of the content element in the vendor response object.
Response
application/json
Presigned URLs retrieved successfully.
{
"blob_id": "01F739J4XDSNCZMMJSJCB83PCQ"
}
application/json
Invalid body request.
{
"message": "Unable to retrieve url"
}
application/json
Invalid body request.
{
"message": "Unable to extract data from URL"
}
application/json
Invalid key for service
{
"message": "Please check the key you used to call this service",
"url": "https://staircase.stoplight.io/docs/api-reference/customer-account-manager-service.yml/paths/~1products~1refresh/post"
}
application/json
The server understands the content type of the request entity, and the syntax of the request entity is correct but was unable to process the contained instructions.
{
"message": "The product has encountered an internal server error. If you have used a transaction_id to call our services, please submit it to Staircase support"
}
application/json
The product has encountered an internal server error. If possible, please contact Staircase support with the transaction_id you used.
{
"message": "The product has encountered an internal server error. If you have used a transaction_id to call our services, please submit it to Staircase support"
}
Parameters
1
Parameter
Type
Description
x-api-keyrequired
stringheader
adapter.staircaseapi.com environment API key.
Request bodyapplication/json
5 fields
Field
Type
Description
extension_path
string
JSON path where the extension is in the response object. If it is not specified, extension will be "pdf".Example $.DocumentExension
content_pathrequired
string
JSON path where the actual content is in the response object.Example $.DocumentData
decode_from_base64
boolean
Need to decode a content from base64.
encode_to_base64
boolean
Need to encode a content to base64.
urlrequired
string
URL with the partner response.Example https://google.com
Response 201application/json
1 fields
Presigned URLs retrieved successfully.
Field
Type
Description
blob_id
string
—
Response 400application/json
1 fields
Invalid body request.
Field
Type
Description
message
string
—
Response 403application/json
2 fields
Invalid key for service
Field
Type
Description
message
string
—
url
string
—
Response 422application/json
1 fields
The server understands the content type of the request entity, and the syntax of the request entity is correct but was unable to process the contained instructions.
Field
Type
Description
message
string
—
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.
{
"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
Parameter
Type
Example
Description
x-api-keyrequired
stringheader
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Authorization key
Request bodyapplication/json
3 fields
Field
Type
Description
transaction_idrequired
string
Transaction ID
collection_idrequired
string
Collection ID
partner_namerequired
string
—
Response 200application/json
2 fields
Document Creation request created successfully.
Field
Type
Description
collection_id
string
Collection ID
message
string
Message
GET/document-creation/elements
Retrieve Elements
get-document-creation-elements
Retrieve Elements provides a list of the elements needed to invoke a partner product.
Parameters
1
Parameter
Type
Example
Description
x-api-keyrequired
stringheader
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Authorization key
Response 200application/json
1 fields
Elements needed for request.
Field
Type
Description
elements
object
List of elements
POST/document-creation/elements/complete
Validate Collection
post-document-creation-collection-complete
Validate Collection validates that a collection contains all of the elements needed to invoke a partner product.
Create Transaction creates a transaction in Staircase.
A transaction in Staircase is an acknowledgement that you want to call a Staircase product. It's a container for everything associated with that product invocation, and is correlated with a collection related to the product (e.g. a document).
You need to create a new transaction every time you want to connect with a Staircase product. Staircase then associates everything, from a data and API execution standpoint, to that transaction.
Invoke Specific Product Flow helps you to invoke specific product flow, this endpoint shall:
Validate the input transaction_id, request_collection_id, response_collection_id if provided.
Create transaction if the transaction_id was not provided
Create input collection with the request_data provided if the request_collection_id was not provided.
Create empty output collection if the response_collection_id was not provided.
Validate the provided product name and the product flow name
Retrieve the product flow information associated to the provided Product Flow Name
Show the rest
i>Translate the input collection from Staircase language to Vendor language if `input_translation_language' was configured for the product flow.
Run the connector flow associated to the Product Flow Name
Set the status, connector invocation_id and output_translation_language that will be used to translate the results from Vendor Language to Staircase language if output_translation_language was configured for the product flow.
{
"message": "Please check the key you used to call this service",
"url": "https://staircase.stoplight.io/docs/api-reference/customer-account-manager-service.yml/paths/~1products~1refresh/post"
}
application/json
The product has encountered an internal server error. If possible, please contact Staircase support with the transaction_id you used.
{
"message": "The product has encountered an internal server error. If you have used a transaction_id to call our services, please submit it to Staircase support"
}
Parameters
1
Parameter
Type
Description
x-api-keyrequired
stringheader
adapter.staircaseapi.com environment API key.
Request bodyapplication/json
6 fields
Field
Type
Description
product_flow_name
string
—
transaction_id
string
—
request_collection_id
string
—
response_collection_id
string
—
callback_url
string (uri)
—
request_data
object
—
Response 201application/json
5 fields
Successfully started flow invocation.
Field
Type
Description
invocation_id
string
—
invocation_status
string
—
transaction_id
string
—
request_collection_id
string
—
response_collection_id
string
—
Response 400application/json
1 fields
Request data failed validation
Field
Type
Description
message
one of
—
Response 403application/json
2 fields
Invalid key for service
Field
Type
Description
message
string
—
url
string
—
Response 404application/json
1 fields
Resource not found
Field
Type
Description
message
string
Message
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.
{
"message": "Please check the key you used to call this service",
"url": "https://staircase.stoplight.io/docs/api-reference/customer-account-manager-service.yml/paths/~1products~1refresh/post"
}
application/json
The product has encountered an internal server error. If possible, please contact Staircase support with the transaction_id you used.
{
"message": "The product has encountered an internal server error. If you have used a transaction_id to call our services, please submit it to Staircase support"
}
Parameters
2
Parameter
Type
Example
Description
x-api-keyrequired
stringheader
—
adapter.staircaseapi.com environment API key.
invocation_idrequired
string (ulid)path
01F0KHKADN0HRFXMCQQXPA6AFZ
Product flow invocation identifier
Response 200application/json
5 fields
Successfully returned status of the Product flow Invocation.
Field
Type
Description
invocation_status
string
—
updated_at
string
—
transaction_id
string
—
request_collection_id
string
—
response_collection_id
string
—
Response 400application/json
1 fields
Request data failed validation
Field
Type
Description
message
string
Message
Response 403application/json
2 fields
Invalid key for service
Field
Type
Description
message
string
—
url
string
—
Response 404application/json
1 fields
Resource not found
Field
Type
Description
message
string
Message
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.
Field
Type
Description
message
string
—
GET/products/ide-output-adapter/request-elements
Retrieve Request Elements
requestElements
Retrieve Request Elements retrieves a list of elements needed to invoke a data partner for product function invocation.
Response
application/json
Example for the Product Invocation Request Elements object
{
"elements": [
"$.file_data_id"
]
}
application/json
Validation Error
{
"message": "3 is not of type 'string'. Failed validating 'type' in schema['properties']['deal_sets']['items'][0]['properties']['parties']['items'][0]['properties']['customer_transaction_ID']:"
}
application/json
Invalid key for service
{
"message": "Please check the key you used to call this service",
"url": "https://staircase.stoplight.io/docs/api-reference/customer-account-manager-service.yml/paths/~1products~1refresh/post"
}
application/json
Resource not found
{
"message": "Product with name superproduct is not found."
}
application/json
The product has encountered an internal server error. If possible, please contact Staircase support with the transaction_id you used.
{
"message": "The product has encountered an internal server error. If you have used a transaction_id to call our services, please submit it to Staircase support"
}
Parameters
1
Parameter
Type
Description
x-api-keyrequired
stringheader
adapter.staircaseapi.com environment API key.
Response 200application/json
1 fields
Elements were retrieved successfully
Field
Type
Description
elementsrequired
string[]
—
Response 400application/json
1 fields
Validation Error
Field
Type
Description
message
string
Message
Response 403application/json
2 fields
Invalid key for service
Field
Type
Description
message
string
—
url
string
—
Response 404application/json
1 fields
Resource not found
Field
Type
Description
message
string
Message
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.
Validate Collection allows you to validate an input collection prior to submitting to our partners for a specific product.
This endpoint will give messages with all the corrections you need to make to your collection in order for it to be accepted by our partner call.
{
"message": "3 is not of type 'string'. Failed validating 'type' in schema['properties']['deal_sets']['items'][0]['properties']['parties']['items'][0]['properties']['customer_transaction_ID']:"
}
application/json
Invalid key for service
{
"message": "Please check the key you used to call this service",
"url": "https://staircase.stoplight.io/docs/api-reference/customer-account-manager-service.yml/paths/~1products~1refresh/post"
}
application/json
Resource not found
{
"message": "Product with name superproduct is not found."
}
application/json
The product has encountered an internal server error. If possible, please contact Staircase support with the transaction_id you used.
{
"message": "The product has encountered an internal server error. If you have used a transaction_id to call our services, please submit it to Staircase support"
}
Parameters
1
Parameter
Type
Description
x-api-keyrequired
stringheader
adapter.staircaseapi.com environment API key.
Request bodyapplication/json
1 fields
Field
Type
Description
deal_sets
object
—
deal_set
object[]
—
deals
object
—
deal
object[]
—
Response 200application/json
1 fields
Collection is valid
Field
Type
Description
message
string
Message
Response 400application/json
1 fields
Validation Error
Field
Type
Description
message
string
Message
Response 403application/json
2 fields
Invalid key for service
Field
Type
Description
message
string
—
url
string
—
Response 404application/json
1 fields
Resource not found
Field
Type
Description
message
string
Message
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.
Field
Type
Description
message
string
—
GET/products/ide-output-adapter/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.
{
"message": "Please provide one of valid return examples values: true, false"
}
application/json
Invalid key for service
{
"message": "Please check the key you used to call this service",
"url": "https://staircase.stoplight.io/docs/api-reference/customer-account-manager-service.yml/paths/~1products~1refresh/post"
}
application/json
Resource not found
{
"message": "Product with name superproduct is not found."
}
application/json
The product has encountered an internal server error. If possible, please contact Staircase support with the transaction_id you used.
{
"message": "The product has encountered an internal server error. If you have used a transaction_id to call our services, please submit it to Staircase support"
}
Parameters
2
Parameter
Type
Description
x-api-keyrequired
stringheader
adapter.staircaseapi.com environment API key.
return_examples
booleanquery
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.
Field
Type
Description
schema
object
—
Response 400application/json
1 fields
Error
Field
Type
Description
message
string
Message
Response 403application/json
2 fields
Invalid key for service
Field
Type
Description
message
string
—
url
string
—
Response 404application/json
1 fields
Resource not found
Field
Type
Description
message
string
Message
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.
Field
Type
Description
message
string
—
GET/products/ide-output-adapter/response-elements
Retrieve Response Elements
responseElements
Retrieve Response Elements provides a list of elements that will be returned by a data partner after invoking the product.
Response
application/json
Example for the Product Invocation Request Elements object
{
"elements": "not implemented."
}
application/json
Validation Error
{
"message": "3 is not of type 'string'. Failed validating 'type' in schema['properties']['deal_sets']['items'][0]['properties']['parties']['items'][0]['properties']['customer_transaction_ID']:"
}
application/json
Invalid key for service
{
"message": "Please check the key you used to call this service",
"url": "https://staircase.stoplight.io/docs/api-reference/customer-account-manager-service.yml/paths/~1products~1refresh/post"
}
application/json
Resource not found
{
"message": "Product with name superproduct is not found."
}
application/json
The product has encountered an internal server error. If possible, please contact Staircase support with the transaction_id you used.
{
"message": "The product has encountered an internal server error. If you have used a transaction_id to call our services, please submit it to Staircase support"
}
Parameters
1
Parameter
Type
Description
x-api-keyrequired
stringheader
adapter.staircaseapi.com environment API key.
Response 200application/json
1 fields
Elements were retrieved successfully
Field
Type
Description
elementsrequired
string[]
—
Response 400application/json
1 fields
Validation Error
Field
Type
Description
message
string
Message
Response 403application/json
2 fields
Invalid key for service
Field
Type
Description
message
string
—
url
string
—
Response 404application/json
1 fields
Resource not found
Field
Type
Description
message
string
Message
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.
Field
Type
Description
message
string
—
GET/products/ide-output-adapter/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.
{
"message": "Please provide one of valid return examples values: true, false"
}
application/json
Invalid key for service
{
"message": "Please check the key you used to call this service",
"url": "https://staircase.stoplight.io/docs/api-reference/customer-account-manager-service.yml/paths/~1products~1refresh/post"
}
application/json
Resource not found
{
"message": "Product with name superproduct is not found."
}
application/json
The product has encountered an internal server error. If possible, please contact Staircase support with the transaction_id you used.
{
"message": "The product has encountered an internal server error. If you have used a transaction_id to call our services, please submit it to Staircase support"
}
Parameters
2
Parameter
Type
Description
x-api-keyrequired
stringheader
adapter.staircaseapi.com environment API key.
return_examples
booleanquery
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.
Field
Type
Description
schema
object
—
Response 400application/json
1 fields
Error
Field
Type
Description
message
string
Message
Response 403application/json
2 fields
Invalid key for service
Field
Type
Description
message
string
—
url
string
—
Response 404application/json
1 fields
Resource not found
Field
Type
Description
message
string
Message
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.
Field
Type
Description
message
string
—
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
{
"message": "Please check the key you used to call this service",
"url": "https://staircase.stoplight.io/docs/api-reference/customer-account-manager-service.yml/paths/~1products~1refresh/post"
}
application/json
The product has encountered an internal server error. If possible, please contact Staircase support with the transaction_id you used.
{
"message": "The product has encountered an internal server error. If you have used a transaction_id to call our services, please submit it to Staircase support"
}
The product has encountered an internal server error. If possible, please contact Staircase support with the transaction_id you used.
Field
Type
Description
message
string
—
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
{
"message": "Unable to create collection. Please check the collection data"
}
application/json
Invalid key for service
{
"message": "Please check the key you used to call this service",
"url": "https://staircase.stoplight.io/docs/api-reference/customer-account-manager-service.yml/paths/~1products~1refresh/post"
}
application/json
Resource not found
{
"message": "Unable to create collection. Please check the transaction Id"
}
application/json
The product has encountered an internal server error. If possible, please contact Staircase support with the transaction_id you used.
{
"message": "The product has encountered an internal server error. If you have used a transaction_id to call our services, please submit it to Staircase support"
}
Parameters
2
Parameter
Type
Example
Description
x-api-keyrequired
stringheader
—
adapter.staircaseapi.com environment API key.
transaction_idrequired
string (ulid)path
01F0KHK7DN3H5JZ4QJKMYAM6GB
Staircase Transaction Identifier
Request bodyapplication/json
2 fields
Field
Type
Description
data
object
—
documentrequired
object
—
file_data_idrequired
string
—
metadata
—
—
Response 201application/json
4 fields
Collection created successfully
Field
Type
Description
transaction_id
string (ulid)
Transaction idExample 01EZQ32PJQGKRA6HR8D72Q9FFF
collection_id
string (ulid)
Collection idExample 01EZQ32PJQGKRA6HR8D72Q9FFF
data
array
—
metadata
object
Metadata about collection, f.e version of used Staircase schema
Response 400application/json
1 fields
Error
Field
Type
Description
message
one of
—
Response 403application/json
2 fields
Invalid key for service
Field
Type
Description
message
string
—
url
string
—
Response 404application/json
1 fields
Resource not found
Field
Type
Description
message
string
Message
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.
{
"message": "Please check the key you used to call this service",
"url": "https://staircase.stoplight.io/docs/api-reference/customer-account-manager-service.yml/paths/~1products~1refresh/post"
}
application/json
Resource not found
{
"message": "Unable to get collection. Please check the given ids"
}
application/json
Resource not found
{
"message": "Unable to get collections of given transaction. Please check the transaction id"
}
application/json
The product has encountered an internal server error. If possible, please contact Staircase support with the transaction_id you used.
{
"message": "The product has encountered an internal server error. If you have used a transaction_id to call our services, please submit it to Staircase support"
}
Parameters
3
Parameter
Type
Example
Description
x-api-keyrequired
stringheader
—
adapter.staircaseapi.com environment API key.
transaction_idrequired
string (ulid)path
01F0KHK7DN3H5JZ4QJKMYAM6GB
Staircase Transaction Identifier
collection_idrequired
string (ulid)path
01F0KHKADN0HRFXMCQQXPA6AFZ
Staircase collection_id
Response 200application/json
2 fields
Successfully Retrieved Collection
Field
Type
Description
data
object
—
documentrequired
object
—
file_data_idrequired
string
—
metadata
—
—
Response 403application/json
2 fields
Invalid key for service
Field
Type
Description
message
string
—
url
string
—
Response 404application/json
1 fields
Resource not found
Field
Type
Description
message
string
Message
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.
{
"message": "Unable to update collection. Please check the collection data"
}
application/json
Invalid key for service
{
"message": "Please check the key you used to call this service",
"url": "https://staircase.stoplight.io/docs/api-reference/customer-account-manager-service.yml/paths/~1products~1refresh/post"
}
application/json
Resource not found
{
"message": "Unable to update collection. Please check the given ids"
}
application/json
The product has encountered an internal server error. If possible, please contact Staircase support with the transaction_id you used.
{
"message": "The product has encountered an internal server error. If you have used a transaction_id to call our services, please submit it to Staircase support"
}
Parameters
3
Parameter
Type
Example
Description
x-api-keyrequired
stringheader
—
adapter.staircaseapi.com environment API key.
transaction_idrequired
string (ulid)path
01F0KHK7DN3H5JZ4QJKMYAM6GB
Staircase Transaction Identifier
collection_idrequired
string (ulid)path
01F0KHKADN0HRFXMCQQXPA6AFZ
Staircase collection_id
Request bodyapplication/json
2 fields
Field
Type
Description
data
object
—
documentrequired
object
—
file_data_idrequired
string
—
metadata
—
—
Response 200application/json
2 fields
Collection updated successfully
Field
Type
Description
data
object
—
documentrequired
object
—
file_data_idrequired
string
—
metadata
—
—
Response 400application/json
1 fields
Error
Field
Type
Description
message
one of
—
Response 403application/json
2 fields
Invalid key for service
Field
Type
Description
message
string
—
url
string
—
Response 404application/json
1 fields
Resource not found
Field
Type
Description
message
string
Message
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.