> ## Documentation Index
> Fetch the complete documentation index at: https://help.polygon-one.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Verpackungseinheit abrufen

> Retrieve one packaging unit with its stored fields, all of its sizes (`formats`, primary first) and its bill of materials (`components`). A unit of another company, a soft-deleted unit and an `id` that is not a UUID all answer `404` — never `403`, which would confirm that the id exists somewhere. Requires `packaging:read` (a `packaging:write` key satisfies it); customer workspace with the PPWR module enabled.



## OpenAPI

````yaml GET /api/ppwr/units/{id}
openapi: 3.1.0
info:
  title: Polygon One Compliance API
  description: >-
    API for integrating ERP systems with the Polygon One EUDR Compliance
    Platform. Allows management of Articles, Suppliers, Orders, and Due
    Diligence Statements (DDS). PPWR packaging master data, the SKU quantity
    feed and Mengenmeldung reports are covered by the PPWR groups.
  version: 1.0.0
servers:
  - url: https://app.polygon-one.com
    description: Production Server
security:
  - bearerAuth: []
paths:
  /api/ppwr/units/{id}:
    get:
      summary: Get Packaging Unit by ID
      description: >-
        Retrieve one packaging unit with its stored fields, all of its sizes
        (`formats`, primary first) and its bill of materials (`components`). A
        unit of another company, a soft-deleted unit and an `id` that is not a
        UUID all answer `404` — never `403`, which would confirm that the id
        exists somewhere. Requires `packaging:read` (a `packaging:write` key
        satisfies it); customer workspace with the PPWR module enabled.
      operationId: getPpwrUnit
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Packaging unit details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PpwrUnitDetail'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
components:
  schemas:
    PpwrUnitDetail:
      type: object
      description: >-
        One packaging unit as `GET /api/ppwr/units/{id}` returns it: the stored
        unit fields, the identity of its PRIMARY size folded in (`gtin` and the
        three dimensions), its supplier's country, all of its sizes and its bill
        of materials.
      required:
        - id
        - companyId
        - name
        - internalRef
        - packagingType
        - role
        - placedUnderOwnBrand
        - modifiesConformity
        - isProducer
        - reusable
        - marketMemberStates
        - formats
        - components
      properties:
        id:
          type: string
          format: uuid
        companyId:
          type: string
          format: uuid
          description: Your company — a key never reads another company's data.
        createdByUserId:
          type:
            - string
            - 'null'
          format: uuid
        name:
          type: string
        internalRef:
          type: string
          description: >-
            The upsert key of `POST /api/ppwr/units`, generated as `PU-<n>` when
            a row sent none.
        packagingType:
          type: string
          enum:
            - sales
            - grouped
            - transport
            - ecommerce
            - service
        format:
          type:
            - string
            - 'null'
          description: Packaging form (free text).
        role:
          type: string
          enum:
            - manufacturer
            - importer
            - distributor
            - authorised_representative
            - supplier
            - fulfilment_service_provider
        recyclabilityGrade:
          type:
            - string
            - 'null'
          enum:
            - A
            - B
            - C
            - non_recyclable
            - null
        gradeSource:
          type:
            - string
            - 'null'
          enum:
            - declared
            - manual
            - engine
            - null
          description: >-
            Where the grade came from. An imported grade is stored as
            `declared`.
        placedUnderOwnBrand:
          type: boolean
        modifiesConformity:
          type: boolean
        isProducer:
          type: boolean
        reusable:
          type: boolean
          description: Art. 11 reusable packaging.
        targetRotations:
          type:
            - integer
            - 'null'
        averageRotations:
          type:
            - string
            - 'null'
          description: Decimal string.
        averageRotationMethod:
          type:
            - string
            - 'null'
          enum:
            - measured
            - estimated
            - null
        reconditioningProcess:
          type:
            - string
            - 'null'
        recyclabilityReference:
          type:
            - string
            - 'null'
        marketMemberStates:
          type: array
          items:
            type: string
          description: >-
            ISO alpha-2 codes of the member states the unit is placed on the
            market in.
        notes:
          type:
            - string
            - 'null'
          description: Description and intended use of the packaging.
        supplierId:
          type:
            - string
            - 'null'
          format: uuid
        supplierRoleOverride:
          type:
            - string
            - 'null'
          enum:
            - component_supplier
            - external_manufacturer
            - upstream_operator
            - null
        reuseSystemMemberId:
          type:
            - string
            - 'null'
          format: uuid
          description: Set when the unit is managed inside a re-use system pool.
        deletedAt:
          type:
            - string
            - 'null'
          format: date-time
          description: Always `null` here — this route never returns a soft-deleted unit.
        retentionUntil:
          type:
            - string
            - 'null'
          format: date-time
          description: Set only on a deleted unit, so always `null` here.
        gtin:
          type:
            - string
            - 'null'
          description: GTIN of the unit's PRIMARY size.
        widthMm:
          type:
            - string
            - 'null'
          description: Width of the primary size in mm, as a decimal string.
        heightMm:
          type:
            - string
            - 'null'
          description: Height of the primary size in mm, as a decimal string.
        depthMm:
          type:
            - string
            - 'null'
          description: Depth of the primary size in mm, as a decimal string.
        supplierCountry:
          type:
            - string
            - 'null'
          description: Country of the unit's supplier, `null` when it has none.
        formats:
          type: array
          items:
            $ref: '#/components/schemas/PpwrUnitFormat'
          description: >-
            Every size of the unit, primary first. Empty for a unit created
            before sizes existed.
        components:
          type: array
          items:
            $ref: '#/components/schemas/PpwrUnitComponentLink'
          description: The unit's bill of materials, ordered by component code.
    PpwrUnitFormat:
      type: object
      description: >-
        One size of a packaging unit. The unit's primary size carries its GTIN
        and dimensions; `GET /api/ppwr/units/{id}` returns the primary size
        first.
      required:
        - id
        - packagingSpecId
        - reference
        - isPrimary
        - sortOrder
      properties:
        id:
          type: string
          format: uuid
        packagingSpecId:
          type: string
          format: uuid
          description: The unit this size belongs to.
        reference:
          type: string
          description: >-
            The size's own identifier — the `reference` of `POST
            /api/ppwr/formats` and of a unit row's `sizes[]`.
        gtin:
          type:
            - string
            - 'null'
        label:
          type:
            - string
            - 'null'
        widthMm:
          type:
            - string
            - 'null'
          description: Width in mm, as a decimal string.
        heightMm:
          type:
            - string
            - 'null'
          description: Height in mm, as a decimal string.
        depthMm:
          type:
            - string
            - 'null'
          description: Depth in mm, as a decimal string.
        isPrimary:
          type: boolean
          description: >-
            `true` for the unit's primary size — the one whose GTIN and
            dimensions the unit itself reports.
        sortOrder:
          type: integer
    PpwrUnitComponentLink:
      type: object
      description: >-
        One line of a packaging unit's bill of materials: the linked component's
        identifying and substance data, plus the quantity of that component in
        the unit.
      required:
        - linkId
        - quantity
        - componentId
        - code
        - name
        - materials
        - contactSensitive
        - foodContact
        - heavyMetalsRecycledGlassDerogation
        - completeness
        - missingFields
      properties:
        linkId:
          type: string
          format: uuid
          description: Id of the unit⇄component link itself.
        quantity:
          type: integer
          description: How many pieces of this component the unit contains.
        componentId:
          type: string
          format: uuid
          description: The component's id — what `GET /api/ppwr/components/{id}` takes.
        code:
          type: string
        name:
          type: string
        supplierId:
          type:
            - string
            - 'null'
          format: uuid
        polymer:
          type:
            - string
            - 'null'
          enum:
            - pet
            - hdpe
            - ldpe
            - pp
            - ps
            - pvc
            - other
            - null
        materials:
          type: array
          items:
            type: string
            enum:
              - plastic
              - paper_board
              - glass
              - metal
              - wood
              - composite
              - other
        massGrams:
          type:
            - string
            - 'null'
          description: Mass of one piece, in grams, as a decimal string.
        recycledContentPct:
          type:
            - string
            - 'null'
        recycledContentSource:
          type:
            - string
            - 'null'
          enum:
            - pcr
            - pir
            - null
        recycledContentMethod:
          type:
            - string
            - 'null'
          enum:
            - physical
            - mass_balance
            - null
        contactSensitive:
          type: boolean
        foodContact:
          type: boolean
        heavyMetalsMgPerKg:
          type:
            - string
            - 'null'
        heavyMetalsBasis:
          type:
            - string
            - 'null'
          enum:
            - test_report
            - supplier_declaration
            - not_substantiated
            - null
        heavyMetalsRecycledGlassDerogation:
          type: boolean
          description: >-
            The recycled-glass attestation for the Art. 5(4) heavy-metals sum.
            Set in the app only.
        pfasCompliant:
          type:
            - boolean
            - 'null'
          description: 'Tri-state: `null` = unknown.'
        pfasBasis:
          type:
            - string
            - 'null'
          enum:
            - test_report
            - supplier_declaration
            - not_substantiated
            - null
        pfasTotalFluorineMgPerKg:
          type:
            - string
            - 'null'
        pfasSumPpb:
          type:
            - string
            - 'null'
        completeness:
          type: string
          enum:
            - complete
            - in_progress
            - incomplete
          description: Data completeness of this component.
        missingFields:
          type: array
          items:
            type: string
            enum:
              - heavyMetalsMgPerKg
              - pfasCompliant
    ErrorResponse:
      type: object
      properties:
        error:
          type: string
        details:
          description: Additional error details (e.g. validation issues)
      required:
        - error
  responses:
    Unauthorized:
      description: Invalid or missing API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Forbidden:
      description: Insufficient permissions for this resource
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    InternalError:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: >-
        API key generated in Settings > API Keys. Include as `Authorization:
        Bearer <key>`.

````