> ## Documentation Index
> Fetch the complete documentation index at: https://dev.nickel.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List check deposits

> Returns the checks deposited into your Nickel Banking accounts, newest first, each with the payment links it has paid and the money it has left to apply. Pass `unappliedOnly=true` to find a deposit that still has money to apply to an invoice.

When the list would be empty because your organization has no active Nickel Banking account, or because the team member the API key belongs to can't see Nickel Banking deposits, the response is a `403` that says which.



## OpenAPI

````yaml /nickel-api-docs.yaml get /nickelBanking/checkDeposits
openapi: 3.0.3
info:
  title: Nickel API
  description: >-
    This is the specification for the Nickel Rest API. The API lets you
    programmatically interact with the Nickel server. It uses resource oriented
    URLs, accepts and returns JSON encoded payloads and uses standard HTTP
    response codes. It is not a direct API to move money, but instead allows you
    to interact with Nickel as you would on a web interface.
  termsOfService: https://www.nickel.com/terms-of-service
  contact:
    email: support@nickel.com
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  version: 1.0.0
servers:
  - url: https://rest.staging.nickel.com
    description: Sandbox / Staging
  - url: https://rest.nickel.com
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Payment
    description: Payments from your customers to you
  - name: Disbursement
    description: Payouts made from Nickel to you
  - name: Payment Link
    description: A request for payment against an invoice
  - name: Customer
    description: A customer record to request payments against
  - name: Charge Authorization
    description: >-
      An authorization for your customer to allow you to charge their payment
      method directly
  - name: Webhook
    description: Create a webhook for nickel to send updates to
  - name: File
    description: A file you can use to attach to invoices or debit authorizations
  - name: Vendor
    description: Manage vendors for accounts payable
  - name: Bill
    description: Bills from vendors and bill payments
  - name: Bill Payment Method
    description: >-
      A merchant's payment methods used to pay bills (bank accounts and cards on
      file)
  - name: Vendor Delivery Method
    description: >-
      How a vendor receives funds — bank account (ACH), check mailing address,
      or international wire (SWIFT) details
  - name: Nickel Banking
    description: Your Nickel Banking accounts, debit cards, check deposits and transactions
externalDocs:
  description: Find out more about Nickel
  url: https://nickel.com
