Bulk Set Category
Assigns one household category to matching non-deleted transactions, or clears their category when household_finance_category_id is null. The chosen category is protected from automatic overrides, and household rules run again to apply other actions such as adding tags.
Hidden transactions are eligible; split parents and transactions on deleted accounts are excluded. Missing or ineligible transaction IDs are skipped; an invalid category rejects the request. Returns the affected transactions, or transaction_not_found when none match.
Authorization
PersonalApiToken Use your personal API token (penny_pat_…) as the bearer credential. Enter the token only; the client adds the Bearer prefix. Read-only tokens permit read requests. Read/write tokens remain limited by your current household membership and role. See https://penny.finance/docs/api#authentication for setup.
In: header
Path Parameters
Request Body
application/json
1 <= items <= 1000Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/households/string/transactions/bulk-set-category" \ -H "Content-Type: application/json" \ -d '{ "transaction_ids": [ "Tx3fJ9mS6vBa" ] }'{ "transactions": [ { "id": "Tx3fJ9mS6vBa", "original_name": "BLUE BOTTLE COFFEE #047", "user_name": "Morning coffee", "amount": { "amount": "68.42", "currency": "USD" }, "native_amount": { "amount": "68.42", "currency": "USD" }, "lat": 37.7764, "lon": -122.4231, "pending": false, "penny_taxonomy": "FOOD_AND_DRINK_COFFEE", "account": { "id": "Ac7kP2mN9qRs", "mask": "4821", "name": "Everyday Checking", "type": "depository", "current_balance": { "amount": "68.42", "currency": "USD" }, "currency": "USD", "household_id": "Hh4vK8pQ2sLm", "user_name": "Daily spending" }, "household_finance_category": { "id": "Ct5nR8wY1jFu", "name": "Coffee & Dining", "emoji": "☕️", "category_type": "income", "group_id": "Cg2mV7pL4zXe" }, "merchant": { "id": "Mr9dL3xT6bQa", "name": "Blue Bottle Coffee", "website": "https://www.bluebottlecoffee.com/", "image_url": "https://cdn.penny.finance/merchants/blue-bottle-coffee.png", "default_image_url": "https://cdn.penny.finance/merchants/default-coffee.png", "transaction_count": 18 }, "image_url": "https://cdn.penny.finance/merchants/blue-bottle-coffee.png", "image_kind": "merchant", "tags": [ { "id": "Tg8qN1cK5rWd", "name": "Work meals", "color": "#6D5BD0" } ], "is_deleted": false, "is_hidden": false, "pending_transaction_id": "Tx3fJ9mS6vBa", "date": "2019-08-24", "need_review": false, "possible_duplicate_ids": [ "Tx3fJ9mS6vBa" ], "notes": "Coffee with Sam before work", "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "name": "Morning coffee", "split_from_transaction_id": "Tx3fJ9mS6vBa", "split_child_ids": [ "Tx3fJ9mS6vBa" ], "is_recurring": false } ]}Bulk Update Review POST
Sets needreview on matching non-deleted transactions and returns the affected transactions. Set it to false to mark them reviewed, or true to put them back…
List Duplicate Groups GET
Lists groups of visible transactions flagged as possible duplicates. Each group contains at least two transactions with full transaction details for…
