bimetricsEntwickler
Layouts

Layouts zuweisen

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.
put/api/layouts/assignments

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

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

Request-Body

assignments: 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
  1. body

Antworten

Erfolg.

application/json
  1. 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.

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