---
title: "ProductDeclarations"
url: "https://developer-qual.migros.ch/apis/products-related-8/versions/051741b6-0319-4b5e-b1f1-6bdbc778acb6/schemas/ProductDeclarations"
---

> Full API specification: https://developer-qual.migros.ch/apis/products-related-8/versions/051741b6-0319-4b5e-b1f1-6bdbc778acb6.md

# ProductDeclarations

Declarations information mapped on the product.

## OpenAPI definition

```yaml
openapi: 3.0.0
info:
  title: Products Related
  version: "8"
servers:
  - description: Public Kong Gateway URL
    url: https://api-qual.migros.ch
components:
  schemas:
    AlcoholInformation:
      description: Represents alcohol information.
      properties:
        label:
          type: string
        operator:
          nullable: true
          type: string
        value:
          type: string
      required:
        - label
        - value
      type: object
    Distributor:
      properties:
        address:
          description: Address of the distributor.
          nullable: true
          type: string
        name:
          description: Name of the distributor.
          nullable: true
          type: string
        package_disclaimer:
          description: Consumer package disclaimer.
          nullable: true
          type: string
      type: object
    GeneralInformation:
      description: Represents one set of general information.
      properties:
        label:
          type: string
        values:
          description: Some information will only ever have one string, while others can
            have multiple values.
          items:
            type: string
          type: array
      required:
        - label
        - values
      type: object
    GoldenStandard:
      description: Golden Standard.
      properties:
        category:
          nullable: true
          type: string
        compliant:
          nullable: true
          type: boolean
      type: object
    IngredientsInformation:
      properties:
        additives_information:
          description: Information about additives.
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/AdditivesInformation"
        allergens_information:
          description: Information about allergens.
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/AllergensInformation"
        ingredients_of_concern:
          description: Ingredients of concern.
          items:
            type: string
          nullable: true
          type: array
        ingredients_text:
          description: Ingredients declaration text.
          nullable: true
          type: string
        substances_information:
          description: Information about containing substances.
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/SubstancesInformation"
      type: object
    NutritionFacts:
      properties:
        consumption_hint:
          description: Information about amount consumed by adults.
          nullable: true
          type: string
        nutri_score:
          description: Nutri Score information.
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/NutriScore"
        reference_sizes:
          description: Information about the nutrients per standard size and for one
            portion.
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/NutritionReferenceSizes"
        serving_description:
          description: |-
            Serving description.

            Example: "pro 100 ml"
          nullable: true
          type: string
        serving_size_description:
          description: |-
            Serving size description.

            Example: "100 Milliliter"
          nullable: true
          type: string
      type: object
    Origins:
      description: Collects information about the various source declarations of a product.
      properties:
        catch_areas:
          description: Areas where fish or sea food was caught.
          items:
            type: string
          nullable: true
          type: array
        country_of_origin:
          deprecated: true
          description: Country where the product was originally produced (e.g.
            'Deutschland, Bundesrepublik').
          nullable: true
          type: string
        further_location_details:
          nullable: true
          type: string
        material_country:
          description: >-
            Country where the material of the product is coming from.


            This mostly makes sense for products consisting of one material,
            e.g. wood.
          nullable: true
          type: string
        material_country_code:
          description: >-
            Code of country where the material of the product is coming from.


            This mostly makes sense for products consisting of one material,
            e.g. wood.
          nullable: true
          type: string
        place_of_birth:
          description: Place where this animal was born.
          nullable: true
          type: string
        place_of_provenance:
          description: >-
            Place where the product comes from, can be other things than
            countries like a city or region.


            Used for meat for example.
          nullable: true
          type: string
        place_of_rearing:
          description: Place where this animal was raised.
          nullable: true
          type: string
        place_of_slaughter:
          description: Place where this animal was slaughtered.
          nullable: true
          type: string
        producing_country:
          description: >-
            Name of country where the product is produced.


            For products produced in several countries, this is the country
            where the largest part of the production cost incurred.


            Do not confuse this with the supplierCountry which is the country
            where Migros is importing the product from.
          nullable: true
          type: string
        production_facility_id:
          description: Identifications code of production facility.
          nullable: true
          type: string
        supplier_country:
          description: >-
            Name of country of the supplier, that is which country Migros is
            importing a product from.


            Do not confuse this with the "Herkunftsort" for meat, which can be a
            region or even specific city.
          nullable: true
          type: string
        type_of_rennet:
          items:
            type: string
          nullable: true
          type: array
      type: object
    PeriodAfterOpening:
      properties:
        numeric_value:
          type: integer
        unit:
          type: string
      required:
        - numeric_value
        - unit
        - value
      type: object
    Preparation:
      properties:
        information:
          description: Information about the preparation.
          nullable: true
          type: string
        usage_instructions:
          description: Instructions of the usage of the product.
          nullable: true
          type: string
      type: object
    ProductDetails:
      properties:
        catch_methods:
          description: Methods how fish or sea food was caught.
          items:
            type: string
          nullable: true
          type: array
        certification:
          description: Certification body.
          nullable: true
          type: string
        drained_weight:
          description: Drained weight.
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/ValueWithUnit"
        fat_percentage_in_dry_matter:
          description: Percentage of fat in dry matter.
          nullable: true
          type: string
        net_filled_quantity:
          description: Net filled quantity.
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/ValueWithUnit"
        net_weight:
          description: Net weight.
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/ValueWithUnit"
        package:
          description: Package information.
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/Package"
        product_description:
          description: Product description.
          nullable: true
          type: string
        regulated_description:
          description: A regulated way to describe the product, used mainly for basic
            content descriptions.
          nullable: true
          type: string
        variable_measure:
          description: |-
            Information about variable measure trade item.

            If this is set, the product is a variable measure trade item.
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/VariableMeasure"
        weight_with_glazing:
          description: Weight with glazing.
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/ValueWithUnit"
      type: object
    Supplier:
      properties:
        id:
          description: ID of the supplier.
          nullable: true
          type: string
        main:
          description: Whether or not this is the main supplier for the product.
          type: boolean
        name:
          description: Name of the supplier.
          nullable: true
          type: string
      required:
        - main
      type: object
    AdditivesInformation:
      properties:
        additives:
          description: List of additives.
          items:
            $ref: "#/components/schemas/Additive"
          nullable: true
          type: array
        declaration_obligatory:
          description: Declaration obligatory.
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/AdditivesDeclarationObligatory"
      type: object
    AllergensInformation:
      properties:
        allergens:
          description: List of allergens.
          items:
            $ref: "#/components/schemas/Allergen"
          nullable: true
          type: array
        trace_allergens_text:
          description: Trace information.
          nullable: true
          type: string
      type: object
    SubstancesInformation:
      properties:
        fish_catch_zones:
          description: Ingredient/substance fish catch zones.
          items:
            type: string
          nullable: true
          type: array
        origins:
          description: Ingredient/substance countries of origin.
          items:
            type: string
          nullable: true
          type: array
        substances:
          description: Ingredient/substance names.
          items:
            type: string
          nullable: true
          type: array
      type: object
    NutriScore:
      properties:
        image:
          $ref: "#/components/schemas/Image"
        value:
          description: Value of the Nutri-Score (A-E).
          type: string
      required:
        - value
        - image
      type: object
    NutritionReferenceSizes:
      properties:
        portion:
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/NutritionReferenceSize"
        standard:
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/NutritionReferenceSize"
      type: object
    ValueWithUnit:
      properties:
        numeric_value:
          description: Value as number for calculation or custom display.
          format: float
          nullable: true
          type: number
        unit:
          description: Unit of the value.
          nullable: true
          type: string
        value:
          description: Value as a string for display.
          nullable: true
          type: string
      type: object
    Package:
      properties:
        number_of_portions:
          description: Number of portions per package.
          nullable: true
          type: string
        number_of_portions_operator:
          description: Operator for the number of portions per package.
          nullable: true
          type: string
        type:
          description: Type of package.
          nullable: true
          type: string
      type: object
    VariableMeasure:
      properties:
        from:
          description: Maximum of the variable range.
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/ValueWithUnit"
        to:
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/ValueWithUnit"
      type: object
    Additive:
      description: An additive with its level of containment.
      properties:
        code:
          description: Descriptive label.
          type: string
        containment_code:
          type: string
        containment_label:
          type: string
        label:
          type: string
      required:
        - code
        - label
      type: object
    AdditivesDeclarationObligatory:
      properties:
        code:
          description: Descriptive label.
          type: string
        label:
          type: string
      required:
        - code
        - label
      type: object
    Allergen:
      properties:
        code:
          type: string
        contamination_code:
          description: Code of the contamination.
          nullable: true
          type: string
        contamination_label:
          description: Label of the contamination.
          nullable: true
          type: string
        label:
          description: Descriptive label.
          type: string
      required:
        - code
        - label
      type: object
    Image:
      description: An image and its properties.
      properties:
        code:
          deprecated: true
          description: Code for the image, useful for pictograms.
          nullable: true
          type: string
        custom:
          deprecated: true
          description: Image URL with placeholders for {width} and {height}.
          type: string
        description:
          deprecated: true
          description: Image description, useful for example as alt attribute.
          nullable: true
          type: string
        end_date:
          deprecated: true
          description: End date of the validity.
          format: date-time
          nullable: true
          type: string
        hash:
          deprecated: true
          description: Sha1 hash of original image.
          nullable: true
          type: string
        original:
          deprecated: true
          description: Full size image.
          type: string
        source:
          deprecated: true
          description: Source where the image comes from originally.
          nullable: true
          type: string
        stack:
          deprecated: true
          description: Image URL with a placeholder for a Rokka {stack}.
          type: string
        start_date:
          deprecated: true
          description: Start date of the validity.
          format: date-time
          nullable: true
          type: string
        tags:
          deprecated: true
          items:
            type: string
          type: array
      type: object
    NutritionReferenceSize:
      properties:
        additional_nutrients:
          description: List of additional nutrients.
          items:
            $ref: "#/components/schemas/Nutrient"
          nullable: true
          type: array
        base:
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/Base"
        nutrients:
          description: List of nutrients.
          items:
            $ref: "#/components/schemas/Nutrient"
          nullable: true
          type: array
        package_type:
          deprecated: true
          description: Type of package.
          nullable: true
          type: string
        portions_per_package:
          deprecated: true
          description: Number of portions per package.
          nullable: true
          type: string
        portions_per_package_precision:
          deprecated: true
          description: Operator for the number of portions per package.
          nullable: true
          type: string
        preparation_description:
          description: Preparation used for calculating the nutrition facts.
          nullable: true
          type: string
        preparation_state:
          description: Preparation state.
          nullable: true
          type: string
      type: object
    Nutrient:
      description: Represents an entry in the nutrition facts.
      properties:
        category:
          description: |-
            Category of nutrient.

            Examples: "BIG9", "MINERALSTOFFE_SPURENELEMENTE" or "SONSTIGE"
          nullable: true
          type: string
        code:
          description: |-
            The MAPI nutrient code.

            See https://wiki.migros.net/spaces/MAPI/pages/355021332/Order+nutrition+facts for a full list of the codes and further documentation.
          type: string
        name:
          type: string
        operator:
          nullable: true
          type: string
        pictogram_name:
          description: Name of nutrient for display in the pictogram.
          nullable: true
          type: string
        quantity:
          description: Quantity information.
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/NutrientQuantity"
        rating:
          description: >-
            FSA rating information for this nutrient.


            This is only set on the "standard" nutrition facts (not "portion")
            and only for selected nutrients, e.g. sugar, salt, fat.
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/NutrientRating"
        rda:
          description: Information about Recommended Dietary Allowances (RDA).
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/NutrientRda"
        source_code:
          description: |-
            Code from source system.

            Used for legacy version output and debugging.
          nullable: true
          type: string
      required:
        - code
        - name
      type: object
    Base:
      properties:
        description:
          description: Base description.
          nullable: true
          type: string
        operator:
          description: Base operator.
          nullable: true
          type: string
        quantity:
          description: Base quantity.
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/ValueWithUnit"
      type: object
    NutrientQuantity:
      properties:
        alternate:
          description: Alternate quantity information.
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/ValueWithUnit"
        numeric_value:
          example: 0.1
          format: float
          type: number
        unit:
          example: g
          nullable: true
          type: string
        value:
          description: >-
            Quantity of the nutrient.


            To display the information, "value" is preferred to respect the
            regulated precision.
          example: 0.10 g
          type: string
      type: object
    NutrientRating:
      description: Nutrition guidance about a nutrient.
      properties:
        hex_color:
          description: The hexadecimal color code for this rating that is also used in the
            icon.
          nullable: true
          type: string
        icon:
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/Image"
        text:
          type: string
        value:
          description: The icon
          type: integer
      required:
        - value
        - text
        - hex_color
      type: object
    NutrientRda:
      description: Represents an entry in the nutrition facts.
      properties:
        operator:
          description: Recommended daily allowance operator.
          nullable: true
          type: string
        percent:
          description: Recommended daily allowance in percent.
          format: float
          type: number
        quantity:
          description: Quantity information.
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/ValueWithUnit"
      required:
        - percent
      type: object
    ProductDeclarations:
      description: Declarations information mapped on the product.
      properties:
        alcohol_information:
          description: |-
            For QIM, you can find the following fields here:

            - QIM_GDSN_M545
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/AlcoholInformation"
        cosmetic_ingredients:
          description: Cosmetic ingredients according to INCI (International Nomenclature
            of Cosmetic Ingredients)
          nullable: true
          type: string
        cosmetic_materials:
          description: Cosmetic Materials
          nullable: true
          type: string
        declaration_number:
          description: Unique declaration number.
          nullable: true
          type: string
        distributor:
          description: Distributor details.
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/Distributor"
        feed_additives_statement:
          description: "Pet feed additives statement (german: Futtermittel Zusatzstoffe)"
          nullable: true
          type: string
        feed_analytical_constituents_statement:
          description: "Pet feed analytical constituents statement (german: Futtermittel
            Analytische Bestandteile)"
          nullable: true
          type: string
        feed_composition:
          description: "Pet feed composition (german: Futtermittel Zusammensetzung)"
          nullable: true
          type: string
        feed_composition_benefits:
          description: "Pet feed composition benefits (german: Futtermittel
            Zusammensetzung Auslobung Mehrwert)"
          nullable: true
          type: string
        feed_life_stage:
          description: "Pet feed life stage (german: Futtermittel Tieralterstufe)"
          nullable: true
          type: string
        feed_regulatory_permit_identification:
          description: "Pet feed regulatory permit identification (german: Futtermittel
            Zulassungsnummer)"
          nullable: true
          type: string
        feed_targeted_consumption_by:
          description: "List of pets targeted by the consumption of the product (german:
            Futtermittel Tierart) e.g. grown dogs"
          items:
            type: string
          nullable: true
          type: array
        feed_type:
          description: "Pet feed type (german: Futtermittelart)"
          nullable: true
          type: string
        feeding_instructions:
          description: "Pet feeding instructions (german: Futtermittel
            Fütterungsempfehlung)"
          nullable: true
          type: string
        feeding_instructions_hint:
          description: "Additional information for pet feeding instructions (german:
            Hinweis Futtermittel Fütterungsempfehlung)"
          nullable: true
          type: string
        general_information:
          description: |-
            General information, warnings, labels and instructions.

            For QIM, you can find the following fields here:

            - QIM_weitereZusatzangabenDeklaration
            - QIM_GDSN_M094
            - QIM_GDSN_M362
            - QIM_KuehlhinweisDeklaration
            - QIM_ProduktionshinweisDeklaration
            - QIM_DataNatuRerechlicheHinweise
            - QIM_GDSN_M127
            - QIM_GDSN_M145
            - QIM_WarnhinweisDeklaration
            - QIM_GDSN_M109
            - QIM_GDSN_M146
            - QIM_Deklaration_Heilmittelkategorie

            From PIM, these are things provided in the PIM `zusatzAngabe` field.
          items:
            $ref: "#/components/schemas/GeneralInformation"
          nullable: true
          type: array
        golden_standard:
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/GoldenStandard"
        gtins:
          description: The GTIN that these declarations are about.
          items:
            type: string
          nullable: true
          type: array
        ingredients_information:
          description: Ingredient information.
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/IngredientsInformation"
        nutrition_facts:
          description: This section groups nutrient information. It contains information
            about the serving size and the portion and standard nutrient
            information.
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/NutritionFacts"
        origins:
          description: >-
            Product source information.


            For declarations provided on the product, the origins are at the top
            level of the product.

            The reason is that also products that don't have declarations still
            can have origin information.
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/Origins"
        period_after_opening:
          description: Identifies the useful lifetime of a product after its package has
            been opened for the first time.
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/PeriodAfterOpening"
        preparation:
          description: Information about preparation.
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/Preparation"
        product_details:
          description: Detailed information about the product.
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/ProductDetails"
        product_name:
          description: |-
            Product name as per the declarations information.

            This is not necessarily the same as the name on the related product.
          nullable: true
          type: string
        supplier:
          description: >-
            Information about who is supplying this product to Migros.


            There can be more than one stand-alone declaration for the same
            product id if Migros gets it from multiple suppliers.


            The declarations exposed on the product are always the one of the
            main supplier, so this field is about the same supplier as
            `main_supplier` on the product.
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/Supplier"
        tags:
          description: Tags for flagging declarations.
          items:
            type: string
          nullable: true
          type: array
      type: object
```
