---
title: List sources
description: >-
  Returns a bare array by default; pass ?envelope=true for the paginated {items,
  pagination} shape.
---
# List sources

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

Returns a bare array by default; pass `?envelope=true` for the paginated `{items, pagination}` shape. Filter by `?orgId=`, `?orgSlug=`, `?slug=` (exact source slug — one row per org that has a source with this slug, for detecting an ambiguous bare slug across orgs; distinct from the `?q=` substring search), `?productSlug=`, `?type=`, `?has_feed=`, `?stale=`, `?category=`, `?kind=`, `?independent=true`, `?hasChangelog=false` (sources with no tracked CHANGELOG file), `?minRels30d=N` (sources with at least N visible releases in the last 30 days). Free-text search via `?q=`.

**Auth:** optional Bearer token.

**Parameters**

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `kind` | query | "platform" \| "sdk" \| "mobile" \| "desktop" \| "docs" \| "integration" \| "tool" | no | Filter by entity kind. Direct match on the row's own kind — no inheritance from the parent product. One of: platform, sdk, mobile, desktop, docs, integration, tool. |

**Responses**

- `200` Sources (bare array unless `?envelope=true`)
- `400` Invalid kind value

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