bimetricsEntwickler
Logo

„Mach es passend“

Als Markdown ansehen

Benötigte Berechtigung:layout:write(Layouts und Logo ändern)

Echte Wirkung

Ändert Daten der Firma; wird atomar mit Idempotenzbeleg und Herkunft protokolliert.
post/api/company/logos/invoice/fix

Kein Testversand aus der Dokumentation: Dieser Aufruf ist nicht als rein lesend gekennzeichnet. Nutze das Codebeispiel.

Macht aus dem Original einen neuen Vorschlag: Rand entfernt, einfarbiger Hintergrund durchsichtig, das Zeichen bleibt. Aktiv wird nichts. Ohne Rechnungslogo 409 LogoMissing, höchstens 10-mal je Firma und Tag (429 LogoFixLimit).

Benötigt einen Schlüssel mit der Berechtigung layout:write.

Authentifizierung

headerAuthentifizierungBearer <bm_…>

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

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

Antworten

Erfolg.

application/json
  1. response

Das Logo der Firma. Ändern geht mit layout:write und gilt für alle Layouts.

app?|

Das App-Zeichen; null für das bimetrics-Zeichen.

enabled?boolean

Immer true, das Logo lässt sich ändern.

frame?

Der Logo-Rahmen des Layouts der Firma.

invoice?|

Das Rechnungslogo; null ohne Logo.

Beispielanfrage
curl --fail-with-body "https://app.bimetrics.de/api/company/logos/invoice/fix" -X POST \  -H "Authorization: Bearer $BIMETRICS_API_KEY" \  -H "Idempotency-Key: rechnung-2026-001"
Beispielantwort
{  "app": {    "dark": {      "blob": {        "id": "3e9b1c5a-7d24-4f8e-b6a0-1c9d3e5f70e5",        "sha256": "e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5"      }    },    "id": "8a41e7d3-6c25-4b9f-a0d8-2e5f7c3b1d94",    "light": {      "blob": {        "id": "3e9b1c5a-7d24-4f8e-b6a0-1c9d3e5f70d4",        "sha256": "d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4"      }    },    "source": "mark"  },  "enabled": true,  "frame": {    "heightMm": 16,    "layout": "modern",    "widthMm": 48  },  "invoice": {    "active": {      "blob": {        "id": "3e9b1c5a-7d24-4f8e-b6a0-1c9d3e5f70a1",        "sha256": "a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1"      },      "dpiInFrame": 317,      "height": 600,      "id": "5f0c9f1e-2b7a-4c55-9d1a-7d2f5b0e3a41",      "variant": "fitted",      "width": 1200    },    "canRestoreOriginal": false,    "facts": {      "aspectRatio": 3,      "color": "#1F5F5B",      "contrastOnWhite": 9.4    },    "hints": [      "wide_border"    ],    "inverse": {      "blob": {        "id": "3e9b1c5a-7d24-4f8e-b6a0-1c9d3e5f70b2",        "sha256": "b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2"      },      "height": 600,      "width": 1200    },    "proposal": {      "blob": {        "id": "3e9b1c5a-7d24-4f8e-b6a0-1c9d3e5f70c3",        "sha256": "c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3"      },      "dpiInFrame": 635,      "fixes": [        "crop"      ],      "height": 400,      "id": "c2d6a8e4-91b3-4f0a-8e5c-3b7d1a9f6e20",      "width": 1200    }  }}