Increase Account Transfers API

Account transfers move funds between your own accounts at Increase (accounting systems often refer to these as Book Transfers). Account Transfers are free and synchronous. Upon creation they create two Transactions, one negative on the originating account and one positive on the destination account (unless the transfer requires approval, in which case the Transactions will be created when the transfer is approved).

OpenAPI Specification

increase-account-transfers-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 Account Transfers API
  version: 0.0.1
servers:
- url: https://api.increase.com
- url: https://sandbox.increase.com
security:
- bearerAuth: []
tags:
- description: Account transfers move funds between your own accounts at Increase (accounting systems often refer to these as Book Transfers). Account Transfers are free and synchronous. Upon creation they create two Transactions, one negative on the originating account and one positive on the destination account (unless the transfer requires approval, in which case the Transactions will be created when the transfer is approved).
  name: Account Transfers
paths:
  /account_transfers:
    get:
      operationId: list_account_transfers
      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 Account Transfers to those that originated from the specified Account.
          type: string
          x-documentation-priority: default
          x-id-reference-to: Accounts
      - 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
      - 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
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/account_transfer_list'
          description: Account Transfer List
        4XX:
          $ref: '#/components/responses/errorResponse'
        5XX:
          $ref: '#/components/responses/errorResponse'
      summary: List Account Transfers
      x-sandbox-only: false
      x-tag: Account Transfers
      tags:
      - Account Transfers
    post:
      operationId: create_an_account_transfer
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/create_an_account_transfer_parameters'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/account_transfer'
          description: Account Transfer
        4XX:
          $ref: '#/components/responses/errorResponse'
        5XX:
          $ref: '#/components/responses/errorResponse'
      summary: Create an Account Transfer
      x-sandbox-only: false
      x-tag: Account Transfers
      tags:
      - Account Transfers
  /account_transfers/{account_transfer_id}:
    get:
      operationId: retrieve_an_account_transfer
      parameters:
      - example: account_transfer_7k9qe1ysdgqztnt63l7n
        in: path
        name: account_transfer_id
        required: true
        schema:
          description: The identifier of the Account Transfer.
          type: string
          x-documentation-priority: default
          x-id-reference-to: Account Transfers
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/account_transfer'
          description: Account Transfer
        4XX:
          $ref: '#/components/responses/errorResponse'
        5XX:
          $ref: '#/components/responses/errorResponse'
      summary: Retrieve an Account Transfer
      x-sandbox-only: false
      x-tag: Account Transfers
      tags:
      - Account Transfers
  /account_transfers/{account_transfer_id}/approve:
    post:
      description: Approves an Account Transfer in status `pending_approval`.
      operationId: approve_an_account_transfer
      parameters:
      - example: account_transfer_7k9qe1ysdgqztnt63l7n
        in: path
        name: account_transfer_id
        required: true
        schema:
          description: The identifier of the Account Transfer to approve.
          type: string
          x-documentation-priority: default
          x-id-reference-to: Account Transfers
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/account_transfer'
          description: Account Transfer
        4XX:
          $ref: '#/components/responses/errorResponse'
        5XX:
          $ref: '#/components/responses/errorResponse'
      summary: Approve an Account Transfer
      x-sandbox-only: false
      x-tag: Account Transfers
      tags:
      - Account Transfers
  /account_transfers/{account_transfer_id}/cancel:
    post:
      description: Cancels an Account Transfer in status `pending_approval`.
      operationId: cancel_an_account_transfer
      parameters:
      - example: account_transfer_7k9qe1ysdgqztnt63l7n
        in: path
        name: account_transfer_id
        required: true
        schema:
          description: The identifier of the pending Account Transfer to cancel.
          type: string
          x-documentation-priority: default
          x-id-reference-to: Account Transfers
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/account_transfer'
          description: Account Transfer
        4XX:
          $ref: '#/components/responses/errorResponse'
        5XX:
          $ref: '#/components/responses/errorResponse'
      summary: Cancel an Account Transfer
      x-sandbox-only: false
      x-tag: Account Transfers
      tags:
      - Account Transfers
