{
  "access": "GET /api/cameras/{id}/access  (logged-in owner / MCP-paired to that owner)",
  "agents": "Paired MCP: logos_fetch('/logos/world/landvr/api/agent/access', accept='json') \u2014 mints LAN Bearer from the owner's Logos account. Direct GET of the public URL without MCP OAuth is 401. Never ask the human to copy a token. The 4-character claim code is not the API key. Send Authorization: Bearer on phone LAN URLs. Never ?token=.",
  "announce": "POST /api/announce",
  "app": "LAN Camera DVR",
  "appliance": "POST /api/claim  {claim_code, group, internet: lan|push|pull}. No Logos login.",
  "frame": "POST /api/frame  {device_id, jpeg_base64} when internet=push",
  "library": "GET /api/library  public catalog (categories, images, gcode URLs). Files GET /library/<file>. Phones search pictures; gcode copies to the phone only when printing.",
  "login": "On the phone tap Connect to Logos, or GET /connect after logging in. Device becomes an asset.",
  "ok": true,
  "pending": "GET /api/pending",
  "print": "Upload gcode to the phone LAN URL from agent/access, then POST print/start. Phone owns the serial.",
  "stills": "GET /api/cameras/{id}/shot.jpg  (push = stored still, pull = fetch phone, lan = shop Wi-Fi)"
}
