Penny Docs
Transactions

Bulk Add Tags

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

Adds the supplied tags to matching non-deleted transactions without removing existing tags. Hidden transactions are eligible; split parents and transactions on deleted accounts are excluded.

Every tag ID must identify an active tag in the household. Invalid tags reject the request before any updates. Missing or ineligible transaction IDs are skipped, with transaction_not_found returned when none match. Returns the affected transactions.

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-add-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    }  ]}