# bimetrics API > Die bimetrics API gibt eigenen Anwendungen Zugriff auf die Buchhaltungsdaten einer Firma in bimetrics: Belege, Kontakte, Bankkonten, Umsätze und Buchungen lesen sowie Belege hochladen. Authentifizierung mit einem firmengebundenen API-Schlüssel im Header `Authorization: Bearer bm_…`. Maschinenlesbare Beschreibung (OpenAPI 3.0, zuerst lesen): https://app.bimetrics.de/api/openapi.json Regeln für KI-Agenten: - Vor schreibenden Aufrufen (Upload, `POST /api/document/`) beim Nutzer nachfragen: Jeder Upload legt einen echten Beleg an, verbraucht Kontingent und wird im GoBD-Protokoll vermerkt. Es gibt keine Testumgebung. - Den API-Schlüssel nie in URLs, Logs, Quellcode oder Frontend-Code ablegen. - Bei `429` die Sekunden aus `Retry-After` abwarten; Uploads mit derselben `X-Upload-Request-Id` wiederholen. API-Schlüssel legen Inhaber in der App an: https://app.bimetrics.de/settings/api-keys ## Leitfäden - [Einführung](https://developer.bimetrics.de/index.md): Mit der bimetrics API liest deine Anwendung Belege, Kontakte, Bankkonten, Umsätze und Buchungen einer Firma und lädt Belege hoch. - [Schnellstart](https://developer.bimetrics.de/schnellstart.md): API-Schlüssel anlegen und den ersten Aufruf senden. - [Authentifizierung und Scopes](https://developer.bimetrics.de/authentifizierung.md): Wie der API-Schlüssel gesendet wird, welche Berechtigungen er hat und wie lange er gilt. - [Fehler](https://developer.bimetrics.de/fehler.md): Fehlerformat, HTTP-Status, Fehlercodes und wann sich eine Wiederholung lohnt. - [Limits](https://developer.bimetrics.de/limits.md): Anfragen pro Minute, Upload-Grenzen und Größen von Anfragen. - [Filtern und Paginieren](https://developer.bimetrics.de/filtern.md): Suchanfragen für Belege, Kontakte, Bankkonten, Umsätze und Buchungen. - [Beleg-Upload](https://developer.bimetrics.de/beleg-upload.md): Belege hochladen, ohne Doppelungen wiederholen und den Verarbeitungsstatus abfragen. - [Stabilität und Änderungen](https://developer.bimetrics.de/stabilitaet.md): Welche Teile der API dokumentiert sind und worauf deine Integration achten sollte. - [Changelog](https://developer.bimetrics.de/changelog.md): Änderungen an der bimetrics API, neueste zuerst. ## API-Referenz - [Endpunkte](https://developer.bimetrics.de/referenz.md): Alle Endpunkte der bimetrics API mit Parametern, Antworten und Playground. - [Beleg hochladen](https://developer.bimetrics.de/referenz/belege/upload-document.md): Lädt genau eine Datei als neuen Beleg hoch und stößt die Erkennung an. Die Antwort ist ein Array mit genau einem Beleg. Das Formularfeld bestimmt die Belegart: `invoice[]` Ausgangsrechnung, `receipt[]` Eingangsbeleg, `auto[]` Erkennung durch bimetrics. Unterstützt werden PDF, PNG, JPEG und XML-E-Rechnungen. `X-Upload-Request-Id` macht Wiederholungen sicher: Dieselbe ID mit identischer Datei, identischem Dateinamen und Feld liefert denselben Beleg, ohne weiteres Kontingent; dieselbe ID mit anderem Inhalt ergibt `409 UploadRequestConflict`. Für jeden neuen Beleg eine neue ID verwenden. Ist das Belegkontingent ausgeschöpft, wird der Beleg trotzdem gespeichert (`uploadDocument.ocrStatus` = `quota_paused`); dann keinen weiteren Upload mit neuer ID starten. - [Belege suchen](https://developer.bimetrics.de/referenz/belege/filter-documents.md): Sucht Belege der Firma mit einem Filter und liefert eine Seite der Treffer (`items`) mit der Gesamtzahl (`total`). Ohne Filter (`{}`) liefert die Route alle Belege, höchstens 1000 je Seite. - [Beleg lesen](https://developer.bimetrics.de/referenz/belege/get-document.md): Liefert einen Beleg mit erkannten Daten, Positionen, Zuordnung (`match`) und Buchungen. - [Originaldatei eines Belegs laden](https://developer.bimetrics.de/referenz/belege/get-document-content.md): 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. - [Kontakte suchen](https://developer.bimetrics.de/referenz/kontakte/filter-contacts.md): Sucht Kontakte (Kunden und Lieferanten) der Firma mit einem Filter und liefert eine Seite der Treffer. - [Kontakt lesen](https://developer.bimetrics.de/referenz/kontakte/get-contact.md): Liefert einen Kontakt mit Anschriften, Kontakt- und Zahlungsdaten. - [Bankkonten suchen](https://developer.bimetrics.de/referenz/bankkonten/filter-bank-accounts.md): Sucht die verbundenen Bankkonten der Firma mit einem Filter und liefert eine Seite der Treffer. `accountOwner` nennt nur die Mitgliedschaft des Kontoinhabers, keine Personendaten. - [Bankkonto lesen](https://developer.bimetrics.de/referenz/bankkonten/get-bank-account.md): Liefert ein verbundenes Bankkonto mit Saldo. - [Umsätze suchen](https://developer.bimetrics.de/referenz/umsaetze/filter-bank-transactions.md): Sucht Bankumsätze der Firma mit einem Filter und liefert eine Seite der Treffer. Umsätze deaktivierter Konten sind nicht enthalten. - [Umsatz lesen](https://developer.bimetrics.de/referenz/umsaetze/get-bank-transaction.md): Liefert einen Bankumsatz mit Zuordnung (`match`) und Buchungen. - [Bebuchte Konten auflisten](https://developer.bimetrics.de/referenz/buchhaltung/list-used-accounts.md): Liefert die Nummern aller Konten, auf die die Firma gebucht hat. - [Kontenbezeichnungen auflisten](https://developer.bimetrics.de/referenz/buchhaltung/list-account-labels.md): Liefert die Kontenbezeichnungen des Kontenrahmens der Firma: Bankkonten, Debitoren und Kreditoren der Kontakte sowie die Standardkonten. Ein Eintrag gilt für die Kontonummern von `from` bis `to`. - [Buchungen suchen](https://developer.bimetrics.de/referenz/buchhaltung/filter-bookings.md): Sucht Buchungen der Firma mit einem Filter und liefert eine Seite der Treffer. - [Buchung lesen](https://developer.bimetrics.de/referenz/buchhaltung/get-booking.md): Liefert eine Buchung. - [Tarif und Kontingent lesen](https://developer.bimetrics.de/referenz/tarif/get-entitlement.md): Liefert Tarif, Grenzen und die aktuelle Nutzung der Firma. Ein einfacher erster Aufruf, um Schlüssel und Verbindung zu prüfen. ## Optional - [Alle Seiten in einer Datei](https://developer.bimetrics.de/llms-full.txt)