---
updatedAt: 2026-05-08T01:13:22.000Z
---

Fetch the complete documentation index at: https://docs.usestable.com/llms.txt. Use this file to discover all available pages before exploring further. Append .md to any documentation page URL to get its markdown version.

# Checks

A Check represents a physical check that we've transcribed from inside a piece of mail.

```typescript TypeScript
{
  id: string;
  amount: number;
  currency: string;
  checkNumber?: string;
  createdAt: string;
  destinationAccount?: {
    id: string;
    name: string;
    last4: string;
    type: 'electronic' | 'mailIn'
  },
  mailItemId: string;
  payer?: string;
  payee?: string;
  memo?: string;
  issueDate?: string;
  voidDate?: string;
  accountNumber?: string;
  routingNumber?: string;
  returnReason?: string;
  status: 'notRequested' | ' processing' | 'completed' | 'failed';
  statusTransitions: {
    processing: string | null;
    completed: string | null;
    failed: string | null;
  };
  failureDetails?: {
    description: string;
    code: string;
  };
  images: Array<{
    type: 'front_full' | 'front_cropped';
    url: string;
  }>;
}
```

### Attributes

**id** `string`\
Unique identifier for the object.

***

**amount** `number`

Amount in cents.

***

**currency** `string`

Three-letter ISO [currency code](https://www.iso.org/iso-4217-currency-codes.html) .

***

**checkNumber** `string`

Unique identifier consisting of a set of numbers printed on the check.

***

**createdAt** `string`

Time at which the object was created.

***

**mailItemId** `string`

ID of the MailItem that is associated with the object.

***

**payer** `string`

Person or entity that issues the check.

***

**payee** `string`

Person or entity to whom the check is made payable to.

***

**memo** `string`

The "memo" or "for" line on the check.

***

**issueDate** `string`

The date the check was written. e.g. `"2026-03-20"`

***

**voidDate** `string`

The date the check will become void, based on information printed on the check ("void after 90 days"). e.g. `"2026-04-20"`

***

**accountNumber** `string`

The account number at the bank the check is being paid from.

***

**routingNumber** `string`

The routing number of the bank the check is being paid from.

***

**returnReason** `string`

If the check is returned, the reason given e.g. `"STOP PAYMENT"`, `"CLOSED ACCOUNT"`, `"DUPLICATE PRESENTMENT"`, `"NOT SUFFICIENT FUNDS"`, `"REFER TO MAKER"`

***

**status** `string`

Current deposit status of the check. Depending on the deposit type, the status can have different meanings:

* `notRequested`
  * A deposit request has not yet been made for the check.
* `processing`
  * The deposit request has been initiated and is currently in progress.
* `completed`
  * **Mail-in deposit**: The check has left our mail processing facility and has been sent to the bank.
  * **Electronic deposit**: The funds have been successfully credited to the Stable holding account.
* `failed`
  * **Mail-in deposit**: This status does not apply to mail-in deposits.
  * **Electronic deposit**: The check could not be electronically deposited or was reversed after being credited.

*Additional details about failed checks*:

* A check can transition from `completed` to `failed`, but the reverse transition is not possible.
* If a check moves from `completed` to `failed`, this indicates a check reversal, and funds will have been deducted from your account.
* If a check moves from `processing` to `failed`, this means the transaction was unsuccessful and will not appear in your dashboard.

***

**statusTransitions** `object`

Contains timestamps of when the object transitioned to a particular `status`. Attributes are `null` if the transition has not occurred.

* `processing`
  * The time at which the check changed to the `processing` status.

* `completed`
  * The time at which the check changed to the `completed` status.

* `failed`
  * The time at which the check changed to the `failed` status.

**failureDetails** `object`

Contains the details of the failed deposit.

* `description`
  * The description of the failure reason
* `code`
  * The failure code. This is a machine-readable string indicating the reason the deposit failed.

**destinationAccount** `object`

Contains the details of the account a check was deposited into.

* `id`
  * The unique ID of the account the check was deposited into.
* `name`
  * The display name of the account
* `last4`
  * The last four characters of the account number
* `type`
  * The type of account (`electronic` or `mailIn`)

**images** `Array`

Images associated with this check (e.g. full-page scan, cropped check)

* `type`
  * The type of image (`front_full` or `front_cropped`)
* `url`
  * A temporary URL to retrieve the image