Use myhouse from your own AI
Tell your assistant “I paid Rodrigo 25 €, record it” or “set up a camping project in the Flat house for 20–22 November”, and it does it in myhouse. Or build your own dashboard. The myhouse API is made to be easy for AI models: people and houses go by name, amounts are normal numbers (12.50), and every error says what to fix.
Claude: connect in a minute, no key
myhouse is an MCP connector. In Claude's settings, add a custom connector with the link /mcp on this site (the app shows the full link with a Copy button in Settings → API access → Connect Claude). Claude opens myhouse: sign in with Google, choose Read and change or Read only, and you're done. The connection shows in Settings → API access as "Claude (connector)"; delete it there to disconnect. Any other MCP client that supports sign-in (OAuth) connects the same way, and its tools are the endpoints below.
1. Get a key (for everything else)
In the app: Settings → API access → New key. Pick Read and change or Read only, copy the key (it starts with mh_ and is shown once) and paste it straight into your tool's settings. Don't paste it into a chat message. A key acts as you, in every house you're in that allows API keys. Delete it any time.
2. Plug it into your AI
- ChatGPT (custom GPT): Configure → Actions → Import from URL:
/v1/openapi.jsonon this site. Authentication: API key, Bearer, your key. - Gemini, DeepSeek, Claude through its API, or any agent framework: give the model the OpenAPI file as tools/functions, or paste /llms.txt into its instructions and let your code make the HTTP calls with the key.
- Your own script or dashboard: call the endpoints below with
Authorization: Bearer mh_….
A plain chat window can't make web requests by itself; the assistant needs tools (an Action, a function call or an agent). That's what the OpenAPI file is for.
3. Examples
Who you are, your houses and the people in each:
curl https://THIS-SITE/v1/me -H "Authorization: Bearer mh_your_key"
Add an expense (split equally between everyone unless you say otherwise):
curl https://THIS-SITE/v1/expenses -H "Authorization: Bearer mh_your_key" \
-H "content-type: application/json" \
-d '{"house": "Flat", "title": "Groceries", "amount": 42.80, "paid_by": "Ana"}'
Record a payment (“I paid Rodrigo 25”):
curl https://THIS-SITE/v1/payments -H "Authorization: Bearer mh_your_key" \
-H "content-type: application/json" -d '{"house": "Flat", "to": "Rodrigo", "amount": 25}'
Create a project with to-dos and things to buy:
{"house": "Flat", "title": "Camping in Gerês", "start_date": "2026-11-20", "end_date": "2026-11-22",
"todos": ["Book campsite"], "to_buy": [{"text": "Gas canister", "price": 6.5}]}
4. Endpoints
Base URL: /v1 on this site. Full details: OpenAPI · llms.txt.
| Call | What it does |
|---|---|
| GET /me | You, your houses and their people |
| GET /balances | Who owes whom, and the fewest payments to settle up |
| POST /payments | Record that someone paid someone back |
| GET /expenses | Recent expenses (filter by month) |
| POST /expenses | Add an expense: equal split, split_between names, or exact shares |
| PATCH /expenses/{id} | Change an expense |
| DELETE /expenses/{id} | Delete an expense or payment |
| GET /lists, /lists/{list} | Shopping lists and their items (list by name) |
| POST /lists, /lists/{list}/items | Create a list; add items |
| PATCH /lists/{list}/items | Tick (got_it) or untick (not_yet) items by name |
| GET /projects, /projects/{project} | Projects with to-dos, things to buy, dates and spending |
| POST /projects | Create a project with its to-dos, things to buy and dates |
| GET /recurring, POST /recurring | Recurring bills: list them, start one |
| GET /spending | A month of spending by category, person and place |
5. Good to know
- Houses: send
"house"(name or id) unless you're in only one house. - People: by name (first name works if it's unique in the house);
paid_byandfromdefault to you. - Money: numbers in the house currency (no conversion through the API). Everything else in the app (balances, notifications) updates at once, and expenses show “via API”.
- Limits: 1000 calls per key per day; 10 keys per person.
- Privacy: any house can turn API keys off (Settings → This house). What a key reads (names, amounts) goes to the tool you give it to.
- Errors: JSON
{"error": "…", "code": "…"}in plain English, e.g. “"Ana" matches several people: Ana Silva, Ana Costa. Use the full name.”