---
title: "Suggestion"
url: "https://developer-qual.migros.ch/apis/suggestions-8/versions/0977f266-a128-4ee4-9bb9-33b61c9fdc12/schemas/Suggestion"
---

> Full API specification: https://developer-qual.migros.ch/apis/suggestions-8/versions/0977f266-a128-4ee4-9bb9-33b61c9fdc12.md

# Suggestion

## OpenAPI definition

```yaml
openapi: 3.0.0
info:
  title: Suggestions
  version: "8"
servers:
  - description: Public Kong Gateway URL
    url: https://api-qual.migros.ch
components:
  schemas:
    Brand:
      description: Represents the Brand information.
      properties:
        abstract:
          description: A short, plain text description, e.g. suitable for the page meta
            element.
          nullable: true
          type: string
        class_id:
          description: Brand class code.
          nullable: true
          type: string
        class_type:
          description: Brand class type.
          nullable: true
          type: string
        description:
          description: The long description of the brand (can contain HTML).
          nullable: true
          type: string
        headline:
          description: The caption to the description.
          nullable: true
          type: string
        id:
          type: string
        image:
          description: Image of the brand.
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/Image"
        keywords:
          description: Keywords, e.g. suitable for the page meta element.
          items:
            type: string
          nullable: true
          type: array
        links:
          additionalProperties:
            $ref: "#/components/schemas/Link"
          description: Collection of links indexed by string identifier.
          type: object
        name:
          nullable: true
          type: string
        parent_brand:
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/PartialBrand"
        position_for_product_title:
          description: Position of the brand short name for the product title
          nullable: true
          type: string
        short_name_for_product_title:
          description: Short name of brand for the product title
          nullable: true
          type: string
        slug:
          description: Unique user-friendly ID.
          type: string
        sub_brand:
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/PartialBrand"
        tags:
          description: Tags for flagging certain brands.
          items:
            type: string
          nullable: true
          type: array
        title:
          description: The title, e.g. suitable for the page title element.
          nullable: true
          type: string
      required:
        - id
        - name
        - slug
      type: object
    Category:
      allOf:
        - $ref: "#/components/schemas/BaseCategory"
        - properties:
            ancestors:
              description: Collection of ancestor categories.
              items:
                $ref: "#/components/schemas/BaseCategory"
              nullable: true
              type: array
            children:
              description: >-
                Collection of child categories.


                Children include only direct children (categories of the next
                level).
              items:
                $ref: "#/components/schemas/BaseCategory"
              nullable: true
              type: array
            generic_products:
              description: >-
                List of generic product BoSS numbers.


                The BoSS number from the BoSS/BeSS mapping, so that the app can
                query for categories by BoSS number.
              items:
                type: string
              nullable: true
              type: array
            google_product_categories:
              description: |-
                List of google taxonomy IDs this category maps to.

                See https://support.google.com/merchants/answer/6324436?hl=en and https://www.google.com/basepages/producttype/taxonomy-with-ids.de-CH.txt
                It's based on the field "googletaxonomy" coming from PEx.
              items:
                type: string
              nullable: true
              type: array
            slugs:
              $ref: "#/components/schemas/Slugs"
            updated_at:
              description: >-
                Time when category was last indexed (or partially updated) with
                modifications in Elasticsearch.


                When a category did not change after mapping, it is not
                re-indexed and thus the timestamp is not updated as well.
              format: date-time
              nullable: true
              type: string
            visible_navigation:
              description: >-
                If set to false, the category should not be displayed in
                navigation, but may still be displayed in

                search suggestions or similiar (e.g. 'Fussball EM 2016').


                It's based on the same field coming from PEx.
              type: boolean
            visible_shop:
              description: >-
                If set to false, the category should not be displayed anywhere
                (e.g. 'Dienstleistungen').


                It's based on the same field coming from PEx.
              type: boolean
          type: object
      description: Represents the category information including its ancestors and children.
      required:
        - code
        - name
        - slug
        - slugs
        - updated_at
      type: object
    GenericProduct:
      allOf:
        - $ref: "#/components/schemas/AbstractGenericProduct"
        - properties:
            image:
              nullable: true
              oneOf:
                - $ref: "#/components/schemas/Image"
            name:
              type: string
            synonyms:
              items:
                type: string
              type: array
          type: object
      required:
        - id
        - name
        - category_code
      type: object
    Label:
      description: Represents the Label information in the Product.
      properties:
        abstract:
          description: A short, plain text description, e.g. suitable for the page meta
            element.
          nullable: true
          type: string
        description:
          description: The long description of the label (can contain HTML).
          nullable: true
          type: string
        headline:
          description: The caption to the description.
          nullable: true
          type: string
        id:
          description: ID of the label.
          type: string
        image:
          description: Image of the label.
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/Image"
        keywords:
          description: Keywords, e.g. suitable for the page meta element.
          items:
            type: string
          nullable: true
          type: array
        links:
          additionalProperties:
            $ref: "#/components/schemas/Link"
          description: Collection of links indexed by string identifier.
          type: object
        name:
          description: Name of the label.
          type: string
        position_for_product_title:
          description: Position of label short name for the product title
          nullable: true
          type: string
        short_name_for_product_title:
          description: Short name of label for the product title
          nullable: true
          type: string
        slug:
          description: Unique user-friendly ID.
          type: string
        tags:
          description: Tags for flagging certain labels.
          items:
            type: string
          nullable: true
          type: array
        title:
          description: The title, e.g. suitable for the page title element.
          nullable: true
          type: string
      required:
        - id
        - name
        - slug
      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
    Link:
      properties:
        app_url:
          description: URL to a third-party mobile app (only provided on the migros_online
            link).
          nullable: true
          type: string
        canonical:
          description: Canonical link to the product on the third-party website.
          nullable: true
          type: string
        image:
          description: Associated logo.
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/Image"
        mo_product_id:
          deprecated: true
          description: The migros online product id (only provided on the migros_online
            link).
          nullable: true
          type: string
        mobile_url:
          description: URL to a third-party mobile page of the product (optional).
          nullable: true
          type: string
        name:
          deprecated: true
          description: Human readable name of the third-party website (for example
            SportXX, micasa, Migipedia).
          nullable: true
          type: string
        purchasable:
          deprecated: true
          description: Whether this links leads to an onlineshop page where the product
            can be purchased.
          nullable: true
          type: boolean
        tablet_url:
          description: URL to a third-party tablet page of the product (optional).
          nullable: true
          type: string
        type:
          deprecated: true
          description: The link type, one of 'shop' and 'info'.
          nullable: true
          type: string
        url:
          description: URL to a third-party desktop page of the product.
          type: string
      type: object
    PartialBrand:
      description: Represents the sub brand and parent brand information.
      properties:
        code:
          type: string
        name:
          nullable: true
          type: string
      type: object
    BaseCategory:
      description: Represents the category basic information.
      properties:
        abstract:
          description: A short, plain text description, e.g. suitable for the page meta
            element.
          nullable: true
          type: string
        code:
          description: ID of the category.
          type: string
        headline:
          description: The caption to the description.
          nullable: true
          type: string
        image:
          description: Image of the category.
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/Image"
        keywords:
          description: Keywords, e.g. suitable for the page meta element.
          items:
            type: string
          nullable: true
          type: array
        level:
          description: Category level.
          type: integer
        name:
          type: string
        parent_code:
          description: Parent category ID.
          nullable: true
          type: string
        slug:
          description: Unique user-friendly ID.
          type: string
        title:
          description: The title, e.g. suitable for the page title element.
          nullable: true
          type: string
        visible:
          description: Whether the category should be shown to users.
          type: boolean
      required:
        - code
        - name
        - slug
      type: object
    Slugs:
      description: Represents a list of multilingual slugs.
      properties:
        de:
          description: Slug in English.
          type: string
        en:
          type: string
        fr:
          type: string
        it:
          type: string
      required:
        - de
        - fr
        - it
        - en
      type: object
    AbstractGenericProduct:
      properties:
        category_code:
          type: string
        id:
          description: Whether or not a product should be shown in EKL search.
          type: integer
        show_in_ekl_search:
          type: boolean
      type: object
    Suggestion:
      properties:
        brand:
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/Brand"
        category:
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/Category"
        generic_product:
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/GenericProduct"
        id:
          type: string
        label:
          nullable: true
          oneOf:
            - $ref: "#/components/schemas/Label"
        name:
          type: string
        tags:
          description: Tags for flagging certain suggestions.
          items:
            type: string
          nullable: true
          type: array
        type:
          description: The identifier belonging to the given type (brand, label etc). So
            the id is only unique within each type.
          enum:
            - genericproduct
            - brand
            - category
            - label
          type: string
      required:
        - id
        - name
        - type
      type: object
```
