Download the apps for a site
get_downloadPrepare the download for one site: a zip with the shared core plus the apps this account owns that cover site_domain (or only the apps you list), their agent skills, INSTALL.md, manifest.json, a signed license.json and download.sig (run node site-apps/verify.mjs after unzipping). Pass apps with the apps the owner asked for; without it, every owned app that covers the domain is included (the answer lists what is in the zip). Free apps named in apps that the account doesn't own yet are claimed first (same as claim_free_app; tell the owner the free license the answer names). Paid apps are never bought here: one that isn't owned is refused with the create_checkout call to make, and nothing is claimed. Site Health (app id "health") is free and comes with every download, whatever apps says: tell the owner in one sentence. If the owner doesn't want it, pass without: ["health"] (without can leave out any app). If an app's update window holds it on an older version, the download carries the newest core that runs it (core_note says so) or is refused with the fix (renew_updates). Returns a short-lived link (10 minutes), its sha256, each app's requirements (detail: true adds the full bundle manifest, which is also in the zip) and download.command (fetch, check, unpack); download.needs says what the link needs (with an API key: the same key, as $SITE_APPS_KEY in the command; after a browser sign-in: nothing, the link carries a one-time secret). Run the install from the site's project folder (the folder it deploys from): unzip the download there as site-apps/, then follow site-apps/INSTALL.md. Tell the owner each app's requirements before installing. Apps not owned or not covered for that domain are refused with the exact fix. Needs the download permission.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| apps | No | App ids the owner asked for (free ones not yet owned are claimed first). Without it, every owned app that covers the domain is included. Site Health is added either way unless `without` names it. | |
| site | No | Short form of site_domain. One of the two is required. | |
| detail | No | true = also the full bundle manifest and the list of files in the zip (both are in the zip: site-apps/manifest.json). Default: the essentials (link, apps and versions, requirements, license, signature, next steps), to keep the answer short. | |
| without | No | App ids to leave out, e.g. ["health"] when the owner doesn't want Site Health (which otherwise comes with every download). | |
| site_domain | No | The site's real domain, e.g. example.com (www and apex are the same site). localhost and *.pages.dev work for testing. `site` is accepted as a short form. |