Skip to content
flypod
CLI reference

flypod versions

List a flypod site's versions, newest first, marking which one is currently live.

flypod versions lists a site's versions, newest first, with the live one marked.

Synopsis

flypod versions [flags]

The target site is resolved from the folder-to-site link saved on the last deploy, or from --site.

Flags

FlagDescription
--site <id>List versions for a specific site id instead of the linked one.
--token <manage_token>Authorize with a manage_token instead of your session.
--timelineTurn on History for the site, without deploying, then list. --history is the same flag. Here the switch is the point of the run, so a refusal fails the command.
--no-timelineTurn History off, then list. Earlier versions stop being reachable. --no-history is the same flag.
--jsonEmit a single JSON object (see below).
-h, --helpPrint usage and exit.

Examples

List versions for the linked site:

flypod versions
  8f1a0c2e44b7d913  18 Jun 2026 14:22 UTC  ● live
  7c0d19e2a4b35f18  17 Jun 2026 09:11 UTC
  5a92c3d1e07b4a66  15 Jun 2026 18:40 UTC

  expires   19 Oct 2026      in 14 days
  keep it   flypod login     free · removes the expiry

  history   off  flypod versions --timeline turns it on

This table, and the rows under it, go to stderr: it is what a person at a terminal sees.

Piped or redirected, the same list is tab-separated rows on stdout, one per version, which is the form to script against:

flypod versions | cat
8f1a0c2e44b7d913	18 Jun 2026 14:22 UTC	live
7c0d19e2a4b35f18	17 Jun 2026 09:11 UTC	
5a92c3d1e07b4a66	15 Jun 2026 18:40 UTC	

Machine-readable output:

flypod versions --site a3f1c2d4e5b60789 --json
{
  "ok": true,
  "site_id": "a3f1c2d4e5b60789",
  "live_version_id": "8f1a0c2e44b7d913",
  "versions": [
    { "version_id": "5a92c3d1e07b4a66", "created_at": 1781548812000 },
    { "version_id": "7c0d19e2a4b35f18", "created_at": 1781687508000 },
    { "version_id": "8f1a0c2e44b7d913", "created_at": 1781792523000 }
  ],
  "expires_at": 1782929906088,
  "timeline": false,
  "next": {
    "update": "flypod update",
    "versions": "flypod versions",
    "rollback": "flypod rollback",
    "keep": "flypod login --json"
  }
}

Turn on History and see where each version lives:

flypod versions --timeline
  8f1a0c2e44b7d913  18 Jun 2026 14:22 UTC  ● live
  7c0d19e2a4b35f18  17 Jun 2026 09:11 UTC

  history   on  visitors can open earlier versions
  compare   https://a3f1c2d4e5b60789.flypod.page/_flypod/history

With --json, the result then also has "timeline": true, a history_url, and a url on each version (https://<site_id>--<version_id>.flypod.page). timeline is always present; the other two only while History is on.

Notes

  • A tab-separated row is version_id, the date in UTC, then live for the live version and an empty field otherwise.
  • In --json, versions is oldest first and created_at is epoch milliseconds. Each entry also carries the site_id, the version's content_hash, is_spa and page title.
  • The expiry rows appear only for a temporary site. Piped, they go to stderr so stdout stays a clean table; the history rows are added there only while History is on or when you just switched it.
  • Pass a version_id (or an unambiguous prefix of one) from this list to flypod rollback.

On this page