# `PATCH /delivery/{id}` Protected. Requires a valid session cookie (`credentials: 'include'`). Update delivery Patches header fields that are present. The manifest `number` is auto-allocated and cannot be patched; only the user-supplied `externalNumber` reference is editable. If `lines` is present, replaces all lines; if omitted, leaves lines unchanged. ## Path parameters | Param | Required | Type | Description | |-------|----------|------|-------------| | `id` | yes | integer | | ## Body (JSON) | Field | Required | Type | Description | |-------|----------|------|-------------| | `externalNumber` | no | string | User-supplied reference number (empty/null clears it) | | `date` | no | string | | | `supplierId` | no | integer | | | `lines` | no | DeliveryLineInput[] | | | `files` | no | DeliveryFileInput[] | Appends attachments (pdf or txt) to the delivery. Omit to leave existing files unchanged. Thumbnails (AVIF) are generated server-side. | ```json { "externalNumber": "DHL-124", "lines": [] } ``` ## Body (`multipart/form-data`) | Field | Required | Type | Description | |-------|----------|------|-------------| | `data` | no | string | JSON string containing patch fields ({ externalNumber, date, supplierId, lines, filesMeta? }). | | `files` | no | file | Raw binary PDF or text files to append to the delivery. | ## Response `200` Updated delivery ```json { "delivery": { "id": 1, "number": "…", "type": "delivery", "supplierId": 1, "externalNumber": "…", "date": "2026-08-10T00:00:00.000Z", "createdAt": "2026-08-10T00:00:00.000Z", "ledger": { "totalPositions": 1, "completelyOnLedgerPositions": 1 }, "lines": [ { "id": 1, "sku": "…", "name": "…", "pu": 1, "amount": 1, "net": 1, "rebate": 1, "taxrate": 1, "comment": "…" } ], "files": [ { "id": 1, "manifestId": 1, "fileId": 1, "sort": 1, "hash": "…", "mimetype": "…", "name": "…", "size": 1, "created": "2026-08-10T00:00:00.000Z", "modified": "2026-08-10T00:00:00.000Z", "skeledash": "…", "thumbx": 1, "thumby": 1, "meta": {} } ] } } ``` ## Errors | Status | Description | |--------|-------------| | 400 | Invalid delivery, invalid lines, invalid id, or no company selected — `{"error":"…"}` | | 401 | Unauthorized — `{"error":"…"}` | | 403 | Not authorized — `{"error":"…"}` | | 404 | Delivery, supplier, or company not found — `{"error":"…"}` | | 409 | Delivery lines already booked on ledger — `{"error":"…"}` | --- _Generated from `@openapi` JSDoc. Do not edit by hand — run `npm run docs:api`._