---
title: "Update journal entry"
method: PATCH
path: "/v1/journal-entries/{journalEntryId}"
tags: ["v1 - Journal Entries"]
---

# Update journal entry

`PATCH /v1/journal-entries/{journalEntryId}`

## Request

- Base URL: `https://light.inc` (the document declares no server; this is the origin it was published from)
- URL: `https://light.inc/v1/journal-entries/{journalEntryId}`
- Auth: one of:
  - API key in header `Authorization`
  - HTTP bearer

Updates the given draft journal entry. Only the fields present in the request body are modified; fields set explicitly to null are cleared.

## Path parameters

- `journalEntryId` string, uuid, required

## Headers

- `X-Idempotency-Key` string

## Request body

- ExternalUpdateJournalEntryRequestV1Model
  - `companyEntityId` string, uuid, nullable
  - `ledgerName` 'PRIMARY' | 'ELIMINATION', nullable: ⚠️ This enum is not exhaustive; new values may be added in the future.
  - `postingDate` string, date, nullable
  - `documentDate` string, date, nullable
  - `areLinesWithTax` boolean, nullable
  - `customProperties` ExternalSetCustomPropertyRequestV1Model[], nullable
    - `groupId` string, uuid: ID of the custom property group.
    - `valueIds` string[]: IDs of the selected custom property values. It behaves as a PUT operation, so if empty the existing ones will be effectively deleted.
    - `inlineValues` string[], nullable: Inline custom property values (used for TEXT/NUMERIC/DATE/etc. groups). It behaves as a PUT operation, so if empty or null the existing ones will be effectively deleted.
  - `valuationDate` string, date, nullable
  - `localCurrencyFxRateOverride` number, nullable: Custom foreign exchange rate for the ledger's local currency. If not provided, Light uses official ECB rates
  - `groupCurrencyFxRateOverride` number, nullable: Custom foreign exchange rate for the ledger's group currency. If not provided, Light uses official ECB rates
  - `documentNumber` string, nullable
  - `businessPartnerName` string, nullable
  - `businessPartnerId` string, uuid, nullable
  - `description` string, nullable
  - `currency` string, nullable

## Response `default`

default response

