---
title: "Get source detail"
method: GET
path: "/sources/{slug}"
tags: ["Sources"]
---

# Get source detail

`GET /sources/{slug}`

Resolves by slug or `src_…` ID on the bare path, or by org-scoped slug pair. Cursor-paginated `releases` array (`?cursor=` opaque cursor from a prior response's `pagination.nextCursor`, `?limit=` capped at 100); `?include_coverage=true` exposes coverage rows; `?include_prereleases=true` includes pre-release entries.

## Path parameters

- `slug` string, required

## Response `200`

Source detail with paginated releases

- object
  - `id` string, required
  - `slug` string, required
  - `name` string, required
  - `type` 'github' | 'scrape' | 'feed' | 'agent' | 'appstore' | 'video', required
  - `url` string, required
  - `orgId` string, nullable, required
  - `productId` string, nullable, required
  - `productSlug` string, nullable, required
  - `isHidden` boolean, required
  - `discovery` 'curated' | 'agent' | 'on_demand'
  - `isPrimary` boolean, required
  - `metadata` string, required
  - `changelogUrl` string, nullable
  - `hasChangelogFile` boolean
  - `org` object, nullable, required
    - `id` string, required
    - `slug` string, required
    - `name` string, required
  - `releaseCount` integer, required
  - `releasesLast30Days` integer, required
  - `avgReleasesPerWeek` number, required
  - `latestVersion` string, nullable, required
  - `latestDate` string, nullable, required
  - `lastFetchedAt` string, nullable, required
  - `lastPolledAt` string, nullable, required
  - `changeDetectedAt` string, nullable
  - `trackingSince` string, required
  - `releases` object[], required
    - `id` string
    - `version` string, nullable, required
    - `title` string, required
    - `summary` string, required
    - `content` string
    - `publishedAt` string, nullable, required
    - `fetchedAt` string
    - `url` string, nullable, required
    - `media` object[]
      - `type` 'image' | 'video' | 'gif', required
      - `url` string, required
      - `alt` string
      - `r2Key` string
      - `r2Url` string
      - `linkUrl` string
    - `type` 'feature' | 'rollup'
    - `prerelease` boolean
    - `titleGenerated` string, nullable
    - `titleShort` string, nullable
    - `breaking` 'unknown' | 'none' | 'minor' | 'major'
    - `importance` integer, nullable
    - `coverageCount` integer
    - `contentChars` integer, nullable
    - `contentTokens` integer, nullable
    - `composition` object, nullable
      - `bugs` integer, required
      - `features` integer, required
      - `enhancements` integer, required
  - `pagination` object, required
    - `nextCursor` string, nullable, required
    - `limit` integer, required
  - `summaries` object, required
    - `rolling` object, nullable, required
      - `year` integer, nullable
      - `month` integer, nullable
      - `windowDays` integer, nullable
      - `summary` string, required
      - `releaseCount` integer, required
      - `generatedAt` string, required
    - `monthly` object[], required
      - `year` integer, nullable
      - `month` integer, nullable
      - `windowDays` integer, nullable
      - `summary` string, required
      - `releaseCount` integer, required
      - `generatedAt` string, required
  - `kind` 'platform' | 'sdk' | 'mobile' | 'desktop' | 'docs' | 'integration' | 'tool', nullable
  - `stars` integer, nullable
  - `starsFetchedAt` string, nullable
  - `notice` object, nullable
    - `message` string, required
    - `linkText` string
    - `coordinate` string
    - `href` string, uri

## Other responses

- `404` — Source not found

---

[API](https://skmtc.net/releases/apis/releases-api.md) · [All operations](https://skmtc.net/releases/apis/releases-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/releases/releases-api/revisions/168e32061f53/schema)
