v3

latestOpenAPI 3.1.02026-07-31550239.5 KB
Related

Releases semantically similar to an anchor release

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.

get/related/releases

Query parameters

releasestring required

Anchor release id (rel_…).

scope'org' | 'global'

Restrict candidates to the anchor's org, or run unscoped.

limitinteger

Max neighbors to return. Clamped to 1–25.

excludeOrgstring

Org slug to drop from results before slicing. Used by the global rail to avoid overlap with an org-scoped rail rendered alongside it.

Response

Successful or degraded neighbor list.

OR