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

# Pharmacy SKUs

> Manage pharmacy SKU stock levels and pricing

# Pharmacy SKUs

View and update your pharmacy's product stock levels, pricing, and external system IDs.

## List SKUs

```bash theme={null}
GET /v1/external_pharmacy_api/pharmacy_skus/
```

<ParamField query="page" type="integer" default="0">
  Page number (0-indexed)
</ParamField>

<ParamField query="limit" type="integer" default="50">
  Items per page (max 200)
</ParamField>

<ParamField query="pharmacy_uid" type="string">
  Required for group-wide API keys
</ParamField>

### Response

```json theme={null}
{
  "data": [
    {
      "uid": "psku-abc123",
      "external_id": "EXT-001",
      "price": 1299,
      "stock": 50,
      "pharmacy": "pharmacy-123",
      "sku": {
        "uid": "sku-456",
        "display_name": "Medication X 100mg",
        "pzn": "12345678",
        "product_uid": "prod-789",
        "product_display_name": "Medication X",
        "standard_selling_unit": 10.0,
        "unit": "g",
        "product_handle": "medication-x",
        "digital": false
      },
      "created_at": 1716200000,
      "updated_at": 1716203600,
      "deleted_at": null
    }
  ],
  "totalRegistries": 150,
  "totalPages": 3
}
```

<Note>
  The `price` field is in **euro cents** (e.g., `1299` = €12.99).
</Note>

<Note>
  **Hidden SKU types:** Your account may be configured to hide SKUs of a particular type (digital or physical). SKUs of a hidden type are automatically excluded from this listing — they will not appear in the `data` array and are not counted in `totalRegistries`. This setting is off by default and is configured by your rxscale administrator. If you believe SKUs are missing from your listing, contact rxscale support.
</Note>

## Update SKU

<Warning>
  If your account is configured to hide a SKU type, any attempt to update a pharmacy SKU of that hidden type — via `PATCH /pharmacy_skus/{uid}`, `PATCH /pharmacy_skus/{uid}/stock`, or `PATCH /pharmacy_skus/{uid}/external_id` — returns `404 Not Found`. Check that the SKU appears in your `GET /pharmacy_skus` listing before attempting to update it.
</Warning>

Update price, stock, and/or external\_id for a pharmacy SKU.

```bash theme={null}
PATCH /v1/external_pharmacy_api/pharmacy_skus/{pharmacy_sku_uid}
```

### Request Body

All fields are optional — include only the fields you want to update.

```json theme={null}
{
  "price": 1499,
  "stock": 25,
  "external_id": "EXT-002"
}
```

## Update Stock Only

A convenience endpoint to update only the stock level.

```bash theme={null}
PATCH /v1/external_pharmacy_api/pharmacy_skus/{pharmacy_sku_uid}/stock
```

```json theme={null}
{
  "stock": 100
}
```

## Update External ID

Link a pharmacy SKU to your external system.

```bash theme={null}
PATCH /v1/external_pharmacy_api/pharmacy_skus/{pharmacy_sku_uid}/external_id
```

```json theme={null}
{
  "external_id": "YOUR-SYSTEM-ID"
}
```
