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

# Get apiproducts

> Get all products



## OpenAPI

````yaml https://pratiq-docs.s3.eu-west-1.amazonaws.com/open-api/production/public/2025-02-18.json get /api/products
openapi: 3.0.0
info:
  title: Pricenow API
  version: '2025-02-18'
servers:
  - url: https://api.pricenow.dev
    description: Production Endpoint
security: []
tags: []
paths:
  /api/products:
    get:
      tags:
        - products
      description: Get all products
      parameters:
        - name: accept-language
          in: header
          description: Language of the response
          required: true
          schema:
            type: string
            enum:
              - en
              - de
              - fr
              - it
        - name: pratiq-channel-uuid
          in: header
          description: UUID of the sales channel
          required: true
          schema:
            type: string
        - name: page
          in: query
          required: true
          schema:
            type: number
        - name: limit
          in: query
          required: true
          schema:
            type: number
        - name: orderBy
          in: query
          required: true
          schema:
            type: string
        - name: orderDirection
          in: query
          required: true
          schema:
            type: string
            enum:
              - desc
              - asc
        - name: search
          in: query
          required: true
          schema:
            oneOf:
              - type: object
                properties: {}
              - $ref: '#/components/schemas/CheckSearchOptsComposedType'
              - type: object
                properties:
                  operator:
                    type: string
                    enum:
                      - eq
                  value:
                    oneOf:
                      - nullable: true
                      - type: string
                      - type: number
                      - type: boolean
                      - type: boolean
                      - type: string
                        format: date-time
                    nullable: true
                  key:
                    type: string
                required:
                  - operator
                  - value
                  - key
              - type: object
                properties:
                  operator:
                    type: string
                    enum:
                      - not
                  value:
                    oneOf:
                      - nullable: true
                      - type: string
                      - type: number
                      - type: boolean
                      - type: boolean
                      - type: string
                        format: date-time
                    nullable: true
                  key:
                    type: string
                required:
                  - operator
                  - value
                  - key
              - type: object
                properties:
                  operator:
                    type: string
                    enum:
                      - gte
                  value:
                    type: number
                  key:
                    type: string
                required:
                  - operator
                  - value
                  - key
              - type: object
                properties:
                  operator:
                    type: string
                    enum:
                      - gte
                  value:
                    type: string
                    format: date-time
                  precision:
                    type: string
                    enum:
                      - date
                      - datetime
                  key:
                    type: string
                required:
                  - operator
                  - value
                  - precision
                  - key
              - type: object
                properties:
                  operator:
                    type: string
                    enum:
                      - gt
                  value:
                    oneOf:
                      - type: number
                      - type: string
                        format: date-time
                  key:
                    type: string
                required:
                  - operator
                  - value
                  - key
              - type: object
                properties:
                  operator:
                    type: string
                    enum:
                      - lte
                  value:
                    type: number
                  key:
                    type: string
                required:
                  - operator
                  - value
                  - key
              - type: object
                properties:
                  operator:
                    type: string
                    enum:
                      - lte
                  value:
                    type: string
                    format: date-time
                  precision:
                    type: string
                    enum:
                      - date
                      - datetime
                  key:
                    type: string
                required:
                  - operator
                  - value
                  - precision
                  - key
              - type: object
                properties:
                  operator:
                    type: string
                    enum:
                      - lt
                  value:
                    oneOf:
                      - type: number
                      - type: string
                        format: date-time
                  key:
                    type: string
                required:
                  - operator
                  - value
                  - key
              - type: object
                properties:
                  operator:
                    type: string
                    enum:
                      - like
                  value:
                    type: string
                  key:
                    type: string
                required:
                  - operator
                  - value
                  - key
              - type: object
                properties:
                  operator:
                    type: string
                    enum:
                      - in
                  values:
                    oneOf:
                      - type: array
                        items:
                          type: string
                      - type: array
                        items:
                          type: number
                  key:
                    type: string
                required:
                  - operator
                  - values
                  - key
              - type: object
                properties:
                  operator:
                    type: string
                    enum:
                      - exists
                  key:
                    type: string
                required:
                  - operator
                  - key
        - name: include
          in: query
          required: true
          schema:
            type: array
            items:
              type: string
              enum:
                - nextAvailability
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Catalog_CatalogProduct'
                required:
                  - data
