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

# Get a product

> Retrieve a single BrandWallet product by id.

```http theme={null}
GET $BASE_URL/v1/products/{id}
```

**Returns the details of a single product.**

> **Auth:** `Authorization: Bearer <accessToken>` — an organization-scoped token from [Authentication](/api/authentication). Requesting a product that belongs to another organization returns `auth_error` (400).

### Path parameters

| Parameter | Type | Description |
| - | - | - |
| `id` | string | Product id (UUID). |

### Example

```bash theme={null}
curl --request GET \
  --url "$BASE_URL/v1/products/1f64ec1b-445e-4762-a8c3-0d1e6d75afe6" \
  --header 'Authorization: Bearer <accessToken>'
```

### Response

```json theme={null}
{
  "id": "1f64ec1b-445e-4762-a8c3-0d1e6d75afe6",
  "name": { "TR": "Latte", "EN": "Latte" },
  "organization": "07f84834-1184-4eb6-82f5-7eda13231fc3",
  "categories": [],
  "tags": [],
  "price": 120,
  "status": 1,
  "sku": "LATTE-M",
  "opaqueId": "pos-item-9001",
  "createdAt": "2026-09-18T08:24:08.415Z",
  "updatedAt": "2026-09-18T08:24:08.415Z"
}
```

Notes:

* An unknown or deleted (`status: -99`) id returns `entity_not_found` (400) — deleted products cannot be read.
* Optional fields that have no value are omitted from the response — do not expect `null`.
