FinWise API
SupportChangelog

Create a holding

Request body

accountIdstringrequired
Investment account.
namestring
Holding name.
tickerSymbolnullable string
Ticker.
quantitynullable number
Units held.
pricenullable number
Price per unit.
POST/account-holdings
curl https://api.finwiseapp.io/account-holdings \
-X POST \
-H "Authorization: Bearer fw_..." \
-H "Content-Type: application/json" \
-d '{"accountId":"94d2f962-d4e3-4c99-ab47-8c941cea012a","name":"Vanguard Total Stock","tickerSymbol":"VTI","quantity":12.5,"price":280.4}'
const response = await fetch('https://api.finwiseapp.io/account-holdings', {
method: 'POST',
headers: {
Authorization: 'Bearer fw_...',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"accountId": "94d2f962-d4e3-4c99-ab47-8c941cea012a",
"name": "Vanguard Total Stock",
"tickerSymbol": "VTI",
"quantity": 12.5,
"price": 280.4
}),
})
const data = await response.json()
Response
{
"id": "11aa22bb-33cc-4dde-8eff-445566778899",
"createdAt": "2026-03-14T09:00:00.000Z",
"updatedAt": "2026-03-14T09:00:00.000Z",
"userId": "f472696c-47ac-4873-98cf-2a1069a1cf45",
"accountId": "94d2f962-d4e3-4c99-ab47-8c941cea012a",
"name": "Vanguard Total Stock",
"type": "etf",
"tickerSymbol": "VTI",
"currencyCode": "USD",
"quantity": 12.5,
"price": 280.4,
"value": 3505,
"costBasis": 3100,
"isLinked": false,
"archivedAt": null,
"originalAccountId": null
}