docs: finanz-api – Doppelzählungs-Schutz (409) und reservierter Präfix System- (Tool v0.12.0)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -42,7 +42,7 @@ curl -s -H "Authorization: Bearer $KEY" \
|
|||||||
|
|
||||||
## Kategorien (`/api/categories`)
|
## Kategorien (`/api/categories`)
|
||||||
|
|
||||||
`GET`/`POST` (`name`).
|
`GET`/`POST` (`name`). Namen mit Präfix `System-` sind reserviert (422).
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -s -H "Authorization: Bearer $KEY" http://127.0.0.1:8096/api/categories | jq
|
curl -s -H "Authorization: Bearer $KEY" http://127.0.0.1:8096/api/categories | jq
|
||||||
@@ -82,6 +82,13 @@ curl -s -X POST -H "Authorization: Bearer $KEY" \
|
|||||||
`end_date`, `category_id`), `PATCH`/`DELETE /{id}`, sowie
|
`end_date`, `category_id`), `PATCH`/`DELETE /{id}`, sowie
|
||||||
`GET /recurring/suggestions` (Muster-Erkennung aus importierten Buchungen).
|
`GET /recurring/suggestions` (Muster-Erkennung aus importierten Buchungen).
|
||||||
|
|
||||||
|
**Doppelzählungs-Schutz:** `POST`/`PATCH` antworten mit `409` und
|
||||||
|
`detail.code == "doppelzaehlung_kredit"` (plus `meldung`, `konflikte`), wenn
|
||||||
|
ein monatlicher Ausgabe-Posten vermutlich einer Kreditrate entspricht. Dann
|
||||||
|
**den Nutzer fragen**; nur nach ausdrücklicher Zustimmung erneut mit
|
||||||
|
`"doppelzaehlung_bestaetigt": true` senden. Besser: Kreditraten nur über
|
||||||
|
`/api/loans` pflegen.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -s -H "Authorization: Bearer $KEY" \
|
curl -s -H "Authorization: Bearer $KEY" \
|
||||||
http://127.0.0.1:8096/api/recurring/suggestions | jq
|
http://127.0.0.1:8096/api/recurring/suggestions | jq
|
||||||
@@ -103,6 +110,13 @@ curl -s -X POST -H "Authorization: Bearer $KEY" -H "Content-Type: application/js
|
|||||||
`payout_date`, `repayment_type`: `annuity`|`bullet`), `PATCH`/`DELETE /{id}`,
|
`payout_date`, `repayment_type`: `annuity`|`bullet`), `PATCH`/`DELETE /{id}`,
|
||||||
`GET /{id}/schedule` (Tilgungsplan: Rate, Zins, Tilgung, Restschuld je Termin).
|
`GET /{id}/schedule` (Tilgungsplan: Rate, Zins, Tilgung, Restschuld je Termin).
|
||||||
|
|
||||||
|
**Doppelzählungs-Schutz:** `POST`/`PATCH` antworten mit `409` und
|
||||||
|
`detail.code == "doppelzaehlung_kredit"` (plus `meldung`, `konflikte`), wenn
|
||||||
|
ein monatlicher Ausgabe-Posten vermutlich einer Kreditrate entspricht. Dann
|
||||||
|
**den Nutzer fragen**; nur nach ausdrücklicher Zustimmung erneut mit
|
||||||
|
`"doppelzaehlung_bestaetigt": true` senden. Besser: Kreditraten nur über
|
||||||
|
`/api/loans` pflegen.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -s -H "Authorization: Bearer $KEY" \
|
curl -s -H "Authorization: Bearer $KEY" \
|
||||||
http://127.0.0.1:8096/api/loans/1/schedule | jq
|
http://127.0.0.1:8096/api/loans/1/schedule | jq
|
||||||
@@ -111,7 +125,8 @@ curl -s -H "Authorization: Bearer $KEY" \
|
|||||||
## Szenarien (`/api/scenarios`)
|
## Szenarien (`/api/scenarios`)
|
||||||
|
|
||||||
`GET`/`POST` (`name`, `description`, `include_recurring`, `include_planned`),
|
`GET`/`POST` (`name`, `description`, `include_recurring`, `include_planned`),
|
||||||
`PATCH`/`DELETE /{id}`. Kredit zuordnen: `POST`/`DELETE
|
`PATCH`/`DELETE /{id}`. Namen mit Präfix `System-` sind reserviert (422).
|
||||||
|
Kredit zuordnen: `POST`/`DELETE
|
||||||
/{id}/loans/{loan_id}`. Modifikator hinzufügen: `POST /{id}/modifiers` mit
|
/{id}/loans/{loan_id}`. Modifikator hinzufügen: `POST /{id}/modifiers` mit
|
||||||
`target_type` (`category`|`recurring`), `target_id`, `kind`
|
`target_type` (`category`|`recurring`), `target_id`, `kind`
|
||||||
(`percent`|`absolute`|`remove`), `value`; löschen über `DELETE
|
(`percent`|`absolute`|`remove`), `value`; löschen über `DELETE
|
||||||
|
|||||||
@@ -29,7 +29,10 @@ Beratung erfolgt datengetrieben über das Finanzberatungs-Tool (Skill
|
|||||||
|
|
||||||
- Kreditbedarf: Kredit anlegen (`POST /api/loans` mit Betrag, Zinssatz,
|
- Kreditbedarf: Kredit anlegen (`POST /api/loans` mit Betrag, Zinssatz,
|
||||||
Laufzeit, Auszahlungsdatum, Tilgungsart) und dem Szenario zuordnen
|
Laufzeit, Auszahlungsdatum, Tilgungsart) und dem Szenario zuordnen
|
||||||
(`POST /api/scenarios/{id}/loans/{loan_id}`).
|
(`POST /api/scenarios/{id}/loans/{loan_id}`). Antwortet `POST /api/loans`
|
||||||
|
mit `409` (`doppelzaehlung_kredit`), weil die Rate vermutlich schon als
|
||||||
|
wiederkehrender Posten eingeplant ist, den Nutzer fragen statt blind mit
|
||||||
|
`doppelzaehlung_bestaetigt: true` zu bestätigen.
|
||||||
- Kürzungspotenzial: Modifikatoren je Kategorie oder wiederkehrendem Posten
|
- Kürzungspotenzial: Modifikatoren je Kategorie oder wiederkehrendem Posten
|
||||||
anlegen (`POST /api/scenarios/{id}/modifiers`, `target_type`
|
anlegen (`POST /api/scenarios/{id}/modifiers`, `target_type`
|
||||||
`category`|`recurring`, `kind` `percent`|`absolute`|`remove`).
|
`category`|`recurring`, `kind` `percent`|`absolute`|`remove`).
|
||||||
|
|||||||
Reference in New Issue
Block a user