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

# Enable Marketplace Product

> Mark a marketplace product as visible within your workspace catalog.

## Method

`POST` `/v1/marketplace/products/:productId/enable`

Requires the `catalog:write` scope and workspace context.

## Path Parameters

<ParamField path="productId" type="string" required>Marketplace product ID to expose.</ParamField>

## Headers

<ParamField header="Authorization" type="string" required>Bearer token (e.g. <code>Authorization: Bearer YOUR\_API\_KEY</code>)</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST "https://api.voyantcloud.com/v1/marketplace/products/mp_prod_citybreaks_rome/enable" \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```

  ```javascript Node.js theme={null}
  const res = await fetch("https://api.voyantcloud.com/v1/marketplace/products/mp_prod_citybreaks_rome/enable", {
    method: "POST",
    headers: { Authorization: `Bearer ${process.env.VOYANT_API_KEY}` },
  })
  const body = await res.json()
  ```

  ```python Python theme={null}
  import os, requests

  resp = requests.post(
    "https://api.voyantcloud.com/v1/marketplace/products/mp_prod_citybreaks_rome/enable",
    headers={"Authorization": f"Bearer {os.environ['VOYANT_API_KEY']}"},
  )
  data = resp.json()
  ```
</RequestExample>

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "ok": true,
    "entry": {
      "workspace_id": "ws_a1b2c3",
      "provider_product_id": "mp_prod_citybreaks_rome",
      "visibility": "visible"
    }
  }
  ```
</ResponseExample>

<Note>
  The endpoint is idempotent. Re-enabling an already visible product simply updates the existing
  <code>marketplace.workspace\_provider\_entries</code> row.
</Note>

<Warning>
  This endpoint is not available in sandbox workspaces. Attempting to enable marketplace products in sandbox mode will return a 403 error.
</Warning>
