---
title: "List releases"
method: GET
path: "/releases"
tags: ["Releases"]
---

# List releases

`GET /releases`

## Request

- Base URL: `https://yappy.biz/api/v1`
- URL: `https://yappy.biz/api/v1/releases`
- Auth: one of:
  - none
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://yappy.biz/oauth/authorize`, token URL `https://yappy.biz/oauth/token`; client credentials, token URL `https://yappy.biz/oauth/token`, scopes: `read:releases`)

Yappy's release history for macOS, newest first, cursor-paginated. Each entry carries the version, publication date, human-readable notes, and a download URL. Use this to answer 'what changed recently'; use /releases/latest when you only need the current version.

## Query parameters

- `limit` integer
- `cursor` string

## Response `200`

A page of releases

- ReleaseList: A cursor-paginated page of release entries.
  - `object` 'list', required: Type discriminator.
  - `data` Release[], required: This page of items.
    - `object` 'release', required: Type discriminator.
    - `version` string, required: Semantic version.
    - `published_at` string, date, required: Publication date.
    - `notes` string, required: What changed, in prose.
    - `download_url` string, uri, required: Direct download for this build.
    - `platform` Platform, required: The floor a release requires.
      - `os` string, required: Operating system name.
      - `min_version` string, required: Lowest supported OS version.
      - `arch` 'arm64', required: Required CPU architecture.
    - `is_latest` boolean: Whether this is the current release.
    - `sandbox` boolean: Present and true on sandbox fixtures.
  - `pagination` Pagination, required: Cursor pagination. When has_more is false, next_cursor is null.
    - `limit` integer, required: How many items this page holds at most.
    - `has_more` boolean, required: Whether another page exists.
    - `next_cursor` string, nullable, required: Opaque cursor for the next page, or null.
    - `next_url` string, uri, nullable: Fully-formed URL for the next page, or null.
  - `total` integer: How many items exist in total.

## Other responses

- `400`: The request was malformed
- `401`: The supplied credential is missing, expired, or invalid
- `403`: The credential is valid but lacks the required scope
- `429`: Too many requests
- `500`: Unexpected server error
- `503`: A dependency was unavailable

---

[API](https://skmtc.dev/yappy/apis/yappy-web-api.md) · [All operations](https://skmtc.dev/yappy/apis/yappy-web-api/llms.txt) · [OpenAPI document](https://skmtc.dev/yappy/apis/yappy-web-api/revisions/02b27cd526a7?raw)
