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

# Bulk Update Journal Entries

> **Scopes:** `journal_entry:update`



## OpenAPI

````yaml /api-reference/openapi.json patch /v0/business/{business_id}/journal-entries
openapi: 3.1.0
info:
  title: Asset API
  version: '0.1'
servers:
  - url: https://api.sandbox.getasset.com
    description: Sandbox
  - url: https://api.getasset.com
    description: Production
security: []
paths:
  /v0/business/{business_id}/journal-entries:
    patch:
      tags:
        - Journal Entry
      summary: Bulk Update Journal Entries
      description: '**Scopes:** `journal_entry:update`'
      operationId: >-
        bulk_update_journal_entries_v0_business__business_id__journal_entries_patch
      parameters:
        - name: business_id
          in: path
          required: true
          schema:
            description: The id of the business
            examples:
              - biz_GA6EG2qFxA97NZHtxeLPUy
            type: string
            format: biz_string
            title: Business Id
          description: The id of the business
        - name: x-user-id
          in: header
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Optional external entity identifier that performed the update
            title: X-User-Id
          description: Optional external entity identifier that performed the update
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/JournalEntryBulkPatch'
              maxItems: 100
              title: Journal Entry Updates
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JournalEntryBulkUpdateSuccess'
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unprocessable Content
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Service Unavailable
      security:
        - OAuth2PasswordBearer:
            - journal_entry:update
