Fetch Experience Data

Get offer products

Lists the products an experience's offers apply to. GET /experiences/{experienceId} only says whether a variation's offer is limited to products (its includeProducts flag); this endpoint lists them.

The response has one entry per product and set, each with the variationId of the offer it belongs to and every variant of the product marked include or exclude:

{
  "products": [
    {
      "id": "8123456789",
      "title": "Microfiber towel",
      "variationId": "YOUR_VARIATION_ID",
      "offerId": "YOUR_OFFER_ID",
      "set": "buy",
      "variants": [
        {
          "id": "41000000001",
          "title": "12 pack",
          "price": 19.99,
          "compareAtPrice": null,
          "inclusionType": "include"
        },
        {
          "id": "41000000002",
          "title": "24 pack",
          "price": 34.99,
          "compareAtPrice": 39.99,
          "inclusionType": "exclude"
        }
      ]
    }
  ]
}

A list too large to return inline comes back as { "type": "s3", "url": "..." } instead. Download the JSON from url within about 15 minutes.

Query Parameters

All query parameters are optional.

  • variationId (UUID) — Only return the products of this variation's offer. A variation that isn't on the experience returns 404, the same as an experience your store doesn't have.

Important Notes

  • An offer applies only to the products listed for it. A variation whose offer has no entries covers every product.
  • set is buy for the products the offer applies to. On a Buy X Get Y offer with bxgyGetProductScope list, get entries are the products shoppers get at the discount.
  • Each entry's id, set, and variants are what an offer's products take on POST /experiences and PUT /experiences/{experienceId}, so you can edit a list read here and send it back. Titles and prices are read from your store's catalog when you save, so they don't need to be sent.
  • A variant marked exclude is left out of the offer. A product listed with every variant excluded isn't possible: leave the product out instead.
  • A variant deleted in Shopify can still be listed here. Sending it back is fine: the save drops it. A product deleted in Shopify has to be left out of the list you send back.

Rate Limit: 50 requests per 30s window, refilling 25 tokens every 30s.

get/v25-10-beta/experiences/{experienceId}/offer-products

Request

Path parameters

experienceIdstring uuid required

The experience whose offer products to list.

Query parameters

variationIdstring uuid

Only return the products of this variation's offer. Leave it out for every variation. A variation that isn't on the experience is a 404.

Response

OK

OR

Changes

No recorded changes to this operation across all 1 revision of this API.