- ExternalJournalEntryV1Model
  - `id` string, uuid
  - `companyId` string, uuid
  - `documentNumber` string
  - `companyEntityId` string, uuid
  - `ledgerName` 'PRIMARY' | 'ELIMINATION': ⚠️ This enum is not exhaustive; new values may be added in the future.
  - `createdBy` string, uuid
  - `updatedBy` string, uuid
  - `documentSequenceId` string
  - `status` 'DRAFT' | 'APPROVAL_PENDING' | 'APPROVED' | 'POSTED' | 'PARTIALLY_CLEARED' | 'CLEARED' | 'ARCHIVED': ⚠️ This enum is not exhaustive; new values may be added in the future.
  - `description` string
  - `currency` string
  - `postingDate` string, date
  - `documentDate` string, date
  - `valuationDate` string, date
  - `localCurrencyFxRate` number, nullable: Custom foreign exchange rate for the ledger's local currency. If not provided, Light uses official ECB rates
  - `groupCurrencyFxRate` number, nullable: Custom foreign exchange rate for the ledger's group currency. If not provided, Light uses official ECB rates
  - `areLinesWithTax` boolean
  - `failureContext` ExternalUiClientExceptionV1Model, nullable: Failure context when vendor onboarding fails.
    - `name` string: The error name
    - `type` 'BAD_REQUEST' | 'UNAUTHORIZED' | 'FORBIDDEN' | 'NOT_FOUND' | 'CONFLICT' | 'UNPROCESSABLE_CONTENT': The error type ⚠️ This enum is not exhaustive; new values may be added in the future.
    - `errors` ExternalUiClientExceptionErrorV1Model[]: List of errors providing details about what went wrong
      - `type` string: A string code identifying the error type
      - `message` string: A human-readable message providing more details about the error
      - `path` string[], nullable: Optional path of the error when the error is for a specific field. Used mostly on BAD_REQUEST errors, that path will match the field name on the request object
      - `context` object, nullable: Optional context providing additional information about the error. This can include any relevant data that might help in understanding or resolving the error
  - `lines` ExternalJournalEntryLineV1Model[]
    - `id` string, uuid
    - `journalEntryId` string, uuid
    - `netTransactionAmount` DirectedAmount
      - `amount` integer
      - `dcSign` 'D' | 'C': ⚠️ This enum is not exhaustive; new values may be added in the future.
    - `grossTransactionAmount` DirectedAmount
      - `amount` integer
      - `dcSign` 'D' | 'C': ⚠️ This enum is not exhaustive; new values may be added in the future.
    - `taxTransactionAmount` DirectedAmount
      - `amount` integer
      - `dcSign` 'D' | 'C': ⚠️ This enum is not exhaustive; new values may be added in the future.
    - `description` string
    - `targetCompanyEntityId` string, uuid
    - `ledgerTaxId` string, uuid
    - `ledgerAccountId` string, uuid
    - `costCenterId` string, uuid
    - `customProperties` ExternalCustomPropertyV1Model[]
      - `groupId` string, uuid: ID of the custom property group
      - `groupInternalName` string: Internal name of the custom property group
      - `values` ExternalCustomPropertyValueV1Model[]: List of values. Note that this will be a single value unless the group input type supports multiple values
        - `id` string, uuid: Unique identifier for the object
        - `groupId` string, uuid: ID of the custom property group
        - `groupInternalName` string: Internal name of the custom property group
        - `companyId` string, uuid: ID of the company
        - `internalName` string: Internal name of the custom property value
        - `label` string: Label of the custom property value
        - `context` string, nullable: Context/description of the custom property value
        - `createdAt` string, date-time: Timestamp when the custom property value was created
        - `updatedAt` string, date-time: Timestamp when the custom property value was last updated
    - `createdAt` string, date-time
    - `updatedAt` string, date-time
    - `amortizationTemplateId` string, uuid
    - `amortizationStartDate` string, date
    - `amortizationEndDate` string, date
  - `customProperties` ExternalCustomPropertyV1Model[]
    - `groupId` string, uuid: ID of the custom property group
    - `groupInternalName` string: Internal name of the custom property group
    - `values` ExternalCustomPropertyValueV1Model[]: List of values. Note that this will be a single value unless the group input type supports multiple values
      - `id` string, uuid: Unique identifier for the object
      - `groupId` string, uuid: ID of the custom property group
      - `groupInternalName` string: Internal name of the custom property group
      - `companyId` string, uuid: ID of the company
      - `internalName` string: Internal name of the custom property value
      - `label` string: Label of the custom property value
      - `context` string, nullable: Context/description of the custom property value
      - `createdAt` string, date-time: Timestamp when the custom property value was created
      - `updatedAt` string, date-time: Timestamp when the custom property value was last updated
  - `businessPartnerName` string
  - `businessPartnerId` string, uuid
  - `createdAt` string, date-time
  - `updatedAt` string, date-time
  - `totalNetTransactionAmount` DirectedAmount
    - `amount` integer
    - `dcSign` 'D' | 'C': ⚠️ This enum is not exhaustive; new values may be added in the future.
  - `totalTaxTransactionAmount` DirectedAmount
    - `amount` integer
    - `dcSign` 'D' | 'C': ⚠️ This enum is not exhaustive; new values may be added in the future.
  - `totalGrossTransactionAmount` DirectedAmount
    - `amount` integer
    - `dcSign` 'D' | 'C': ⚠️ This enum is not exhaustive; new values may be added in the future.
  - `multiJournalEntryId` string, uuid

---

[API](https://skmtc.dev/light/apis/light-api.md) - [All operations](https://skmtc.dev/light/apis/light-api/llms.txt) - [OpenAPI document](https://skmtc.dev/light/apis/light-api/revisions/84f51306f648?raw)
