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

# Get Product Details

> Returns the full details for a single product in the store.

# Get Product Details

Returns the complete product information including pricing, description, and availability. Used on the product detail page and in the checkout flow.

## Authentication

No authentication required for public product details.

## Path Parameters

<ParamField path="productId" type="number" required>
  Numeric identifier of the product. Returned as `Id` from the products list.
</ParamField>

## Query Parameters

<ParamField query="_shape" type="string">
  Comma-separated list of field paths to include in the response. When provided, only the
  specified fields are returned — useful for reducing payload size. Supports nested paths
  using dot notation. Example: `_shape=Name,Price,PriceFormatted,Description`.
</ParamField>

## Response

Returns a `Product` object.

<ResponseField name="Id" type="number" required>
  Unique identifier for the product.
</ResponseField>

<ResponseField name="Name" type="string" required>
  Display name of the product.
</ResponseField>

<ResponseField name="Description" type="string">
  Full product description. May contain HTML.
</ResponseField>

<ResponseField name="Price" type="number">
  Unit price.
</ResponseField>

<ResponseField name="PriceCurrencyCode" type="string">
  ISO 4217 currency code.
</ResponseField>

## Examples

### Fetch product details

```http theme={null}
GET /api/public/store/products/33
```

## TypeScript Integration

```typescript theme={null}
import endpoints from '@/api/endpoints'

const { resource: product } = useTypedData(httpClient, endpoints.products.one(33))
```
