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

# Get Many Store Items



## OpenAPI

````yaml GET /v2/external/stores/{slug}/items
openapi: 3.1.0
info:
  title: Lokki API
  description: API documentation for Lokki, a rental management application.
  license:
    name: MIT
  version: '2.0'
servers:
  - url: https://staging.api.eu-west-3.lokki.rent
  - url: https://prod.api.eu-west-3.getlokki.com
security:
  - x-access-token: []
paths:
  /v2/external/stores/{slug}/items:
    get:
      operationId: external__getManyStoreItems
      parameters:
        - name: slug
          required: true
          in: path
          description: The slug of the store
          example: my-store-slug
          schema:
            pattern: /^[a-z0-9-]+$/
            type: string
        - name: ids
          required: false
          in: query
          description: Item IDs to retrieve
          example:
            - '1'
            - '2'
            - '3'
          schema:
            type: array
            items:
              type: string
        - name: lang
          required: true
          in: query
          description: Language for localized content
          example: fr
          schema:
            default: fr
            enum:
              - fr
              - en
              - nl
              - de
              - it
              - pt
              - es
              - pl
            type: string
        - name: preview
          required: false
          in: query
          description: If true, include unpublished stores (for preview mode)
          example: false
          schema:
            default: false
            type: boolean
        - name: from
          required: false
          in: query
          description: Start date for filtering items (optional)
          example: '2025-09-26T10:00:00.000Z'
          schema:
            format: date-time
            type: string
        - name: to
          required: false
          in: query
          description: End date for filtering items (optional)
          example: '2025-10-31T14:30:00.000Z'
          schema:
            format: date-time
            type: string
        - name: verticale
          required: false
          in: query
          description: The large category of the item (e.g., BIKE, CAR, BOAT, etc.)
          example: BIKE
          schema:
            type: string
            enum:
              - BIKE
              - ELECTRIC_BIKE
              - MOPED
              - MOTORCYCLE
              - CAR
              - SCOOTER
              - SKI
              - CLIMBING
              - SNOWSHOES
              - SURF
              - PADDLE
              - CANOE_KAYAK
              - BOAT
              - EVENT
              - MOTOCULTURE
              - TOOLING
        - name: verticaleCategoryIds
          required: false
          in: query
          description: >-
            The precise category of the item (e.g., Mountain Bike, Road Bike,
            etc.)
          schema:
            type: array
            items:
              type: string
        - name: sortBy
          required: false
          in: query
          description: Sort by
          example: price_asc
          schema:
            enum:
              - relevance
              - price_asc
              - price_desc
            type: string
        - name: limit
          required: false
          in: query
          description: Limit of items to retrieve
          example: 10
          schema:
            type: number
        - name: skip
          required: false
          in: query
          description: Skip of items to retrieve
          example: 0
          schema:
            default: 0
            type: number
        - name: fields
          required: false
          in: query
          description: Fields to include in the response
          schema:
            type: array
            items:
              type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/StoreItemDto'
