Increase Check Deposits API

Check Deposits allow you to deposit images of paper checks into your account.

OpenAPI Specification

increase-check-deposits-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  description: Anything that you can achieve with PDFs, presence, and persistence in a bank branch you can do with our API. We've always wanted a fully programmatic bank so we built one. Our API faithfully exposes the data and capabilities of the Federal Reserve, Visa, The Clearing House, depository networks, and accounting tools. It's lovingly boring and exceptionally powerful. If you have any questions or want to get started, don't hesitate to ping us at sales@increase.com. We can't wait to see what you build!
  title: Increase Account Numbers Check Deposits API
  version: 0.0.1
servers:
- url: https://api.increase.com
- url: https://sandbox.increase.com
security:
- bearerAuth: []
tags:
- description: Check Deposits allow you to deposit images of paper checks into your account.
  name: Check Deposits
paths:
  /check_deposits:
    get:
      operationId: list_check_deposits
      parameters:
      - in: query
        name: cursor
        required: false
        schema:
          description: Return the page of entries after this one.
          type: string
          x-documentation-priority: low
      - in: query
        name: limit
        required: false
        schema:
          description: Limit the size of the list that is returned. The default (and maximum) is 100 objects.
          minimum: 1
          type: integer
          x-documentation-priority: low
      - example: account_in71c4amph0vgo2qllky
        in: query
        name: account_id
        required: false
        schema:
          description: Filter Check Deposits to those belonging to the specified Account.
          type: string
          x-documentation-priority: default
          x-id-reference-to: Accounts
      - in: query
        name: created_at.after
        required: false
        schema:
          description: Return results after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
          format: date-time
          type: string
          x-documentation-priority: low
      - in: query
        name: created_at.before
        required: false
        schema:
          description: Return results before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
          format: date-time
          type: string
          x-documentation-priority: low
      - in: query
        name: created_at.on_or_after
        required: false
        schema:
          description: Return results on or after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
          format: date-time
          type: string
          x-documentation-priority: low
      - in: query
        name: created_at.on_or_before
        required: false
        schema:
          description: Return results on or before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp.
          format: date-time
          type: string
          x-documentation-priority: low
      - in: query
        name: idempotency_key
        required: false
        schema:
          description: Filter records to the one with the specified `idempotency_key` you chose for that object. This value is unique across Increase and is used to ensure that a request is only processed once. Learn more about [idempotency](https://increase.com/documentation/idempotency-keys).
          maxLength: 200
          minLength: 1
          type: string
          x-documentation-priority: default
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/check_deposit_list'
          description: Check Deposit List
        4XX:
          $ref: '#/components/responses/errorResponse'
        5XX:
          $ref: '#/components/responses/errorResponse'
      summary: List Check Deposits
      x-sandbox-only: false
      x-tag: Check Deposits
      tags:
      - Check Deposits
    post:
      operationId: create_a_check_deposit
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/create_a_check_deposit_parameters'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/check_deposit'
          description: Check Deposit
        4XX:
          $ref: '#/components/responses/errorResponse'
        5XX:
          $ref: '#/components/responses/errorResponse'
      summary: Create a Check Deposit
      x-sandbox-only: false
      x-tag: Check Deposits
      tags:
      - Check Deposits
  /check_deposits/{check_deposit_id}:
    get:
      operationId: retrieve_a_check_deposit
      parameters:
      - example: check_deposit_f06n9gpg7sxn8t19lfc1
        in: path
        name: check_deposit_id
        required: true
        schema:
          description: The identifier of the Check Deposit to retrieve.
          type: string
          x-documentation-priority: default
          x-id-reference-to: Check Deposits
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/check_deposit'
          description: Check Deposit
        4XX:
          $ref: '#/components/responses/errorResponse'
        5XX:
          $ref: '#/components/responses/errorResponse'
      summary: Retrieve a Check Deposit
      x-sandbox-only: false
      x-tag: Check Deposits
      tags:
      - Check Deposits
components:
  schemas:
    check_deposit:
      additionalProperties: true
      description: Check Deposits allow you to deposit images of paper checks into your account.
      example:
        account_id: account_in71c4amph0vgo2qllky
        amount: 1000
        back_image_file_id: file_26khfk98mzfz90a11oqx
        created_at: '2020-01-31T23:59:59Z'
        deposit_acceptance:
          account_number: '987654321'
          amount: 1000
          auxiliary_on_us: '101'
          check_deposit_id: check_deposit_f06n9gpg7sxn8t19lfc1
          currency: USD
          routing_number: '101050001'
          serial_number: null
        deposit_adjustments: []
        deposit_rejection: null
        deposit_return: null
        deposit_submission:
          back_file_id: file_frhw4s443nh7noss55kq
          front_file_id: file_j7ed9mrve741m6yui9ju
          submitted_at: '2020-02-01T00:59:59+00:00'
        description: null
        front_image_file_id: file_makxrc67oh9l6sg7w9yc
        id: check_deposit_f06n9gpg7sxn8t19lfc1
        idempotency_key: null
        inbound_funds_hold: null
        inbound_mail_item_id: null
        lockbox_recipient_id: null
        status: submitted
        transaction_id: transaction_uyrp7fld2ium70oa7oi
        type: check_deposit
      properties:
        account_id:
          description: The Account the check was deposited into.
          type: string
          x-documentation-priority: default
          x-id-reference-to: Accounts
        amount:
          description: The deposited amount in USD cents.
          type: integer
          x-documentation-priority: default
        back_image_file_id:
          anyOf:
          - description: The ID for the File containing the image of the back of the check.
            type: string
            x-documentation-priority: default
            x-id-reference-to: Files
          - type: 'null'
        created_at:
          description: The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which the transfer was created.
          format: date-time
          type: string
          x-documentation-priority: default
        deposit_acceptance:
          anyOf:
          - additionalProperties: true
            description: Once your deposit is successfully parsed and accepted by Increase, this will contain details of the parsed check.
            example:
              account_number: '987654321'
              amount: 1000
              auxiliary_on_us: '101'
              check_deposit_id: check_deposit_f06n9gpg7sxn8t19lfc1
              currency: USD
              routing_number: '101050001'
              serial_number: null
            properties:
              account_number:
                description: The account number printed on the check. This is an account at the bank that issued the check.
                type: string
                x-documentation-priority: default
              amount:
                description: The amount to be deposited in the minor unit of the transaction's currency. For dollars, for example, this is cents.
                type: integer
                x-documentation-priority: default
              auxiliary_on_us:
                anyOf:
                - description: An additional line of metadata printed on the check. This typically includes the check number for business checks.
                  type: string
                  x-documentation-priority: default
                - type: 'null'
              check_deposit_id:
                description: The ID of the Check Deposit that was accepted.
                type: string
                x-documentation-priority: default
                x-id-reference-to: Check Deposits
              currency:
                description: The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transaction's currency.
                enum:
                - USD
                type: string
                x-documentation-priority: default
                x-enum-descriptions:
                - US Dollar (USD)
              routing_number:
                description: The routing number printed on the check. This is a routing number for the bank that issued the check.
                type: string
                x-documentation-priority: default
              serial_number:
                anyOf:
                - description: The check serial number, if present, for consumer checks. For business checks, the serial number is usually in the `auxiliary_on_us` field.
                  type: string
                  x-documentation-priority: default
                - type: 'null'
            required:
            - amount
            - currency
            - account_number
            - routing_number
            - auxiliary_on_us
            - serial_number
            - check_deposit_id
            title: Check Deposit Check Deposit Acceptance
            type: object
            x-documentation-priority: default
            x-event-categories: []
            x-stainless-empty-object: false
            x-title-plural: Check Deposit Acceptances
          - type: 'null'
        deposit_adjustments:
          description: If the deposit or the return was adjusted by the receiving institution, this will contain details of the adjustments.
          items:
            additionalProperties: false
            example:
              adjusted_at: '2020-01-31T23:59:59Z'
              amount: 1750
              reason: late_return
              transaction_id: transaction_uyrp7fld2ium70oa7oi
            properties:
              adjusted_at:
                description: The time at which the adjustment was received.
                format: date-time
                type: string
                x-documentation-priority: default
              amount:
                description: The amount of the adjustment.
                type: integer
                x-documentation-priority: default
              reason:
                description: The reason for the adjustment.
                enum:
                - adjusted_amount
                - non_conforming_item
                - paid
                type: string
                x-documentation-priority: default
                x-enum-descriptions:
                - The check was deposited with a different amount than what was written on the check.
                - The recipient was not able to process the check. This usually happens for e.g., low quality images.
                - The check has already been deposited elsewhere and so this is a duplicate.
              transaction_id:
                description: The id of the transaction for the adjustment.
                type: string
                x-documentation-priority: default
                x-id-reference-to: Transactions
            required:
            - adjusted_at
            - transaction_id
            - reason
            - amount
            title: Check Deposit Check Deposit Adjustment
            type: object
            x-event-categories: []
            x-stainless-empty-object: false
            x-title-plural: Check Deposit Adjustments
          type: array
          x-documentation-priority: default
        deposit_rejection:
          anyOf:
          - additionalProperties: true
            description: If your deposit is rejected by Increase, this will contain details as to why it was rejected.
            example:
              amount: 1750
              check_deposit_id: check_deposit_f06n9gpg7sxn8t19lfc1
              currency: USD
              declined_transaction_id: declined_transaction_17jbn0yyhvkt4v4ooym8
              reason: incomplete_image
              rejected_at: '2020-01-31T23:59:59Z'
            properties:
              amount:
                description: The rejected amount in the minor unit of check's currency. For dollars, for example, this is cents.
                type: integer
                x-documentation-priority: default
              check_deposit_id:
                description: The identifier of the Check Deposit that was rejected.
                type: string
                x-documentation-priority: default
                x-id-reference-to: Check Deposits
              currency:
                description: The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the check's currency.
                enum:
                - USD
                type: string
                x-documentation-priority: default
                x-enum-descriptions:
                - US Dollar (USD)
              declined_transaction_id:
                description: The identifier of the associated declined transaction.
                type: string
                x-documentation-priority: default
                x-id-reference-to: Declined Transactions
              reason:
                description: Why the check deposit was rejected.
                enum:
                - incomplete_image
                - duplicate
                - poor_image_quality
                - incorrect_amount
                - incorrect_recipient
                - not_eligible_for_mobile_deposit
                - missing_required_data_elements
                - suspected_fraud
                - deposit_window_expired
                - requested_by_user
                - international
                - unknown
                type: string
                x-documentation-priority: default
                x-enum-descriptions:
                - The check's image is incomplete.
                - This is a duplicate check submission.
                - This check has poor image quality.
                - The check was deposited with the incorrect amount.
                - The check is made out to someone other than the account holder.
                - This check was not eligible for mobile deposit.
                - This check is missing at least one required field.
                - This check is suspected to be fraudulent.
                - This check's deposit window has expired.
                - The check was rejected at the user's request.
                - The check is not a U.S. domestic check and cannot be processed.
                - The check was rejected for an unknown reason.
              rejected_at:
                description: The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which the check deposit was rejected.
                format: date-time
                type: string
                x-documentation-priority: default
            required:
            - check_deposit_id
            - declined_transaction_id
            - amount
            - currency
            - reason
            - rejected_at
            title: Check Deposit Check Deposit Rejection
            type: object
            x-documentation-priority: default
            x-event-categories: []
            x-stainless-empty-object: false
            x-title-plural: Check Deposit Rejections
          - type: 'null'
        deposit_return:
          anyOf:
          - additionalProperties: true
            description: If your deposit is returned, this will contain details as to why it was returned.
            example:
              amount: 100
              check_deposit_id: check_deposit_f06n9gpg7sxn8t19lfc1
              currency: USD
              return_reason: insufficient_funds
              returned_at: '2020-01-31T23:59:59Z'
              transaction_id: transaction_uyrp7fld2ium70oa7oi
            properties:
              amount:
                description: The returned amount in USD cents.
                type: integer
                x-documentation-priority: default
              check_deposit_id:
                description: The identifier of the Check Deposit that was returned.
                type: string
                x-documentation-priority: default
                x-id-reference-to: Check Deposits
              currency:
                description: The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transaction's currency.
                enum:
                - USD
                type: string
                x-documentation-priority: default
                x-enum-descriptions:
                - US Dollar (USD)
              return_reason:
                description: Why this check was returned by the bank holding the account it was drawn against.
                enum:
                - ach_conversion_not_supported
                - closed_account
                - duplicate_submission
                - insufficient_funds
                - no_account
                - not_authorized
                - stale_dated
                - stop_payment
                - unknown_reason
                - unmatched_details
                - unreadable_image
                - endorsement_irregular
                - altered_or_fictitious_item
                - frozen_or_blocked_account
                - post_dated
                - endorsement_missing
                - signature_missing
                - stop_payment_suspect
                - unusable_image
                - image_fails_security_check
                - cannot_determine_amount
                - signature_irregular
                - non_cash_item
                - unable_to_process
                - item_exceeds_dollar_limit
                - branch_or_account_sold
                type: string
                x-documentation-priority: default
                x-enum-descriptions:
                - The check doesn't allow ACH conversion.
                - The account is closed. (Check21 return code `D`)
                - The check has already been deposited. (Check21 return code `Y`)
                - Insufficient funds (Check21 return code `A`)
                - No account was found matching the check details. (Check21 return code `E`)
                - The check was not authorized. (Check21 return code `Q`)
                - The check is too old. (Check21 return code `G`)
                - The payment has been stopped by the account holder. (Check21 return code `C`)
                - The reason for the return is unknown.
                - The image doesn't match the details submitted.
                - The image could not be read. (Check21 return code `U`)
                - The check endorsement was irregular. (Check21 return code `J`)
                - The check present was either altered or fake. (Check21 return code `N`)
                - The account this check is drawn on is frozen. (Check21 return code `F`)
                - The check is post dated. (Check21 return code `H`)
                - The endorsement was missing. (Check21 return code `I`)
                - The check signature was missing. (Check21 return code `K`)
                - The bank suspects a stop payment will be placed. (Check21 return code `T`)
                - The bank cannot read the image. (Check21 return code `U`)
                - The check image fails the bank's security check. (Check21 return code `V`)
                - The bank cannot determine the amount. (Check21 return code `W`)
                - The signature is inconsistent with prior signatures. (Check21 return code `L`)
                - The check is a non-cash item and cannot be drawn against the account. (Check21 return code `M`)
                - The bank is unable to process this check. (Check21 return code `O`)
                - The check exceeds the bank or customer's limit. (Check21 return code `P`)
                - The bank sold this account and no longer services this customer. (Check21 return code `R`)
              returned_at:
                description: The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which the check deposit was returned.
                format: date-time
                type: string
                x-documentation-priority: default
              transaction_id:
                description: The identifier of the transaction that reversed the original check deposit transaction.
                type: string
                x-documentation-priority: default
                x-id-reference-to: Transactions
            required:
            - amount
            - returned_at
            - currency
            - check_deposit_id
            - transaction_id
            - return_reason
            title: Check Deposit Check Deposit Return
            type: object
            x-documentation-priority: default
            x-event-categories: []
            x-stainless-empty-object: false
            x-title-plural: Check Deposit Returns
          - type: 'null'
        deposit_submission:
          anyOf:
          - additionalProperties: false
            description: After the check is parsed, it is submitted to the Check21 network for processing. This will contain details of the submission.
            example:
              back_file_id: file_frhw4s443nh7noss55kq
              front_file_id: file_j7ed9mrve741m6yui9ju
              submitted_at: '2020-02-01T00:59:59+00:00'
            properties:
              back_file_id:
                description: The ID for the File containing the check back image that was submitted to the Check21 network.
                type: string
                x-documentation-priority: default
                x-id-reference-to: Files
              front_file_id:
                description: The ID for the File containing the check front image that was submitted to the Check21 network.
                type: string
                x-documentation-priority: default
                x-id-reference-to: Files
              submitted_at:
                description: When the check deposit was submitted to the Check21 network for processing. During business days, this happens within a few hours of the check being accepted by Increase.
                format: date-time
                type: string
                x-documentation-priority: default
            required:
            - submitted_at
            - front_file_id
            - back_file_id
            title: Check Deposit Check Deposit Submission
            type: object
            x-documentation-priority: default
            x-event-categories: []
            x-stainless-empty-object: false
            x-title-plural: Check Deposit Submissions
          - type: 'null'
        description:
          anyOf:
          - description: The description of the Check Deposit, for display purposes only.
            type: string
            x-documentation-priority: default
          - type: 'null'
        front_image_file_id:
          description: The ID for the File containing the image of the front of the check.
          type: string
          x-documentation-priority: default
          x-id-reference-to: Files
        id:
          description: The deposit's identifier.
          type: string
          x-documentation-priority: default
          x-id-reference-to: Check Deposits
        idempotency_key:
          anyOf:
          - description: The idempotency key you chose for this object. This value is unique across Increase and is used to ensure that a request is only processed once. Learn more about [idempotency](https://increase.com/documentation/idempotency-keys).
            type: string
            x-documentation-priority: default
          - type: 'null'
        inbound_funds_hold:
          anyOf:
          - $ref: '#/components/schemas/inbound_funds_hold'
            description: Increase will sometimes hold the funds for Check Deposits. If funds are held, this sub-object will contain details of the hold.
            x-documentation-priority: default
          - type: 'null'
        inbound_mail_item_id:
          anyOf:
          - description: If the Check Deposit was the result of an Inbound Mail Item, this will contain the identifier of the Inbound Mail Item.
            type: string
            x-documentation-priority: default
            x-id-reference-to: Inbound Mail Items
          - type: 'null'
        lockbox_recipient_id:
          anyOf:
          - description: If the Check Deposit was the result of an Inbound Mail Item routed to a Lockbox Recipient, this will contain the identifier of the Lockbox Recipient that received it.
            type: string
            x-documentation-priority: default
            x-id-reference-to: Lockbox Recipients
          - type: 'null'
        status:
          description: The status of the Check Deposit.
          enum:
          - pending
          - submitted
          - rejected
          - returned
          type: string
          x-documentation-priority: default
          x-enum-descriptions:
          - The Check Deposit is pending review.
          - The Check Deposit has been deposited.
          - The Check Deposit has been rejected.
          - The Check Deposit has been returned.
        transaction_id:
          anyOf:
          - description: The ID for the Transaction created by the deposit.
            type: string
            x-documentation-priority: default
            x-id-reference-to: Transactions
          - type: 'null'
        type:
          description: A constant representing the object's type. For this resource it will always be `check_deposit`.
          enum:
          - check_deposit
          type: string
          x-documentation-priority: default
      required:
      - type
      - id
      - amount
      - description
      - created_at
      - status
      - account_id
      - front_image_file_id
      - back_image_file_id
      - transaction_id
      - deposit_acceptance
      - deposit_submission
      - deposit_rejection
      - deposit_return
      - inbound_funds_hold
      - inbound_mail_item_id
      - lockbox_recipient_id
      - deposit_adjustments
      - idempotency_key
      title: Check Deposit
      type: object
      x-event-categories:
      - check_deposit.created
      - check_deposit.updated
      x-stainless-empty-object: false
      x-tag: Check Deposits
      x-title-plural: Check Deposits
    error:
      anyOf:
      - properties:
          detail:
            anyOf:
            - type: string
            - type: 'null'
          status:
            enum:
            - 404
            type: integer
          title:
            type: string
          type:
            enum:
            - api_method_not_found_error
            type: string
        required:
        - type
        - title
        - detail
        - status
        type: object
        x-event-categories: []
      - properties:
          detail:
            anyOf:
            - type: string
            - type: 'null'
          status:
            enum:
            - 403
            type: integer
          title:
            type: string
          type:
            enum:
            - environment_mismatch_error
            type: string
        required:
        - type
        - title
        - detail
        - status
        type: object
        x-event-categories: []
      - properties:
          detail:
            anyOf:
            - type: string
            - type: 'null'
          resource_id:
            description: ''
            type: string
            x-documentation-priority: default
          status:
            enum:
            - 409
            type: integer
          title:
            type: string
          type:
            enum:
            - idempotency_key_already_used_error
            type: string
        required:
        - type
        - title
        - detail
        - status
        - resource_id
        type: object
        x-event-categories: []
      - properties:
          detail:
            anyOf:
            - type: string
            - type: 'null'
          status:
            enum:
            - 403
            type: integer
          title:
            type: string
          type:
            enum:
            - insufficient_permissions_error
            type: string
        required:
        - type
        - title
        - detail
        - status
        type: object
        x-event-categories: []
      - properties:
          detail:
            anyOf:
            - type: string
            - type: 'null'
          status:
            enum:
            - 500
            type: integer
          title:
            type: string
          type:
            enum:
            - internal_server_error
            type: string
        required:
        - type
        - title
        - detail
        - status
        type: object
        x-event-categories: []
      - properties:
          detail:
            anyOf:
            - type: string
            - type: 'null'
          reason:
            description: ''
            enum:
            - deleted_credential
            - expired_credential
            - ip_not_allowed
            - no_credential
            - no_header
            - no_api_access
            - wrong_environment
            type: string
            x-documentation-priority: default
            x-enum-descriptions:
            - deleted_credential
            - expired_credential
            - ip_not_allowed
            - no_credential
            - no_header
            - no_api_access
            - wrong_environment
          status:
            enum:
            - 401
            type: integer
          title:
            type: string
          type:
            enum:
            - invalid_api_key_error
            type: string
        required:
        - type
        - title
        - detail
        - status
        - reason
        type: object
        x-event-categories: []
      - properties:
          detail:
            anyOf:
            - type: string
            - type: 'null'
          status:
            enum:
            - 409
            type: integer
          title:
            type: string
          type:
            enum:
            - invalid_operation_error
            type: string
        required:
        - type
        - title
        - detail
        - status
        type: object
        x-event-categories: []
      - properties:
          detail:
            anyOf:
            - type: string
            - type: 'null'
          errors:
            description: All errors related to parsing the request parameters.
            items:
              additionalProperties: true
              properties: {}
              title: ErrorsElement
              type: object
              x-event-categories: []
              x-stainless-empty-object: false
              x-title-plural: ErrorsElements
            type: array
            x-documentation-priority: default
          status:
            enum:
            - 400
            type: integer
          title:
            type: string
          type:
            enum:
            - invalid_parameters_error
            type: string
        required:
        - type
        - title
        - detail
        - status
        - errors
        type: object
        x-event-categories: []
      - properties:
          detail:
            anyOf:
            - type: string
            - type: 'null'
          status:
            enum:
            - 400
            type: integer
          title:
  

# --- truncated at 32 KB (42 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/increase/refs/heads/main/openapi/increase-check-deposits-api-openapi.yml