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

# Get a product

> Full details of one of your products, looked up by slug, public id, or ObjectId.

Returns one product from your catalog. The lookup only searches **your own studio's** products, a valid slug belonging to another studio returns `404`.

<Info>
  **Tier:** Free, any studio key.
</Info>

## Request

```bash theme={null}
curl https://nmcrate.com/api/public/v1/studio/products/dungeon-pack \
  -H "x-api-key: nmk_studio_..."
```

### Path parameters

| Parameter | Type   | Description                                 |
| --------- | ------ | ------------------------------------------- |
| `slug`    | string | Product slug, public id, or Mongo ObjectId. |

## Response

```json theme={null}
{
  "product": {
    "id": "prod_8f3a2c",
    "slug": "dungeon-pack",
    "name": "Dungeon Pack",
    "shortDescription": "50 rooms of doom.",
    "description": "Long-form description…",
    "category": "plugin",
    "tags": ["dungeon", "adventure"],
    "price": 14.99,
    "currency": "USD",
    "isPaid": true,
    "license": "Proprietary",
    "imageUrl": "https://cdn.example.com/dungeon.png",
    "imageUrls": ["https://cdn.example.com/shot-1.png"],
    "currentVersion": "2.1.0",
    "downloadCount": 5321,
    "rating": 4.8,
    "ratingCount": 96,
    "minecraftVersion": { "min": "1.19", "max": "1.21" },
    "modelCompatibility": [],
    "createdAt": "2025-11-02T10:20:00.000Z",
    "updatedAt": "2026-06-30T08:12:00.000Z",
    "url": "/products/dungeon-pack",
    "status": "published",
    "isPublic": true,
    "isArchived": false
  }
}
```

## Errors

| HTTP | Code        | When                                                |
| ---- | ----------- | --------------------------------------------------- |
| 404  | `NOT_FOUND` | No product with that identifier in **this** studio. |
