---
title: "Set a personal row's household category or note"
method: PATCH
path: "/families/{id}/personal/transactions/{eventId}"
tags: ["Families"]
---

# Set a personal row's household category or note

`PATCH /families/{id}/personal/transactions/{eventId}`

## Request

- Base URL: `https://ledgerhq.pro/api/v1`
- URL: `https://ledgerhq.pro/api/v1/families/{id}/personal/transactions/{eventId}`
- Auth: one of:
  - HTTP bearer and API key in header `x-organization-id`
  - HTTP bearer and API key in header `x-organization-id`

Firm-side family relationships only. Select the firm with x-organization-id. Owners, Admins and Staff Admins access all firm families; Staff Members need independent family assignment. Company access does not grant family access. OAuth requires the broad mcp grant, not a narrow banking scope; API keys retain ordinary agent permission scopes. No accounting organizations, portal grants, bank changes, invitations or charges are created. Writes require ordinary firm write entitlement. Cross-firm and inaccessible IDs return 404. Personal accounts never post journals; these operations read delivered bank rows and save household categories, notes and rules. Rows nobody categorized by hand are categorized automatically (rule, then the firm's earlier choice for the merchant, then Plaid, then AI); a person's choice always wins. Rules never hide rows. A category set here is a person's choice, and the firm remembers it for this merchant. Requires banking permission.

## Path parameters

- `id` string, uuid, required
- `eventId` string, required

## Request body

- object
  - `categoryId` string, uuid, nullable
  - `note` string, nullable
  - `applyToSimilar` boolean: Also set the category on every other row from the same merchant that no person categorized and that was not moved

## Response `200`

Success

- object
  - `success` boolean
  - `familyId` string, uuid
  - `eventId` string
  - `merchantKey` string
  - `appliedCount` integer: Other rows from the same merchant that took the category

## Other responses

- `403`: Firm staff or required permission missing
- `404`: Record not found or not accessible
- `409`: Archived family, last-member removal, identity conflict, already-linked member, explicit owner selection required, or redundant administrator assignment

## Changes

- **2026-10-20** `01c3e57d281f`: 4 info
  - added the new optional request property `applyToSimilar`
  - added the optional property `appliedCount` to the response with the `200` status
  - added the optional property `eventId` to the response with the `200` status
  - added the optional property `merchantKey` to the response with the `200` status

[Operation history](https://skmtc.dev/ledgerhq-pro/apis/ledgerhq-bookkeeping-api/changes/families/:id/personal/transactions/:eventId/patch.md)

---

[API](https://skmtc.dev/ledgerhq-pro/apis/ledgerhq-bookkeeping-api.md) · [All operations](https://skmtc.dev/ledgerhq-pro/apis/ledgerhq-bookkeeping-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ledgerhq-pro/apis/ledgerhq-bookkeeping-api/revisions/9a8269f0a586?raw)
