For developers
Put your household's chores on a dashboard in the hall, tick them off from a home automation button, or let a script add them. Rut has the same API the app uses.
Rut in AI assistants
Rut has an MCP server at https://rut-app.se/mcp. Add it to Claude, ChatGPT or another assistant that takes MCP servers, and ask it what's due today, to tick off the dishes, or to put milk on the shopping list.
- Claude: Settings → Connectors → Add custom connector, with the URL above. In Claude Code:
claude mcp add --transport http rut https://rut-app.se/mcp. - Other assistants: add a remote MCP server with the URL above and OAuth sign-in.
The assistant sends you to Rut to sign in, and you choose whether it may change things or only read. It then acts as you, with your role in the household. Disconnect it under Account in the web app.
Your own MCP clients can also use an API key as a bearer token instead of signing in.
API keys
A household admin creates keys in the web app: Household → API keys. A key acts as the admin who created it, for as long as they're an admin. Copy it when it's created; it isn't shown again.
- Read keys read chores, rooms, points, history, notes and the household's members.
- Read and change keys can also complete, skip and undo chores, tick checklists, and create, change and delete chores, rooms and notes.
No key can manage members, invites, devices, the household's settings, sign-in or other keys. Revoke a key there too, and it stops working at once.
Calling the API
The API is Connect: every call is a POST of JSON to https://rut-app.se/rut.v1.<Service>/<Method>, with the key as a bearer token.
curl https://rut-app.se/rut.v1.ChoreService/ListChores \
-H "Authorization: Bearer rut_…" \
-H "Content-Type: application/json" \
-d '{}'
Some calls to start with:
ChoreService/ListChores: every chore with its due date, and today's date in the household's time zone. Chores due today or earlier are the ones on Today.ChoreService/CompleteChorewith{"choreId": "…"}: marks a chore done, credited to the key's admin unless you namecreditedMemberIds.PointsService/GetLeaderboardwith{"period": "PERIOD_WEEK"}: this week's points, shares and streaks.NoteService/ListNotes: the household's notes.ChoreService/WatchHousehold: a stream of changes while you're connected, for live dashboards.
The full API, with every field explained, is in the .proto files in proto/rut/v1. With them, buf generates typed clients for Go, TypeScript, Swift, Kotlin and more.
Errors come back as JSON with a code such as unauthenticated (the key is wrong or revoked), permission_denied (the key's scope or the admin's role doesn't allow it) or failed_precondition (say, the chore was already done).