DOCS LLMs

List Releases

List Releases

Lists available releases for a product.

GET /api/v1/products/{slug}/releases

Note: This endpoint does not require authentication.

Try it in the Interactive API Docs →

When to Use

  • Check for available updates
  • Display version history to users
  • Build auto-update functionality
  • Show release notes

Path Parameters

Parameter Required Description
slug Yes Product slug (e.g., my-app)

Query Parameters

Parameter Required Description
channel No Filter by channel: stable, beta, alpha
platform No Filter by platform: macos, windows, linux
limit No Maximum results to return (default: 10)

Example Request

curl "https://licenseseat.com/api/v1/products/my-app/releases?platform=macos&channel=stable&limit=5"

No authentication required.

Response

{
  "object": "list",
  "data": [
    {
      "object": "release",
      "version": "2.1.0",
      "channel": "stable",
      "platform": "macos",
      "published_at": "2024-01-15T12:00:00Z",
      "release_notes": "Bug fixes and performance improvements"
    },
    {
      "object": "release",
      "version": "2.0.0",
      "channel": "stable",
      "platform": "macos",
      "published_at": "2024-01-01T12:00:00Z",
      "release_notes": "Major update with new features"
    }
  ],
  "has_more": false,
  "next_cursor": null
}

Response Fields

Field Description
data Array of release objects
has_more Whether more results are available
next_cursor Cursor for pagination (if has_more is true)

Release Object

Field Description
version Semantic version string
channel Release channel (stable, beta, alpha)
platform Target platform
published_at Publication timestamp
release_notes Human-readable release notes

Error Codes

Code HTTP Meaning
not_found 404 Product doesn't exist

Auto-Update Pattern

async function checkForUpdate(currentVersion, platform) {
  const response = await fetch(
    `/api/v1/products/my-app/releases?platform=${platform}&channel=stable&limit=1`
  );
  const data = await response.json();

  if (data.data.length > 0) {
    const latest = data.data[0];
    if (isNewerVersion(latest.version, currentVersion)) {
      showUpdateAvailable(latest);
    }
  }
}

See Also