Accounts represent the bank accounts, wallets, or cash reserves that a user manages in Finper. Each account tracks a running balance that is updated automatically when transactions are created or when a transfer is executed. All endpoints require theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/soker90/finper/llms.txt
Use this file to discover all available pages before exploring further.
token header.
POST /api/accounts
Create a new account for the authenticated user.POST /api/accounts
Request Body
Human-readable name for the account (e.g.
"Checking", "Savings").Name of the bank or institution that holds this account (e.g.
"Chase", "Revolut").Initial balance of the account in the user’s currency. Defaults to
0 if omitted.Response — 201 Created
Returns the newly created account object.Unique identifier for the account.
Account name.
Bank or institution name.
Current balance.
Whether the account is active. Defaults to
true on creation.Example
GET /api/accounts
List all accounts belonging to the authenticated user.GET /api/accounts
Response — 200 OK
Returns an array of account objects.Unique identifier.
Account name.
Bank or institution name.
Current balance.
true if the account is active; false if it has been deactivated.Example
GET /api/accounts/:id
Retrieve the details of a single account.GET /api/accounts/:id
Path Parameters
The unique identifier of the account.
Response — 200 OK
Returns the account object. Same fields as the list response.Example
PATCH /api/accounts/:id
Partially update an existing account. The request body must match one of two mutually exclusive shapes — you cannot mixisActive toggling with a full profile update in the same request:
- Toggle active state — send only
isActive. - Full profile update — send
name,bank, andbalancetogether (all three are required in this form).
PATCH /api/accounts/:id
The edit schema is a strict
Joi.alternatives: either { isActive: boolean } or { name, bank, balance } — the two forms are mutually exclusive. Sending a mix of fields from both groups will result in a 422 Unprocessable Entity response.Path Parameters
The unique identifier of the account to update.
Request Body — Option A: Toggle active state
Pass
true to reactivate or false to deactivate the account. Must be the only field in the body when using this form.Request Body — Option B: Full profile update
New account name. Must be provided together with
bank and balance.New bank or institution name. Must be provided together with
name and balance.New balance value. Must be provided together with
name and bank.Response — 200 OK
Returns the updated account object.Example
POST /api/accounts/transfer
Transfer an amount of funds from one account to another.POST /api/accounts/transfer
The transfer is applied atomically: the
amount is subtracted from the source account’s balance and added to the destination account’s balance in a single operation. Both accounts must belong to the authenticated user and must not be the same account.Request Body
The ID of the account to deduct funds from.
The ID of the account to add funds to. Must be different from
sourceId.The amount to transfer. Must be a positive number.