bimetricsEntwickler
Vorlagen und Dauerbuchungen

Dauerbuchung löschen

Als Markdown ansehen

Benötigte Berechtigung:collections:write(Vorlagen und Dauerbuchungen ändern)

Echte Wirkung

Ändert Daten der Firma; wird atomar mit Idempotenzbeleg und Herkunft protokolliert.
delete/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.

Authentifizierung

headerAuthentifizierungBearer <bm_…>

Empfohlen: Authorization: Bearer bm_…. Der Schlüssel wird nur einmal angezeigt; nie in URLs, Logs oder Frontend-Code ablegen.

Pfadparameter

id*string

ID des Objekts in dieser Firma (UUID).

Formatuuid

Query-Parameter

pastDocuments?boolean

Nimmt auch die Belege bis heute mit, die weder zugeordnet, bezahlt noch festgeschrieben sind. Ohne Angabe bleiben sie.

Header-Parameter

Idempotency-Key*string

Stabiler 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.

Muster^[!-~]+$
Länge1 <= length <= 128

Request-Body

Mit API-Schlüssel: die gelesene Version

application/json
  1. body

Der Stand, auf dem das Löschen aufbaut.

expectedUpdatedAt?|

updatedAt des gelesenen Objekts.

Formatdate-time

Antworten

Erfolg.

application/json
  1. response

Was gelöscht wurde.

id?string

ID des Objekts.

Formatuuid
replayed?boolean

True bei sicherer Wiederholung eines bereits erfolgreichen Aufrufs.

Beispielanfrage
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 '{}'
Beispielantwort
{  "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`.