---
title: "Update a single transaction"
method: PATCH
path: "/transactions/{transactionId}"
tags: ["transactions"]
---

# Update a single transaction

`PATCH /transactions/{transactionId}`

Requires **transactions:read:all** and either of **transactions:write** or **transactions:write:all** scopes.

## Path parameters

- `transactionId` string, uuid, required

## Request body

- TransactionPatch
  - `accountId` string — Scope 'transactions.write.all' required. The id of the account the transaction belongs to
  - `amount` object
    - `value` integer, required — Scope 'transactions.write.all' required. The amount of the transaction in minor units of the currency, eg. pennies for GBP, negative means money going out of an account, positive means money coming into an account.
  - `categoryId` string — The category id. Standard categories are prefixed with 'std', custom categories are prefixed with 'cus'
  - `categoryIdConfirmed` boolean — Flag indicating whether the user has confirmed the category id as correct
  - `date` string, date-time — Scope 'transactions.write.all' required. The date that the transaction occurred. Where available this will contain an accurate time, where the time is not available it will default to midday.
  - `longDescription` string — Scope 'transactions.write.all' required. The full text description of the transactions - often as it is represented on the users bank statement
  - `shortDescription` string — A cleaned up and shorter description of the transaction, this can be edited
  - `notes` string — Arbitrary text that a user can add about a transaction
  - `status` 'posted' | 'pending' — Scope 'transactions.write.all' required. Whether the transaction has been posted (booked) or is still a pending transaction. During the transition from pending to posted the description will normally change.
  - `projectId` string — The project ID the transaction is associated with
  - `enhancedCategories` object — Categories to enrich a transaction with
    - `uk-tax-hmrc` string — The UK HMRC Tax category to aid in tax return queries

## Response `200`

Successful Transaction Response