components:
  schemas:
    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:
            type: string
          type:
            enum:
            - malformed_request_error
            type: string
        required:
        - type
        - title
        - detail
        - status
        type: object
        x-event-categories: []
      - properties:
          detail:
            anyOf:
            - type: string
            - type: 'null'
          status:
            enum:
            - 404
            type: integer
          title:
            type: string
          type:
            enum:
            - object_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:
            - private_feature_error
            type: string
        required:
        - type
        - title
        - detail
        - status
        type: object
        x-event-categories: []
      - properties:
          detail:
            anyOf:
            - type: string
            - type: 'null'
          retry_after:
            anyOf:
            - description: ''
              type: integer
              x-documentation-priority: default
            - type: 'null'
          status:
            enum:
            - 429
            type: integer
          title:
            type: string
          type:
            enum:
            - rate_limited_error
            type: string
        required:
        - type
        - title
        - detail
        - status
        type: object
        x-event-categories: []
    account_transfer:
      additionalProperties: true
      description: Account transfers move funds between your own accounts at Increase (accounting systems often refer to these as Book Transfers). Account Transfers are free and synchronous. Upon creation they create two Transactions, one negative on the originating account and one positive on the destination account (unless the transfer requires approval, in which case the Transactions will be created when the transfer is approved).
      example:
        account_id: account_in71c4amph0vgo2qllky
        amount: 100
        approval:
          approved_at: '2020-01-31T23:59:59Z'
          approved_by: null
        cancellation: null
        created_at: '2020-01-31T23:59:59Z'
        created_by:
          category: user
          user:
            email: user@example.com
        currency: USD
        description: Move money into savings
        destination_account_id: account_uf16sut2ct5bevmq3eh
        destination_transaction_id: transaction_j3itv8dtk5o8pw3p1xj4
        id: account_transfer_7k9qe1ysdgqztnt63l7n
        idempotency_key: null
        pending_transaction_id: null
        status: complete
        transaction_id: transaction_uyrp7fld2ium70oa7oi
        type: account_transfer
      properties:
        account_id:
          description: The Account from which the transfer originated.
          type: string
          x-documentation-priority: default
          x-id-reference-to: Accounts
        amount:
          description: The transfer amount in cents. This will always be positive and indicates the amount of money leaving the originating account.
          type: integer
          x-documentation-priority: default
        approval:
          anyOf:
          - additionalProperties: false
            description: If your account requires approvals for transfers and the transfer was approved, this will contain details of the approval.
            example:
              approved_at: '2020-01-31T23:59:59Z'
              approved_by: null
            properties:
              approved_at:
                description: The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which the transfer was approved.
                format: date-time
                type: string
                x-documentation-priority: default
              approved_by:
                anyOf:
                - description: If the Transfer was approved by a user in the dashboard, the email address of that user.
                  type: string
                  x-documentation-priority: default
                - type: 'null'
            required:
            - approved_at
            - approved_by
            title: Account Transfer Transfer Approval
            type: object
            x-documentation-priority: default
            x-event-categories: []
            x-stainless-empty-object: false
            x-title-plural: Transfer Approvals
          - type: 'null'
        cancellation:
          anyOf:
          - additionalProperties: false
            description: If your account requires approvals for transfers and the transfer was not approved, this will contain details of the cancellation.
            example:
              canceled_at: '2020-01-31T23:59:59Z'
              canceled_by: null
            properties:
              canceled_at:
                description: The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which the Transfer was canceled.
                format: date-time
                type: string
                x-documentation-priority: default
              canceled_by:
                anyOf:
                - description: If the Transfer was canceled by a user in the dashboard, the email address of that user.
                  type: string
                  x-documentation-priority: default
                - type: 'null'
            required:
            - canceled_at
            - canceled_by
            title: Account Transfer Transfer Cancellation
            type: object
            x-documentation-priority: default
            x-event-categories: []
            x-stainless-empty-object: false
            x-title-plural: Transfer Cancellations
          - 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
        created_by:
          anyOf:
          - additionalProperties: false
            description: What object created the transfer, either via the API or the dashboard.
            example:
              category: user
              user:
                email: user@example.com
            properties:
              api_key:
                anyOf:
                - additionalProperties: false
                  description: If present, details about the API key that created the transfer.
                  properties:
                    description:
                      anyOf:
                      - description: The description set for the API key when it was created.
                        type: string
                        x-documentation-priority: default
                      - type: 'null'
                  required:
                  - description
                  title: Account Transfer Transfer Creator ApiKey
                  type: object
                  x-documentation-priority: default
                  x-event-categories: []
                  x-stainless-empty-object: false
                  x-title-plural: ApiKeys
                - type: 'null'
              category:
                description: The type of object that created this transfer.
                enum:
                - api_key
                - oauth_application
                - user
                type: string
                x-documentation-priority: default
                x-enum-descriptions:
                - An API key. Details will be under the `api_key` object.
                - An OAuth application you connected to Increase. Details will be under the `oauth_application` object.
                - A User in the Increase dashboard. Details will be under the `user` object.
              oauth_application:
                anyOf:
                - additionalProperties: false
                  description: If present, details about the OAuth Application that created the transfer.
                  properties:
                    name:
                      description: The name of the OAuth Application.
                      type: string
                      x-documentation-priority: default
                  required:
                  - name
                  title: Account Transfer Transfer Creator OAuthApplication
                  type: object
                  x-documentation-priority: default
                  x-event-categories: []
                  x-stainless-empty-object: false
                  x-title-plural: OAuthApplications
                - type: 'null'
              user:
                anyOf:
                - additionalProperties: false
                  description: If present, details about the User that created the transfer.
                  properties:
                    email:
                      description: The email address of the User.
                      type: string
                      x-documentation-priority: default
                  required:
                  - email
                  title: Account Transfer Transfer Creator User
                  type: object
                  x-documentation-priority: default
                  x-event-categories: []
                  x-stainless-empty-object: false
                  x-title-plural: Users
                - type: 'null'
            required:
            - category
            title: Account Transfer Transfer Creator
            type: object
            x-documentation-priority: default
            x-event-categories: []
            x-stainless-empty-object: false
            x-title-plural: Transfer Creators
          - type: 'null'
        currency:
          description: The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transfer's currency.
          enum:
          - USD
          type: string
          x-documentation-priority: default
          x-enum-descriptions:
          - US Dollar (USD)
        description:
          description: An internal-facing description for the transfer for display in the API and dashboard. This will also show in the description of the created Transactions.
          type: string
          x-documentation-priority: default
        destination_account_id:
          description: The destination Account's identifier.
          type: string
          x-documentation-priority: default
          x-id-reference-to: Accounts
        destination_transaction_id:
          anyOf:
          - description: The identifier of the Transaction on the destination Account representing the received funds.
            type: string
            x-documentation-priority: default
            x-id-reference-to: Transactions
          - type: 'null'
        id:
          description: The Account Transfer's identifier.
          type: string
          x-documentation-priority: default
          x-id-reference-to: Account Transfers
        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'
        pending_transaction_id:
          anyOf:
          - description: The ID for the pending transaction representing the transfer. A pending transaction is created when the transfer [requires approval](https://increase.com/documentation/transfer-approvals#transfer-approvals) by someone else in your organization.
            type: string
            x-documentation-priority: default
            x-id-reference-to: Pending Transactions
          - type: 'null'
        status:
          description: The lifecycle status of the transfer.
          enum:
          - pending_approval
          - canceled
          - complete
          type: string
          x-documentation-priority: default
          x-enum-descriptions:
          - The transfer is pending approval from your team.
          - The transfer was pending approval from your team and has been canceled.
          - The transfer has been completed.
        transaction_id:
          anyOf:
          - description: The identifier of the Transaction on the originating account representing the transferred funds.
            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 `account_transfer`.
          enum:
          - account_transfer
          type: string
          x-documentation-priority: default
      required:
      - type
      - id
      - amount
      - account_id
      - currency
      - destination_account_id
      - destination_transaction_id
      - created_at
      - description
      - status
      - transaction_id
      - pending_transaction_id
      - approval
      - cancellation
      - created_by
      - idempotency_key
      title: Account Transfer
      type: object
      x-event-categories:
      - account_transfer.created
      - account_transfer.updated
      x-stainless-empty-object: false
      x-tag: Account Transfers
      x-title-plural: Account Transfers
    account_transfer_list:
      additionalProperties: true
      description: A list of Account Transfer objects.
      example:
        data:
        - account_id: account_in71c4amph0vgo2qllky
          amount: 100
          approval:
            approved_at: '2020-01-31T23:59:59Z'
            approved_by: null
          cancellation: null
          created_at: '2020-01-31T23:59:59Z'
          created_by:
            category: user
            user:
              email: user@example.com
          currency: USD
          description: Move money into savings
          destination_account_id: account_uf16sut2ct5bevmq3eh
          destination_transaction_id: transaction_j3itv8dtk5o8pw3p1xj4
          id: account_transfer_7k9qe1ysdgqztnt63l7n
          idempotency_key: null
          pending_transaction_id: null
          status: complete
          transaction_id: transaction_uyrp7fld2ium70oa7oi
          type: account_transfer
        next_cursor: v57w5d
      properties:
        data:
          description: The contents of the list.
          items:
            $ref: '#/components/schemas/account_transfer'
          type: array
          x-documentation-priority: default
        next_cursor:
          anyOf:
          - description: A pointer to a place in the list. Pass this as the `cursor` parameter to retrieve the next page of results. If there are no more results, the value will be `null`.
            type: string
            x-documentation-priority: default
          - type: 'null'
      required:
      - data
      - next_cursor
      title: Account Transfer List
      type: object
      x-event-categories: []
      x-stainless-empty-object: false
      x-title-plural: Account Transfer Lists
    create_an_account_transfer_parameters:
      additionalProperties: true
      example:
        account_id: account_in71c4amph0vgo2qllky
        amount: 100
        description: Creating liquidity
        destination_account_id: account_uf16sut2ct5bevmq3eh
      properties:
        account_id:
          description: The identifier for the originating Account that will send the transfer.
          type: string
          x-documentation-priority: default
          x-id-reference-to: Accounts
        amount:
          description: The transfer amount in the minor unit of the account currency. For dollars, for example, this is cents.
          minimum: 1
          type: integer
          x-documentation-priority: default
        description:
          description: An internal-facing description for the transfer for display in the API and dashboard. This will also show in the description of the created Transactions.
          maxLength: 200
          minLength: 1
          type: string
          x-documentation-priority: default
        destination_account_id:
          description: The identifier for the destination Account that will receive the transfer.
          type: string
          x-documentation-priority: default
          x-id-reference-to: Accounts
        require_approval:
          description: Whether the transfer should require explicit approval via the dashboard or API. For more information, see [Transfer Approvals](/documentation/transfer-approvals).
          type: boolean
          x-documentation-priority: default
      required:
      - account_id
      - amount
      - description
      - destination_account_id
      type: object
      x-event-categories: []
      x-stainless-empty-object: false
  responses:
    errorResponse:
      content:
        application/json:
          schema:
            allOf:
            - $ref: '#/components/schemas/error'
      description: Error
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http
x-tagGroups:
- name: Accounts
  tags:
  - Accounts
  - Account Numbers
  - Account Transfers
- name: Transactions
  tags:
  - Transactions
  - Pending Transactions
  - Declined Transactions
- name: Ach Transfers
  tags:
  - ACH Transfers
  - Inbound ACH Transfers
  - ACH Prenotifications
- name: Check Transfers
  tags:
  - Check Transfers
  - Inbound Check Deposits
- name: Real Time Payments Transfers
  tags:
  - Real-Time Payments Transfers
  - Inbound Real-Time Payments Transfers
- name: Fednow Transfers
  tags:
  - FedNow Transfers
  - Inbound FedNow Transfers
- name: Swift Transfers
  tags:
  - Swift Transfers
- name: Wire Transfers
  tags:
  - Wire Transfers
  - Inbound Wire Transfers
  - Wire Drawdown Requests
  - Inbound Wire Drawdown Requests
- name: Card Transfers
  tags:
  - Card Tokens
  - Card Push Transfers
  - Card Validations
- name: Check Deposits
  tags:
  - Check Deposits
  - Lockbox Addresses
  - Lockbox Recipients
  - Inbound Mail Items
- name: Cards
  tags:
  - Cards
  - Card Payments
  - Card Purchase Supplements
  - Card Disputes
  - Physical Cards
  - Digital Card Profiles
  - Physical Card Profiles
  - Digital Wallet Tokens
- name: Compliance
  tags:
  - Entities
  - Beneficial Owners
  - Supplemental Documents
  - Entity Onboarding Sessions
  - Programs
- name: Events and Webhooks
  tags:
  - Events
  - Event Subscriptions
  - Real-Time Decisions
- name: External Accounts
  tags:
  - Routing Numbers
  - External Accounts
- name: Files and Exports
  tags:
  - Account Statements
  - Files
  - File Links
  - Exports
- name: OAuth
  tags:
  - Groups
  - OAuth Applications
  - OAuth Connections
  - OAuth Tokens
- name: Intrafi
  tags:
  - IntraFi Account Enrollments
  - IntraFi Balances
  - IntraFi Exclusions