lift-free.openapps.xyz

Source

This app’s code and revision history are public. Download a copy or explore the files below.

Public
The app’s code and revision history are public.
Owned app · rev f9f4e37d6945
Run it yourself
Take the whole tree and run it on your own machine. The download needs no account. Cloning needs a sign-in.
Download .zip
bounded clone 23e397d8a5d5bf7756362640
A copy you download is not bounded. The guarantees this app runs under - declared egress, proven invariants, writes that fail closed - live in the runtime serving this page, not in the files. What you get is auditable source you can read and run, with no runtime guarantees attached.
← All files
public/openapi.json
{
  "openapi": "3.1.0",
  "info": {
    "title": "Lift links and guides",
    "version": "1.0.0",
    "description": "Lift is a free workout log. It has no API for workout data, on purpose: a person's log is private to them. This file lists the only public addresses meant for assistants and crawlers: the guides, and links that open a routine or the plate calculator for a person to check. Opening a link saves nothing. Lift is a log, not a coach, and gives no medical or training advice."
  },
  "servers": [{ "url": "https://lift-free.openapps.xyz" }],
  "paths": {
    "/llms.txt": {
      "get": {
        "summary": "Guide for assistants",
        "description": "Plain text: what Lift does, the routine link format, the ready-made templates and every exercise id.",
        "responses": { "200": { "description": "The guide.", "content": { "text/plain": { "schema": { "type": "string" } } } } }
      }
    },
    "/index.md": {
      "get": {
        "summary": "Landing page as markdown",
        "responses": { "200": { "description": "The landing page.", "content": { "text/markdown": { "schema": { "type": "string" } } } } }
      }
    },
    "/r": {
      "get": {
        "summary": "Open a routine for a person to check",
        "description": "Returns the Lift app, which shows the routine read-only. The person taps Start workout or Save to my routines; nothing is saved until they do. Routine links carry no weights or history.",
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "required": true,
            "description": "Routine name, up to 60 characters, URL-encoded.",
            "schema": { "type": "string", "maxLength": 60 }
          },
          {
            "name": "e",
            "in": "query",
            "required": true,
            "description": "Exercises in order, separated by commas, up to 40. Each is an exercise id from llms.txt followed by colon-separated parts: 4x6-8 (sets and reps), 3x30s (timed sets), w2 (warm-up sets), r150 (rest in seconds), s1 (superset group). Example: bench-press:w2:4x6-8:r150,overhead-press:3x8-10:r120",
            "schema": { "type": "string" }
          },
          {
            "name": "note",
            "in": "query",
            "required": false,
            "description": "Optional note shown above the exercises, up to 300 characters.",
            "schema": { "type": "string", "maxLength": 300 }
          }
        ],
        "responses": { "200": { "description": "The Lift app, showing the routine.", "content": { "text/html": { "schema": { "type": "string" } } } } }
      }
    },
    "/plates": {
      "get": {
        "summary": "Open the plate calculator",
        "parameters": [
          { "name": "w", "in": "query", "required": false, "description": "Target bar weight.", "schema": { "type": "number" } },
          { "name": "unit", "in": "query", "required": false, "schema": { "type": "string", "enum": ["kg", "lb"] } }
        ],
        "responses": { "200": { "description": "The Lift app, showing the plates to load.", "content": { "text/html": { "schema": { "type": "string" } } } } }
      }
    }
  }
}

Change history

Point OpenApps store links to openapps.free
f9f4e37d69 · 17 hours ago
Add favicon.ico, local share image and openapi.json for links and guides
2796c0063c · 17 hours ago
Bind agent address in policy constants
cf80a3ca66 · 19 hours ago
Add OpenApp contribution strip and OpenApps source links
5e4cc2b9f3 · 19 hours ago
Bounded source sync
ca4a3d3631 · 1 day ago
Bounded source sync
7351063f4d · 1 day ago
Bounded source sync
0ce3238c46 · 1 day ago