- object
  - `data` Transaction
    - `accountId` string — The id of the account the transaction belongs to
    - `amount` object, required
      - `value` integer, required — The amount of the transaction in minor units of the currency, eg. pennies for GBP, negative means money going out of an account, positive means money coming into an account.
      - `majorUnits` integer — The major units of the value, based on the values currency, eg. pounds for GBP.
      - `minorUnits` integer — The minor units of the value, based on the values currency, eg. pennies for GBP.
      - `currency` string, required — The currency of the amount. It uses the ISO 4217 currency codes.
    - `categoryId` string, required — The category id. Standard categories are prefixed with 'std', custom categories are prefixed with 'cus'
    - `categoryIdConfirmed` boolean, required — Flag indicating whether the user has confirmed the category id as correct
    - `date` string, date-time, required — The date that the transaction occurred. Where available this will contain an accurate time, where the time is not available it will default to midday.
    - `dateModified` string, date-time, required — The date the transaction was modified - this could be when it was added, or a category changed, or when notes were added
    - `dateCreated` string, date-time — The date the transaction was created
    - `valueDate` string, date-time — The date when funds become available to the account owner (for credits) or are withdrawn (for debits). This date may be different from the transaction date.
    - `id` string, required — The unique id of the transaction
    - `longDescription` string, required — The full text description of the transactions - often as it is represented on the users bank statement
    - `providerId` string — The id of the transaction the banking provider uses
    - `notes` string, required — Arbitrary text that a user can add about a transaction
    - `shortDescription` string, required — A cleaned up and shorter description of the transaction, this can be edited
    - `counterpartyId` string — An identifier for the counterparty
    - `status` 'posted' | 'pending', required — Whether the transaction has been posted (booked) or is still a pending transaction. During the transition from pending to posted the description will normally change.
    - `projectId` string — The project ID the transaction belongs to
    - `enhancedCategories` object — Categories to enrich a transaction with
      - `uk-tax-hmrc` string — The UK HMRC Tax category to aid in tax return queries
    - `splits` object[] — List of transaction splits
      - `amount` object, required
        - `value` integer — The amount of the transaction in minor units of the currency, eg. pennies for GBP, negative means money going out of an account, positive means money coming into an account.
        - `majorUnits` integer — The major units of the value, based on the values currency, eg. pounds for GBP.
        - `minorUnits` integer — The minor units of the value, based on the values currency, eg. pennies for GBP.
        - `currency` string — The currency of the amount
      - `categoryId` string, required — The category id. Standard categories are prefixed with 'std', custom categories are prefixed with 'cus'
      - `description` string, required — A description of the transaction split
      - `id` string, required — The unique id of the transaction split
      - `projectId` string — The project ID the transaction is associated with
    - `transactionCode` object — The ISO transaction code
      - `code` string, required — Specifies the family within a domain.
      - `subCode` string, required — Specifies the sub-product family within a specific family.
    - `proprietaryTransactionCode` object — Set of elements to fully identify a proprietary bank transaction code.
      - `code` string, required — Proprietary bank transaction code to identify the underlying transaction.
      - `issuer` string — Identification of the issuer of the proprietary bank transaction code.
    - `balance` object — The amount of the account post transaction in minor units of the currency, eg. pennies for GBP.
      - `value` integer — The amount of the transaction in minor units of the currency, eg. pennies for GBP, negative means money going out of an account, positive means money coming into an account.
      - `majorUnits` integer — The major units of the value, based on the values currency, eg. pounds for GBP.
      - `minorUnits` integer — The minor units of the value, based on the values currency, eg. pennies for GBP.
      - `currency` string — The currency of the amount
    - `balanceType` string — Balance type, in a coded form. Options include: ClosingAvailable ClosingBooked ClosingCleared Expected ForwardAvailable Information InterimAvailable InterimBooked InterimCleared OpeningAvailable OpeningBooked OpeningCleared PreviouslyClosedBooked.
    - `statementReference` string — Unique reference for the statement. This reference may be optionally populated if available.
    - `merchantName` string — Name by which the merchant is known.
    - `merchantCategoryCode` string — Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.
    - `cardInstrument` object — Set of elements to describe the card instrument used in the transaction.
      - `name` string — Name of the cardholder using the card instrument.
      - `pan` string — The PAN of the card used in the transaction. This is known by the account owner, and may be masked.
      - `cardSchemeName` string — Name of the card scheme.
      - `authorisationType` string — The card authorisation type.
    - `creditorAccount` object — Unambiguous identification of the account of the creditor, in the case of a debit transaction.
      - `name` string — The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.
      - `sortCode` string — The sort code of the creditor account
      - `accountNumber` string — The account number of the creditor account
      - `iban` string — The IBAN of the creditor account
      - `pan` string — The PAN of the creditor account
    - `creditorAgent` object — Financial institution servicing an account for the creditor.
      - `name` string — Name by which an agent is known and which is usually used to identify that agent.
      - `postalAddress` object — The postal address for the financial institution
    - `debtorAccount` object — Unambiguous identification of the account of the debtor, in the case of a credit transaction.
      - `name` string — The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels.
      - `sortCode` string — The sort code of the debtor account
      - `accountNumber` string — The account number of the debtor account
      - `iban` string — The IBAN of the debtor account
      - `pan` string — The PAN of the debtor account
    - `debtorAgent` object — Financial institution servicing an account for the debtor.
      - `name` string — Name by which an agent is known and which is usually used to identify that agent.
      - `postalAddress` object — The postal address for the financial institution
    - `transactionReference` string — Unique reference for the transaction. This reference is optionally populated, and may as an example be the FPID in the Faster Payments context. This field is only available for open banking connections
    - `transactionInformation` string — Further details of the transaction. This is the transaction narrative, which is unstructured text. This field is only available for open banking connections
  - `links` Links
    - `next` string, uri — The url to retrieve the next page of results from
    - `prev` string, uri — The url to retrieve the previous page of results from
    - `self` string, uri, required — The url of the current resource(s)
  - `meta` object

## Other responses

- `401` — Unsuccessful Response - Not authorised - Missing authorization header - Invalid access Token
- `403` — Unsuccessful Response - Forbidden - Invalid scopes
- `404` — Unsuccessful Response - Resource Not found

---

[API](https://skmtc.net/moneyhub/apis/moneyhub-data-api.md) · [All operations](https://skmtc.net/moneyhub/apis/moneyhub-data-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/moneyhub/moneyhub-data-api/versions/f2eb965eb9af/schema)