components:
  schemas:
    CheckSearchOptsComposedType:
      type: object
      properties:
        OR:
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/CheckSearchOptsComposedType'
              - $ref: '#/components/schemas/SearchOptsEq'
              - $ref: '#/components/schemas/SearchOptsNot'
              - $ref: '#/components/schemas/SearchOptsGteNumber'
              - $ref: '#/components/schemas/SearchOptsGteDate'
              - $ref: '#/components/schemas/SearchOptsGt'
              - $ref: '#/components/schemas/SearchOptsLteNumber'
              - $ref: '#/components/schemas/SearchOptsLteDate'
              - $ref: '#/components/schemas/SearchOptsLt'
              - $ref: '#/components/schemas/SearchOptsLike'
              - $ref: '#/components/schemas/SearchOptsIn'
              - $ref: '#/components/schemas/SearchOptsExists'
        AND:
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/CheckSearchOptsComposedType'
              - $ref: '#/components/schemas/SearchOptsEq'
              - $ref: '#/components/schemas/SearchOptsNot'
              - $ref: '#/components/schemas/SearchOptsGteNumber'
              - $ref: '#/components/schemas/SearchOptsGteDate'
              - $ref: '#/components/schemas/SearchOptsGt'
              - $ref: '#/components/schemas/SearchOptsLteNumber'
              - $ref: '#/components/schemas/SearchOptsLteDate'
              - $ref: '#/components/schemas/SearchOptsLt'
              - $ref: '#/components/schemas/SearchOptsLike'
              - $ref: '#/components/schemas/SearchOptsIn'
              - $ref: '#/components/schemas/SearchOptsExists'
    Catalog_CatalogProduct:
      type: object
      properties:
        id:
          type: number
        sortOrder:
          type: number
        name:
          type: string
        translation:
          type: string
        identifier:
          type: string
        type:
          type: string
          enum:
            - TICKET
            - ARTICLE
            - BUNDLE
            - DYNAMIC_BUNDLE
        isSubscription:
          type: boolean
        standalone:
          type: boolean
        hasValidity:
          type: boolean
        priceModel:
          type: string
          enum:
            - STATIC
            - DYNAMIC
        content:
          $ref: '#/components/schemas/Catalog_CatalogProductContent'
        merchant:
          $ref: '#/components/schemas/Catalog_Merchant'
        category:
          $ref: '#/components/schemas/Catalog_ProductCategory'
        standardPriceRange:
          $ref: '#/components/schemas/PriceRange'
        standardPriceToday:
          type: number
        standardProductVariantId:
          type: number
        productVariants:
          type: array
          items:
            $ref: '#/components/schemas/Catalog_CatalogProductVariant'
        nextAvailability:
          oneOf:
            - type: object
              properties: {}
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - available
                availableCapacity:
                  oneOf:
                    - $ref: '#/components/schemas/AvailableCapacityRange'
                    - $ref: '#/components/schemas/AvailableCapacityExact'
                    - $ref: '#/components/schemas/AvailableCapacityUnlimited'
                date:
                  type: string
                validity:
                  type: object
                  properties:
                    from:
                      type: string
                    to:
                      type: string
                  required:
                    - from
                    - to
                  nullable: true
                availabilityPeriod:
                  type: object
                  properties:
                    from:
                      type: string
                    to:
                      type: string
                  required:
                    - from
                    - to
              required:
                - type
                - availableCapacity
                - date
                - validity
                - availabilityPeriod
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - unavailable
              required:
                - type
      required:
        - id
        - sortOrder
        - name
        - translation
        - identifier
        - type
        - isSubscription
        - standalone
        - hasValidity
        - priceModel
        - content
        - merchant
        - category
        - standardPriceRange
        - standardPriceToday
        - standardProductVariantId
        - productVariants
    SearchOptsEq:
      type: object
      properties:
        operator:
          type: string
          enum:
            - eq
        value:
          oneOf:
            - nullable: true
            - type: string
            - type: number
            - type: boolean
            - type: boolean
            - type: string
              format: date-time
          nullable: true
        key:
          type: string
      required:
        - operator
        - value
        - key
    SearchOptsNot:
      type: object
      properties:
        operator:
          type: string
          enum:
            - not
        value:
          oneOf:
            - nullable: true
            - type: string
            - type: number
            - type: boolean
            - type: boolean
            - type: string
              format: date-time
          nullable: true
        key:
          type: string
      required:
        - operator
        - value
        - key
    SearchOptsGteNumber:
      type: object
      properties:
        operator:
          type: string
          enum:
            - gte
        value:
          type: number
        key:
          type: string
      required:
        - operator
        - value
        - key
    SearchOptsGteDate:
      type: object
      properties:
        operator:
          type: string
          enum:
            - gte
        value:
          type: string
          format: date-time
        precision:
          type: string
          enum:
            - date
            - datetime
        key:
          type: string
      required:
        - operator
        - value
        - precision
        - key
    SearchOptsGt:
      type: object
      properties:
        operator:
          type: string
          enum:
            - gt
        value:
          oneOf:
            - type: number
            - type: string
              format: date-time
        key:
          type: string
      required:
        - operator
        - value
        - key
    SearchOptsLteNumber:
      type: object
      properties:
        operator:
          type: string
          enum:
            - lte
        value:
          type: number
        key:
          type: string
      required:
        - operator
        - value
        - key
    SearchOptsLteDate:
      type: object
      properties:
        operator:
          type: string
          enum:
            - lte
        value:
          type: string
          format: date-time
        precision:
          type: string
          enum:
            - date
            - datetime
        key:
          type: string
      required:
        - operator
        - value
        - precision
        - key
    SearchOptsLt:
      type: object
      properties:
        operator:
          type: string
          enum:
            - lt
        value:
          oneOf:
            - type: number
            - type: string
              format: date-time
        key:
          type: string
      required:
        - operator
        - value
        - key
    SearchOptsLike:
      type: object
      properties:
        operator:
          type: string
          enum:
            - like
        value:
          type: string
        key:
          type: string
      required:
        - operator
        - value
        - key
    SearchOptsIn:
      type: object
      properties:
        operator:
          type: string
          enum:
            - in
        values:
          oneOf:
            - type: array
              items:
                type: string
            - type: array
              items:
                type: number
        key:
          type: string
      required:
        - operator
        - values
        - key
    SearchOptsExists:
      type: object
      properties:
        operator:
          type: string
          enum:
            - exists
        key:
          type: string
      required:
        - operator
        - key
    Catalog_CatalogProductContent:
      type: object
      properties:
        title:
          type: string
          nullable: true
        caption:
          type: string
          nullable: true
        shortDescription:
          type: string
          nullable: true
        description:
          oneOf:
            - nullable: true
            - type: string
            - type: array
              items:
                $ref: '#/components/schemas/RichText'
          nullable: true
        images:
          type: array
          items:
            $ref: '#/components/schemas/Catalog_Image'
        tags:
          type: array
          items:
            $ref: '#/components/schemas/Catalog_Tag'
        seoTitle:
          type: string
          nullable: true
        seoDescription:
          type: string
          nullable: true
        seoKeywords:
          type: array
          items:
            type: string
        seoImages:
          type: array
          items:
            $ref: '#/components/schemas/Catalog_Image'
        banner:
          $ref: '#/components/schemas/Catalog_Banner'
          nullable: true
      required:
        - title
        - caption
        - shortDescription
        - description
        - images
        - tags
        - seoTitle
        - seoDescription
        - seoKeywords
        - seoImages
        - banner
    Catalog_Merchant:
      type: object
      properties:
        identifier:
          type: string
        timezone:
          type: string
      required:
        - identifier
        - timezone
    Catalog_ProductCategory:
      type: object
      properties:
        id:
          type: number
        title:
          type: string
        description:
          type: string
        sortOrder:
          type: number
        tags:
          type: array
          items:
            type: string
      required:
        - id
        - title
        - description
        - sortOrder
        - tags
    PriceRange:
      type: object
      properties:
        minPrice:
          type: number
        maxPrice:
          type: number
      required:
        - minPrice
        - maxPrice
    Catalog_CatalogProductVariant:
      type: object
      properties:
        id:
          type: number
        name:
          type: string
        translation:
          type: string
        vatRate:
          type: number
        productId:
          type: number
        availableMedia:
          type: array
          items:
            $ref: '#/components/schemas/Catalog_Medium'
        attributes:
          type: array
          items:
            $ref: '#/components/schemas/Catalog_Attribute'
        externalIds:
          type: array
          items:
            $ref: '#/components/schemas/Catalog_ExternalId'
        priceRange:
          $ref: '#/components/schemas/PriceRange'
      required:
        - id
        - name
        - translation
        - vatRate
        - productId
        - availableMedia
        - attributes
        - externalIds
        - priceRange
    AvailableCapacityRange:
      type: object
      properties:
        kind:
          type: string
          enum:
            - range
        min:
          type: number
        max:
          type: number
      required:
        - kind
        - min
        - max
    AvailableCapacityExact:
      type: object
      properties:
        kind:
          type: string
          enum:
            - exact
        value:
          type: number
      required:
        - kind
        - value
    AvailableCapacityUnlimited:
      type: object
      properties:
        kind:
          type: string
          enum:
            - unlimited
      required:
        - kind
    RichText:
      type: object
      properties:
        children:
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/ArbitraryTypedObject'
              - $ref: '#/components/schemas/PortableTextSpan'
        markDefs:
          type: array
          items:
            $ref: '#/components/schemas/PortableTextMarkDefinition'
        style:
          type: string
        listItem:
          type: string
        level:
          type: number
      required:
        - children
    Catalog_Image:
      type: object
      properties:
        imageUrl:
          type: string
        lqip:
          type: string
          nullable: true
        altText:
          type: string
          nullable: true
        hotspot:
          type: object
          properties:
            x:
              type: number
            'y':
              type: number
            width:
              type: number
            height:
              type: number
          required:
            - x
            - 'y'
            - width
            - height
          nullable: true
      required:
        - imageUrl
        - altText
    Catalog_Tag:
      type: object
      properties:
        caption:
          type: string
        description:
          type: string
          nullable: true
        icon:
          type: string
          nullable: true
      required:
        - caption
        - description
        - icon
    Catalog_Banner:
      type: object
      properties:
        text:
          type: string
          nullable: true
        color:
          type: string
        icon:
          type: string
          nullable: true
        cta:
          $ref: '#/components/schemas/Catalog_Cta'
          nullable: true
      required:
        - text
        - color
        - icon
        - cta
    Catalog_Medium:
      type: object
      properties:
        id:
          type: number
        type:
          type: string
          enum:
            - SKIDATA
            - AXESS
            - SWISSPASS
            - LICENSEPLATE
            - FERATEL
            - SKIDATA_RENEWAL
            - SKIDATA_E_TICKET
            - AXESS_RENEWAL
            - ON_SITE
            - CODE_DIRECT
            - CODE_PICKUP
            - DELIVERY
        name:
          type: string
        description:
          type: string
        requiredProductVariants:
          type: array
          items:
            type: object
            properties:
              id:
                type: number
              name:
                type: string
              translation:
                type: string
              vatRate:
                type: number
              productId:
                type: number
              attributes:
                type: array
                items:
                  $ref: '#/components/schemas/Catalog_Attribute'
            required:
              - id
              - name
              - translation
              - vatRate
              - productId
              - attributes
      required:
        - id
        - type
        - name
        - description
        - requiredProductVariants
    Catalog_Attribute:
      type: object
      properties:
        name:
          type: string
        identifier:
          type: string
        value:
          type: string
        sortOrder:
          type: number
        metaInformation:
          type: object
          additionalProperties:
            type: object
            properties: {}
        translation:
          type: string
      required:
        - name
        - identifier
        - value
        - sortOrder
        - metaInformation
        - translation
    Catalog_ExternalId:
      type: object
      properties:
        system:
          type: string
        kind:
          type: string
        value:
          type: string
      required:
        - system
        - kind
        - value
    ArbitraryTypedObject:
      type: object
      properties:
        _type:
          type: string
        _key:
          type: string
      required:
        - _type
    PortableTextSpan:
      type: object
      properties:
        _type:
          type: string
          enum:
            - span
        _key:
          type: string
        text:
          type: string
        marks:
          type: array
          items:
            type: string
      required:
        - _type
        - text
    PortableTextMarkDefinition:
      type: object
      properties:
        _type:
          type: string
        _key:
          type: string
      required:
        - _type
        - _key
    Catalog_Cta:
      type: object
      properties:
        title:
          type: string
          nullable: true
        color:
          type: string
          enum:
            - default
            - primary
            - secondary
        variant:
          type: string
          enum:
            - link
            - solid
            - outline
            - ghost
        product:
          type: object
          properties:
            slug:
              type: string
          required:
            - slug
          nullable: true
        link:
          type: string
          nullable: true
        page:
          type: object
          properties:
            slug:
              type: string
          required:
            - slug
          nullable: true
        newTab:
          type: boolean
      required:
        - title
        - color
        - variant
        - product
        - link
        - page
        - newTab

````