Managing a Document Package
Updating a Package
You can use the PATCH /packages/:id to update an existing package.
Cancel a Package
You can use the PATCH API to update the package status to CANCELLED
. This will remove any open tasks for the recipients. A package can be cancelled at any time.
Mark a Package as Papered Out
You can use the PATCH API to set a paperedAt
date for a package. This will not cancel the package. The package will still remain available for the borrower in their Blend follow-ups list, providing them the option to complete it electronically.
Change or Set the Due Date
For packages of type DOCUMENT_PACKAGE
you can change the dueDate
. This field simply shows the recipient when the task should be completed. There is no logic behind this field.
Track Package Status
Status Breakdown
There are three levels of statuses to pay attention to.
Package
The package's status is derived from the status of it's envelopes.
Status | Condition |
---|---|
Created | The package has been issued but no borrowers have provided e-consent. |
Delivered | The package has been issued in Blend and a borrower has e-consented. |
Viewed | A borrower has viewed the package. |
Signed | A borrower has signed the package. This is only applicable if an envelope on the package requires signatures. |
Completed | All recipients have completed all their actions. |
Declined | A recipient has declined the package. |
Cancelled | The package has been cancelled by the lender. |
Failed to Create | The package was never issued due to an error. |
Envelope
The envelope's status is derived from the status of it's recipients.
Status | Condition |
---|---|
Has Not Viewed | No borrower has viewed the envelope. |
Viewed | A borrower has viewed the envelope. |
Signed | A borrower has signed the envelope. This is only applicable if the envelope requires signatures. |
Completed | All recipients have completed all their actions. |
Declined | A recipient has declined the envelope. |
Envelope Recipient
Status | Condition |
---|---|
Has Not Viewed | The recipient has not viewed the envelope. |
Viewed | The recipient has viewed the envelope. |
Signed | The recipient has signed the envelope. This is only applicable if the envelope requires signatures. |
Declined | The recipient has declined the envelope. |
Events
Blend offers events to keep you up to date on the latest status of your package. Please see the Package Events for details.
APIs
You can use the GET /packages/:id to get all the status information for a package. You can also use GET /packages to get all the packages for a given application.
Metadata in GET /packages
For each different kind of envelope created for a package, the contents of the metadata
in the envelope will follow a different schema. The schema for this metadata is based on the providerType
.
ESIGN
E-sign envelopes contain documents that need to be electronically viewed and signed through Blend's esign provider.
In order to create an envelope of this type, document IDs and their corresponding tabs are expected to passed in via https://developers.blend.com/blend/reference#post-a-package. That information will be store in the metadata
field and then can be retrieved via GET requests (https://developers.blend.com/blend/reference#retrieve-all-packages-for-an-application and https://developers.blend.com/blend/reference#retrieve-a-package).
{
// ...Rest of POST /packages fields
envelopes: [
{
providerType: "ESIGN" // provider type
recipients: [
{
partyId: string
// Metadata used for ESIGN provider type.
// Same for both POST /packages and GET /packages
metadata: {
loanId: string
documents: [
{
documentId: string
tabs: [
// Example of tabs that may be used
{
type: "approveTabs"
attributes: {
xPosition: number
yPosition: number
pageNumber: number
tabLabel?: string
name?: string
conditionalParentLabel?: string
conditionalParentValue?: string
font?: string
fontColor?: string
fontSize?: string
bold?: boolean
height?: number
width?: number
buttonText?: string
}
},
{
type: "signHereTabs"
attributes: {
xPosition: number
yPosition: number
pageNumber: number
tabLabel?: string
name?: string
conditionalParentLabel?: string
conditionalParentValue?: string
scaleValue?: number
required?: boolean
status?: string
}
},
{
type: "dateSignedTabs"
attributes: {
xPosition: number
yPosition: number
pageNumber: number
tabLabel?: string
name?: string
conditionalParentLabel?: string
conditionalParentValue?: string
font?: string
fontColor?: string
fontSize?: string
bold?: boolean
value?: string
}
},
{
type: "checkboxTabs"
attributes: {
xPosition: number
yPosition: number
pageNumber: number
tabLabel?: string
name?: string
conditionalParentLabel?: string
conditionalParentValue?: string
selected?: boolean
}
},
{
type: "textTabs"
attributes: {
xPosition: number
yPosition: number
pageNumber: number
tabLabel?: string
name?: string
conditionalParentLabel?: string
conditionalParentValue?: string
font?: string
fontColor?: string
fontSize?: string
bold?: boolean
required?: boolean
height?: number
width?: number
maxLength?: number
}
},
{
type: "list"
attributes: {
xPosition: number
yPosition: number
pageNumber: number
tabLabel?: string
name?: string
conditionalParentLabel?: string
conditionalParentValue?: string
value?: string
}
},
{
type: "radioGroupTabs"
attributes: {
groupName?: string
radios: [
{
tabId?: string
xPosition: number
yPosition: number
pageNumber: number
value?: string
selected?: boolean
required?: boolean
}
]
}
},
{
type: "initialHere"
attributes: {
xPosition: number
yPosition: number
pageNumber: number
tabLabel?: string
name?: string
conditionalParentLabel?: string
conditionalParentValue?: string
scaleValue?: number
required?: boolean
}
},
{
type: "date"
attributes: {
xPosition: number
yPosition: number
pageNumber: number
tabLabel?: string
name?: string
conditionalParentLabel?: string
conditionalParentValue?: string
font?: string
fontColor?: string
fontSize?: string
bold?: boolean
required?: boolean
}
},
{
type: "note"
attributes: {
xPosition: number
yPosition: number
pageNumber: number
tabLabel?: string
name?: string
conditionalParentLabel?: string
conditionalParentValue?: string
font?: string
fontColor?: string
fontSize?: string
bold?: boolean
height?: number
width?: number
value?: string
}
}
]
}
]
}
}
]
}
]
}
Wetsign
Wet-sign envelopes contain documents that recipients need to physically sign and then re-upload.
Similar to other envelopes, the WETSIGN envelope contains metadata created via https://developers.blend.com/blend/reference#post-a-package and can be retrieved via GET requests (https://developers.blend.com/blend/reference#retrieve-all-packages-for-an-application and https://developers.blend.com/blend/reference#retrieve-a-package)
{
// ...Rest of POST /packages fields
envelopes: [
{
providerType: "WETSIGN" // provider type
recipients: [
{
partyId: string
// Metadata used for WETSIGN provider type.
// Same for both POST /packages and GET /packages
metadata: {
documentIds: string[]
viewedAt?: string // ISO date string
viewedIP?: string
signedAt?: string // ISO date string
signedIP?: string
}
}
]
}
]
}
Review
Review envelopes contain documents for recipients where recipients need to only view electronically.
Similar to other envelopes, the REVIEW envelope contains metadata created via https://developers.blend.com/blend/reference#post-a-package and can be retrieved via GET requests (https://developers.blend.com/blend/reference#retrieve-all-packages-for-an-application and https://developers.blend.com/blend/reference#retrieve-a-package)
{
// ...Rest of POST /packages fields
envelopes: [
{
providerType: "REVIEW" // provider type
recipients: [
{
partyId: string
// Metadata used for REVIEW provider type.
// Same for both POST /packages and GET /packages
metadata: {
documents: [
{
documentId: string
type?: string
name?: string
description?: string
reviewTracking?: {
ip: string
timestamp: number // unix timestamp
}
}
]
}
}
]
}
];
}
Updated over 2 years ago