paths:
  /nickelBanking/checkDeposits:
    get:
      tags:
        - Nickel Banking
      summary: List check deposits
      description: >-
        Returns the checks deposited into your Nickel Banking accounts, newest
        first, each with the payment links it has paid and the money it has left
        to apply. Pass `unappliedOnly=true` to find a deposit that still has
        money to apply to an invoice.


        When the list would be empty because your organization has no active
        Nickel Banking account, or because the team member the API key belongs
        to can't see Nickel Banking deposits, the response is a `403` that says
        which.
      operationId: listCheckDeposits
      parameters:
        - name: status
          in: query
          description: Only deposits in this state.
          required: false
          schema:
            type: string
            enum:
              - PROCESSING
              - DEPOSITED
              - RETURNED
              - REJECTED
        - name: unappliedOnly
          in: query
          description: >-
            When `true`, only deposits with money left to apply
            (`unappliedAmountCents` above zero).
          required: false
          schema:
            type: boolean
        - name: accountId
          in: query
          description: >-
            Only deposits into this account (an `id` from List Nickel Banking
            accounts).
          required: false
          schema:
            type: string
        - name: limit
          in: query
          description: >-
            Maximum deposits to return, newest first. Default 20, maximum 100;
            larger values are clamped to 100.
          required: false
          schema:
            type: integer
            minimum: 1
            example: 20
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CheckDepositListResponse'
        '400':
          description: Invalid `status`, `unappliedOnly` or `limit`
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          $ref: '#/components/responses/NickelBankingRefused'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    CheckDepositListResponse:
      type: object
      properties:
        checkDeposits:
          type: array
          items:
            $ref: '#/components/schemas/CheckDeposit'
        hasMore:
          type: boolean
          description: True when more deposits matched than `limit` allowed.
    Error:
      required:
        - error
      type: object
      properties:
        error:
          type: string
          description: >-
            A human-readable error message describing what went wrong. Note that
            some 500 responses may return a plain text string instead of this
            JSON object.
        code:
          type: string
          description: >-
            A stable machine-readable code, present on the errors a client can
            act on (e.g. `SHARED_ACCOUNT` on a 409 from the ACH debit
            authorization upload, `REFERENCE_CONFLICT` on a 409 from recording
            an external payment or a debit memo, `NICKEL_BANKING_NOT_ACTIVE` or
            `MISSING_PERMISSION` on a 403 from a Nickel Banking list). Absent
            otherwise.
    CheckDeposit:
      type: object
      properties:
        id:
          type: string
          example: cmf2dep0001qz8x4k2v7c9d3e
        transferId:
          type: string
          nullable: true
          description: >-
            The Nickel Banking transfer the deposit books in through — what a
            payment link's `externalPayments[].nickelBankingTransferId` names
            when this deposit paid it. Null only on deposits made before
            deposits carried a transfer; those can't be applied.
          example: cmf2nbt0001qz8x4k2v7c9d3e
        accountId:
          type: string
          description: The account the check was deposited into.
        amountCents:
          type: integer
          format: int64
          description: >-
            The amount entered when the check was deposited, in cents. The bank
            may accept less.
          example: 155055
        status:
          type: string
          description: >-
            `PROCESSING` until the bank settles the check (including while it
            reviews it). `DEPOSITED` once the money is yours. `REJECTED` if the
            bank refused it outright. `RETURNED` if the bank reversed it after
            depositing it.
          enum:
            - PROCESSING
            - DEPOSITED
            - RETURNED
            - REJECTED
        payerName:
          type: string
          nullable: true
          example: Acme Corp
        description:
          type: string
          nullable: true
          example: Q3 retainer
        returnReason:
          type: string
          nullable: true
          description: The bank's reason, when `RETURNED`.
        rejectionReason:
          type: string
          nullable: true
          description: The bank's reason, when `REJECTED`.
        createdAt:
          type: string
          format: date-time
        depositedAt:
          type: string
          format: date-time
          nullable: true
          description: When the money settled into the account. Null until `DEPOSITED`.
        unappliedAmountCents:
          type: integer
          format: int64
          description: >-
            Money on the check not yet applied to a payment link, in cents: the
            smaller of the entered and accepted amounts, less the live
            applications, and zero once the check is returned or rejected.
          example: 55055
        applications:
          type: array
          description: Every application, voided ones included, newest first.
          items:
            $ref: '#/components/schemas/CheckDepositApplication'
    CheckDepositApplication:
      type: object
      description: >-
        One payment link paid from a check deposit. It is the same record the
        payment link lists in `externalPayments`, and its `id` is what [Void an
        external
        payment](/api-reference/payment-link/void-an-external-payment-on-a-payment-link)
        takes to unapply it.
      properties:
        id:
          type: string
          example: cmr9zx1bq000gsf02h1d5w4t8
        amountCents:
          type: integer
          format: int64
          example: 100000
        paymentLinkId:
          type: string
          nullable: true
          example: cmq7ab3cd000gsf02e5f6g7h8
        voided:
          type: boolean
          description: >-
            True once voided. A voided application counts toward nothing, and
            its money is available to apply again.
        voidReason:
          type: string
          nullable: true
          description: >-
            Set when Nickel voided the application itself: the bank returned
            (`DEPOSIT_RETURNED`) or rejected (`DEPOSIT_REJECTED`) the check, or
            accepted less than had been applied (`AMOUNT_ADJUSTED`). Null for a
            live application and for one you unapplied.
          enum:
            - DEPOSIT_RETURNED
            - DEPOSIT_REJECTED
            - AMOUNT_ADJUSTED
  responses:
    NickelBankingRefused:
      description: >-
        Nickel Banking data this API key can't read. `code` is
        `NICKEL_BANKING_NOT_ACTIVE` when your organization has no active Nickel
        Banking account, or `MISSING_PERMISSION` when the team member the API
        key belongs to lacks the permission this list needs; the message names
        it. Also returned, without a `code`, for an API key without REST API
        access.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````