---
title: "List all versions for a product"
method: GET
path: "/v1/products/{productId}/versions"
tags: ["Energy catalog"]
---

# List all versions for a product

`GET /v1/products/{productId}/versions`

## Request

- Base URL: `https://open-energie.api.vwala.be`
- URL: `https://open-energie.api.vwala.be/v1/products/{productId}/versions`
- Auth: API key in header `x-api-key`
- TypeScript: <https://skmtc.dev/vwala/apis/energy-platform-api/docs/v1/products/:productId/versions/get.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `productId` string, required

## Response `200`

Default Response

- object
  - `id` string, required
  - `productName` string, required
  - `energyType` 'ELECTRICITY' | 'GAS', required
  - `priceModel` 'FIXED' | 'VARIABLE' | 'DYNAMIC', required
  - `subType` string, nullable, required
  - `serviceArea` object, required
    - `country` string, required: ISO 3166-1 alpha-2 country code (e.g. BE)
    - `region` 'Flanders' | 'BrusselsCapitalRegion' | 'Wallonia', required
  - `characteristics` object, required
    - `directDebitOnly` boolean, nullable, required
    - `emailInvoiceOnly` boolean, nullable, required
    - `onlineServiceOnly` boolean, nullable, required
    - `greenEnergy` boolean, nullable, required
    - `greenEnergyAndLocal` boolean, nullable, required
    - `contractDuration` '1 year' | '2 years' | '3 years' | '4 years' | '5 years' | '10 years' | 'UNDETERMINED', nullable, required
    - `priceCertaintyPeriod` 'none' | '1 month' | '2 months' | '3 months' | '4 months' | '5 months' | '6 months' | '7 months' | '8 months' | '9 months' | '10 months' | '11 months' | '1 year' | '2 years' | '3 years' | '4 years' | '5 years' | '10 years', nullable, required
    - `onlyForClientWithSolar` boolean, nullable, required
    - `onlyForClientWithEV` boolean, nullable, required
    - `includesSolarPanels` boolean, nullable, required
    - `includesChargingStation` boolean, nullable, required
    - `groupPurchase` boolean, nullable, required
    - `cooperative` boolean, nullable, required
  - `conditions` object[], required: Special conditions / fine print (Bijzondere voorwaarden) attached to the product.
    - `title` string, required
    - `description` string, nullable, required
  - `merchant` Merchant, required: Energy merchant offering electricity and/or gas products
    - `id` string, uuid, required: Unique identifier (UUID) for the merchant
    - `canonicalName` string, required: Stable identifier derived from the merchant's display name (camelCase, e.g. "engie" or "boltEnergie"). Unique per merchant.
    - `displayName` string, required: The merchant's display name
    - `website` string, uri, nullable, required: Merchant website URL
    - `hasNativeApp` boolean, nullable, required: Whether the merchant offers a native mobile app
    - `cooperative` boolean, nullable, required: Whether the merchant is a cooperative
    - `automatedSwitch` boolean, required: Whether Vwala can switch to this merchant automatically via an API integration (i.e. the merchant is an integration partner), rather than a manual or redirect submission.
    - `vregServicecheckRating` integer, nullable, required: VREG servicecheck rating, from 1 to 5 stars.
    - `vregComplaintsPerThousand` number, nullable, required: VREG complaints per 1000 customers.
    - `country` string, required: ISO 3166-1 alpha-2 country code (e.g. BE)
  - `usps` object[], required: Unique selling points (marketing highlights).
    - `label` string, required
    - `description` string, nullable, required
  - `versions` object[], required
    - `id` string, required
    - `versionDate` string, required: Year and month in YYYY-MM format (e.g. 2026-02)
    - `tariffCardUrl` string, uri, nullable, required

## Other responses

- `404`: Default Response

## Changes

- **2026-10-03** `69118612e1fe`: 1 warning
  - added the new `Wallonia` enum value to the `serviceArea/region` response property for the response status `200`
- **2026-09-22** `1673faf11a0f`: 16 breaking, 16 info
  - the response property `characteristics/cooperative` became nullable for the status `200`
  - the response property `characteristics/directDebitOnly` became nullable for the status `200`
  - the response property `characteristics/emailInvoiceOnly` became nullable for the status `200`
  - the response property `characteristics/greenEnergy` became nullable for the status `200`
  - …28 more
- **2026-09-03** `eafafa285157`: 1 warning
  - added the new `BrusselsCapitalRegion` enum value to the `serviceArea/region` response property for the response status `200`

[Operation history](https://skmtc.dev/vwala/apis/energy-platform-api/changes/v1/products/:productId/versions/get.md)

---

[API](https://skmtc.dev/vwala/apis/energy-platform-api.md) - [All operations](https://skmtc.dev/vwala/apis/energy-platform-api/llms.txt) - [OpenAPI document](https://skmtc.dev/vwala/apis/energy-platform-api/revisions/69118612e1fe?raw)
