openapi: 3.0.0
info:
  version: 1.0.0
  title: Partner Search API
  description: Product search for partners
servers:
  - url: https://api.schibsted.com/prisjakt/partner-search
    description: Production environment
  - url: https://pre-api.schibsted.com/prisjakt/partner-search
    description: Development environment
paths:
  /token:
    post:
      operationId: authenticate
      security:
        - accessToken: []
      summary: Acquire an access token
      description: >-
        Acquire an access token to be used for authentication in request towards
        the service endpoints. Make a request with your client ID and secret
        using the basic authorization scheme. Client credentials is the only
        supported grant type.
      tags:
        - Authentication
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                grant_type:
                  type: string
                  enum:
                    - client_credentials
                client_id:
                  type: string
                client_secret:
                  type: string
      responses:
        '200':
          description: Successful response
          $ref: '#/components/responses/AuthenticationResponse'
          examples: null
        '401':
          $ref: '#/components/responses/UnauthorizedError'
  /suggestions:
    get:
      summary: Find products
      description: >
        Use the suggestions endpoint to find products matching a query.

        The response will contain a list of products matching the query with
        production information the offer with the current lowest price.


        ### Query options


        #### Product name

        To search for products by name use the `product` query parameter to find
        products with a text query e.g ```/suggestions?product=iphone 14```.


        #### Filter by category

        To find products for a specific category, use the `filter[category]`
        query parameter e.g ```/suggestions?filter[category]=lego```. ***Note***
        that the filter accepts leaf category IDs or category slugs.


        #### Filter by price trend

        To find products with a price below the average price trend the past 90
        days use the filter[price_trend] query parameter e.g
        ```/suggestions?filter[price_trend]=5```.

        The price trend and category filter can be combined to only find
        products within a price trend range belonging to that category

        The offset and limit parameters can be used to page through the results.


        The API only returns offers that are available for purchase. Offers that
        are out of stock or not available for purchase are not included in the
        response.
      operationId: getSuggestions
      security:
        - accessToken: []
      tags:
        - Product search
      parameters:
        - $ref: '#/components/parameters/client-id'
        - $ref: '#/components/parameters/market'
        - $ref: '#/components/parameters/product'
        - $ref: '#/components/parameters/category'
        - $ref: '#/components/parameters/limit'
        - $ref: '#/components/parameters/offset'
        - $ref: '#/components/parameters/refId'
        - $ref: '#/components/parameters/filterCategory'
        - $ref: '#/components/parameters/filterPriceTrend'
        - $ref: '#/components/parameters/filterMinPriceTrend'
        - $ref: '#/components/parameters/filterMaxPriceTrend'
      responses:
        '200':
          $ref: '#/components/responses/SuggestionResponse'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '422':
          $ref: '#/components/responses/UnprocessableEntityError'
  /categories:
    get:
      summary: Find categories.
      operationId: getCategories
      description: >
        The categories endpoint enables you to find Prisjakt categories
        corresponding to a text query.


        Make a request with the q query parameter e.g.
        `/categories?market=se&q=apple phone`.

        The response will contain category leaf ids, slugs, names, urls to the
        category in the website, and logos for the categories matching the
        query.

        You can use the offset and limit query parameters to page through the
        results.


        The category id or slug can be used on endpoints that have the
        `filter[category]` query parameter to filter by that category.
      security:
        - accessToken: []
      tags:
        - Category search
      parameters:
        - $ref: '#/components/parameters/client-id'
        - $ref: '#/components/parameters/market'
        - $ref: '#/components/parameters/q'
        - $ref: '#/components/parameters/limit'
        - $ref: '#/components/parameters/offset'
        - $ref: '#/components/parameters/refId'
      responses:
        '200':
          $ref: '#/components/responses/CategoriesResponse'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '422':
          $ref: '#/components/responses/UnprocessableEntityError'
  /products:
    get:
      operationId: getProducts
      summary: Provides product information and offers in stock.
      description: >
        You can use the products endpoint to fetch product information and
        offers. Fetch data by calling `/products` or set the GTIN query
        parameter to find matching products. Use the offset and limit query
        parameters to page through the results.


        The API only returns offers that are available for purchase. Offers that
        are out of stock or not available for purchase are not included in the
        response.
      security:
        - accessToken: []
      tags:
        - Product Information
      parameters:
        - $ref: '#/components/parameters/client-id'
        - $ref: '#/components/parameters/market'
        - $ref: '#/components/parameters/prodLimit'
        - $ref: '#/components/parameters/offset'
        - $ref: '#/components/parameters/filterCategory'
        - $ref: '#/components/parameters/refId'
        - $ref: '#/components/parameters/gtin'
      responses:
        '200':
          $ref: '#/components/responses/ProductsWithPagingResponse'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '422':
          $ref: '#/components/responses/UnprocessableEntityError'
  /products/{productId}:
    get:
      operationId: getProductsById
      summary: Provides product information and offers in stock for specific products.
      description: >
        You can use the products endpoint to fetch product information and
        offers with a using single or multiple product ids.

        Simply set the productId path parameter to the product id e.g
        ```products/5248850``` or using multiple ids

        e.g ```products/5248850,5248851```. Up to 20 ids can be used.


        The API only returns offers that are available for purchase. Offers that
        are out of stock or not available for purchase are not included in the
        response.
      security:
        - accessToken: []
      tags:
        - Product Information
      parameters:
        - $ref: '#/components/parameters/client-id'
        - $ref: '#/components/parameters/market'
        - $ref: '#/components/parameters/refId'
        - in: path
          name: productId
          description: Either one or a comma-separated list of product IDs (min 1, max 20)
          schema:
            type: string
          required: true
      responses:
        '200':
          $ref: '#/components/responses/ProductResponse'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '422':
          $ref: '#/components/responses/UnprocessableEntityError'
