---
title: "Update multiple journal entries"
method: PUT
path: "/books/journal-entries"
tags: ["Books"]
---

# Update multiple journal entries

`PUT /books/journal-entries`

## Request

- Base URL: `https://api.mercury.com/api/v1`
- URL: `https://api.mercury.com/api/v1/books/journal-entries`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/mercurytechnologies/apis/mercury-api/docs/books/journal-entries/put.ts> (a function with typed inputs; its response is checked against the schema)

Updates one or more existing journal entries of a Books instance. Each update names a journal entry by ID and can change its datetime, description, and review status, and create, update, or delete its line entries; each line entry is a debit or credit of an amount to one ledger, i.e. a general ledger (GL) account in the organization's chart of accounts. Every ledger named by a created or updated line entry must belong to the Books instance and must not be read-only. Returns no content on success. To find journal entry IDs, use listBooksJournalEntries; to create journal entries, use bulkCreateBooksJournalEntries.

## Query parameters

- `booksId` string, uuid: The Books instance to act on. Must be the token organization's own instance, which it defaults to.

## Request body

- UpdateBooksAPIJournalEntriesRequest: Request to update multiple journal entries in a single call.
  - `updates` UpdateBooksAPIJournalEntryRequest[], required: The individual journal entry updates
    - `datetime` string, yyyy-mm-ddThh:MM:ssZ, nullable: Updated date and time
    - `description` string, size < 513, nullable: Updated description
    - `journalEntryId` string, base58 (max length 22), required: The ID of the journal entry to update
    - `lineEntryChanges` object, nullable: Changes to apply to line entries
      - `create` BooksAPIUpdateJournalEntryLECreate[], nullable: New line entries to add
        - `amount` number, double, required: The amount for this line entry
        - `debitCredit` 'debit' | 'credit', required: Whether this line entry is a debit or credit
        - `description` string, size < 4001, required: Description of the line entry
        - `ledgerId` string, base58 (max length 22), required: The ledger this line entry is posted to
        - `sortOrder` integer, nullable: Optional position within the journal entry. Omit to append at MAX(sort_order) + 1.
        - `tagIds` string[], nullable: Optional tags to associate with this line entry
      - `delete` string[], nullable: IDs of line entries to remove
      - `update` BooksAPIUpdateJournalEntryLEUpdate[], nullable: Existing line entries to modify
        - `amount` number, double, nullable: Updated amount
        - `debitCredit` 'debit' | 'credit', nullable: Updated debit/credit designation
        - `description` string, size < 4001, nullable: Updated description
        - `id` string, base58 (max length 22), required: The ID of the line entry to update
        - `ledgerId` string, base58 (max length 22), nullable: Updated ledger
        - `sortOrder` integer, nullable: Updated position within the journal entry. Omit to leave unchanged.
        - `tagIds` string[], nullable: Updated tags
    - `reviewStatus` 'unreviewed' | 'reviewed', nullable: New review status for the journal entry. Omit to leave the existing review status unchanged.

## Response `200`

## Other responses

- `400`: Invalid `body` or `booksId`

## Changes

- **2026-11-03** `95c77a617769`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/mercurytechnologies/apis/mercury-api/changes/books/journal-entries/put.md)

---

[API](https://skmtc.dev/mercurytechnologies/apis/mercury-api.md) - [All operations](https://skmtc.dev/mercurytechnologies/apis/mercury-api/llms.txt) - [OpenAPI document](https://skmtc.dev/mercurytechnologies/apis/mercury-api/revisions/95c77a617769?raw)
