BalanceCategory
Balance transaction categories mirrored from billing-service.
Must stay a superset of TransactionCategory in
billing-service src/balance/api/v1/schemas.py — a category that
billing can emit but this enum lacks used to fail response
serialization with an unhandled ValidationError (HTTP 500, see
INCIDENT_2026_05_20 follow-up: transactions re-categorized to
manual-adjustment broke GET /accounts/transactions for the
affected users). AccountTransaction.category additionally falls
back to a plain string for unknown values so a future billing-side
category never 500s this endpoint again.
Balance transaction categories mirrored from billing-service.
Must stay a superset of TransactionCategory in
billing-service src/balance/api/v1/schemas.py — a category that
billing can emit but this enum lacks used to fail response
serialization with an unhandled ValidationError (HTTP 500, see
INCIDENT_2026_05_20 follow-up: transactions re-categorized to
manual-adjustment broke GET /accounts/transactions for the
affected users). AccountTransaction.category additionally falls
back to a plain string for unknown values so a future billing-side
category never 500s this endpoint again.
Possible values: [funding, refund, withdraw, shop, direct-top-up, steam-gifts, manual-adjustment]
"funding"