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

# List Products in Collection

> Retrieves list of products from a product collection; works for both dynamic and static product collections.



## OpenAPI

````yaml /openapi/product-collections.json get /v1/product-collections/{productCollectionId}/products
openapi: 3.0.1
info:
  title: Voucherify API - Product Collections
  version: v2018-08-01
  description: >-
    Voucherify promotion engine REST API. Please see
    https://docs.voucherify.io/docs for more details.
  contact:
    name: Voucherify Team
    url: https://www.voucherify.io/contact-support
    email: support@voucherify.io
  termsOfService: https://www.voucherify.io/legal/subscription-agreement
  license:
    name: MIT
    url: https://github.com/voucherifyio/voucherify-js-sdk/blob/main/LICENSE
servers:
  - url: https://{cluster}.voucherify.io
    description: Base URL
    variables:
      cluster:
        default: api
        enum:
          - api
          - us1.api
          - as1.api
          - download
          - us1.download
          - as1.download
security: []
paths:
  /v1/product-collections/{productCollectionId}/products:
    parameters:
      - schema:
          $ref: '#/components/schemas/ParameterProductCollectionId'
        name: productCollectionId
        in: path
        required: true
        description: Unique product collection ID.
    get:
      tags:
        - Product Collections
      summary: List Products in Collection
      description: >-
        Retrieves list of products from a product collection; works for both
        dynamic and static product collections.
      operationId: list-products-in-collection
      parameters:
        - $ref: '#/components/parameters/limit'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/order'
        - $ref: '#/components/parameters/starting_after'
      responses:
        '200':
          description: >-
            Returns a dictionary of products and/or SKUs grouped in the
            collection with each product's/SKU's details.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/ProductCollectionsProductsListResponseBody
              examples:
                Example:
                  value:
                    object: list
                    data_ref: data
                    data:
                      - id: prod_0bae45ffc7003ffc52
                        source_id: second_product
                        name: Samsung Phone 2
                        price: 230000
                        attributes:
                          - color
                          - memory
                          - processor
                        metadata:
                          test: true
                          vendor: Online Store - 4
                        image_url: '{{internalVoucherifyURL}}'
                        created_at: '2022-09-12T14:44:13.212Z'
                        updated_at: null
                        object: product
                      - id: sku_0bae3b28f610fd0da1
                        source_id: first_product_sku_1
                        product_id: prod_0bae2dc5a090fd0184
                        sku: Samsung phone 256GB
                        price: 210000
                        attributes:
                          color: vintage-black
                          memory: '256'
                          processor: Intel
                        image_url: '{{internalVoucherifyURL}}'
                        metadata:
                          test: false
                          vendor: Online Stores
                          imported: true
                        created_at: '2022-09-12T13:56:51.828Z'
                        updated_at: '2022-09-12T14:09:40.859Z'
                        object: sku
                        product:
                          id: prod_0bae2dc5a090fd0184
                          source_id: first_product
                          name: Samsung Phone
                          price: null
                          attributes: []
                          metadata: {}
                          object: product
                      - id: prod_0bae2dc5a090fd0184
                        source_id: first_product
                        name: Samsung Phone 1
                        price: 220000
                        attributes:
                          - color
                          - memory
                          - processor
                        metadata:
                          test: true
                          vendor: Online Store - 3
                        image_url: '{{internalVoucherifyURL}}'
                        created_at: '2022-09-12T12:58:22.232Z'
                        updated_at: '2022-09-12T14:44:13.208Z'
                        object: product
                      - id: sku_0b7d7dfb090be5c619
                        source_id: ComicBook_1
                        product_id: prod_0b7d7dfb05cbe5c616
                        sku: Comics1
                        price: 1700
                        attributes: {}
                        image_url: null
                        metadata:
                          color:
                            - golden
                          vendor: islands
                        created_at: '2022-08-05T17:23:14.084Z'
                        updated_at: '2022-09-09T09:24:43.806Z'
                        object: sku
                        product:
                          id: prod_0b7d7dfb05cbe5c616
                          source_id: Books
                          name: Comic Books1
                          price: null
                          attributes: []
                          metadata: {}
                          object: product
                      - id: prod_0b7d7dfb05cbe5c616
                        source_id: Books
                        name: Comic Books1
                        price: 2100
                        attributes: []
                        metadata:
                          color:
                            - silver
                          vendor: Bookstore1
                        image_url: https://www.images.com/image1.png
                        created_at: '2022-08-05T17:23:14.071Z'
                        updated_at: '2022-09-09T09:24:43.728Z'
                        object: product
                      - id: prod_0b7d7c4e814be5c502
                        source_id: prod_1
                        name: Apple iPhone 12
                        price: 60000
                        attributes: []
                        metadata:
                          color:
                            - purple
                          vendor: mall
                        image_url: null
                        created_at: '2022-08-05T17:15:55.270Z'
                        updated_at: '2022-09-09T09:24:43.704Z'
                        object: product
                    total: 6
        '404':
          description: >-
            Returns an error when requesting a product collection that has been
            deleted or does not exist.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Not Found:
                  value:
                    code: 404
                    key: not_found
                    message: Resource not found
                    details: >-
                      Cannot find products_collection with id
                      pc_M5XgaWPx3Sl4v26atA15zFj
                    request_id: v-0b4ec6429e5646d089
                    resource_id: pc_M5XgaWPx3Sl4v26atA15zFj
                    resource_type: products_collection
      security:
        - X-App-Id: []
          X-App-Token: []
        - X-Voucherify-OAuth:
            - api
            - product-collections
