# Tidybot Robot Connection

> Robot connection credentials and API endpoints — IP address, API key, base URL, and all key REST endpoints. Use when (1) making API calls to the robot, (2) executing code on the robot via /code/execute, (3) debugging connection issues or timeouts, (4) needing the robot IP or API key mid-session, (5) polling execution status or retrieving recorded frames, or (6) fetching SDK docs or the getting-started guide. Use when this capability is needed.

- Skill: `tomevault-io/tidybot-robot-connection` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/tidybot-robot-connection`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/tidybot-robot-connection/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/tidybot-robot-connection

---


# Robot Connection

- **Robot IP:** `<ROBOT_IP>`
- **API Key:** `<API_KEY>`
- **Base URL:** `http://<ROBOT_IP>:8080`

## Key Endpoints

| Endpoint | Method | Purpose |
|----------|--------|---------|
| `/code/execute` | POST | Run Python code on the robot |
| `/code/status?stdout_offset=N&stderr_offset=N` | GET | Poll execution output |
| `/code/recordings/{execution_id}` | GET | Execution recording metadata |
| `/code/recordings/{execution_id}/frames/{filename}` | GET | Retrieve recorded camera frame (JPEG) |
| `/code/sdk/` | GET | SDK reference (browsable) |
| `/code/sdk/markdown` | GET | SDK reference as markdown |
| `/docs/guide/html` | GET | Getting-started guide |
| `/cameras/{id}/frame` | GET | Live camera frame (use sparingly) |

## Logs

All logs are in `~/tidybot_uni/logs/`:

| File | Content |
|------|---------|
| `agent_server.log` | Agent server runtime log (connections, errors, lifecycle) |
| `code_execution.log` | Stdout/stderr from all code executions |
| `code_executions/` | Per-execution Python files + output (timestamped) |

Logs rotate daily (e.g. `agent_server.log.2026-03-05`). **Always check these first when debugging errors** — don't redirect server output to `/tmp/`.

## Notes

- `web_fetch` blocks private IPs. Use `curl -L` via shell for robot endpoints.
- Prefer `print()` + polling `/code/status` over live camera polling.
- Recorded frames save automatically at 0.5 Hz during execution — use those instead of live polls.

---
> Source: [TidyBot-Services/Tidybot-Universe](https://github.com/TidyBot-Services/Tidybot-Universe) — distributed by [TomeVault](https://tomevault.io).
<!-- tomevault:4.0:skill_md:2026-06-22 -->

