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

# Insert transactions

> Push new transactions directly from a bank into the Tight API



## OpenAPI

````yaml https://dev.hurdlr.com/rest/v1/devUtils/documentation?version=5&Authorization=dexfeE6aRK3zwXP4ku5aWm8w&env=sandbox post /v5/banks/transactions
openapi: 3.0.1
info:
  title: Tight API
  contact:
    name: Hurdlr, Inc. (dba Tight)
    url: https://www.tight.com
    email: api@tight.com
  version: 6.0.0
servers:
  - url: https://sandbox.hurdlr.com/rest
    description: Staging Environment
  - url: https://prod.hurdlr.com/rest
    description: Production Environment
security:
  - accessTokenSecurity: []
  - basicSecurity: []
tags:
  - name: Authentication
  - name: Banks
  - name: Business & Client Management
  - name: Invoicing
  - name: Revenue
  - name: Investments
  - name: Payouts
  - name: Bills
  - name: Expenses
  - name: Payroll
  - name: Reports
  - name: Accounting
  - name: Mileage
  - name: Taxes
  - name: Time Tracking
  - name: Imports
  - name: Files
  - name: Accountant
  - name: Audit Trail
  - name: Support
  - name: Tax Engine Express
  - name: Interview Endpoint
  - name: Ledgering
  - name: Configuration
  - name: Templates
paths:
  /v5/banks/transactions:
    post:
      tags:
        - Banks
      summary: Insert transactions
      description: Push new transactions directly from a bank into the Tight API
      operationId: postTransactions
      requestBody:
        description: Transaction data
        content:
          '*/*':
            schema:
              $ref: '#/components/schemas/TransactionParamListPostData'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FormRetVal'
      security:
        - accessTokenSecurity: []
