Dauerbuchung löschen
Benötigte Berechtigung:collections:write(Vorlagen und Dauerbuchungen ändern)
Echte Wirkung
/api/document/collection/contract/{id}Kein Testversand aus der Dokumentation: Dieser Aufruf ist nicht als rein lesend gekennzeichnet. Nutze das Codebeispiel.
Löscht eine Dauerbuchung, wie in der App. Künftige Belege gehen mit, Belege bis heute nur mit pastDocuments. Solange ein Beleg zugeordnet ist, wird abgelehnt (409 DocumentContractHasAssignedDocuments). Der Body nennt expectedUpdatedAt. Eine Wiederholung mit gleichem Idempotency-Key wirkt nicht doppelt.
Benötigt einen Schlüssel mit der Berechtigung collections:write.
AuthentifizierungBearer <bm_…>Empfohlen: Authorization: Bearer bm_…. Der Schlüssel wird nur einmal angezeigt; nie in URLs, Logs oder Frontend-Code ablegen.
id*stringID des Objekts in dieser Firma (UUID).
uuidpastDocuments?booleanNimmt auch die Belege bis heute mit, die weder zugeordnet, bezahlt noch festgeschrieben sind. Ohne Angabe bleiben sie.
Idempotency-Key*stringStabiler Schlüssel für genau diese Änderung: 1–128 druckbare ASCII-Zeichen ohne Leerzeichen. Bei Wiederholungen denselben Schlüssel und unveränderten Inhalt senden; das Ergebnis wird nicht nochmals erzeugt.
^[!-~]+$1 <= length <= 128Mit API-Schlüssel: die gelesene Version
application/json- body
Der Stand, auf dem das Löschen aufbaut.
expectedUpdatedAt?|updatedAt des gelesenen Objekts.
date-timeErfolg.
application/json- response
Was gelöscht wurde.
id?stringID des Objekts.
uuidreplayed?booleanTrue bei sicherer Wiederholung eines bereits erfolgreichen Aufrufs.
curl --fail-with-body "https://app.bimetrics.de/api/document/collection/contract/497f6eca-6276-4993-bfeb-53cbbbba6f08" \ -H "Authorization: Bearer $BIMETRICS_API_KEY" \ -H "Idempotency-Key: rechnung-2026-001" \ -H "Content-Type: application/json" \ -d '{}'{ "id": "6d0e3f52-81a4-4b7c-9f26-2a7e5c1d4b83", "replayed": false}Dauerbuchung lesen GET
Liefert eine Dauerbuchung mit Zeitraum, Rhythmus und Zeilen. `updatedAt` kommt beim Ändern als `expectedUpdatedAt` zurück. Eine gelöschte antwortet mit `404`. Benötigt einen Schlüssel mit der Berechtigung `read`.
Dauerbuchung ändern PUT
Ändert eine Dauerbuchung, wie in der App. Eine Änderung gilt nur nach vorn: Offene und künftige Belege folgen ihr, zugeordnete, bezahlte und festgeschriebene bleiben, wie sie sind. Zum Beenden genügt `documentContractRepetitionFixed` mit `end`. Das Ende darf die laufende Periode nicht abschneiden (`422 DocumentContractEndBeforeRunningPeriod`). Der Rhythmus wird nur geprüft, wenn er sich ändert. PUT ändert nur die mitgeschickten Felder. `expectedUpdatedAt` ist Pflicht; hat sich das Objekt seitdem geändert, antwortet die Route mit `409 VersionConflict`. Geprüft wird wie im Formular der App: Bezeichnung, Art `invoice` oder `receipt`, 1 bis 100 Zeilen mit Betrag oder Anteil, Kategorie passend zu Art, Verwendung und Kontenrahmen, Steuersatz 19, 7 oder 0 %, auf Eingangsbelegen auch 9 oder 5,5 %, soweit die Kategorie ihn zulässt, Steuerfall bei 0 % auf Eingangsbelegen und die Gegenpartei der Art, außer alle Kategorien werden direkt gebucht. Verstöße ergeben `400 InvalidBookkeepingChange` mit `context.field`. Bezeichnung, Kategorie und Steuersatz werden nur geprüft, wenn sie neu sind. Eine gelöschte Dauerbuchung ergibt `409 DocumentContractDeleted`. Eine Wiederholung mit gleichem Idempotency-Key wirkt nicht doppelt. Benötigt einen Schlüssel mit der Berechtigung `collections:write`.