Skip to main content

Application Documents

Overview

Most applications get approved automatically without any document verification. Some applications cannot be approved or declined based on the initial data provided by the customer, and require document verification.

Once an application moves to an awaitingDocuments status (you can identify these cases by listening to the relevant webhook event), the customer would need to provide the required application documents.

When that happens, Unit automatically creates Application document resources, that represent the documents that need to be collected for the application to be evaluated.

Their initial status is always Required. The documents will be different in the case of individual and business applications.

You can find out what documents are required using the list application documents endpoint.

info

When creating an application or getting an application by id, the documents are included in the response included top-level field.

Application Document Status

StatusDescription
RequiredThe document is required for the application to be evaluated.
ReceivedBackBack-side of the document was received. Front-side is still required. Only relevant for IdDocument document type.
ReceivedFrontFront-side of the document was received. Back-side is still required. Only relevant for IdDocument document type.
InvalidThe document is invalid. You may re-upload the correct document for the application to be evaluated.
ApprovedThe document is approved.
PendingReviewThe document is currently undergoing review.

Document Types

NameDescription
IdDocumentAn individual's Drivers License or State ID. Both front-side and back-side are required.
PassportAn individual's passport.
AddressVerificationAn individual's document to verify address. Document may be a utility bill, bank statement, lease agreement or current pay stub.
SocialSecurityCardAn individual's social security card.
CertificateOfIncorporationA business's certificate of incorporation. A certificate of assumed name will also be accepted.
EmployerIdentificationNumberConfirmationA business's EIN confirmation document (either IRS form 147c or IRS form CP-575).
ClientRequestedClient requested customer document.
SelfieVerificationSelfie verification document.

Upload Document

Uploads a document file. Supported file types are pdf, jpeg or png.

VerbPUT
Urlhttps://api.s.unit.sh/applications/{applicationId}/documents/{documentId}
Required Scopeapplications-write
Timeout (Seconds)120
note

For a driver's license, this operation uploads the front-side only. Upload the back-side of a driver's licence using Upload Document Back-Side API.

note

Maximum size for a document is 20mb.

Headers

IndexValue
Content-TypeOne of image/png, image/jpeg, or application/pdf.
curl --request PUT 'https://api.s.unit.sh/applications/46/documents/3' \
--header 'Content-Type: application/pdf' \
--data-binary 'passport.pdf'

Response

Response is a JSON:API document.

200 OK

FieldTypeDescription
dataApplicationDocumentThe target resource after the operation was completed.
Example Response:
{
"data": {
"type": "document",
"id": "3",
"attributes": {
"documentType": "Passport",
"status": "Approved",
"description": "Please provide a current copy of your passport.",
"name": "Richard Hendricks",
"dateOfBirth": "2001-08-15"
}
}
}

Upload Document Back-Side

Uploads the back-side of a document. Supported file types are pdf, jpeg or png.

VerbPUT
Urlhttps://api.s.unit.sh/applications/{applicationId}/documents/{documentId}/back
Required Scopeapplications-write
Timeout (Seconds)120
note

This operation is only relevant to driver's licenses.

Headers

IndexValue
Content-TypeOne of image/png, image/jpeg, or application/pdf.
curl --request PUT 'https://api.s.unit.sh/applications/46/documents/3/back' \
--header 'Content-Type: application/pdf' \
--data-binary 'driver-license-back.pdf'

Response

Response is a JSON:API document.

200 OK

FieldTypeDescription
dataApplicationDocumentThe target resource after the operation was completed.
Example Response:
{
"data": {
"type": "document",
"id": "3",
"attributes": {
"documentType": "IdDocument",
"status": "Approved",
"description": "Please provide a copy of your unexpired government issued photo ID which would include Drivers License or State ID.",
"name": "Richard Hendricks",
"dateOfBirth": "2001-08-15"
}
}
}

List

List application documents.

VerbGET
Urlhttps://api.s.unit.sh/applications/{applicationId}/documents
Required Scopeapplications
Timeout (Seconds)5
info

You can also list the application documents via Get Application by Id, the documents will be included in the response included top-level field.

curl -X GET 'https://api.s.unit.sh/applications/1/documents' \
-H "Authorization: Bearer ${TOKEN}"

Response

Response is a JSON:API document.

200 OK

FieldTypeDescription
dataArray of ApplicationDocument ResourceArray of application documents.
Example Response:
{
"data": [
{
"type": "document",
"id": "1",
"attributes": {
"documentType": "CertificateOfIncorporation",
"status": "Required",
"description": "Please provide a certified copy of the Articles of Incorporation or Certificate of Incorporation.",
"name": "Pied Piper"
}
},
{
"type": "document",
"id": "2",
"attributes": {
"documentType": "AddressVerification",
"status": "Required",
"description": "Please provide a document to verify your address. Document may be a utility bill, bank statement, lease agreement or current pay stub.",
"name": "Richard Hendricks",
"address": {
"street": "5230 Newell Rd",
"street2": null,
"city": "Palo Alto",
"state": "CA",
"postalCode": "94303",
"country": "US"
}
}
},
{
"type": "document",
"id": "3",
"attributes": {
"documentType": "IdDocument",
"status": "Required",
"description": "Please provide a copy of your unexpired government issued photo ID which would include Drivers License or State ID.",
"name": "Richard Hendricks"
}
}
]
}

Download Document

Download the application document file.

VerbGET
Urlhttps://api.s.unit.sh/applications/{applicationId}/documents/{documentId}/download
Timeout (Seconds)5
Example Request:
curl -X GET 'https://api.s.unit.sh/applications/10001/documents/1/download' \
-H "Authorization: Bearer ${TOKEN}"

Download Document Back-Side

Download the application document back-side file.

VerbGET
Urlhttps://api.s.unit.sh/applications/{applicationId}/documents/{documentId}/download/back
Timeout (Seconds)5
Example Request:
curl -X GET 'https://api.s.unit.sh/applications/10001/documents/1/download/back' \
-H "Authorization: Bearer ${TOKEN}"

Create Document

Unit allows you to create (and store) custom documents. This feature allows you to run additional document verifications on your side - these are documents that are not required by Unit for the evaluation of the application. Once you create a custom document resource, you can upload and store the document by using the relevant endpoints.

VerbPOST
Urlhttps://api.s.unit.sh/applications/{applicationId}/documents/
Required Scopeapplications-write
Timeout (Seconds)5
curl --request POST 'https://api.s.unit.sh/applications/46/documents/' \
--header 'Content-Type: application/vnd.api+json' \
--data-Raw ''

Response

Response is a JSON:API document.

200 OK

FieldTypeDescription
dataApplicationDocumentThe target resource after the operation was completed.
Example Response:
{
"data": {
"type": "document",
"id": "3",
"attributes": {
"documentType": "ClientRequested",
"status": "Required",
"description": "client requested customer document"
}
}
}

Verify Document

Verify Selfie Verification document

VerbPOST
Urlhttps://api.s.unit.sh/application/:id/documents/:id/verify
Required Scopeapplications-write
Timeout (Seconds)5

Attributes

NameTypeDescription
jobIdstringVerification job identifier

Response

Response is a JSON:API document.

200 OK

FieldTypeDescription
dataDocumentThe updated Document resource.
Verify document:
curl -X POST 'https://api.s.unit.sh/applications/:id/documents/:id/verify'
-H 'Content-Type: application/vnd.api+json'
-H 'Authorization: Bearer ${TOKEN}'
--data-raw '{
"data": {
"type": "selfieVerification",
"attributes": {
"jobId": "X16krjAN1"
}
}
}'