---
title: "DeclarationsCollection"
url: "https://developer-qual.migros.ch/apis/quality-data-8/versions/aa2147b3-5aa1-4f7f-a449-bd7dc3796d65/schemas/DeclarationsCollection"
---

> Full API specification: https://developer-qual.migros.ch/apis/quality-data-8/versions/aa2147b3-5aa1-4f7f-a449-bd7dc3796d65.md

# DeclarationsCollection

## OpenAPI definition

```yaml
openapi: 3.0.0
info:
  title: Quality Data
  version: "8"
servers:
  - description: Public Kong Gateway URL
    url: https://api-qual.migros.ch
components:
  schemas:
    AbstractSearchResultCollection:
      allOf:
        - $ref: "#/components/schemas/AbstractCollection"
        - properties:
            ids:
              description: >-
                Ids only.


                Is filled instead of the usual property for content, with only
                the ids when a call is made with verbosity=id on a

                route that supports it.
              items:
                type: string
              type: array
            total_hits:
              description: >-
                The total hits may exceed the actual count of results in the
                collection.


                It represents the total number of results of a search and not
                only the

                potentially paginated subset.
              nullable: true
              type: integer
          type: object
      description: A collection of search result instances.
      type: object
    Declarations:
      description: Declarations information.
      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"
        language:
          description: Language for the translated text fields.
          enum:
            - de
            - fr
            - it
            - en
          type: string
        most_relevant_gtin:
          description: >-
            Whether or not this is the most relevant declaration based on the
            main gtin.


            The most relevant declaration is the most recent with the main gtin
            of the product, if any exists,

            otherwise the most recently valid one.
          type: boolean
        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"
        product_details:
          description: Detailed information about the product.
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/ProductDetails"
        product_id:
          description: |-
            The product ID that this declaration is about.

            If there is no product, this value is not set.
          nullable: true
          type: string
        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
        updated_at:
          description: >-
            Time when this declaration was last updated in Elasticsearch.


            When a declaration has no changes after mapping the source data, it
            is not re-indexed and thus the timestamp

            stays on the old value.
          format: date-time
          type: string
      required:
        - language
        - updated_at
      type: object
    AbstractCollection:
      description: A generic collection of elements.
    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:
        allergens_information:
          description: Information about allergens.
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/AllergensInformation"
        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
        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
      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
        further_location_details:
          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
        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
    ProductDetails:
      properties:
        certification:
          description: Certification body.
          nullable: true
          type: string
        net_filled_quantity:
          description: Net filled quantity.
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/ValueWithUnit"
        package:
          description: Package information.
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/Package"
        regulated_description:
          description: A regulated way to describe the product, used mainly for basic
            content descriptions.
          nullable: true
          type: string
      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
    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:
        origins:
          description: Ingredient/substance countries of origin.
          items:
            type: string
          nullable: true
          type: array
      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
    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
    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
        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:
        code:
          description: |-
            Code from source system.

            Used for legacy version output and debugging.
          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"
      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:
          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: Alternate quantity information.
          example: 0.10 g
          type: string
      type: object
    NutrientRating:
      description: Nutrition guidance about a nutrient.
      properties:
        hex_color:
          type: string
        icon:
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/Image"
        text:
          type: string
        value:
          description: The hexadecimal color code for this rating that is also used in 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
      required:
        - percent
      type: object
    Image:
      description: An image and its properties.
      properties:
        code:
          description: Code for the image, useful for pictograms.
          nullable: true
          type: string
        description:
          description: Image description, useful for example as alt attribute.
          nullable: true
          type: string
        original:
          description: Full size image.
          type: string
        stack:
          description: Image URL with a placeholder for a Rokka {stack}.
          type: string
      type: object
    DeclarationsCollection:
      allOf:
        - $ref: "#/components/schemas/AbstractSearchResultCollection"
        - properties:
            declarations:
              items:
                $ref: "#/components/schemas/Declarations"
              type: array
          type: object
      required:
        - total_hits
      type: object
```
