docs: add full REST API reference (DOCS.md)

Aurum already exposes the same REST API its frontend uses; this documents
every endpoint (accounts, categories, tags, transactions incl. bulk CSV
import, recurring, budgets, goals, assets/net worth, dashboard/cash-flow/
reports, insights/advice, settings, backup) with request/response shapes,
enforced business rules, and curl recipes, so the API can be published and
used to integrate other programs with Aurum. README links to it from the
top nav and a new API section.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01855PiW5Wd8n4aRW4n9kByY
This commit is contained in:
ZProger
2026-08-30 02:28:22 +03:00
parent 13d5d4833a
commit c95eb12d57
2 changed files with 697 additions and 1 deletions

View File

@@ -9,7 +9,7 @@ Aurum is a source-available personal finance operating system — a complete, gr
[![License: PolyForm Noncommercial 1.0.0](https://img.shields.io/badge/license-PolyForm%20Noncommercial%201.0.0-blue.svg)](LICENSE)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](CONTRIBUTING.md)
[Features](#-core-features) • [Screenshots](#-screenshots) • [Getting Started](#-getting-started) • [Security](#-security--self-hosting) • [Contributing](#-contributing) • [License](#-license)
[Features](#-core-features) • [Screenshots](#-screenshots) • [Getting Started](#-getting-started) • [API Docs](DOCS.md) • [Security](#-security--self-hosting) • [Contributing](#-contributing) • [License](#-license)
</div>
@@ -159,6 +159,13 @@ docker compose pull && docker compose up -d --build # update to newer code
Your data lives in a Docker named volume (`aurum_pgdata`), not in the repo folder — it survives `docker compose down`, image rebuilds, and `git pull`. It's only gone if you explicitly run `docker compose down -v` or delete the volume yourself. For anything short of that, use the in-app **Settings → Backup & Restore** to export a JSON snapshot of everything before making risky changes.
## 🔌 API
Everything Aurum's UI can do — adding transactions, managing accounts and budgets, importing a CSV,
tracking assets, exporting a backup — is also available as a plain JSON REST API at `/api`, so you
can script Aurum or connect it to other programs. See **[DOCS.md](DOCS.md)** for the full reference,
or open `/api/docs` on your running instance for interactive Swagger docs.
## 🔒 Security & Self-Hosting
**Aurum has no built-in login system.** It's built for one person to self-host one private instance of their own financial data — not as a multi-tenant service with per-user accounts. That's a deliberate trade-off, not an oversight, but it means: