sw_update_expense
Edit an existing Splitwise expense. Provide expense_id and any fields to change. For custom split updates, the full users array must be provided (the API replaces the entire split).
Instructions
Edit an existing Splitwise expense. Provide expense_id and any fields to change. For custom split updates, the full users array must be provided (the API replaces the entire split). To attach or replace the receipt on an existing expense, pass expense_id and receipt alone. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cost | No | Decimal string, e.g. "25.00" | |
| date | No | ||
| users | No | Full replacement split — all users must be included. Mutually exclusive with split_equally. | |
| details | No | ||
| receipt | No | Receipt to attach: PNG, JPEG, GIF or PDF, up to 10 MiB. Give exactly one of base64 or path. The type is detected from the file contents. Replaces any receipt already on the expense. | |
| expense_id | Yes | ID of the expense to update | |
| category_id | No | ||
| description | No | ||
| confirmToken | No | ONLY for the two-step confirmation fallback (a client without MCP elicitation). The confirmToken from this same tool's phase-1 "confirmation-required" response, passed back ONLY after the user has seen that preview and explicitly approved it in chat — never on the first call, never invented, never reused. Call again with the same arguments. Ignored when the client supports elicitation. | |
| currency_code | No | ||
| split_equally | No | Mutually exclusive with users |