components:
  schemas:
    StoreItemDto:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the item
          example: 61e7b8f9e4b0c8a1d4f3c2b1
        type:
          enum:
            - product
            - service
          type: string
          description: Type of the item
          example: product
        rentalType:
          enum:
            - LCD
            - LLD
          type: string
          description: The rental type of the item (Short-term or Long-term rental)
          example: LCD
        settings:
          description: Settings and configuration for the item
          allOf:
            - $ref: '#/components/schemas/ItemSettings'
        infos:
          description: Information about the item
          allOf:
            - $ref: '#/components/schemas/ItemInfos'
        category:
          description: Category information of the item
          nullable: true
          allOf:
            - $ref: '#/components/schemas/ItemCategory'
        media:
          description: Media associated with the item
          allOf:
            - $ref: '#/components/schemas/ItemMedia'
        pricing:
          description: Pricing details of the item
          allOf:
            - $ref: '#/components/schemas/ItemPricing'
        time:
          description: Time range information and constraints for the item
          allOf:
            - $ref: '#/components/schemas/ItemTimeInfos'
        stock:
          description: Stock information of the item
          allOf:
            - $ref: '#/components/schemas/ItemStock'
        modules:
          description: Item modules settings (insurance..)
          allOf:
            - $ref: '#/components/schemas/ItemModules'
      required:
        - id
        - type
        - rentalType
        - settings
        - infos
        - category
        - media
        - pricing
        - time
        - stock
        - modules
    ItemSettings:
      type: object
      properties:
        visibility:
          enum:
            - PUBLIC
            - RESTRICTED
          type: string
          description: Visibility status of the item
          example: PUBLIC
      required:
        - visibility
    ItemInfos:
      type: object
      properties:
        name:
          type: string
          description: Name of the item
          example: Mountain Bike X2000
        description:
          type: string
          description: Detailed localized description of the item
          example: A high-performance mountain bike suitable for all terrains.
      required:
        - name
        - description
    ItemCategory:
      type: object
      properties:
        storeItemCategory:
          description: The store-specific category of the item
          allOf:
            - $ref: '#/components/schemas/ItemCategoryLevel'
        verticale:
          nullable: true
          description: The large category of the item (e.g., BIKE, CAR, BOAT, etc.)
          allOf:
            - $ref: '#/components/schemas/ItemVerticale'
        categoryLevel1:
          nullable: true
          description: >-
            The precise category of the item (e.g., Mountain Bike, Road Bike,
            etc.)
          allOf:
            - $ref: '#/components/schemas/ItemCategoryLevel'
      required:
        - storeItemCategory
        - verticale
        - categoryLevel1
    ItemMedia:
      type: object
      properties:
        images:
          description: Images associated with the item
          allOf:
            - $ref: '#/components/schemas/ItemMediaImages'
        videos:
          description: Videos associated with the item
          allOf:
            - $ref: '#/components/schemas/ItemMediaVideos'
        documents:
          description: Documents associated with the item
          type: array
          items:
            $ref: '#/components/schemas/ItemMediaDocuments'
      required:
        - images
        - videos
        - documents
    ItemPricing:
      type: object
      properties:
        basis:
          enum:
            - RANGE_COMPUTED
            - LOWEST_PRICE
          type: string
          description: Basis used for pricing the item
          example: LOWEST_PRICE
        price:
          type: number
          nullable: true
          description: Rental price of the item (null if no price available)
          example: 29.99
        basePrice:
          type: number
          nullable: true
          description: >-
            Base rental price of the item (without discounts, null if no price
            available)
          example: 29.99
        discount:
          description: Discount applied to the item
          allOf:
            - $ref: '#/components/schemas/ItemPricingDiscount'
        deposit:
          description: Deposit amount for the item
          allOf:
            - $ref: '#/components/schemas/ItemDeposit'
        vat:
          nullable: true
          description: VAT information for the item (null means store default VAT)
          allOf:
            - $ref: '#/components/schemas/ItemVat'
        pricingTable:
          nullable: true
          description: >-
            Full pricing table split by season. Null when the store has disabled
            the pricing table display.
          allOf:
            - $ref: '#/components/schemas/ItemPricingTable'
      required:
        - basis
        - price
        - basePrice
        - discount
        - deposit
        - vat
        - pricingTable
    ItemTimeInfos:
      type: object
      properties:
        duration:
          description: Duration constraints for the item
          allOf:
            - $ref: '#/components/schemas/ItemDurationInfos'
        ranges:
          description: Relevant time ranges with available price
          type: array
          items:
            $ref: '#/components/schemas/ItemRangeInfos'
      required:
        - duration
        - ranges
    ItemStock:
      type: object
      properties:
        availableQuantity:
          type: number
          description: Available quantity of the item
          example: 10
        totalQuantity:
          type: number
          description: Total quantity of the item
          example: 10
      required:
        - availableQuantity
        - totalQuantity
    ItemModules:
      type: object
      properties:
        insurance:
          description: Insurance module settings
          allOf:
            - $ref: '#/components/schemas/ItemInsurance'
      required:
        - insurance
    ItemCategoryLevel:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the category
          example: 61e7b8f9e4b0c8a1d4f3c2b1
        name:
          type: string
          description: Localized name of the category
          example: Mountain Bike
        type:
          enum:
            - STANDARD
            - ACCESSORY
          type: string
          description: Type of the category
          example: STANDARD
      required:
        - id
        - name
        - type
    ItemVerticale:
      type: object
      properties:
        id:
          enum:
            - BIKE
            - ELECTRIC_BIKE
            - MOPED
            - MOTORCYCLE
            - CAR
            - SCOOTER
            - SKI
            - CLIMBING
            - SNOWSHOES
            - SURF
            - PADDLE
            - CANOE_KAYAK
            - BOAT
            - EVENT
            - MOTOCULTURE
            - TOOLING
          type: string
          description: Identifier of the verticale
          example: BIKE
        name:
          type: string
          description: Localized name of the verticale
          example: Bike
      required:
        - id
        - name
    ItemMediaImages:
      type: object
      properties:
        urls:
          description: Array of image URLs associated with the item
          example:
            - https://example.com/images/item1.jpg
            - https://example.com/images/item2.jpg
          type: array
          items:
            type: string
      required:
        - urls
    ItemMediaVideos:
      type: object
      properties:
        youtubeUrls:
          description: Array of YouTube video URLs associated with the item
          example:
            - https://www.youtube.com/watch?v=dQw4w9WgXcQ
            - https://www.youtube.com/watch?v=sNPnbI1arSE
          nullable: true
          type: array
          items:
            type: string
      required:
        - youtubeUrls
    ItemMediaDocuments:
      type: object
      properties:
        url:
          type: string
          description: document URLs associated with the item
          example:
            - https://example.com/documents/item1.pdf
            - https://example.com/documents/item2.pdf
        name:
          type: string
          description: Name of the document
          example: Item Manual
      required:
        - url
        - name
    ItemPricingDiscount:
      type: object
      properties:
        appliedDiscounts:
          type: array
          description: List of discounts applied to the item
          items:
            oneOf:
              - $ref: '#/components/schemas/ItemDiscountPeriodic'
              - $ref: '#/components/schemas/ItemDiscountWeekly'
        availableDiscounts:
          type: array
          description: List of available discounts for the item
          items:
            oneOf:
              - $ref: '#/components/schemas/ItemDiscountQuantity'
      required:
        - appliedDiscounts
        - availableDiscounts
    ItemDeposit:
      type: object
      properties:
        amount:
          type: number
          description: Deposit amount for the item
          example: 100
      required:
        - amount
    ItemVat:
      type: object
      properties:
        amount:
          type: number
          description: VAT percentage (e.g., 20 for 20%)
          example: 20
      required:
        - amount
    ItemPricingTable:
      type: object
      properties:
        highSeason:
          description: High-season pricing rows, ordered by duration
          type: array
          items:
            $ref: '#/components/schemas/ItemPricingTableEntry'
        lowSeason:
          nullable: true
          description: >-
            Low-season pricing rows, ordered by duration. Null when the store
            has no low-season pricing configured.
          type: array
          items:
            $ref: '#/components/schemas/ItemPricingTableEntry'
      required:
        - highSeason
        - lowSeason
    ItemDurationInfos:
      type: object
      properties:
        min:
          type: number
          description: Minimum duration in minutes allowed for the item
          example: 60
        max:
          type: number
          description: Maximum duration in minutes allowed for the item
          example: 1440
      required:
        - min
        - max
    ItemRangeInfos:
      type: object
      properties:
        min:
          type: number
          description: Minimum time in minutes for this time range with price
          example: 60
        max:
          type: number
          description: Maximum time in minutes for this time range with price
          example: 1440
      required:
        - min
        - max
    ItemInsurance:
      type: object
      properties:
        enabled:
          type: boolean
          description: Indicates if insurance is enabled for this item
          example: true
        provider:
          type: string
          enum:
            - TULIP
          description: Insurance provider for this item
          example: TULIP
        details:
          nullable: true
          description: Detailed settings for the insurance provider
          allOf:
            - $ref: '#/components/schemas/ItemInsuranceTulipDetails'
      required:
        - enabled
        - provider
        - details
    ItemDiscountPeriodic:
      type: object
      properties:
        amount:
          type: number
          description: Discount amount applied to the item
          example: 5
        amountType:
          enum:
            - PERCENTAGE
            - AMOUNT
          type: string
          description: Discount type (amount or percentage)
          example: PERCENTAGE
        type:
          type: string
          default: PERIODIC
          enum:
            - PERIODIC
        from:
          format: date-time
          type: string
          nullable: true
          description: Start date of the discount period (nullable if always applicable)
          example: '2025-09-01T00:00:00.000Z'
        to:
          format: date-time
          type: string
          nullable: true
          description: End date of the discount period (nullable if always applicable)
          example: '2025-09-30T23:59:59.000Z'
        applicableDate:
          enum:
            - CREATED_DATE
            - START_DATE
          type: string
          description: >-
            Applicable date context for the discount (Creation date or Booking
            start date)
          example: CREATED_DATE
      required:
        - amount
        - amountType
        - type
        - from
        - to
        - applicableDate
    ItemDiscountWeekly:
      type: object
      properties:
        amount:
          type: number
          description: Discount amount applied to the item
          example: 5
        amountType:
          enum:
            - PERCENTAGE
            - AMOUNT
          type: string
          description: Discount type (amount or percentage)
          example: PERCENTAGE
        type:
          type: string
          default: WEEKLY
          enum:
            - WEEKLY
        baseAmount:
          type: number
          description: Base amount of the discount before applying overlap percentage
          example: 100
        overlapPercentage:
          type: number
          description: Percentage of overlap between the booking and the price rule period
          example: 75
        rule:
          description: Price rule associated with the weekly discount
          allOf:
            - $ref: '#/components/schemas/PriceRule'
      required:
        - amount
        - amountType
        - type
        - baseAmount
        - overlapPercentage
        - rule
    ItemDiscountQuantity:
      type: object
      properties:
        type:
          type: string
          default: QUANTITY
          enum:
            - QUANTITY
        rules:
          description: Rules for quantity-based discounts
          type: array
          items:
            $ref: '#/components/schemas/CompanyCategoryDiscountRange'
      required:
        - type
        - rules
    ItemPricingTableEntry:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the price model row
          example: 61e7b8f9e4b0c8a1d4f3c2b1
        label:
          type: string
          description: Localized duration label (e.g. '1 jour', '1 semaine')
          example: 1 jour
        price:
          type: number
          description: Price for this duration
          example: 50
        duration:
          description: Raw duration data for client-side formatting
          oneOf:
            - $ref: '#/components/schemas/ItemPricingTableEntryDurationRange'
            - $ref: '#/components/schemas/ItemPricingTableEntryDurationSpecific'
            - $ref: '#/components/schemas/ItemPricingTableEntryDurationLld'
          discriminator:
            propertyName: type
            mapping:
              range:
                $ref: '#/components/schemas/ItemPricingTableEntryDurationRange'
              specific:
                $ref: '#/components/schemas/ItemPricingTableEntryDurationSpecific'
              LLD:
                $ref: '#/components/schemas/ItemPricingTableEntryDurationLld'
      required:
        - id
        - label
        - price
        - duration
    ItemInsuranceTulipDetails:
      type: object
      properties:
        provider:
          type: string
          enum:
            - TULIP
        status:
          enum:
            - 'off'
            - on_inclusion_hidden
            - on_inclusion
            - on_option
            - with_assurance
          type: string
          description: Tulip insurance status for the item
          example: on_inclusion_hidden
      required:
        - provider
        - status
    PriceRule:
      type: object
      properties:
        startDate:
          $ref: '#/components/schemas/PriceRuleDate'
        endDate:
          $ref: '#/components/schemas/PriceRuleDate'
        type:
          type: string
          enum:
            - in
            - include
            - overlap
        variation:
          type: number
      required:
        - startDate
        - endDate
        - type
        - variation
    CompanyCategoryDiscountRange:
      type: object
      properties:
        discount:
          type: number
          description: Discount value for the range
        discountType:
          enum:
            - AMOUNT
            - PERCENTAGE
          type: string
          description: Type of discount applied (amount or percentage)
        rangeFrom:
          type: number
          description: Minimum value of the range (Quantity of items)
        rangeTo:
          type: number
          description: Maximum value of the range (Quantity of items)
        infiniteTo:
          type: boolean
          description: Indicates if the range has no upper limit
      required:
        - discount
        - discountType
        - rangeFrom
        - rangeTo
        - infiniteTo
    ItemPricingTableEntryDurationRange:
      type: object
      properties:
        type:
          type: string
          enum:
            - range
        minMinutes:
          type: number
          description: Minimum duration in minutes
          example: 0
        maxMinutes:
          type: number
          description: Maximum duration in minutes
          example: 1440
      required:
        - type
        - minMinutes
        - maxMinutes
    ItemPricingTableEntryDurationSpecific:
      type: object
      properties:
        type:
          type: string
          enum:
            - specific
        minutes:
          type: number
          description: Duration in minutes
          example: 1440
      required:
        - type
        - minutes
    ItemPricingTableEntryDurationLld:
      type: object
      properties:
        type:
          type: string
          enum:
            - LLD
        months:
          type: number
          description: Duration in calendar months
          example: 12
      required:
        - type
        - months
    PriceRuleDate:
      type: object
      properties:
        day:
          type: number
        time:
          type: string
      required:
        - day
        - time
  securitySchemes:
    x-access-token:
      type: apiKey
      in: header
      name: x-access-token

````