Back to Eliza

Self-Update API

packages/docs/rest/update.md

2.0.13.9 KB
Original Source

The update API lets you check for new Eliza versions and switch between release channels (stable, beta, nightly). It reports the current version, installation method, available updates across all channels, and the local authority that is allowed to apply the update.

<Warning> The REST API is status-only for updates. It does not expose a remote endpoint that runs package-manager, OS package-manager, or Git commands on the host. </Warning>

Endpoints

MethodPathDescription
GET/api/update/statusCheck for updates and get version info
PUT/api/update/channelSwitch the release channel

GET /api/update/status

Returns the current version, whether an update is available, and the latest version for each release channel. Pass ?force=true to bypass the cache and check the registry directly.

Query Parameters

ParameterTypeDescription
forcebooleanForce a fresh check (bypasses cache)

Response

json
{
  "currentVersion": "0.8.2",
  "channel": "stable",
  "installMethod": "npm-global",
  "updateAuthority": "package-manager",
  "nextAction": "run-package-manager-command",
  "canAutoUpdate": true,
  "canExecuteUpdate": false,
  "remoteDisplay": true,
  "updateCommand": "npm install -g elizaos@latest",
  "updateInstructions": "This is a remote status view. Run \"npm install -g elizaos@latest\" on the host; no remote execution endpoint is exposed.",
  "updateAvailable": true,
  "latestVersion": "0.9.0",
  "channels": {
    "stable": "0.9.0",
    "beta": "0.10.0-beta.3",
    "nightly": "0.10.0-nightly.20250601"
  },
  "distTags": {
    "stable": "latest",
    "beta": "beta",
    "nightly": "nightly"
  },
  "lastCheckAt": "2025-06-01T12:00:00.000Z",
  "error": null
}
FieldTypeDescription
currentVersionstringCurrently running version
channelstringActive release channel (stable, beta, or nightly)
installMethodstringHow Eliza was installed (npm-global, bun-global, homebrew, apt, snap, flatpak, local-dev, or unknown)
updateAuthoritystringWho owns update execution (package-manager, os-package-manager, developer, or operator)
nextActionstringRecommended local action (run-package-manager-command, run-git-pull, review-installation, or none)
canAutoUpdatebooleanWhether the local CLI updater has a command path for this install method
canExecuteUpdatebooleanWhether this request context may execute the update. Remote status views return false because no remote execution endpoint exists.
remoteDisplaybooleantrue when the request is a remote display of host status rather than a trusted local request
updateCommandstring|nullHuman-readable command to run on the host, or git pull for local development checkouts
updateInstructionsstringHuman-readable next-step guidance
updateAvailablebooleanWhether a newer version exists for the current channel
latestVersionstring|nullLatest version available for the current channel
channelsobjectLatest version for each channel
distTagsobjectnpm dist-tag mapping for each channel
lastCheckAtstring|nullISO timestamp of the last update check
errorstring|nullError message if the check failed

PUT /api/update/channel

Switch the active release channel. Clears the cached check so the next status request will fetch fresh data.

Request Body

FieldTypeRequiredDescription
channelstringYesstable, beta, or nightly
json
{
  "channel": "beta"
}

Response

json
{
  "channel": "beta"
}

Errors

StatusCondition
400Invalid channel value