Releases Index
Collection release feed
View .md

Interleaved release feed across a collection's members

GET
/collections/{slug}/releases

Cursor-paginated cross-member feed for the collection. Cursor shape and ordering match /v1/orgs/:slug/releases, so the same web parser works on both surfaces. Org members are resolved through organizations_public, product members through products_active, so soft-deleted / on_demand rows never contribute releases. Empty membership returns releases: [] rather than an error.

orgs and products query params each accept a comma-separated list of slugs and narrow the feed to that subset of the collection's members. Unknown slugs are silently dropped; passing values that resolve to an empty member set returns releases: []. Omit both to include every member.

Supports Accept: text/markdown for an LLM-friendly rendering.

Authorization

bearerAuth
headerAuthorizationBearer <relk_… | relu_… | OAuth JWT>

Machine/operator tokens use the relk_ prefix; self-serve read-only user keys use relu_; Sign in with Releases supplies an OAuth access token. Required scope depends on the endpoint.

Path Parameters

slug*string

Collection slug.

Query Parameters

limit?integer

Page size. Clamped to 1–100.

Range1 <= value <= 100
Default20
cursor?string

Opaque pagination cursor returned by a prior call.

include_prereleases?boolean

Include rows flagged as prereleases. Defaults to false.

orgs?string

Comma-separated org slugs to narrow the feed to a subset of the collection's org members.

products?string

Comma-separated product slugs to narrow the feed to a subset of the collection's product members. Product slugs are per-org; ambiguity is resolved by the membership of this specific collection.

source_type?string

Comma-separated source types (github, feed, scrape, agent) to narrow the feed by ingest channel — typically used by the web UI to split GitHub tag drops from marketing posts. Unknown tokens are silently dropped. Omit to include all source types.

Response Body

Cursor-paginated release feed.

application/json
  1. response
releases*array<>
pagination*
Example Request
curl -X GET 'https://api.releases.sh/v1/collections/string/releases'
Example Response
{  "releases": [    {      "id": "string",      "version": "string",      "title": "string",      "summary": "string",      "content": "string",      "publishedAt": "string",      "fetchedAt": "string",      "url": "string",      "media": [        {          "type": "image",          "url": "string",          "alt": "string",          "r2Key": "string",          "r2Url": "string",          "linkUrl": "string"        }      ],      "type": "feature",      "prerelease": true,      "titleGenerated": "string",      "titleShort": "string",      "breaking": "unknown",      "importance": 1,      "coverageCount": 0,      "contentChars": 0,      "contentTokens": 0,      "composition": {        "bugs": 0,        "features": 0,        "enhancements": 0      },      "source": {        "slug": "string",        "name": "string",        "type": "string"      },      "org": {        "slug": "string",        "name": "string"      },      "product": {        "slug": "string",        "name": "string"      },      "groupSlug": "string",      "groupName": "string"    }  ],  "pagination": {    "nextCursor": "string",    "limit": 1  }}