components:
  securitySchemes:
    accessToken:
      type: http
      scheme: bearer
      bearerFormat: JWT
  parameters:
    client-id:
      name: client-id
      in: header
      description: Client ID to use for authentication.
      schema:
        type: string
      required: true
    refId:
      name: ref
      in: query
      description: Referral Partner Id to add to offer urls.
      schema:
        type: string
    market:
      name: market
      in: query
      schema:
        type: string
        enum:
          - se
          - 'no'
          - dk
          - fi
          - fr
          - gb
          - nz
      required: true
      description: Two-letter country code for the market to perform search in.
    product:
      in: query
      name: product
      schema:
        type: string
      description: >-
        Product name to find suggestions for, limited to eight space separated
        terms.
      examples:
        mobile phone:
          value: Samsung A51
        vacuum cleaner:
          value: iRoomba
    category:
      in: query
      name: category
      deprecated: true
      description: Use filter[category] instead.
      schema:
        type: string
    q:
      in: query
      name: q
      required: true
      schema:
        type: string
      description: Query to find category suggestions for.
      examples:
        mobile phones:
          value: mobile-phones
        tablets:
          value: tablets
    limit:
      in: query
      name: limit
      schema:
        type: number
      description: The max number of results to receive. (Default 5, Up to 30)
    prodLimit:
      in: query
      name: limit
      schema:
        type: number
      description: The max number products to receive. (Default 10, Up to 15)
    offset:
      in: query
      name: offset
      schema:
        type: number
      description: The amount to offset the results by.
    filterCategory:
      name: filter[category]
      in: query
      description: Filter products based on Prisjakt category slug or category leaf ID.
      schema:
        type: string
    filterPriceTrend:
      name: filter[price_trend]
      in: query
      description: >-
        Filter based on price trend percentage greater or equal to the given
        number.
      schema:
        type: number
    filterMinPriceTrend:
      name: filter[price_trend][gte]
      in: query
      description: >-
        Filter based on price trend percentage greater or equal to the given
        number.
      schema:
        type: number
    filterMaxPriceTrend:
      name: filter[price_trend][lte]
      in: query
      description: >-
        Filter based on price trend percentage less than or equal to the given
        number.
      schema:
        type: number
    gtin:
      in: query
      name: gtin
      schema:
        type: string
      description: Find products by GTIN up to 10 comma separated IDs.
  responses:
    AuthenticationResponse:
      description: Suggested products for query.
      content:
        application/json:
          schema:
            type: object
            properties:
              access_token:
                type: string
              expires_in:
                type: number
              token_type:
                type: string
          examples:
            success:
              value:
                access_token: >-
                  eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
                expires_in: 3600
                token_type: Bearer
    SuggestionResponse:
      description: Products matching the query.
      content:
        application/json:
          schema:
            type: object
            properties:
              data:
                type: array
                items:
                  $ref: '#/components/schemas/Suggestion'
              links:
                $ref: '#/components/schemas/Links'
          examples:
            success:
              value:
                data:
                  - productId: '5248850'
                    productName: Samsung Galaxy A51 SM-A515F/DS Dual SIM 4GB RAM 128GB
                    productPage: https://www.prisjakt.nu/produkt.php?p=5248850
                    category:
                      id: '103'
                      name: Mobiltelefoner
                      rank: 317
                    brand:
                      name: Sasmung
                    images:
                      small: >-
                        https://pricespy-75b8.kxcdn.com/product/standard/140/5248850.jpg
                      medium: >-
                        https://pricespy-75b8.kxcdn.com/product/standard/280/5248850.jpg
                      large: >-
                        https://pricespy-75b8.kxcdn.com/product/standard/800/5248850.jpg
                    lowestPrice:
                      price:
                        value: 1500
                        currency: SEK
                        includingShipping: 1550
                      salesPrice: null
                      memberPrice: null
                      originalPrice: null
                      shop:
                        name: PhoneHero
                        logo:
                          small: >-
                            https://pricespy-75b8.kxcdn.com/g/ftg_logos/sizes/88/1/36041.png
                          large: >-
                            https://pricespy-75b8.kxcdn.com/g/ftg_logos/sizes/176/1/36041.png
                  - productId: 5285540
                    productName: Samsung S View Wallet for Samsung Galaxy A51
                    productPage: https://www.prisjakt.nu/produkt.php?p=5285540
                    category:
                      id: '103'
                      name: Mobiltelefoner
                      rank: 635
                    brand:
                      name: Sasmung
                    images:
                      small: >-
                        https://pricespy-75b8.kxcdn.com/product/standard/140/5285540.jpg
                      medium: >-
                        https://pricespy-75b8.kxcdn.com/product/standard/280/5285540.jpg
                      large: >-
                        https://pricespy-75b8.kxcdn.com/product/standard/800/5285540.jpg
                    lowestPrice:
                      price:
                        value: 299
                        currency: SEK
                        includingShipping: 299
                      shop:
                        name: Elgiganten
                        logo:
                          small: >-
                            https://pricespy-75b8.kxcdn.com/g/ftg_logos/sizes/88/4/54.png
                          large: >-
                            https://pricespy-75b8.kxcdn.com/g/ftg_logos/sizes/176/4/54.png
                links:
                  next: >-
                    https://api.schibsted.com/prisjakt/partner-search/suggestions/?market=se&product=iphone&offset=2&limit=2
                  prev: null
    CategoriesResponse:
      description: Suggested categories for query.
      content:
        application/json:
          schema:
            type: object
            properties:
              data:
                type: array
                items:
                  $ref: '#/components/schemas/Category'
          examples:
            success:
              value:
                data:
                  - id: '103'
                    name: Mobile Phones
                    url: https://pricespy.co.uk/c/mobile-phones
                    logo: https://pricespy-75b8.kxcdn.com/g/cat/192/mobil.png
                    slug: mobile-phones
                  - id: '1989'
                    name: Mobile Phone Holders
                    url: https://pricespy.co.uk/c/mobile-phone-holders
                    logo: https://pricespy-75b8.kxcdn.com/g/cat/192/popsockets.png
                    slug: mobile-phone-holders
                  - id: '1792'
                    name: Power Banks
                    url: https://pricespy.co.uk/c/power-banks
                    logo: >-
                      https://pricespy-75b8.kxcdn.com/g/cat/192/portabel_batteri.png
                    slug: power-banks
                  - id: '819'
                    name: Backpacks
                    url: https://pricespy.co.uk/c/backpacks
                    logo: https://pricespy-75b8.kxcdn.com/g/cat/192/ryggsack.png
                    slug: backpacks
                  - id: '1711'
                    name: Wireless Chargers
                    url: https://pricespy.co.uk/c/wireless-chargers
                    logo: >-
                      https://pricespy-75b8.kxcdn.com/g/cat/192/trodlosaladdare.png
                    slug: wireless-chargers
    ProductResponse:
      description: Product details and offers.
      content:
        application/json:
          schema:
            oneOf:
              - $ref: '#/components/schemas/Product'
              - $ref: '#/components/schemas/ProductArray'
          examples:
            success:
              value:
                productId: 5248850
                productName: Samsung Galaxy A51 SM-A515F/DS Dual SIM 4GB RAM 128GB
                productPage: https://www.prisjakt.nu/produkt.php?p=5248850
                category:
                  id: '103'
                  name: Mobiltelefoner
                  rank: 317
                brand:
                  name: Sasmung
                images:
                  small: >-
                    https://pricespy-75b8.kxcdn.com/product/standard/140/5248850.jpg
                  medium: >-
                    https://pricespy-75b8.kxcdn.com/product/standard/280/5248850.jpg
                  large: >-
                    https://pricespy-75b8.kxcdn.com/product/standard/800/5248850.jpg
                offers:
                  - price:
                      value: 1500
                      currency: SEK
                    salesPrice: null
                    memberPrice: null
                    originalPrice: null
                    url: link to offer
                    shop:
                      name: PhoneHero
                      logo:
                        small: >-
                          https://pricespy-75b8.kxcdn.com/g/ftg_logos/sizes/88/1/36041.png
                        large: >-
                          https://pricespy-75b8.kxcdn.com/g/ftg_logos/sizes/176/1/36041.png
                    alternativePrices:
                      - price:
                          value: 1500
                          currency: SEK
                        url: link to offer
                      - price:
                          value: 1500
                          currency: SEK
                        url: link to offer
                properties:
                  - type: category
                    name: Connections
                    value: null
                    unit: null
                    icon: null
                    properties:
                      - type: boolean
                        name: Hörlursutgång (2,5/3,5 mm)
                        value: false
                        unit: null
                        icon: null
                        properties: []
                      - type: string
                        name: Dataanslutning
                        unit: null
                        value: USB
                        icon: null
                        properties:
                          - type: string
                            name: Typ av USB-kontakt
                            unit: null
                            value: USB (Typ C)
                            icon: null
                coreProperties:
                  - type: property
                    name: Pekskärm (touchscreen)
                    value: true
                    core: true
                    comment: null
                    unit: null
                    icon: null
                    properties: null
                  - type: property
                    name: Skärmstorlek
                    value: 6.5
                    core: true
                    comment: null
                    unit: tum
                    icon: null
                    properties: null
                  - type: property
                    name: 4G (LTE)
                    value: true
                    core: true
                    comment: null
                    unit: null
                    icon: null
                    properties:
                      - type: property
                        name: '4G: Hastighet (ned/upp)'
                        value: null
                        core: null
                        comment: null
                        unit: Mbit/s
                        icon: null
                        properties: null
                  - type: property
                    name: Lagringsutrymme
                    value: 128
                    core: true
                    comment: null
                    unit: GB
                    icon: null
                    properties: null
                  - type: property
                    name: Operativsystem
                    value: Android 10 (Android Q)
                    core: true
                    comment: null
                    unit: null
                    icon: null
                    properties: null
                  - type: property
                    name: Lanseringsår
                    value: '2019'
                    core: true
                    comment: null
                    unit: null
                    icon: null
                    properties: null
    ProductsWithPagingResponse:
      description: Product details and offers with paging.
      content:
        application/json:
          schema:
            type: object
            properties:
              data:
                $ref: '#/components/schemas/ProductArray'
              links:
                $ref: '#/components/schemas/Links'
          example:
            links:
              next: >-
                https://api.schibsted.com/prisjakt/partner-search/products/market=se&offset=2&limit=2
              prev: null
            data:
              - productId: 5248850
                productName: Samsung Galaxy A51 SM-A515F/DS Dual SIM 4GB RAM 128GB
                productPage: https://www.prisjakt.nu/produkt.php?p=5248850
                category:
                  id: '103'
                  name: Mobiltelefoner
                  rank: 317
                brand:
                  name: Samsung
                images:
                  small: >-
                    https://pricespy-75b8.kxcdn.com/product/standard/140/5248850.jpg
                  medium: >-
                    https://pricespy-75b8.kxcdn.com/product/standard/280/5248850.jpg
                  large: >-
                    https://pricespy-75b8.kxcdn.com/product/standard/800/5248850.jpg
                offers:
                  - price:
                      value: 1500
                      currency: SEK
                      includingShipping: 1550
                    salesPrice: null
                    memberPrice: null
                    originalPrice: null
                    url: link to offer
                    shop:
                      id: 36041
                      name: PhoneHero
                      logo:
                        small: >-
                          https://pricespy-75b8.kxcdn.com/g/ftg_logos/sizes/88/1/36041.png
                        large: >-
                          https://pricespy-75b8.kxcdn.com/g/ftg_logos/sizes/176/1/36041.png
                    alternativePrices:
                      - price:
                          value: 1500
                          currency: SEK
                        url: link to offer
                      - price:
                          value: 1500
                          currency: SEK
                        url: link to offer
                properties:
                  - type: category
                    name: Connections
                    value: null
                    unit: null
                    icon: null
                    properties:
                      - type: boolean
                        name: Hörlursutgång (2,5/3,5 mm)
                        value: false
                        unit: null
                        icon: null
                        properties: []
                      - type: string
                        name: Dataanslutning
                        unit: null
                        value: USB
                        icon: null
                        properties:
                          - type: string
                            name: Typ av USB-kontakt
                            unit: null
                            value: USB (Typ C)
                            icon: null
                coreProperties:
                  - type: property
                    name: Pekskärm (touchscreen)
                    value: true
                    core: true
                    comment: null
                    unit: null
                    icon: null
                    properties: null
                  - type: property
                    name: Skärmstorlek
                    value: 6.5
                    core: true
                    comment: null
                    unit: tum
                    icon: null
                    properties: null
                  - type: property
                    name: 4G (LTE)
                    value: true
                    core: true
                    comment: null
                    unit: null
                    icon: null
                    properties:
                      - type: property
                        name: '4G: Hastighet (ned/upp)'
                        value: null
                        core: null
                        comment: null
                        unit: Mbit/s
                        icon: null
                        properties: null
                  - type: property
                    name: Lagringsutrymme
                    value: 128
                    core: true
                    comment: null
                    unit: GB
                    icon: null
                    properties: null
                  - type: property
                    name: Operativsystem
                    value: Android 10 (Android Q)
                    core: true
                    comment: null
                    unit: null
                    icon: null
                    properties: null
                  - type: property
                    name: Lanseringsår
                    value: '2019'
                    core: true
                    comment: null
                    unit: null
                    icon: null
                    properties: null
    UnauthorizedError:
      description: Authentication information is missing or invalid.
      headers:
        WWW_Authenticate:
          schema:
            type: string
    BadRequestError:
      description: Request is malformed or invalid.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
        text/plain:
          schema:
            type: string
            example: Unknown market.
    UnprocessableEntityError:
      description: Request parameter is valid but cannot be processed.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
  schemas:
    Suggestion:
      description: Search result.
      type: object
      properties:
        productId:
          description: Prisjakt product ID.
          type: string
        productName:
          $ref: '#/components/schemas/ProductName'
        productPage:
          $ref: '#/components/schemas/ProductPage'
        category:
          description: Category information for the product.
          type: object
          properties:
            id:
              $ref: '#/components/schemas/CategoryId'
            name:
              $ref: '#/components/schemas/CategoryName'
            rank:
              $ref: '#/components/schemas/CategoryRank'
        brand:
          $ref: '#/components/schemas/Brand'
        images:
          $ref: '#/components/schemas/Images'
        lowestPrice:
          $ref: '#/components/schemas/SearchOffer'
    Category:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/CategoryId'
        name:
          $ref: '#/components/schemas/CategoryName'
        url:
          type: string
        logo:
          type: string
        slug:
          type: string
    CategoryId:
      description: Prisjakt category ID.
      type: string
    CategoryName:
      description: Name of the category on Prisjakt.
      type: string
    CategoryRank:
      description: The products rank in the category on Prisjakt.
      type: number
    ProductId:
      description: Prisjakt product ID.
      type: number
    ProductName:
      description: Name of the product.
      type: string
    ProductPage:
      description: Link to the product on Prisjakt.
      type: string
    Product:
      type: object
      properties:
        productId:
          $ref: '#/components/schemas/ProductId'
        productName:
          $ref: '#/components/schemas/ProductName'
        productPage:
          $ref: '#/components/schemas/ProductPage'
        category:
          description: Category information for the product.
          type: object
          properties:
            id:
              $ref: '#/components/schemas/CategoryId'
            name:
              $ref: '#/components/schemas/CategoryName'
            rank:
              $ref: '#/components/schemas/CategoryRank'
        brand:
          $ref: '#/components/schemas/Brand'
        properties:
          type: array
          items:
            $ref: '#/components/schemas/ProductProperty'
        coreProperties:
          type: array
          items:
            $ref: '#/components/schemas/ProductProperty'
        images:
          $ref: '#/components/schemas/Images'
        offers:
          type: array
          items:
            $ref: '#/components/schemas/Offer'
    ProductArray:
      type: array
      items:
        $ref: '#/components/schemas/Product'
    ProductProperty:
      type: object
      properties:
        type:
          type: string
        name:
          type: string
        value:
          type: string
        core:
          type: boolean
        unit:
          type: string
        icon:
          type: string
        properties:
          description: List of product properties related to this product property.
          type: array
          items:
            $ref: '#/components/schemas/ProductProperty'
    Images:
      description: Product images.
      type: object
      properties:
        small:
          type: string
        medium:
          type: string
        large:
          type: string
    Shop:
      description: Shop information.
      type: object
      properties:
        id:
          description: Shop Id on Prisjakt.
          type: number
        name:
          description: Name of the shop.
          type: string
        logo:
          description: Shop logos.
          type: object
          properties:
            small:
              type: string
            large:
              type: string
    Offer:
      type: object
      properties:
        url:
          type: string
        price:
          $ref: '#/components/schemas/PriceWithShipping'
        memberPrice:
          $ref: '#/components/schemas/MemberPrice'
        salesPrice:
          $ref: '#/components/schemas/SalesPrice'
        originalPrice:
          $ref: '#/components/schemas/OriginalPrice'
        alternativePrices:
          type: array
          items:
            type: object
            properties:
              url:
                type: string
              price:
                $ref: '#/components/schemas/Price'
        shop:
          $ref: '#/components/schemas/Shop'
    SearchOffer:
      description: The offer with the lowest price.
      type: object
      properties:
        url:
          description: Link to the shops offer.
          example: >-
            https://www.prisjakt.nu/go-to-shop/shop_id/offer/offer_id?client_id=example&partner_id=example
          type: string
        price:
          $ref: '#/components/schemas/PriceWithShipping'
        memberPrice:
          $ref: '#/components/schemas/MemberPrice'
        salesPrice:
          $ref: '#/components/schemas/SalesPrice'
        originalPrice:
          $ref: '#/components/schemas/OriginalPrice'
        priceTrend:
          $ref: '#/components/schemas/PriceTrend'
        shop:
          $ref: '#/components/schemas/Shop'
    PriceWithShipping:
      $ref: '#/components/schemas/Price'
      includingShipping:
        description: Price including shipping.
        type: number
    Price:
      description: The shops current price.
      type: object
      properties:
        value:
          type: number
        currency:
          type: string
          example: SEK
    OriginalPrice:
      description: >-
        The original price if provided by the shop, otherwise this field will be
        null.
      type: object
      properties:
        start:
          $ref: '#/components/schemas/Start'
        end:
          $ref: '#/components/schemas/End'
        value:
          type: number
        currency:
          type: string
          example: SEK
      nullable: true
    MemberPrice:
      description: >-
        The member price if provided by the shop, otherwise this field will be
        null.
      type: object
      properties:
        start:
          $ref: '#/components/schemas/Start'
        end:
          $ref: '#/components/schemas/End'
        value:
          type: number
        currency:
          type: string
          example: SEK
      nullable: true
    SalesPrice:
      description: >-
        The sales price if provided by the shop, otherwise this field will be
        null.
      type: object
      properties:
        start:
          $ref: '#/components/schemas/Start'
        end:
          $ref: '#/components/schemas/End'
        value:
          type: number
        currency:
          type: string
          example: SEK
      nullable: true
    Brand:
      description: Brand the product belongs to.
      type: object
      properties:
        name:
          type: string
    PriceTrend:
      description: >-
        We track the price trend for three months and compare it to the current
        price of the product. If the price is below the price trend this field
        will contain the percentage.
      type: object
      properties:
        percentage:
          description: Percent below the price trend over the past 90 days.
          type: number
      nullable: true
    Start:
      description: The start date.
      type: string
      nullable: true
    End:
      description: The end date.
      type: string
      nullable: true
    Links:
      description: Links to next and previous page of results.
      type: object
      properties:
        next:
          description: Link to next page of results.
          enum:
            - string
            - null
        prev:
          description: Link to previous page of results.
          enum:
            - string
            - null
