Originaldatei eines Belegs laden
Benötigte Berechtigung:read(Daten lesen)
Liefert die hochgeladene Originaldatei als Binärdaten. PDFs und Bilder kommen mit ihrem Typ (application/pdf, image/png, image/jpeg), alles andere, etwa XML-E-Rechnungen, als application/octet-stream. Der ETag ist der SHA-256 der Datei (Hex, ohne Anführungszeichen); mit genau diesem Wert in If-None-Match antwortet die Route mit 304 ohne Inhalt. 404, wenn der Beleg keine Originaldatei hat oder gelöscht ist.
Benötigt einen Schlüssel mit der Berechtigung read.
Unveränderte Datei (304)
If-None-Match und lädt die Datei immer. Schickst du den ETag einer früheren Antwort in If-None-Match mit und ist die Datei unverändert, antwortet die API mit 304 ohne Inhalt und ohne ETag. Behalte dann die gespeicherte Datei, statt sie mit der leeren Antwort zu überschreiben. Ein vollständiges Beispiel steht im Monatsexport.AuthentifizierungBearer <bm_…>Empfohlen: Authorization: Bearer bm_…. Der Schlüssel wird nur einmal angezeigt; nie in URLs, Logs oder Frontend-Code ablegen.
id*stringID des Belegs (UUID).
uuiddownload?stringBeliebiger nicht leerer Wert, z. B. 1: Die Antwort trägt Content-Disposition: attachment mit dem ursprünglichen Dateinamen.
If-None-Match?stringETag einer früheren Antwort; stimmt er, antwortet die Route mit 304.
Die Originaldatei.
response?unknowncurl --fail-with-body "https://app.bimetrics.de/api/document/497f6eca-6276-4993-bfeb-53cbbbba6f08/content" \ -H "Authorization: Bearer $BIMETRICS_API_KEY" \ --output beleg.pdfnullBeleg löschen DELETE
Löscht einen Beleg, wie „Löschen“ in der App, genau mit dem Ergebnis der Vorschau `GET /api/document/{id}/delete-preview`. Ein gelöschter Beleg lässt sich nicht wiederherstellen, und das Kontingent bleibt verbraucht. Weicht etwas von der Vorschau ab, wird nichts gelöscht: `409 VersionConflict`, `409 DeletionOutcomeChanged` (etwa wenn bimetrics den Beleg inzwischen festgeschrieben hat) oder `409 UploadRepresentativeChanged`. Abgelehnt werden zugeordnete Belege (`417 CannotDeleteMatchedDocument`), ausgestellte Rechnungen (`409 IssuedInvoiceNotDeletable`), Belege mit an DATEV exportierten Buchungen (`409 FinalizedBookingsLocked`, das geht nur in der App) und mit `409 DocumentWriteLocked` Belege mit erfasster Zahlung, aus einer Dauerbuchung oder Vorlage und schon stornierte. `context.refusedBecause` nennt den Grund. Eine Wiederholung mit gleichem Idempotency-Key löscht nichts doppelt. Benötigt einen Schlüssel mit der Berechtigung `documents:delete`.
Löschen eines Belegs prüfen GET
Sagt, was `DELETE /api/document/{id}` gerade tun würde, und ändert nichts: `outcome` `deleted` (Beleg, Datei und offene Buchungen verschwinden aus bimetrics, es gibt keinen Papierkorb), `cancelled` (festgeschriebene Buchungen bleiben und werden in ihren Monaten storniert, `reversedFinalizedMonths`, der Beleg bleibt als storniert stehen) oder `retained_copy` (eine hochgeladene Kopie derselben Datei übernimmt, Beleg, Buchungen und Zuordnung bleiben). Geht es nicht, nennt `refusedBecause` den Grund. Sende `version`, `outcome` und `currentRepresentativeId` beim Löschen unverändert mit. Benötigt einen Schlüssel mit der Berechtigung `read`.