API Documentation
Reference for Frank — Booko Finance API
Quick Reference
Key conventions for all API interactions
Base URL
http://vector-core:4200/apiResponse Format
{ "success": true, "data": ... }Currency
Rs / MUR — store as numbers (no symbols). Multi-currency supported via optional currency, exchange_rate, and original_amount fields.
Date Format
YYYY-MM-DDType Field
B = Business, P = Personal
GET
/api/expensesList all expenses. Supports filtering by type, category, and date range.
Query Parameters
| Param | Description |
|---|---|
| type | B (Business) or P (Personal) |
| category | Filter by category name |
| from | Start date (YYYY-MM-DD) |
| to | End date (YYYY-MM-DD) |
POST
/api/expensesCreate a new expense entry. Optionally include currency, exchange_rate, and original_amount for multi-currency transactions.
Request Body (JSON)
{
"date": "2026-03-10",
"amount": 1500,
"type": "B",
"category": "Biz-Software",
"description": "Figma annual license",
"payment_method": "Card (4942)",
"currency": "USD",
"exchange_rate": 45.5,
"original_amount": 32.97
}Required: date, amount, type, category
PUT
/api/expenses/:idUpdate an existing expense. Send only the fields you want to change. Supports currency, exchange_rate, and original_amount.
Request Body (JSON)
{
"date": "2026-03-10",
"amount": 1500,
"type": "B",
"category": "Biz-Software",
"description": "Figma annual license",
"payment_method": "Card (4942)",
"currency": "USD",
"exchange_rate": 45.5,
"original_amount": 32.97
}DELETE
/api/expenses/:idDelete an expense by ID.
Workflow
Step-by-step process Frank should follow for common actions
- 1Income received →
POST /api/income - 2Expense made →
POST /api/expenses - 3New subscription →
POST /api/subscriptions - 4Invoice sent →
POST /api/receivables - 5Client paid →
PATCH /api/receivables/:id - 6Subscription cancelled →
PUT /api/subscriptions/:idwithstatus: "cancelled" - 7Set a budget →
POST /api/budgets - 8Contribute to savings →
PATCH /api/savings-goals/:id/contribute - 9Make a debt payment →
POST /api/debts/:id/payments - 10Pay wedding vendor →
PATCH /api/wedding/vendors/:id/payment - 11Process subscriptions →
POST /api/cron/process-subscriptions - 12Verify →
GET /api/dashboard
Data Conventions
Standard values to use for categories, sources, and statuses
Expense Categories
Biz-SoftwareBiz-HostingBiz-MarketingSub-SoftwareSub-StreamingPersonal-FoodPersonal-TransportPersonal-Utilities
Income Sources
MokoStudioSalmaEntropia
Income Categories
Biz-ClientBiz-Project
Payment Methods
Card (4942)PayPalCashTransferJuice
Subscription Frequencies
MonthlyYearly
Subscription Statuses
activepausedcancelled
Receivable Statuses
pendingreceived
Debt Types
credit_cardloanmortgageother
Budget Types
BP