---
title: "Categorises a given set of transactions"
method: POST
path: "/categorise-transactions"
tags: ["categorise transactions"]
---

# Categorises a given set of transactions

`POST /categorise-transactions`

Requires **categorisation** scope. A maximum of 200 transactions is imposed.

## Request body

- CategoriseTransactionsPost — Transactions to categorised for a given account.
  - `accountType` 'cash' | 'card' | 'savings' | 'pension' | 'investment' — Type of account, defaults to 'cash' if no value is provided
  - `accountId` string — The id of the account the transaction belongs to. Defaults to random uuid if no value is provided
  - `transactions` object[], required
    - `id` string — The unique id of the transaction (can be any unique identifier). Defaults to random uuid if no value is provided
    - `description` string, required — The full text description of the transactions - often as it is represented on the users bank statement
    - `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.
    - `date` string, date-time, required — Date of the transaction in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ)
    - `proprietaryTransactionCode` string — Unique identifier used by the financial institution to categorize a given transaction
    - `merchantCategoryCode` string — A 4-digit Merchant Category Code (MCC) defined by ISO 18245. This code identifies the type of business or service provided by the merchant. Examples include '5411' (Grocery Stores), '5812' (Eating Places and Restaurants), and '5999' (Miscellaneous Retail Stores).

## Response `200`

Successful Categorisation Response

- object
  - `data` CategoriseTransactions
    - `accountType` 'cash' | 'card' | 'savings' | 'pension' | 'investment', required — Type of account, defaults to 'cash' if no value is provided
    - `accountId` string, required — The id of the account the transaction belongs to. Defaults to random uuid if no value is provided
    - `transactions` object[], required
      - `id` string, required — The unique id of the transaction (can be any unique identifier). Defaults to random uuid if no value is provided
      - `description` string, required — The full text description of the transactions - often as it is represented on the users bank statement
      - `categoryId` string — An identifier for the detected category, all categoryIds are prefixed with the standard prefix.
      - `counterpartyId` string, uuid — An identifier for the counterparty
      - `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.
      - `date` string, date-time, required — Date of the transaction in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ)
      - `proprietaryTransactionCode` string — Unique identifier used by the financial institution to categorize a given transaction
      - `merchantCategoryCode` string — A 4-digit Merchant Category Code (MCC) defined by ISO 18245. This code identifies the type of business or service provided by the merchant. Examples include '5411' (Grocery Stores), '5812' (Eating Places and Restaurants), and '5999' (Miscellaneous Retail Stores).
    - `failedCategorisationIds` string[], required — Transaction Ids which failed to be categorised
  - `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

- `400` — Unsuccessful Response - Bad request - Missing query parameters - Missing body properties
- `401` — Unsuccessful Response - Not authorised - Missing authorization header - Invalid access Token
- `403` — Unsuccessful Response - Forbidden - Invalid scopes

---

[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/revisions/f2eb965eb9af/schema)
