---
title: Get product detail
description: 'Resolves by slug or prod_… ID on the bare path, or by org-scoped slug pair.'
---
# Get product detail

## GET /products/{identifier}

`GET https://api.releases.sh/v1/products/{identifier}`

Resolves by slug or `prod_…` ID on the bare path, or by org-scoped slug pair. Returns the product row plus its sources, tags, and domain aliases.

**Auth:** optional Bearer token.

**Parameters**

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `identifier` | path | string | yes |  |

**Responses**

- `200` Product detail with sources, tags, and aliases
- `400` Bare slug supplied on `/products/:identifier` (#698 — use the org-scoped path or `/v1/lookups/product-by-slug`)
- `404` Product not found

## GET /orgs/{orgSlug}/products/{productSlug}

`GET https://api.releases.sh/v1/orgs/{orgSlug}/products/{productSlug}`

Resolves by slug or `prod_…` ID on the bare path, or by org-scoped slug pair. Returns the product row plus its sources, tags, and domain aliases.

**Auth:** optional Bearer token.

**Parameters**

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `orgSlug` | path | string | yes |  |
| `productSlug` | path | string | yes |  |

**Responses**

- `200` Product detail with sources, tags, and aliases
- `400` Bare slug supplied on `/products/:identifier` (#698 — use the org-scoped path or `/v1/lookups/product-by-slug`)
- `404` Product not found

Full request and response schemas: [OpenAPI 3.1 spec](https://api.releases.sh/v1/openapi.json).
