API and MCP for personal finance

Use Tetri data in your own reports, scripts and external assistants. The REST API retrieves transactions and records expenses from another app. MCP connects your chosen client to your financial history.

Connect your own tools

A reporting spreadsheet needs read access. A script that records purchases needs permission to create transactions. Issue a separate key for each integration in Tetri settings.

Keys last from 1 to 90 days. Choose 1 day for a one-off export, or a longer period for regular report updates.

A key contains only the permissions you select. Its full value is available once after creation, ready to save in your client settings or secure storage.

Permissions for the task

Give an expense summary permission to read transactions without changing them. Add import permissions for statement uploads. REST and MCP require separate keys.

Replace or revoke access

The list retains only a token prefix; you cannot retrieve the full value again. Revoke an unused key separately. Changing your password or email revokes every key, so connected tools will need replacements.

Custom reports and spreadsheets

Use the API to load expenses into a spreadsheet with your own formulas, such as travel costs by project. Your script retrieves transactions and categories from Tetri without processing the bank statement again.

Methods are available at /api/v1/programmatic. The API documentation includes OpenAPI and examples in cURL, JavaScript and Python.

Record expenses from your own app

A personal bot or script can create Tetri transactions. For a purchase abroad, supply the purchase amount and the amount charged to the account separately. For statements, upload the file, review the result and confirm the import.

For text input, POST /transactions/parse returns a draft. You could parse “coffee 5 euros yesterday”, ask for a missing wallet and save it with a separate request.

To retry after a network failure, keep the same 16–128 character Idempotency-Key and request body. The retry will not add a second expense. A different body with that key returns 409.

Your financial history in an external assistant

Connect an external assistant of your choice through MCP. Your client can access permitted data, such as a month’s expenses, in the application you already use. You choose and connect the assistant; MCP provides access to Tetri.

Connecting an MCP client

Your client needs POST /mcp, Streamable HTTP support and an MCP key in Authorization: Bearer. Use the REST API for statement uploads and template creation.

Read history and add expenses

MCP includes wallets and balances, transactions, budgets, recurring rules, goals and reports. Read access is enough for questions about history. To record expenses, grant create_transaction separately.

Running scheduled integrations

Give a scheduled report its own key. Review completed requests and statuses in the log when an update does not finish.

Update frequency

Each key permits 1,200 reads per minute, 120 report and action requests, and 5 import upload or confirmation requests. Account for these limits in your schedule and defer retries after a 429 response.

Several connections

A workspace supports up to 5 active keys. Connect a spreadsheet, personal bot and MCP client independently, then replace access for only the integration that needs it.

Access to a specific workspace

A key is tied to its workspace and its owner’s permissions. Access to personal expenses, for example, does not grant access to a separate household workspace.

Connection diagnostics

Check the time, key, status and duration of a request. Statuses distinguish expired access from missing permissions. The log does not retain request bodies.

Integration questions

Request changes through the API. Webhooks for sending events to an external service are not available yet.

Create a personal access token in integration settings. REST and MCP need separate tokens. OAuth is not supported.

A script with transaction creation permission can save an expense through the API. Each creation request needs an Idempotency-Key. Parsing a text phrase alone does not save an expense.

Use start, end and limit with GET /transactions. A response contains up to 100 transactions; continue with page or after.

Yes. Select read permissions without transaction creation or other changes when issuing the key. They apply only to the key’s workspace.

Programmatic access is included in Pro. See the subscription terms for current prices and trial details.

Get started with Tetri