---
title: "Resolve a bare product slug to its canonical org-scoped home"
method: GET
path: "/lookups/product-by-slug"
tags: ["Lookups"]
---

# Resolve a bare product slug to its canonical org-scoped home

`GET /lookups/product-by-slug`

## Request

- Base URL: `https://api.releases.sh`
- URL: `https://api.releases.sh/lookups/product-by-slug`
- Auth: none declared

Same semantics as `/v1/lookups/source-by-slug` but for products. Returns `{ productId, productSlug, orgSlug }` when one org owns the slug, with `Sunset: Sun, 01 Nov 2026 00:00:00 GMT`. A slug owned by more than one org returns 409 with `details.candidates` (#2525).

## Query parameters

- `slug` string, required

## Response `200`

Canonical home for the slug

- object
  - `productId` string, required
  - `productSlug` string, required
  - `orgSlug` string, required

## Other responses

- `400`: Missing `slug` query parameter
- `404`: No product matches the slug
- `409`: Slug matches more than one org

## Changes

- **2026-10-15** `f86d09dc368e`: 1 info
  - added the non-success response with the status `409`
- **2026-08-25** `c3a92b6b6909`: 2 warning
  - added the new `too_large` enum value to the `error/type` response property for the response status `400`
  - added the new `too_large` enum value to the `error/type` response property for the response status `404`

[Operation history](https://skmtc.dev/releases/apis/releases-api/changes/lookups/product-by-slug/get.md)

---

[API](https://skmtc.dev/releases/apis/releases-api.md) · [All operations](https://skmtc.dev/releases/apis/releases-api/llms.txt) · [OpenAPI document](https://skmtc.dev/releases/apis/releases-api/revisions/f86d09dc368e?raw)
