> ## 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.

# Get Lodging Link

> Retrieve the lodging link and property override for a product.

## Method

`GET` `/v1/products/:id/lodging`

## Path Parameters

<ParamField path="id" type="uuid">Product ID that owns the lodging link.</ParamField>

## Headers

<ParamField header="Authorization" type="string">Bearer token (requires `products:read`).</ParamField>

## Request Example

<RequestExample>
  ```bash cURL theme={null}
  curl "https://api.voyantcloud.com/v1/products/prod_123/lodging" \
    -H "Authorization: Bearer $VOYANT_API_KEY"
  ```

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

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

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

## Response

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "data": {
      "link": {
        "id": "pll_001",
        "productId": "prod_123",
        "propertyId": "prop_987",
        "departureId": null,
        "ratePlanId": null,
        "roomTypeId": null,
        "active": "true"
      },
      "override": {
        "id": "plo_001",
        "name": "Voyant Athens Hotel",
        "shortDescription": "Boutique stay near Syntagma Square",
        "description": "Enjoy central Athens with curated experiences.",
        "mediaSetRef": "media_set_123",
        "amenityKeys": ["wifi", "breakfast"],
        "currency": "EUR",
        "priceStrategy": "absolute",
        "priceAmountMinor": 18900,
        "priceReferenceRatePlanId": null,
        "cancellationPolicyId": "pol_456",
        "depositPolicyId": null
      }
    }
  }
  ```
</ResponseExample>

<Tip>
  If the product is not linked to a property, the response returns `{ "data": { "link": null, "override": null } }`.
</Tip>