components:
  schemas:
    ParameterProductCollectionId:
      type: string
      example: pc_41V4DiQQO8YGqj0J2oZD57j4
    ProductCollectionsProductsListResponseBody:
      type: object
      title: Product Collections Products List Response Body
      description: >-
        Response body schema for **GET**
        `v1/product-collections/{productCollectionId}/products`.
      allOf:
        - $ref: '#/components/schemas/ProductCollectionsProductsList'
    Error:
      title: Error Object
      type: object
      description: Error details
      properties:
        code:
          type: integer
          description: Error's HTTP status code.
        key:
          type: string
          description: Short string describing the kind of error which occurred.
        message:
          type: string
          description: A human-readable message providing a short description of the error.
        details:
          type: string
          description: A human-readable message providing more details about the error.
        request_id:
          type: string
          example: v-0a885062c80375740f
          description: >-
            This ID is useful when troubleshooting and/or finding the root cause
            of an error response by our support team.
        resource_id:
          type: string
          description: >-
            Unique resource ID that can be used in another endpoint to get more
            details.
          example: rf_0c5d710a87c8a31f86
        resource_type:
          type: string
          description: The resource type.
          example: voucher
        error:
          type: object
          description: Includes additional information about the error.
          properties:
            message:
              type: string
              description: The message configured by the user in a validation rule.
      required:
        - code
        - message
    ParameterLimit:
      type: integer
      minimum: 1
      maximum: 100
    ParameterPage:
      type: integer
      minimum: 1
      maximum: 100
    ParameterOrder:
      type: string
      enum:
        - created_at
        - '-created_at'
        - updated_at
        - '-updated_at'
        - type
        - '-type'
        - code
        - '-code'
        - campaign
        - '-campaign'
        - category
        - '-category'
    ParameterDate:
      type: string
      example: '2023-12-22T10:13:06.487Z'
      format: date-time
    ProductCollectionsProductsList:
      type: object
      description: >-
        Response body schema for **GET**
        /product-collections/{productCollectionID}/products.
      title: List Products in Collection Response Body
      properties:
        object:
          type: string
          description: >-
            The type of the object represented by JSON. This object stores
            information about products and SKUs.
          default: list
        data_ref:
          type: string
          description: >-
            Identifies the name of the JSON property that contains the array of
            products and SKUs.
          default: data
        data:
          type: array
          description: A dictionary that contains an array of products and SKUs.
          items:
            title: Product Collections Products List Products Item
            oneOf:
              - $ref: '#/components/schemas/ProductWithoutSkus'
              - $ref: '#/components/schemas/SkuWithProduct'
        total:
          type: integer
          description: Total number of products & SKUs in the product collection.
      required:
        - object
        - data_ref
        - data
        - total
    ProductWithoutSkus:
      title: Product without Skus Object
      properties:
        id:
          type: string
          description: Unique product ID assigned by Voucherify.
          example: prod_0b1da8105693710357
        source_id:
          type: string
          nullable: true
          example: productSourceID16
          description: Unique product source ID.
        name:
          type: string
          nullable: true
          description: Unique user-defined product name.
          example: T-shirt
        price:
          type: integer
          nullable: true
          description: >-
            Unit price. It is represented by a value multiplied by 100 to
            accurately reflect 2 decimal places, such as `$100.00` being
            expressed as `10000`.
        attributes:
          type: array
          description: >-
            A list of product attributes whose values you can customize for
            given SKUs: `["color","size","ranking"]`. Each child SKU can have a
            unique value for a given attribute.
          items:
            type: string
        metadata:
          type: object
          description: >-
            The metadata object stores all custom attributes assigned to the
            product. A set of key/value pairs that you can attach to a product
            object. It can be useful for storing additional information about
            the product in a structured format. It can be used to create product
            collections.
        image_url:
          type: string
          nullable: true
          description: >-
            The HTTPS URL pointing to the .png or .jpg file that will be used to
            render the product image.
          example: https://images.com/original.jpg
        created_at:
          type: string
          description: >-
            Timestamp representing the date and time when the product was
            created. The value is shown in the ISO 8601 format.
          example: '2022-05-23T06:52:55.008Z'
          format: date-time
        updated_at:
          type: string
          nullable: true
          description: >-
            Timestamp representing the date and time when the product was
            updated. The value is shown in the ISO 8601 format.
          example: '2022-05-23T09:24:07.405Z'
          format: date-time
        object:
          type: string
          description: >-
            The type of the object represented by JSON. This object stores
            information about the product.
          default: product
          enum:
            - product
      required:
        - id
        - source_id
        - name
        - attributes
        - metadata
        - object
        - price
    SkuWithProduct:
      title: SKU with parent product.
      allOf:
        - $ref: '#/components/schemas/Sku'
        - type: object
          properties:
            product:
              $ref: '#/components/schemas/ProductWithoutSkus'
    Sku:
      title: SKU Object
      type: object
      description: This is an object representing a product SKU.
      properties:
        id:
          type: string
          example: sku_0b1621b319d248b79f
          description: >-
            A unique identifier that represents the SKU and is assigned by
            Voucherify.
        source_id:
          type: string
          nullable: true
          example: sku_source_id_4
          description: A unique SKU identifier from your inventory system.
        product_id:
          type: string
          example: prod_0b15f6b9f650c16990
          description: The parent product's unique ID.
        sku:
          type: string
          nullable: true
          example: Large Pink Shirt
          description: Unique user-defined SKU name.
        price:
          type: integer
          nullable: true
          description: >-
            Unit price. It is represented by a value multiplied by 100 to
            accurately reflect 2 decimal places, such as `$100.00` being
            expressed as `10000`.
        currency:
          type: string
          nullable: true
          description: SKU price currency.
          example: USD
        attributes:
          type: object
          description: >-
            The attributes object stores values for all custom attributes
            inherited by the SKU from the parent product. A set of key/value
            pairs that are attached to a SKU object and are unique to each SKU
            within a product family.
        image_url:
          type: string
          nullable: true
          description: >-
            The HTTPS URL pointing to the .png or .jpg file that will be used to
            render the SKU image.
        metadata:
          type: object
          description: >-
            The metadata object stores all custom attributes assigned to the
            SKU. A set of key/value pairs that you can attach to a SKU object.
            It can be useful for storing additional information about the SKU in
            a structured format. It can be used to create product collections.
        created_at:
          type: string
          example: '2022-05-17T10:36:30.187Z'
          description: >-
            Timestamp representing the date and time when the SKU was created.
            The value is shown in the ISO 8601 format.
          format: date-time
        updated_at:
          type: string
          nullable: true
          example: '2022-05-17T10:55:09.137Z'
          description: >-
            Timestamp representing the date and time when the SKU was updated.
            The value is shown in the ISO 8601 format.
          format: date-time
        object:
          type: string
          default: sku
          description: >-
            The type of the object represented by JSON. This object stores
            information about the `SKU`.
          enum:
            - sku
      required:
        - id
        - source_id
        - product_id
        - sku
        - price
        - attributes
        - metadata
        - image_url
        - created_at
        - updated_at
        - object
  parameters:
    limit:
      name: limit
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/ParameterLimit'
      description: >-
        Limits the number of objects to be returned. The limit can range between
        1 and 100 items. If no limit is set, it returns 10 items.
    page:
      name: page
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/ParameterPage'
      description: Which page of results to return. The lowest value is `1`.
    order:
      name: order
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/ParameterOrder'
      description: >-
        Sorts the results using one of the filtering options, where the dash `-`
        preceding a sorting option means sorting in a descending order.
    starting_after:
      name: starting_after
      in: query
      schema:
        $ref: '#/components/schemas/ParameterDate'
      description: >-
        Timestamp representing the date and time to use in starting_after cursor
        to get more data. Represented in ISO 8601 format.
  securitySchemes:
    X-App-Id:
      type: apiKey
      name: X-App-Id
      in: header
    X-App-Token:
      type: apiKey
      name: X-App-Token
      in: header
    X-Voucherify-OAuth:
      type: oauth2
      flows:
        implicit:
          authorizationUrl: https://api.voucherify.io/v1/oauth/token
          scopes:
            api: Gives access to whole server-side API.
            vouchers: >-
              Gives access to all endpoints and methods starting with
              `v1/vouchers`.
            client_api: Gives access to whole client-side API.
            client_vouchers: >-
              Gives access to all endpoints and methods starting with
              `/client/v1/vouchers`.
            promotions: >-
              Gives access to all endpoints and methods starting with
              `/v1/promotions`.
            client_promotions: >-
              Gives access to all endpoints and methods starting with
              `/client/v1/promotions`
            campaigns: >-
              Gives access to all endpoints and methods starting with
              `v1/campaigns`.
            client_publish: >-
              Gives access to all endpoints and methods starting with
              `/client/v1/publish`.
            exports: >-
              Gives access to all endpoints and methods starting with
              `/v1/exports`.
            publications: >-
              Gives access to all endpoints and methods starting with
              `/v1/publications`.
            client_validate: >-
              Gives access to all endpoints and methods starting with
              `/client/v1/validate`.
            validations: >-
              Gives access to all endpoints and methods starting with
              `/v1/validations`.
            client_validations: >-
              Gives access to all endpoints and methods starting with
              `/client/v1/validations`.
            qualifications: >-
              Gives access to all endpoints and methods starting with
              `/v1/qualifications`.
            client_qualifications: >-
              Gives access to all endpoints and methods starting with
              `/client/v1/qualifications`.
            client_redeem: >-
              Gives access to all endpoints and methods starting with
              `/client/v1/redeem
            redemptions: >-
              Gives access to all endpoints and methods starting with
              `/v1/redemptions`.
            client_redemptions: >-
              Gives access to all endpoints and methods starting with
              `/client/v1/redemptions`
            customers: >-
              Gives access to all endpoints and methods starting with
              `/v1/customers`.
            client_customers: >-
              Gives access to all endpoints and methods starting with
              `/client/v1/customers`.
            orders: >-
              Gives access to all endpoints and methods starting with
              `/v1/orders`.
            products: >-
              Gives access to all endpoints and methods starting with
              `/v1/products`.
            skus: >-
              Gives access to all endpoints and methods starting with
              `/v1/SKUs`.
            validation-rules: >-
              Gives access to all endpoints and methods starting with
              `/v1/validation-rules`.
            validation-rules-assignments: >-
              Gives access to all endpoints and methods starting with
              `/v1/validation-rules-assignments
            segments: >-
              Gives access to all endpoints and methods starting with
              `/v1/segments`.
            events: >-
              Gives access to all endpoints and methods starting with
              `/v1/events`.
            client_events: >-
              Gives access to all endpoints and methods starting with
              `client/v1/events`.
            rewards: >-
              Gives access to all endpoints and methods starting with
              `/v1/rewards`.
            assets: >-
              Gives access to all endpoints and methods starting with
              `/v1/assets`.
            task-results: >-
              Gives access to all endpoints and methods starting with
              `/v1/task-results`.
            loyalties: >-
              Gives access to all endpoints and methods starting with
              `/v1/loyalties`.
            client_consents: >-
              Gives access to all endpoints and methods starting with
              `client/v1/consents`.
            consents: >-
              Gives access to all endpoints and methods starting with
              `/v1/consents`.
            async-actions: >-
              Gives access to all endpoints and methods starting with
              `/v1/async-actions`.
            product-collections: >-
              Gives access to all endpoints and methods starting with
              `/v1/product-collections`.
            categories: >-
              Gives access to all endpoints and methods starting with
              `/v1/categories`.
            metadata-schemas: >-
              Gives access to all endpoints and methods starting with
              `/v1/metadata-schemas`.
            locations: >-
              Gives access to all endpoints and methods starting with
              `/v1/locations`.
            referrals: >-
              Gives access to all endpoints and methods starting with
              `/v1/referrals`.
            trash-bin: >-
              Gives access to all endpoints and methods starting with
              `/v1/trash-bin`.
            templates: >-
              Gives access to all endpoints and methods starting with
              `/v1/templates`.

````