components:
  schemas:
    TransactionParamListPostData:
      required:
        - transactions
      type: object
      properties:
        transactions:
          type: array
          description: List of transactions
          items:
            $ref: '#/components/schemas/Transaction'
      description: Parameters for a list of transaction(s) V5 endpoint
    FormRetVal:
      type: object
      properties:
        result:
          type: string
          description: The result of the action performed
          enum:
            - SUCCESS
            - FAILURE
        errors:
          $ref: '#/components/schemas/ValidationRetVal'
        id:
          type: string
          description: Id of the entity being acted upon
        webhook:
          $ref: '#/components/schemas/EntityUpdateEvent'
      description: Object containing details about result of the action performed
    Transaction:
      required:
        - amount
        - apiAccountId
        - apiTransactionId
        - description
      type: object
      properties:
        apiTransactionId:
          type: string
          description: Id of the transaction record in your DB
          example: '1123144594'
        date:
          type: string
          description: >-
            Date that the transaction was incurred.
            format(yyyy-MM-dd'T'HH:mm:ss.SSSZ)
          format: date-time
        amount:
          type: number
          description: >-
            Total value of the transaction; deposits should be positive and
            withdrawals should be negative
          example: 500.39
        description:
          type: string
          description: >-
            Transaction description from Finicity, MX, Plaid, Unit, bank, or
            other data source
          example: United Airlines
        reviewStatus:
          type: string
          description: Review status of the transaction
          enum:
            - PARTNER_REVIEW_REQUIRED
            - USER_REVIEW_REQUIRED
            - ACCOUNTANT_REVIEW_REQUIRED
            - RECONCILIATION_STAGED
            - RECONCILED
            - RECONCILIATION_DISCREPANCY
            - ADJUSTMENT_USER_REVIEW_REQUIRED
            - ADJUSTMENT_ACCOUNTANT_REVIEW_REQUIRED
            - ADJUSTMENT_RECONCILIATION_STAGED
        plaidPersonalFinanceCategory:
          type: string
          description: >-
            Transaction Category from Plaid. Either mxCategoryName,
            finicityCategoryName, segmintCategoryName, spadeCategoryName,
            plaidPersonalFinanceCategory, or unitType should be populated if
            available
          example: FOOD_AND_DRINK_COFFEE
        finicityCategoryName:
          type: string
          description: >-
            Transaction category from Finicity. Either finicityCategoryName,
            mxCategoryName, segmintCategoryName, spadeCategoryName,
            plaidPersonalFinanceCategory, or unitType should be populated if
            available
          example: Air Travel
        segmintCategoryName:
          type: string
          description: >-
            Transaction category from Segmint. Either finicityCategoryName,
            mxCategoryName, segmintCategoryName, spadeCategoryName,
            plaidPersonalFinanceCategory, or unitType should be populated if
            available
          example: Air Travel
        spadeCategoryName:
          type: string
          description: >-
            Transaction category from Spade. Either finicityCategoryName,
            mxCategoryName, segmintCategoryName, spadeCategoryName,
            plaidPersonalFinanceCategory, or unitType should be populated if
            available
          example: Air Travel
        unitType:
          type: string
          description: >-
            Type from Unit. Either unitType, finicityCategoryName,
            mxCategoryName, segmintCategoryName, spadeCategoryName or
            plaidPersonalFinanceCategory should be populated if available
          enum:
            - adjustmentTransaction
            - atmTransaction
            - bookTransaction
            - cardReversalTransaction
            - cardTransaction
            - chargebackTransaction
            - checkDepositTransaction
            - dishonoredAchTransaction
            - disputeTransaction
            - feeTransaction
            - individualApplication
            - interestTransaction
            - originatedAchTransaction
            - paymentAdvanceTransaction
            - paymentCanceledTransaction
            - purchaseTransaction
            - receivedAchTransaction
            - releaseTransaction
            - repaidPaymentAdvanceTransaction
            - returnedAchTransaction
            - returnedCheckDepositTransaction
            - wireTransaction
        merchantCategoryCode:
          type: integer
          description: ISO 18245 Merchant Category Code (MCC), if available
          format: int32
          example: 2741
        bankAccountId:
          type: integer
          description: Id of the transaction's bank account in the Tight API
          format: int64
          example: 459043850
        apiAccountId:
          type: string
          description: Id of the transaction's bank account in your DB
          example: fe3mko324njdw
        apiAccountNo:
          type: string
          description: >-
            Mask of the user's bank account, often the last 4 digits of the
            account number (used in reporting)
          example: '5435'
        apiAccountName:
          type: string
          description: Display name for the user's bank account (used in reporting)
          example: Citi Premier Card
        apiAccountType:
          type: string
          description: Type of the user's bank account
          example: CREDIT
          enum:
            - CREDIT
            - DEPOSITORY
        apiInstitutionId:
          type: string
          description: >-
            Name of the institution that the transaction originated from (used
            in reporting)
          example: Citi
        customData:
          type: object
          description: >-
            Custom JSON in which you can store any data with max length of 2000
            characters
        userAccess:
          type: string
          description: >-
            Access level for the user. This field uses the default configuration
            for the Partner; however, it can be overridden to manipulate how a
            user can interact with this transaction.
          enum:
            - NONE
            - READ_ONLY
            - READ_WRITE
        accountantAccess:
          type: string
          description: >-
            Access level for the accountant. This field uses the default
            configuration for the Partner; however, it can be overridden to
            manipulate how an accountant can interact with this transaction
          enum:
            - NONE
            - READ_ONLY
            - READ_WRITE
        currencyType:
          type: string
          description: Currency type of the transaction
          enum:
            - USD
            - CAD
            - EUR
            - GBP
            - JPY
        expenseCategoryOverride:
          $ref: '#/components/schemas/ExpenseCategory'
        revenueAccountIdOverride:
          type: integer
          format: int64
      description: List of transactions
    ValidationRetVal:
      type: object
      properties:
        fieldErrors:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/ValidationError'
          description: Map of field-level errors, often originating from validation errors
        globalErrors:
          type: array
          description: List of higher-level errors
          items:
            $ref: '#/components/schemas/ValidationError'
      description: Error object containing details errors incurred, if any
    EntityUpdateEvent:
      type: object
      properties:
        userId:
          type: string
        accountantUserId:
          type: string
        type:
          type: string
          enum:
            - ENTITY_UPDATE
            - LIFECYCLE_EVENT
            - LIFECYCLE
    ExpenseCategory:
      type: object
      properties:
        id:
          type: string
        companyId:
          type: string
        name:
          type: string
        account:
          $ref: '#/components/schemas/GlAccount'
        isCore:
          type: boolean
        fixedAssetAccount:
          $ref: '#/components/schemas/GlAccount'
        isSuspense:
          type: boolean
        hasChilds:
          type: boolean
        level:
          type: integer
          format: int32
        status:
          type: string
          enum:
            - ACTIVE
            - INACTIVE
            - DELETED
        systemGenerated:
          type: boolean
        precedence:
          type: number
        categoryNo:
          type: string
        parentCategoryNo:
          type: string
        parentCategory:
          $ref: '#/components/schemas/ExpenseCategory'
        apiCategoryId:
          type: string
        apiName:
          type: string
          enum:
            - GOOGLELOGIN
            - LINKEDINLOGIN
            - DROPBOX
            - BOX
            - SKYDRIVE
            - CLOVER
            - STRIPE
            - GOOGLESTORAGE
            - GOOGLECONTACTS
            - GOOGLEEMAIL
            - LINKEDINCONTACTS
            - PLAID
            - KNOX
            - UBER
            - FACEBOOKLOGIN
            - FRESHBOOKS
            - HARVEST
            - KW
            - FRESHBOOKS2
            - CAPITAL_ONE
            - SQUARE
            - S3
            - DOTLOOP
            - XERO_DEPRECATED
            - REALOGY
            - UPWORK
            - SHOPIFY
            - DEDUCTR
            - ENTERPRISE
            - MOXIWORKS
            - STRIPE_EXPRESS
            - APPLELOGIN
            - APPDIRECT
            - LONEWOLF
            - USER_IMPORTED
            - LONEWOLF_TRANSACTIONDESK
            - SAMPLE_BANK
            - TAXBOT
            - THIRD_PARTY_BANK
            - GUSTO
            - THIRD_PARTY_PAYMENTS
            - XERO
            - UNIT
            - USER_ENTRY
            - MOOV
            - QBO
            - COLUMN
            - QUALPAY
            - BENCH
            - PARTNER_IMPLEMENTATION
            - CHECK
            - RUTTER
            - WAVE
            - ADYEN
            - APRIL
            - PAYABLI
        extensionId:
          type: string
        idPrefix:
          type: string
          enum:
            - COMPANY
            - EMPLOYEE
            - DIMENSION_VALUE
            - CLASS_LABEL
            - CUSTOMER
            - BANK_ACCOUNT
            - GL_ACCOUNT
            - TRANSACTION_CATEGORY
            - BANK_TRANSACTION
            - PROCESSOR_TRANSACTION
            - TRANSACTION_LINE_ITEM
            - VENDOR
            - TRANSACTION_RULE
            - REVENUE_RULE
            - INVOICE
            - INVOICE_LINE_ITEM
            - BILL
            - BILL_LINE_ITEM
            - PAYROLL
            - PAYROLL_LINE_ITEM
            - FINANCIAL_SUMMARY
            - TASK
            - CONVERSATION
            - MESSAGE
            - REACTION
            - BUSINESS_TYPE
            - TEMPLATE_DIMENSION
            - TEMPLATE_COA
            - TEMPLATE_GL_ACCOUNT
            - TEMPLATE_TRANSACTION_RULES
            - MANUAL_JOURNAL_ENTRY
            - GL_TRANSACTION
            - ATTACHMENT
            - CAR
            - MILEAGE
            - INTEGRATION
            - TIME
            - TIME_TYPE
            - TAX_RETURN
        nameColumnNameForPagination:
          type: string
        externalId:
          type: string
    ValidationError:
      type: object
      properties:
        type:
          type: string
          description: A broad categorization of the error
          enum:
            - DUPLICATE
            - REQUIRED
            - DELETE
            - INVALID_VALUE
            - NOT_MODIFIABLE
            - GENERAL
            - INVALID_FORMAT
        errorMessage:
          type: string
          description: Human-friendly message describing this error
        message:
          type: string
          writeOnly: true
          enum:
            - DUPLICATE
            - REQUIRED
            - DELETE
            - INVALID_VALUE
            - NOT_MODIFIABLE
            - GENERAL
            - INVALID_FORMAT
            - INVALID_MAPPING
      description: List of higher-level errors
    GlAccount:
      type: object
      properties:
        id:
          type: string
        companyId:
          type: string
        accountNo:
          type: string
        parentAccountNo:
          type: string
        name:
          type: string
        type:
          type: string
          enum:
            - ASSET
            - LIABILITY
            - EQUITY
            - INCOME
            - COGS
            - EXPENSE
            - OTHER_INCOME
            - OTHER_EXPENSE
            - SUSPENSE
        level:
          type: integer
          format: int32
        hasChilds:
          type: boolean
        isContra:
          type: boolean
        assetType:
          type: string
          enum:
            - CASH
            - AR
            - OTHER_CURRENT
            - FIXED
            - OTHER_NON_CURRENT
            - FIXED_DEPRECIATION
            - SALES_TAX_CREDIT
            - DEFAULT_CASH
            - CLEARING_ACCOUNT
            - OTHER_RECEIVABLE
            - SECURITY_DEPOSIT
            - INVENTORY
            - UNMATCHED_TRANSFERS
        liabType:
          type: string
          enum:
            - AP
            - CREDIT_CARD
            - SALES_TAX
            - OTHER_CURRENT
            - LONG_TERM
            - DEFERRED_REVENUE
            - PAYROLL
            - ADMIN_STAFF_BENEFITS_PAYABLE
            - ADMIN_STAFF_BENEFITS_INSURANCE_PAYABLE
            - PAYROLL_TAXES_PAYABLE
            - ADMIN_STAFF_BENEFITS_RETIREMENT_PAYABLE
        equityType:
          type: string
          enum:
            - CAPITAL
            - DRAW_OR_DISTRIBUTIONS
            - OPENING_BALANCE
            - RETAINED_EARNINGS
            - PAID_IN_CAPITAL
            - PERSONAL_INCOME_AND_EXPENSES
            - CONTRIBUTION
            - FEDERAL_INCOME_TAX
            - STATE_INCOME_TAX
            - PERSONAL_INCOME
            - OTHER_PERSONAL_EXPENSES
        taxCategory:
          $ref: '#/components/schemas/TaxCategory'
        taxCategoryName:
          type: string
        extensionId:
          type: string
        level0No:
          type: string
        level0Name:
          type: string
        level1No:
          type: string
        level1Name:
          type: string
        level2No:
          type: string
        level2Name:
          type: string
        level3No:
          type: string
        level3Name:
          type: string
        status:
          type: string
          enum:
            - ACTIVE
            - INACTIVE
        incomeType:
          type: string
          enum:
            - SERVICE_INCOME
            - EXPENSE_MARKUP
            - DISCOUNT
        systemGenerated:
          type: boolean
        companyIdLong:
          type: integer
          format: int64
        customerPartnerId:
          type: integer
          format: int64
        createdDate:
          type: string
          format: date-time
          writeOnly: true
        idPrefix:
          type: string
          enum:
            - COMPANY
            - EMPLOYEE
            - DIMENSION_VALUE
            - CLASS_LABEL
            - CUSTOMER
            - BANK_ACCOUNT
            - GL_ACCOUNT
            - TRANSACTION_CATEGORY
            - BANK_TRANSACTION
            - PROCESSOR_TRANSACTION
            - TRANSACTION_LINE_ITEM
            - VENDOR
            - TRANSACTION_RULE
            - REVENUE_RULE
            - INVOICE
            - INVOICE_LINE_ITEM
            - BILL
            - BILL_LINE_ITEM
            - PAYROLL
            - PAYROLL_LINE_ITEM
            - FINANCIAL_SUMMARY
            - TASK
            - CONVERSATION
            - MESSAGE
            - REACTION
            - BUSINESS_TYPE
            - TEMPLATE_DIMENSION
            - TEMPLATE_COA
            - TEMPLATE_GL_ACCOUNT
            - TEMPLATE_TRANSACTION_RULES
            - MANUAL_JOURNAL_ENTRY
            - GL_TRANSACTION
            - ATTACHMENT
            - CAR
            - MILEAGE
            - INTEGRATION
            - TIME
            - TIME_TYPE
            - TAX_RETURN
        cfstype:
          type: string
          enum:
            - OPERATING
            - INVESTING
            - FINANCING
            - CASH
        cogsorExpenseType:
          type: string
          enum:
            - MERCHANT_FEE
            - OTHER
            - CONTRACTORS
            - ADMIN_STAFF_BENEFITS
            - ADMIN_STAFF_PAYROLL
            - ADMIN_STAFF_SALARIES
            - NON_DEDUCTIBLE_SALES_TAX_PAID
            - INCOME_TAX
            - REIMBURSABLE_EXPENSES
            - UNCATEGORIZED_EXPENSES
            - ADMIN_STAFF_BENEFITS_RETIREMENT
            - ADMIN_STAFF_BENEFITS_HEALTH_INSURANCE
            - FEDERAL_INCOME_TAX
            - STATE_INCOME_TAX
        externalId:
          type: string
    TaxCategory:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        displayName:
          type: string
        taxCategorySchedC1040Name:
          type: string
        taxCategory1065Name:
          type: string
        taxCategory1120Name:
          type: string
          writeOnly: true
        taxCategory1120SName:
          type: string
          writeOnly: true
        taxCategoryT2125Name:
          type: string
        form1040SchedCLineNumber:
          type: string
        form1040SchedCDisplayName:
          type: string
        t2125LineNumber:
          type: string
        t2125DisplayName:
          type: string
        form1065LineNumber:
          type: string
        form1065DisplayName:
          type: string
        form1120SLineNumber:
          type: string
        form1120SDisplayName:
          type: string
        entityId:
          type: integer
          format: int64
  securitySchemes:
    accessTokenSecurity:
      type: oauth2
      flows:
        implicit:
          authorizationUrl: /auth/account
          scopes:
            write: ''

````