---
title: Get release by ID
description: Returns a single release by its typed rel_… ID.
---
# Get release by ID

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

Returns a single release by its typed `rel_…` ID. Suppressed and coverage-side rows are excluded via the `releases_visible` view — they return 404. The `content` field has CDN-origin media URLs rewritten in-place; the `media` array is parsed from the raw D1 JSON. Accepts `Accept: text/markdown` to receive the release formatted as Markdown. Accepts the friendly `rel_…-<slug>` URL segment form — the trailing slug is ignored for lookup. The response includes `webUrl`, the canonical releases.sh detail-page URL (Zendesk-style: ID + current title slug).

**Auth:** optional Bearer token.

**Parameters**

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

**Responses**

- `200` Release detail
- `404` Release not found (or suppressed / coverage-only)

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