Skip to main content
POST
Upsert Packaging Sizes

Autorisierungen

Authorization
string
header
erforderlich

API key generated in Settings > API Keys. Include as Authorization: Bearer <key>.

Body

application/json

One size of an existing packaging unit, for POST /api/ppwr/formats. Upsert key: (specInternalRef, reference). Blank-is-keep: an omitted or blank field keeps the stored value, so this door can add and change size data but never clear it. Naming the unit's own internalRef addresses its PRIMARY size (its reference always follows the unit and is never renamed here).

specInternalRef
string
erforderlich

internalRef of an existing packaging unit in YOUR company. An unknown reference is the row error unknownUnitRef — the unit is never auto-created.

reference
string
erforderlich

The size's identifier, unique within your company.

Required string length: 1 - 120
gtin
string | null
Pattern: ^(\d{8}|\d{12}|\d{13}|\d{14})$
label
string | null
Maximum string length: 120
widthMm

Width in mm.

heightMm

Height in mm.

depthMm

Depth in mm.

Antwort

Intake result (partial accept — see the schema).

Result of a synchronous PPWR intake. Partial accept: valid rows commit even when other rows are invalid or failed — the one exception is the 409 overwrite gate, which is all-or-nothing. Idempotent: replaying an identical request changes nothing (matched rows return as skipped), except unit rows without internalRef, which are always creates.

imported
integer
erforderlich

ENTITIES created (units, components, links) — never sizes.

updated
string[]
erforderlich

Identifiers of rows whose existing match changed. A size created on an existing unit appears as <unit ref> / <size ref>.

skipped
string[]
erforderlich

Identifiers of rows that matched with nothing to change.

failed
object[]
erforderlich

Rows the upsert engine rejected (unknown reference, ambiguous match, …). Its error values are stable machine keys.

invalid
object[]
erforderlich

Rows rejected by schema validation before the engine ran. Most error values are stable machine keys, but a field with no custom message falls back to the validator's own English text — match on the key, fall back to displaying the string.

sizesCreated
integer

Unit intake only: sizes created for the rows' units.

articleNumbersUnmatched
integer

Unit intake only: distinct articleNumbers no live article matched. Skipped, never a row error.

articleLinksCreated
integer

Unit intake only: unit⇄article links created from articleNumbers.

Unit intake only: unit⇄component links created from componentCodes.

componentStubsCreated
integer

Unit intake only: minimal placeholder components created for unknown componentCodes.