---
title: "Set a merchant's category on every row from it that no person categorized"
method: POST
path: "/families/{id}/personal/merchants"
tags: ["Families"]
---

# Set a merchant's category on every row from it that no person categorized

`POST /families/{id}/personal/merchants`

## Request

- Base URL: `https://ledgerhq.pro/api/v1`
- URL: `https://ledgerhq.pro/api/v1/families/{id}/personal/merchants`
- 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. Recorded as a person's choice and remembered by the firm for this merchant. Requires banking permission.

## Path parameters

- `id` string, uuid, required

## Request body

- object
  - `merchantKey` string, required
  - `categoryId` string, uuid, required

## Response `200`

Success

- object
  - `success` boolean
  - `familyId` string, uuid
  - `merchantKey` string
  - `categoryId` string, uuid
  - `appliedCount` integer

## 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`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/ledgerhq-pro/apis/ledgerhq-bookkeeping-api/changes/families/:id/personal/merchants/post.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)
