Skip to main content

Check Deposits

Unit enables Check deposits using a standard Remote Deposit Capture (RDC) mechanism.

Once a check deposit is created, and the check's images are uploaded, Unit will validate the images, process the check and credit the customer's deposit account.

Check Deposit Status#

When you create a check deposit it will be created with an AwaitingImages status. You may track its progress using the status attribute or listening to relevant webhooks.

The possible status values are:

StatusDescription
AwaitingImagesThe check deposit was created. Waiting for the front-side and back-side images to be uploaded.
AwaitingFrontImageThe back-side image of the check was received. Waiting for the front-side image to be uploaded.
AwaitingBackImageThe front-side image of the check was received. Waiting for the back-side image to be uploaded.
PendingThe check deposit was created on the Unit ledger but was not yet processed. Check deposits with Pending status may be canceled by the originator.
PendingReviewThe check deposit is pending review by Unit.
RejectedThe check deposit was rejected (see reason for more details).
ClearingThe check deposit was sent but the deposit account was not credited yet.
SentThe check deposit was processed and approved. This is the final state for successful check deposits.
CanceledThe check deposit was canceled.
ReturnedThe check deposit was processed but the receiving bank was not able to complete the transfer (see reason for more details).

Create Check Deposit#

Creates a check deposit for an Account.

VerbPOST
Urlhttps://api.s.unit.sh/check-deposits
Required Scopecheck-deposits-write
Data TypecheckDeposit

Attributes#

NameTypeDescription
amountintegerThe check amount (in cents) to deposit.
descriptionstringDescription of the check deposit (maximum of 50 characters).
tagsobjectSee Tags.
idempotencyKeystringSee Idempotency.

Relationships#

NameTypeDescription
accountJSON:API RelationshipThe account receiving the check deposit.
Example Request:
curl -X POST 'https://api.s.unit.sh/check-deposits'-H 'Content-Type: application/vnd.api+json'-H 'Authorization: Bearer ${TOKEN}'--data-raw '{  "data": {    "type": "checkDeposit",    "attributes": {      "amount": 20000,      "description": "Check deposit"    },    "relationships": {      "account": {        "data": {          "type": "depositAccount",          "id": "10001"        }      }    }  }}'

Response#

Response is a JSON:API document.

201 Created#

FieldTypeDescription
dataCheckDepositThe requested resource after the operation was completed.
Example Response:
{  "data": {    "type": "checkDeposit",    "id": "1112",    "attributes": {      "createdAt": "2021-05-27T09:29:30.828Z",      "amount": 20000,      "description": "Check deposit",      "status": "AwaitingImages"    },    "relationships": {      "account": {        "data": {          "type": "account",          "id": "10001"        }      },      "customer": {        "data": {          "type": "customer",          "id": "10000"        }      }    }  }}

Get by Id#

Get a check deposit by id.

VerbGET
Urlhttps://api.s.unit.sh/check-deposits/{id}
Required Scopecheck-deposits

Query Parameters#

NameTypeDefaultDescription
includestring(empty)Optional. A comma-separated list of related resources to include in the response. Related resources include: customer, account, transaction. See Getting Related Resources

Response#

Response is a JSON:API document.

200 OK#

FieldTypeDescription
dataCheck DepositCheckDeposit resource.
includedArray of DepositAccount or Customer or TransactionArray of resources requested by the include query parameter.
curl -X GET 'https://api.s.unit.sh/check-deposits/100' \-H "Authorization: Bearer ${TOKEN}"

List#

List check deposit resources. Filtering, paging and sorting can be applied.

VerbGET
Urlhttps://api.s.unit.sh/check-deposits
Required Scopecheck-deposits

Query Parameters#

