Penny Docs
Categories

Update Category

PUT
/v1/households/{household_id}/categories/{category_id}

Replaces a category's name, emoji, type, and group assignment and returns the updated category.

Supply the complete category definition. Set group_id to null to remove its group; when a group is supplied, its type determines the category's effective type. The name and emoji must remain unique among active household categories. Changing the type affects how assigned transactions are classified in reports.

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
category_id*Category Id

Request Body

application/json

On PUT, replaces category details; omitted group_id clears the group.

name*Name
Lengthlength <= 255
emoji*Emoji
Lengthlength <= 50
category_type*CategoryType

Value in

  • "income"
  • "transfer"
  • "expense"
group_id?string|null

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X PUT "https://example.com/v1/households/string/categories/string" \  -H "Content-Type: application/json" \  -d '{    "name": "Coffee & Dining",    "emoji": "☕️",    "category_type": "income"  }'
{  "id": "Ct5nR8wY1jFu",  "name": "Coffee & Dining",  "emoji": "☕️",  "category_type": "income",  "group_id": "Cg2mV7pL4zXe"}