API Overview¶
Finance Report provides a RESTful API built with FastAPI. All endpoints are documented with OpenAPI (Swagger).
Base URL¶
Interactive Documentation¶
- Swagger UI: /api/docs
- ReDoc: /api/redoc
Authentication¶
Coming Soon
Authentication is being implemented. Currently, the API is open for demo purposes.
Future authentication will use JWT tokens:
Response:
Use the token in subsequent requests:
Response Format¶
All responses follow a consistent format:
Success Response¶
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Checking Account",
"type": "ASSET",
"created_at": "2026-01-10T12:00:00Z"
}
List Response¶
Error Response¶
HTTP Status Codes¶
| Code | Description |
|---|---|
200 |
Success |
201 |
Created |
204 |
No Content (delete) |
400 |
Bad Request |
401 |
Unauthorized |
404 |
Not Found |
422 |
Validation Error |
500 |
Server Error |
Common Parameters¶
Pagination¶
| Parameter | Type | Default | Description |
|---|---|---|---|
page |
integer | 1 | Page number |
per_page |
integer | 20 | Items per page (max: 100) |
Filtering¶
Sorting¶
Data Types¶
UUID¶
All IDs are UUID v4:
Dates¶
ISO 8601 format:
Monetary Values¶
Decimal strings with 2 decimal places:
Use Strings
Always use strings for monetary values to preserve precision.
Enums¶
| Field | Values |
|---|---|
account_type |
ASSET, LIABILITY, EQUITY, INCOME, EXPENSE |
direction |
DEBIT, CREDIT |
entry_status |
draft, posted, void |
source_type |
manual, import, system, reconciliation |
match_status |
pending, auto_accepted, pending_review, accepted, rejected, superseded |
Rate Limiting¶
Current Limits
Rate limiting is not currently enforced but may be added in the future.
Expected limits: - 100 requests per minute per IP - 1000 requests per hour per user
Versioning¶
The API is currently v1. Version is not included in the URL path.
Future versions will use:
Endpoints Summary¶
Core Resources¶
| Resource | Endpoint | Description |
|---|---|---|
| Health | GET /api/health |
API health check |
| Accounts | /api/accounts |
Account management |
| Journal Entries | /api/journal-entries |
Transaction recording |
| Reconciliation | /api/reconciliation |
Bank matching |
| Statements | /api/statements |
Statement upload & parsing |
| Reports | /api/reports |
Financial reports |
| AI Advisor | /api/chat |
Conversational financial advisor |
Health Check¶
SDK & Libraries¶
Official SDKs are planned for:
- Python
- TypeScript/JavaScript
- Go