---
title: "Get products in a collection"
method: GET
path: "/open-api/v1.0/collections/{collectionId}/products"
tags: ["Collections"]
---

# Get products in a collection

`GET /open-api/v1.0/collections/{collectionId}/products`

## Request

- Base URL: `https://api.fourthwall.com`
- URL: `https://api.fourthwall.com/open-api/v1.0/collections/{collectionId}/products`
- Auth: one of:
  - OAuth 2
    - Implicit: `https://auth.staging.fourthwall.com/auth/realms/Fourthwall/protocol/openid-connect/auth`
    - Scopes: `offer_read`
  - HTTP basic

*Rate limit: 100 requests / 10 seconds per shop. See [Rate limiting](/guides/rate-limiting).*

Returns paginated products in a collection with optional status filtering. The maximum page size is 100 - larger values are capped at 100.

## Path parameters

- `collectionId` string, required

## Query parameters

- `page` integer
- `size` integer
- `status` 'PUBLIC' | 'AVAILABLE' | 'SOLD_OUT' | 'HIDDEN' | 'ARCHIVED': Filter for product status in a collection

## Response `200`

OK

- ComFourthwallOpenapiModelOpenApiPageResponseComFourthwallOpenapiModelOfferAbstractV1OfferFullV1
  - `results` ComFourthwallOpenapiModelOfferAbstractV1OfferFullV1[], required
    - `id` string, required
    - `name` string, required
    - `slug` string, required
    - `description` string, required
    - `type` 'STANDARD' | 'GIFT_CARD' | 'UNKNOWN', required
    - `state` union, required
      - ComFourthwallOpenapiModelOfferAbstractV1OfferStateV1Available
        - `type` 'AVAILABLE', required
      - ComFourthwallOpenapiModelOfferAbstractV1OfferStateV1SoldOut
        - `type` 'SOLD_OUT', required
    - `access` union, required
      - ComFourthwallOpenapiModelOfferAbstractV1OfferAccessV1Archived
        - `type` 'ARCHIVED', required
      - ComFourthwallOpenapiModelOfferAbstractV1OfferAccessV1Hidden
        - `type` 'HIDDEN', required
      - ComFourthwallOpenapiModelOfferAbstractV1OfferAccessV1Private
        - `type` 'PRIVATE', required
      - ComFourthwallOpenapiModelOfferAbstractV1OfferAccessV1Public
        - `type` 'PUBLIC', required
    - `thumbnailImage` ComFourthwallOpenapiModelImage
      - `id` string, required
      - `url` string, required
      - `width` integer, required: The original width of the image in pixels.
      - `height` integer, required: The original height of the image in pixels.
      - `transformedUrl` string, required: Transformed URL with applied image processing (e.g., resizing, optimization)
    - `images` ComFourthwallOpenapiModelImage[], required
      - `id` string, required
      - `url` string, required
      - `width` integer, required: The original width of the image in pixels.
      - `height` integer, required: The original height of the image in pixels.
      - `transformedUrl` string, required: Transformed URL with applied image processing (e.g., resizing, optimization)
    - `variants` ComFourthwallOpenapiModelOfferAbstractV1OfferVariantAbstractV1OfferVariantV1[], required
      - `id` string, required
      - `name` string, required
      - `sku` string, required
      - `unitPrice` Money, required
        - `value` number, required
        - `currency` string, required
      - `compareAtPrice` Money
        - `value` number, required
        - `currency` string, required
      - `unitCost` Money
        - `value` number, required
        - `currency` string, required
      - `attributes` ComFourthwallOpenapiModelOfferAbstractV1OfferVariantAbstractV1Attributes, required
        - `description` string, required
        - `color` ComFourthwallOpenapiModelOfferAbstractV1OfferVariantAbstractV1AttributesColor
          - `name` string, required
          - `swatch` string, required
        - `size` ComFourthwallOpenapiModelOfferAbstractV1OfferVariantAbstractV1AttributesSize
          - `name` string, required
      - `creatorDeclaredCost` Money
        - `value` number, required
        - `currency` string, required
      - `stock` union, required
        - ComFourthwallOpenapiModelOfferAbstractV1OfferVariantAbstractV1StockLimited
          - `type` 'LIMITED', required
          - `inStock` integer, required
        - ComFourthwallOpenapiModelOfferAbstractV1OfferVariantAbstractV1StockUnlimited
          - `type` 'UNLIMITED', required
      - `weight` ComFourthwallOpenapiModelOfferAbstractV1OfferVariantAbstractV1Weight, required
        - `value` number, required
        - `unit` string, required
      - `dimensions` ComFourthwallOpenapiModelOfferAbstractV1OfferVariantAbstractV1Dimensions, required
        - `length` number, required
        - `width` number, required
        - `height` number, required
        - `unit` string, required
      - `images` ComFourthwallOpenapiModelImage[], required
        - `id` string, required
        - `url` string, required
        - `width` integer, required: The original width of the image in pixels.
        - `height` integer, required: The original height of the image in pixels.
        - `transformedUrl` string, required: Transformed URL with applied image processing (e.g., resizing, optimization)
      - `thumbnailImage` ComFourthwallOpenapiModelImage
        - `id` string, required
        - `url` string, required
        - `width` integer, required: The original width of the image in pixels.
        - `height` integer, required: The original height of the image in pixels.
        - `transformedUrl` string, required: Transformed URL with applied image processing (e.g., resizing, optimization)
    - `additionalInformation` ComFourthwallOpenapiModelOfferAbstractV1OfferAdditionalInformationV1
      - `sizeAndFit` string
      - `guaranteeAndReturns` string
      - `moreDetails` string
    - `sizeGuide` ComFourthwallOpenapiModelOfferAbstractV1OfferSizeGuideV1
      - `previewUrl` string
      - `fileUrl` string
      - `description` string
      - `fitGuideDescription` string
      - `fitGuideUrls` string[], required
    - `digitalFiles` ComFourthwallOpenapiModelOfferDigitalFileV1[]: Digital files attached to this offer. Only present for digital offers.
      - `uri` string, required: The file URI
      - `name` string, required: The file name
      - `fileSize` string: Human-readable file size
      - `mediaType` string: MIME type of the file
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
  - `total` integer
  - `page` integer
  - `size` integer
  - `totalPages` integer

## Other responses

- `404`: Possible errors: `COLLECTION_NOT_FOUND_BY_ID_AND_SHOP_ID_ERROR`, `OFFER_VARIANT_NOT_FOUND_ERROR`
- `429`: Rate limited: 100 requests / 10 seconds per shop.

## Changes

- **2026-07-21** `d02dd5a76313`: 1 breaking, 5 info
  - added `#/components/schemas/com.fourthwall.openapi.model.OfferAbstractV1.OfferAccessV1.Private` to the `results/items/access` response property `oneOf` list for the response status `200`
  - added the non-success response with the status `404`
  - added the non-success response with the status `429`
  - added `PRIVATE` discriminator mapping keys to the `results/items/access/oneOf[subschema #1: Archived]/allOf[subschema #1: Offer Access]/` response property for the response status `200`
  - …2 more

[Operation history](https://skmtc.dev/fourthwall/apis/fourthwall-apis-2/changes/open-api/v1.0/collections/:collectionId/products/get.md)

---

[API](https://skmtc.dev/fourthwall/apis/fourthwall-apis-2.md) - [All operations](https://skmtc.dev/fourthwall/apis/fourthwall-apis-2/llms.txt) - [OpenAPI document](https://skmtc.dev/fourthwall/apis/fourthwall-apis-2/revisions/77de1061d5c9?raw)
