Layouts zuweisen
Benötigte Berechtigung:layout:write(Layouts und Logo ändern)
Echte Wirkung
/api/layouts/assignmentsKein Testversand aus der Dokumentation: Dieser Aufruf ist nicht als rein lesend gekennzeichnet. Nutze das Codebeispiel.
Legt fest, welches Layout für welche Belegart gilt, wie „Gilt für“ im Editor. Offene Entwürfe einer Belegart drucken danach mit ihrem neuen Layout, ausgestellte behalten ihres. Mit expected antwortet die Route mit 409 LayoutVersionConflict, wenn sich die Zuweisung seit dem Lesen geändert hat.
Benötigt einen Schlüssel mit der Berechtigung layout:write.
AuthentifizierungBearer <bm_…>Empfohlen: Authorization: Bearer bm_…. Der Schlüssel wird nur einmal angezeigt; nie in URLs, Logs oder Frontend-Code ablegen.
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 <= 128assignments: Belegart → ID eines Layouts der Firma; * ist Pflicht und gilt für alle Belegarten ohne eigenes Layout. Fehlt eine Belegart, gilt für sie danach das Layout von *. Optional expected: die ganze Zuweisung wie zuletzt gelesen.
application/json- body
Erfolg.
application/json- response
Die Layouts der Firma.
issuedKinds?array<string>|Belegarten mit mindestens einem ausgestellten Beleg.
layouts?array<>|Alle Layouts, auch archivierte, in der Reihenfolge ihrer Anlage.
curl --fail-with-body "https://app.bimetrics.de/api/layouts/assignments" \ -H "Authorization: Bearer $BIMETRICS_API_KEY" \ -H "Idempotency-Key: rechnung-2026-001" \ -H "Content-Type: application/json" \ -d '{"assignments":{"*":"243ee0cc-b1c7-4335-8817-6bc939f0f615","order_confirmation":"bab564a1-86e9-45aa-98d7-2410bd59ba4b","proposal":"bab564a1-86e9-45aa-98d7-2410bd59ba4b"},"expected":{"*":"243ee0cc-b1c7-4335-8817-6bc939f0f615","proposal":"bab564a1-86e9-45aa-98d7-2410bd59ba4b"}}'{ "issuedKinds": [ "invoice" ], "layouts": [ { "appliesTo": [ "*" ], "archivedAt": null, "editable": true, "id": "243ee0cc-b1c7-4335-8817-6bc939f0f615", "module": "modern@2", "name": "Hansen & Kowalski Werbetechnik GmbH", "own": true, "spec": { "blocks": {}, "brandColor": "#1F5F5B", "module": "modern", "preset": "modern", "recipe": "", "schema": 2, "values": { "footer.pageNumber": "auto", "footer.titles": false, "header.logo.size": "L", "page.margin.left": 25 } }, "version": { "actor": { "membershipId": "53cd10a9-c864-4dc3-a777-9860d59efe6c", "name": "Jana Hansen" }, "check": "passed", "createdAt": "2026-11-04T10:15:00Z", "id": "16f6234e-8667-42f0-9584-6a397dc5f36a", "number": 2, "origin": "api", "originRef": null, "parentId": "b1a72031-ace3-4bdc-a63d-477d6be5d7cb", "summary": "Logo größer (L), Hausfarbe #1F5F5B" } }, { "appliesTo": [ "proposal", "order_confirmation" ], "archivedAt": null, "editable": true, "id": "bab564a1-86e9-45aa-98d7-2410bd59ba4b", "module": "modern@2", "name": "Angebote", "own": true, "spec": { "blocks": {}, "brandColor": null, "module": "modern", "preset": "modern", "recipe": "friendly", "schema": 2, "values": { "footer.pageNumber": "auto", "footer.titles": false, "header.rule": false, "items.head.style": "brand", "page.margin.left": 25, "title.brand": true } }, "version": { "actor": { "membershipId": "53cd10a9-c864-4dc3-a777-9860d59efe6c", "name": "Jana Hansen" }, "check": "passed", "createdAt": "2026-11-04T10:15:00Z", "id": "e1c5d5b2-3f0e-4f43-9a7c-2b7f0d5c8a11", "number": 2, "origin": "api", "originRef": null, "parentId": "5b0a3c7e-9d84-4e1f-a6b2-8c3d4e5f6a70", "summary": "Vorlage Modern verwendet, Rezept Freundlich" } } ]}Layout anlegen POST
Legt ein Layout aus einer Vorlage des Katalogs an, wie „Neues Layout“ im Editor. Mit `documentKind` gilt es sofort für diese Belegart, auch für ihre offenen Entwürfe; das erste Layout einer Firma gilt für alle Belegarten. Die Version davor hält den bisherigen Stand fest. Idempotency-Key bei Wiederholung unverändert senden. Benötigt einen Schlüssel mit der Berechtigung `layout:write`.
Erlaubte Werte lesen GET
Liefert, was ein Layout wählen kann: die Module mit Bereichen, Eigenschaften und erlaubten Werten, die Vorlagen (`presets`) mit ihren Kombinationen aus Schrift und Farbe (`recipes`), die Belegarten, die Musterfälle der Vorschau und die Bausteine. Pfade und Werte für `set` stehen unter `modules[].properties`, Grenzen zwischen Werten unter `modules[].limits`. Benötigt einen Schlüssel mit der Berechtigung `sales:read` oder `read`.