Editing transactions
You can change how a single transaction is treated by the cashflow engine. Both endpoints
require the transactions:write scope, and changes flow straight into the customer’s
cashflow figures.
Reclassify a transaction
PATCH /api/v1/business/customers/{userId}/transactions/{transactionId}Set how the transaction should be treated with a type:
type | Effect |
|---|---|
covered_expense | The expense is already covered — don’t count it against remaining |
transferred_to_savings | Treat the outflow as a transfer to savings, not spend |
shared_expense | Only part of the amount is the customer’s — split it |
For shared_expense, provide the customer’s portion:
| Field | When | Description |
|---|---|---|
value | required | The customer’s share of the amount |
sharedType | required unless isStillShared is false | How the split is expressed |
isStillShared | optional (default true) | Whether the expense remains shared going forward |
curl -X PATCH \
"https://api.pouchlimited.com/api/v1/business/customers/123/transactions/98765" \
-H "x-client-id: <client-id>" \
-H "x-client-secret: <client-secret>" \
-H "Content-Type: application/json" \
-d '{ "type": "shared_expense", "value": 25.00 }'value, sharedType and isStillShared are only valid with
type: "shared_expense" — sending them with another type is rejected.
Exclude a transaction
POST /api/v1/business/customers/{userId}/transactions/{transactionId}/excludeExclude the transaction from cashflow entirely. Use scope to control whether just this
transaction or matching future ones are excluded.
curl -X POST \
"https://api.pouchlimited.com/api/v1/business/customers/123/transactions/98765/exclude" \
-H "x-client-id: <client-id>" \
-H "x-client-secret: <client-secret>" \
-H "Content-Type: application/json" \
-d '{ "scope": "single" }'