Skip to Content
GuidesEditing transactions

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:

typeEffect
covered_expenseThe expense is already covered — don’t count it against remaining
transferred_to_savingsTreat the outflow as a transfer to savings, not spend
shared_expenseOnly part of the amount is the customer’s — split it

For shared_expense, provide the customer’s portion:

FieldWhenDescription
valuerequiredThe customer’s share of the amount
sharedTyperequired unless isStillShared is falseHow the split is expressed
isStillSharedoptional (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}/exclude

Exclude 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" }'