man distribution-api

developer api

distribute and update kod.systems apps programmatically.

the apps.kod.systems distribution api lets client apps check for updates, download packages, and retrieve release metadata.

echo $API_BASE
https://apps.kod.systems/api/v1/distribution
ls endpoints/

GET /apps

list all apps. optional ?platform=android filter.

GET /apps/{appId}/latest

latest release for an app on a specific platform. query: ?platform=android

POST /check-update

check whether an update is available for an installed app.

{
  "appId": "kod-notes",
  "currentVersion": "1.2.0",
  "currentBuildNumber": 10200,
  "platform": "android"
}

GET /apps/{appId}/manifest

manifest for a specific app version and platform. query: ?platform=android&version=1.3.0

GET /releases

all releases, optionally filtered. query: ?appId=kod-notes&platform=android

man black-update-feed

black expects a specific json feed format and numeric dot-segment version comparison. the feed is also exposed on a per-app custom path.

GET /api/v1/distribution/apps/black/updates.json

black-compatible update feed.

{
  "version": "1.1.0",
  "build": "2",
  "downloadURL": "https://cdn.kod.systems/apps/black/1.1.0/Black.dmg",
  "releaseNotes": "Improved stability and new keyboard shortcuts."
}

GET /black/updates.json

per-app custom update feed path for black. configure black's UpdateChecker.swift to point here.

black's bundle identifier must remain systems.kod.black, and the artifact must be a signed .dmg, .pkg, or .zip suitable for macos 14.0+.

swagger-ui --dev
open /swagger
An unhandled error has occurred. Reload 🗙