Back to documentation

Developers

Desktop API

Public endpoints the desktop app uses for version checks and installer downloads. Authenticated desktop routes are client-only and not documented here.

Overview

DroboAI Desktop checks for updates on launch. The bootstrap installer calls our version manifest, compares semver, and downloads the latest payload when a newer release is published.

Human-readable release notes live on the Changelog page.

Public version manifests

GET /api/desktop/version

Latest published Windows manifest. Returns JSON with fields such as:

  • platformwin
  • availabletrue when a release exists
  • version — semver string
  • channel — e.g. stable
  • released_at — ISO timestamp
  • bootstrap_url — installer download path
  • payload_url, payload_sha256, payload_size — encrypted app payload
  • changelog — array of release bullet strings

Returns 503 with {"error": "No release published yet."} when no manifest is available. Responses use Cache-Control: no-store.

GET /api/desktop/version/mac

Latest published macOS manifest. Same shape as Windows, plus bootstrap_sha256 and bootstrap_size when applicable.

Returns 503 with available: false when no macOS release is published yet.

Installers

  • GET /downloads/desktop/DroboAI-Setup.exe — Windows bootstrap (when published)
  • GET /downloads/desktop/DroboAI.dmg — macOS disk image (when published)
  • GET /download — human download page with platform cards

Authenticated desktop routes

After sign-in, the app uses /api/desktop-auth/* for session tokens, config sync, GPT listing copy, and relay commands. These require a valid desktop auth token tied to your account — they are not public APIs and may change without notice.

Do not embed or share desktop auth tokens in third-party integrations.

Listing backup (/api/desktop-auth/listing-backup/*)

Listing inventory is stored per eBay account slug in ebay_listing_backups/{slug}. Desktop syncs local config.json rows with this store.

  • GET …/listing-backup/status?slug= — row count, storage mode (inline or chunked), last updated
  • GET …/listing-backup/pull?slug= — download all listing rows for that eBay account
  • POST …/listing-backup/push — upsert row(s); body includes slug, name, and rows or a single row

User-facing behavior is documented on the Listings help page.

Need help with installs or updates? See Troubleshooting or email [email protected].

Related guides