NameTypeDefaultDescription
page[limit]integer100Maximum number of resources that will be returned. Maximum is 1000 resources. See Pagination.
page[offset]integer0Number of resources to skip. See Pagination.
filter[accountId]string(empty)Optional. Filters the results by the specified account id.
filter[customerId]string(empty)Optional. Filters the results by the specified customer id.
filter[tags]Tags (JSON)(empty)Optional. Filter check deposits by Tags.
sortstringsort=-createdAtOptional. Leave empty or provide sort=createdAt for ascending order. Provide sort=-createdAt (leading minus sign) for descending order.
includestring(empty)Optional. A comma-separated list of related resources to include in the response. Related resources include: customer, account, transaction. See Getting Related Resources
curl -X GET 'https://api.s.unit.sh/check-deposits?page[limit]=20&page[offset]=10' \-H "Authorization: Bearer ${TOKEN}"

Response#

Response is a JSON:API document.

200 OK#

FieldTypeDescription
dataArray of Check DepositArray of check deposit resources.
includedArray of DepositAccount or Customer or TransactionArray of resources requested by the include query parameter.
Example Response:
{  "data": [    {      "type": "checkDeposit",      "id": "112",      "attributes": {        "createdAt": "2021-05-27T09:29:30.828Z",        "amount": 20000,        "description": "Check deposit",        "status": "AwaitingImages"      },      "relationships": {        "account": {          "data": {            "type": "account",            "id": "10001"          }        },        "customer": {          "data": {            "type": "customer",            "id": "10000"          }        }      }    },    {      "type": "checkDeposit",      "id": "233",      "attributes": {        "createdAt": "2021-05-27T10:49:23.287Z",        "amount": 10000,        "description": "Another check deposit",        "status": "AwaitingImages"      },      "relationships": {        "account": {          "data": {            "type": "account",            "id": "10001"          }        },        "customer": {          "data": {            "type": "customer",            "id": "10000"          }        }      }    }  ]}

Update#

Update a check deposit.

VerbPATCH
Urlhttps://api.s.unit.sh/check-deposits/:id
Required Scopecheck-deposits-write

Attributes#

NameTypeDescription
tagsobjectSee Updating Tags.

Response#

Response is a JSON:API document.

200 OK#

FieldTypeDescription
dataCheckDepositThe updated CheckDeposit resource.
Update check deposit:
curl -X PATCH 'https://api.s.unit.sh/check-deposits/:id'-H 'Content-Type: application/vnd.api+json'-H 'Authorization: Bearer ${TOKEN}'--data-raw '{  "data": {    "type": "checkDeposit",    "attributes": {      "tags": {        "by": "Richard Hendricks",        "id": "23033b64-38f8-4dbc-91a1-313ff0156d02"      }    }  }}'

Upload Front-Side Image#

Uploads a check front-side image file. Currently only jpeg file type is supported.

VerbPUT
Urlhttps://api.s.unit.sh/check-deposits/{checkDepositId}/front
Required Scopecheck-deposits-write
note

Maximum image size is 20mb.

Headers#

HeaderValue
Content-TypeAlways image/jpeg.

Response#

Response is a JSON:API document.

200 OK#

FieldTypeDescription
dataCheckDepositThe updated CheckDeposit resource.
curl --request PUT 'https://api.s.unit.sh/check-deposits/46/front' \--header 'Content-Type: image/jpeg' \--data-binary 'front.jpg'

Upload Back-Side Image#

Uploads a check back-side image file. Currently only jpeg file type is supported.

VerbPUT
Urlhttps://api.s.unit.sh/check-deposits/{checkDepositId}/back
Required Scopecheck-deposits-write
note

Maximum image size is 20mb.

Headers#

HeaderValue
Content-TypeAlways image/jpeg.

Response#

Response is a JSON:API document.

200 OK#

FieldTypeDescription
dataCheckDepositThe updated CheckDeposit resource.
curl --request PUT 'https://api.s.unit.sh/check-deposits/46/back' \--header 'Content-Type: image/jpeg' \--data-binary 'back.jpg'