components:
  schemas:
    JournalEntryBulkPatch:
      properties:
        journal_entry_id:
          type: string
          format: je_string
          title: Journal Entry Id
          description: The ID of the Journal Entry to update
        changes:
          $ref: '#/components/schemas/JournalEntryPatch'
          description: The changes to apply to the Journal Entry
      type: object
      required:
        - journal_entry_id
        - changes
      title: JournalEntryBulkPatch
    JournalEntryBulkUpdateSuccess:
      properties:
        data:
          items:
            $ref: '#/components/schemas/JournalEntryPublic'
          type: array
          title: Data
      type: object
      required:
        - data
      title: JournalEntryBulkUpdateSuccess
    ErrorResponse:
      properties:
        error:
          anyOf:
            - type: string
            - type: 'null'
          title: Error
          description: A description of the error
        data:
          title: Data
          description: Data associated with the error
      type: object
      required:
        - error
        - data
      title: ErrorResponse
    JournalEntryPatch:
      properties:
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
          description: The description of the Journal Entry
        datetime:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Datetime
          description: The datetime the Journal Entry was created in UTC ISO-8601 format
        line_changes:
          anyOf:
            - $ref: '#/components/schemas/JELineEntryChanges'
            - type: 'null'
          description: |-
            An object with optional `create` and `delete` values that modify the
                    lines in the Journal Entry. To update a line, simply remove the old line and add a
                    new one.
                    
        review_status:
          anyOf:
            - $ref: '#/components/schemas/JournalEntryReviewStatus'
            - type: 'null'
          description: The new status to set on the Journal Entry
        is_reconciled:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Is Reconciled
          description: Whether the Journal Entry is reconciled
        tags:
          anyOf:
            - additionalProperties:
                anyOf:
                  - items:
                      $ref: '#/components/schemas/TransactionTagValueInput-Input'
                    type: array
                  - type: string
              type: object
            - type: 'null'
          title: Tags
          description: >-
            Tags to apply to the Journal Entry, keyed by tag field name (the
            field must already exist). Each value is a tag value string, or a
            list of {value, amount?, ledger_id?} objects to split the amount
            across values and optionally pin a value to a ledger. Amounts left
            out are split evenly across the values. Supplying tags replaces all
            of the Journal Entry's tags; an empty object clears them. Only
            Journal Entries with no source transaction, invoice, or bill can be
            tagged this way.
          examples:
            - Department: Engineering
              Location: NYC
            - Location:
                - amount: '75.00'
                  value: NYC
                - amount: '25.00'
                  value: LA
      type: object
      title: JournalEntryPatch
    JournalEntryPublic:
      properties:
        business_id:
          type: string
          format: biz_string
          title: Business Id
          description: The ID of the Business that is associated with the Journal Entry
          examples:
            - biz_Pk2fNFDd8wj7EFeLWJywc7
        description:
          type: string
          maxLength: 512
          title: Description
          description: The description of the Journal Entry
          examples:
            - HomeDepot purchase
        clean_description:
          anyOf:
            - type: string
              maxLength: 512
            - type: 'null'
          title: Clean Description
          description: A more human-readable version of the description
          examples:
            - HomeDepot purchase
        datetime:
          type: string
          format: date-time
          title: Datetime
          description: The datetime the journal entry was created in UTC ISO-8601 format
          examples:
            - '2023-11-07T05:31:56Z'
        is_reconciled:
          type: boolean
          title: Is Reconciled
          description: Whether the journal entry is reconciled
        review_status:
          $ref: '#/components/schemas/JournalEntryReviewStatus'
          description: The review status of the journal entry
        basis:
          $ref: '#/components/schemas/JournalEntryBasis'
          description: The accounting basis of the journal entry
        id:
          type: string
          format: je_string
          title: Id
          description: The ID of the Journal Entry
          examples:
            - je_R2fAXCjqJPdpYata112zyW
        transaction_id:
          anyOf:
            - type: string
              format: txn_string
            - type: 'null'
          title: Transaction Id
          description: >-
            The ID of the associated Transaction if the Journal Entry was
            created from a Transaction
          examples:
            - txn_WQMDNUHpBThYSNh4AprDBo
        line_entries:
          items:
            $ref: '#/components/schemas/LineEntryPublic'
          type: array
          title: Line Entries
          description: The Line Entries for this Journal Entry
        categorization_method:
          anyOf:
            - $ref: '#/components/schemas/CategorizationMethod'
            - type: 'null'
          description: The method used to categorize the Journal Entry
          examples:
            - manual
        invoice_id:
          anyOf:
            - type: string
              format: inv_string
            - type: 'null'
          title: Invoice Id
          description: The ID of the associated Invoice
          examples:
            - inv_WQMDNUHpBThYSNh4AprDBo
      type: object
      required:
        - business_id
        - description
        - clean_description
        - datetime
        - is_reconciled
        - review_status
        - basis
        - id
        - transaction_id
        - line_entries
        - categorization_method
        - invoice_id
      title: JournalEntryPublic
    JELineEntryChanges:
      properties:
        create_lines:
          anyOf:
            - items:
                $ref: '#/components/schemas/LineEntryCreate'
              type: array
            - type: 'null'
          title: Create Lines
          description: A list of new Line Entries to add
        delete_lines:
          anyOf:
            - items:
                type: string
                format: le_string
              type: array
            - type: 'null'
          title: Delete Lines
          description: A list of Line Entry IDs to delete
      type: object
      title: JELineEntryChanges
    JournalEntryReviewStatus:
      type: string
      enum:
        - bookkeeper_pending
        - business_pending
        - confirmed
      title: JournalEntryReviewStatus
    TransactionTagValueInput-Input:
      properties:
        value:
          type: string
          title: Value
          description: The tag value (option string)
          examples:
            - NYC
        amount:
          anyOf:
            - type: number
              minimum: 0
            - type: string
              pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
            - type: 'null'
          title: Amount
          description: >-
            Portion of the source object allocated to this tag value. If
            omitted: with one value on a field the full source amount is used;
            with multiple values on a field the amount is split evenly. Mixed
            (some amounts set, some omitted) is rejected.
          examples:
            - '75.00'
        ledger_id:
          anyOf:
            - type: string
              format: ldg_string
            - type: 'null'
          title: Ledger Id
          description: >-
            Optional P&L ledger to pin this value's amount to. When set, the
            amount attributes entirely to that ledger instead of being pro-rated
            across the journal entry's P&L ledgers; an explicit amount is
            required and a field's values must be either all pinned or all
            unpinned. Transaction tags only.
          examples:
            - ldg_WQMDNUHpBThYSNh4AprDBo
      type: object
      required:
        - value
      title: TransactionTagValueInput
      description: |-
        Tag value input for transactions, which additionally support pinning
        a value's amount to a specific P&L ledger.
    JournalEntryBasis:
      type: string
      enum:
        - both
        - accrual
        - cash
      title: JournalEntryBasis
    LineEntryPublic:
      properties:
        ledger_id:
          type: string
          format: ldg_string
          title: Ledger Id
          description: The ID of the Ledger associated with the Line Entry
          examples:
            - ldg_Ns6rRRLYVZPh4cVB7MDby5
        description:
          type: string
          maxLength: 512
          title: Description
          description: The line entry description
          examples:
            - HomeDepot purchase
        debit_credit:
          $ref: '#/components/schemas/DebitCredit'
          description: Indicates whether this is a debit or credit line
          examples:
            - debit
        amount:
          type: number
          title: Amount
          description: >-
            The line amount in decimal dollar cents, and it must always be
            positive
          examples:
            - '89.23'
        id:
          type: string
          format: le_string
          title: Id
          description: The ID of the Line Entry
          examples:
            - le_GA6EG2qFxA97NZHtxeLPUy
        journal_entry_id:
          type: string
          format: je_string
          title: Journal Entry Id
          description: The ID of the parent Journal Entry
          examples:
            - je_R2fAXCjqJPdpYata112zyW
        transaction_id:
          anyOf:
            - type: string
              format: txn_string
            - type: 'null'
          title: Transaction Id
          description: >-
            The ID of the associated Transaction if the Line Entry was created
            from a Transaction
          examples:
            - txn_WQMDNUHpBThYSNh4AprDBo
        tag_value_ids:
          items:
            type: string
            format: tv_string
          type: array
          title: Tag Value Ids
          description: >-
            [Deprecated] The IDs of the tag values associated with the Line
            Entry. This field is still supported, but it will be removed in a
            future version of the API. Please use Journal Entry Tags instead.
          examples:
            - - tv_Ns6rRRLYVZPh4cVB7MDby5
      type: object
      required:
        - ledger_id
        - description
        - debit_credit
        - amount
        - id
        - journal_entry_id
      title: LineEntryPublic
    CategorizationMethod:
      type: string
      enum:
        - refund
        - transfer
        - similarity
        - plaid
        - ai
        - ar
        - ap
        - tenant_rule
        - business_rule
        - uncategorized
        - manual
        - agent
      title: CategorizationMethod
    LineEntryCreate:
      properties:
        ledger_id:
          type: string
          format: ldg_string
          title: Ledger Id
          description: The ID of the Ledger associated with the Line Entry
          examples:
            - ldg_Ns6rRRLYVZPh4cVB7MDby5
        description:
          type: string
          maxLength: 512
          title: Description
          description: The line entry description
          examples:
            - HomeDepot purchase
        debit_credit:
          $ref: '#/components/schemas/DebitCredit'
          description: Indicates whether this is a debit or credit line
          examples:
            - debit
        amount:
          anyOf:
            - type: number
              minimum: 0
            - type: string
              pattern: >-
                ^(?!^[-+.]*$)[+-]?0*(?:\d{0,18}|(?=[\d.]{1,21}0*$)\d{0,18}\.\d{0,2}0*$)
          title: Amount
          description: >-
            The line amount in decimal dollar cents, and it must always be
            positive
          examples:
            - '89.23'
        tag_value_ids:
          anyOf:
            - items:
                type: string
                format: tv_string
              type: array
            - type: 'null'
          title: Tag Value Ids
          description: >-
            [Deprecated] The IDs of the tag values associated with the Line
            Entry. This field is still supported, but it will be removed in a
            future version of the API. Please use Journal Entry Tags instead.
          examples:
            - - tv_Ns6rRRLYVZPh4cVB7MDby5
      type: object
      required:
        - ledger_id
        - description
        - debit_credit
        - amount
      title: LineEntryCreate
    DebitCredit:
      type: string
      enum:
        - debit
        - credit
      title: DebitCredit
  securitySchemes:
    OAuth2PasswordBearer:
      type: oauth2
      flows:
        password:
          scopes: {}
          tokenUrl: /v0/auth/token

````