---
title: Releases semantically similar to an anchor release
description: >-
  Pulls the anchor's vector from the RELEASES_INDEX Vectorize index via
  getByIds, then runs a follow-up query with that vector.
---
# Releases semantically similar to an anchor release

`GET https://api.releases.sh/v1/related/releases`

Pulls the anchor's vector from the `RELEASES_INDEX` Vectorize index via `getByIds`, then runs a follow-up `query` with that vector. The anchor itself is always excluded from results. `scope=org` filters by the anchor's org id (Vectorize metadata filter on `org_id`); `scope=global` (default) is unscoped.

**Degrades gracefully:** when the binding is missing, the anchor isn't embedded yet, or Vectorize errors, the response is `{ degraded: true, degradedReason, items: [] }` with HTTP 200 — callers render nothing in that case. `degradedReason` is human-readable and not stable.

**Ranking:** `topK` is over-fetched (`min(max(limit * 10, 50), 100)`), then candidates are ranked server-side by `cosine × recency × contentWeight` and sliced to `limit`. Content-free releases (empty bodies, boilerplate "no changes" notes) are dropped entirely; short-but-real releases are down-weighted; recency uses a 45-day half-life. Items are returned already in display order.

**Auth:** optional Bearer token.

**Parameters**

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `release` | query | string | yes | Anchor release id (`rel_…`). |
| `scope` | query | "org" \| "global" | no | Restrict candidates to the anchor's org, or run unscoped. |
| `limit` | query | integer | no | Max neighbors to return. Clamped to 1–25. |
| `excludeOrg` | query | string | no | Org slug to drop from results before slicing. Used by the global rail to avoid overlap with an org-scoped rail rendered alongside it. |

**Responses**

- `200` Successful or degraded neighbor list.
- `400` Missing `release` query parameter.
- `404` No release matches the supplied id.

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