FinWise API
SupportChangelog

Create a planned transaction

Request body

descriptionstring
Payee / memo.
startDatestringrequired
First occurrence.
amountobject
Typical amount.
amountnumber
Numeric amount in that currency.
currencyCodestring
ISO 4217 code, e.g. USD, EUR, ZAR.
frequencystringrequired
e.g. monthly.
accountIdnullable string
Account id.
POST/planned-transactions
curl https://api.finwiseapp.io/planned-transactions \
-X POST \
-H "Authorization: Bearer fw_..." \
-H "Content-Type: application/json" \
-d '{"description":"Rent","startDate":"2026-01-01","amount":{"amount":-2200,"currencyCode":"USD"},"frequency":"monthly","accountId":"94d2f962-d4e3-4c99-ab47-8c941cea012a"}'
const response = await fetch('https://api.finwiseapp.io/planned-transactions', {
method: 'POST',
headers: {
Authorization: 'Bearer fw_...',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"description": "Rent",
"startDate": "2026-01-01",
"amount": {
"amount": -2200,
"currencyCode": "USD"
},
"frequency": "monthly",
"accountId": "94d2f962-d4e3-4c99-ab47-8c941cea012a"
}),
})
const data = await response.json()
Response
{
"id": "aa1bb2cc-dd3e-4f50-a162-27488990abcd",
"createdAt": "2026-03-14T09:00:00.000Z",
"updatedAt": "2026-03-14T09:00:00.000Z",
"userId": "f472696c-47ac-4873-98cf-2a1069a1cf45",
"description": "Rent",
"startDate": "2026-01-01T00:00:00.000Z",
"endDate": null,
"amount": {
"amount": -2200,
"currencyCode": "USD"
},
"frequency": "monthly",
"transactionCategoryId": "a00cb43b-ab06-447c-8aeb-527680b20a50",
"merchantId": null,
"accountId": "94d2f962-d4e3-4c99-ab47-8c941cea012a",
"status": "active",
"flexibleAmountMin": null,
"flexibleAmountMax": null,
"variableFixedPercent": null
}