Splitwise integration
Splitwise tracks shared expenses and who owes whom. Read the current user, friends and groups with their balances and simplified debts, list and read expenses with each person's paid and owed share, create expenses (split equally in a group, or by explicit shares), update, delete and restore expenses, comment on them, create and delete groups, add or remove group members, add friends, and read notifications, currencies and categories. Changing a user's password is not exposed. Authentication is a personal API key generated on the app's page at secure.splitwise.com/apps, sent as a Bearer token; it acts as the account that generated it.
Say what should happen.
The workflow builds itself.
What you can do with Splitwise
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Expense, 7 operations
create_expenseCreate expensePOSTCreates an expense in a group split equally among all its members, paid by the current user. Check errors in the answer: it is empty on success, even on HTTP 200. For unequal shares use create_expense_by_shares.create_expense_by_sharesCreate expense by sharesPOSTCreates an expense with explicit shares: who paid and who owes how much. Check errors in the answer: it is empty on success, even on HTTP 200. For an equal split in a group use create_expense.delete_expenseDelete expensePOSTDeletes an expense; restore_expense undoes it. Succeeded only if success is true in the answer, even on HTTP 200.get_expenseGet expenseGETReturns one expense: cost, currency, date, category, group, each user's paid_share, owed_share and net_balance, repayments, receipt, recurrence and who created it.list_expensesList expensesGETLists the current user's expenses, optionally only in one group (group_id) or with one friend (friend_id), by date or update window, paged with limit and offset.restore_expenseRestore expensePOSTRestores a deleted expense. Succeeded only if success is true in the answer, even on HTTP 200.update_expenseUpdate expensePOSTUpdates an expense with only the fields that change (same keys as create_expense_by_shares). Sending any users__N__ key replaces ALL shares. Check errors: empty on success, even on HTTP 200.
Friend, 5 operations
create_friendCreate friendPOSTAdds a friend by email. If the email has no Splitwise account, user_first_name is required and the names are used; for an existing user the names are ignored. Returns the friend.create_friendsCreate friendsPOSTAdds several friends at once from flattened users__N__ keys (see body). Returns the users added and an errors object to check.delete_friendDelete friendPOSTEnds the friendship between the current user and this user. Succeeded only if success is true; errors explains a refusal, even on HTTP 200.get_friendGet friendGETReturns one friend with their balance with the current user, overall and per shared group.list_friendsList friendsGETLists the current user's friends with their overall balance and, per shared group, the balance with that friend (group entries carry only balances with that friend).
Group, 5 operations
create_groupCreate groupPOSTCreates a group (home, trip, couple, other) with the current user as its first member; add other members afterwards with add_user_to_group. Returns the new group.delete_groupDelete groupPOSTDeletes a group and every record in it (its expenses included); restore_group undoes it. Succeeded only if success is true in the answer, even on HTTP 200.get_groupGet groupGETReturns one group: name, type, members with their balances, original_debts, simplified_debts, invite link and whether simplify-by-default is on.list_groupsList groupsGETLists the current user's groups with members, each member's balance, original and simplified debts. Expenses outside any group appear in a group with id 0.restore_groupRestore groupPOSTRestores a deleted group. Succeeded only if success is true in the answer; errors explains a refusal, even on HTTP 200.
Comment, 3 operations
create_commentCreate commentPOSTAdds a comment to an expense and returns it.delete_commentDelete commentPOSTDeletes a comment and returns the deleted comment.list_commentsList commentsGETLists the comments on one expense, user comments and system notes, with author and timestamps.
User, 3 operations
get_current_userGet current userGETReturns the user the API key belongs to: id, name, email, default currency, locale, picture and notification settings. Use its id to recognise this user in expenses and balances.get_userGet userGETReturns another Splitwise user's public profile (name, email, registration status, picture) by user id, as found in a friend, group member or expense share.update_userUpdate userPOSTUpdates a user's first name, last name, email, locale or default currency. Send only the fields to change.
Group member, 2 operations
add_user_to_groupAdd user to groupPOSTAdds a user to a group, either an existing user by user_id, or anyone by first_name, last_name and email. Succeeded only if success is true; errors explains a refusal, even on HTTP 200.remove_user_from_groupRemove user from groupPOSTRemoves a user from a group; refused while that user has a non-zero balance in it. Succeeded only if success is true; errors explains a refusal, even on HTTP 200.
Category, 1 operation
list_categoriesList categoriesGETLists expense categories with their subcategories. An expense must use a subcategory id, not a parent category; use the parent's Other subcategory for a generic one.
Currency, 1 operation
list_currenciesList currenciesGETLists the currency codes Splitwise accepts, with their display unit. Mostly ISO 4217, but some are unofficial (BTC rather than XBT).
Notification, 1 operation
list_notificationsList notificationsGETLists recent activity on the account, newest first. type: 0 expense added, 1 updated, 2 deleted, 3 comment, 4/5 added to/removed from group, 8/9 friend added/removed, 10 news.
Use Splitwise from Claude Code, Cursor or Codex
Connect Splitwise in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Splitwise operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect Splitwise
- Create your workspace
Sign up free. Nothing to install.
- Connect Splitwise once
Add your Splitwise connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
Splitwise integration FAQ
What can you do with the Splitwise integration?
LiveContext exposes 28 operations on Splitwise, covering expense, friend, group and comment.
