Penny Docs
Transactions

Bulk Remove Tags

POST
/v1/households/{household_id}/transactions/bulk-remove-tags

Removes only the supplied tags from matching non-deleted transactions, preserving all other tags. Hidden transactions are eligible; split parents and transactions on deleted accounts are excluded. Tags themselves and rule actions are retained.

Every tag ID must identify an active household tag. Invalid tags reject the whole request. Missing or ineligible transaction IDs are skipped, with transaction_not_found returned when none match. Returns eligible transactions, including those that already lacked these tags.

Authorization

PersonalApiToken
AuthorizationBearer <token>

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

household_id*Household Id

Request Body

application/json

transaction_ids*array<string>
Items1 <= items <= 1000
tag_ids*array<string>
Items1 <= items <= 1000

Response 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-remove-tags" \  -H "Content-Type: application/json" \  -d '{    "transaction_ids": [      "Tx3fJ9mS6vBa"    ],    "tag_ids": [      "Tg8qN1cK5rWd"    ]  }'
{  "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    }  ]}