lunchmoney-python
Introduction
Welcome to the Lunch Money v2 API reference. This is the v2.11.1 spec.
The API is available at https://api.lunchmoney.dev/v2. Get your access token from the Lunch Money developers page.
Try it from these docs
These docs are interactive — use Test request on any endpoint to call the API from this page.
Choose a LIVE or MOCK service from the Server dropdown.
Requests sent to https://api.lunchmoney.dev/v2 can <span class="red-text">change or delete your data and are <span class="red-text">permanent.
See the Getting Started Guide before using the live API.
Static mock server
Explore without risk to real data. Select https://mock.lunchmoney.dev/v2 in the Server dropdown to work with static mock data.
POST, PUT, and DELETE requests will return realistic responses, but do not change the mock data.
Client Libraries & SDKs
An official TypeScript SDK is available on NPM and GitHub. For Python or other languages, see lunchmoney-clients or generate a client from this OpenAPI spec.
Migrating from v1
The v2 API is not backwards compatible with v1. See the Migration Guide for details.
Useful links
This Python package is automatically generated by the OpenAPI Generator project:
- API version: 2.11.1
- Package version: 2.27.0
- Generator version: 7.17.0
- Build package: org.openapitools.codegen.languages.PythonClientCodegen
Requirements.
Python 3.9+
Installation & Usage
pip install
If the python package is hosted on a repository, you can install directly using:
pip install git+https://github.com/juftin/lunchmoney-clients.git
(you may need to run pip with root permission: sudo pip install git+https://github.com/juftin/lunchmoney-clients.git)
Then import the package:
import lunchmoney
Setuptools
Install via Setuptools.
python setup.py install --user
(or sudo python setup.py install to install the package for all users)
Then import the package:
import lunchmoney
Tests
Execute pytest to run the tests.
Getting Started
Please follow the installation procedure and then run the following:
import lunchmoney
from lunchmoney.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to https://api.lunchmoney.dev/v2
# See configuration.py for a list of all supported configuration parameters.
configuration = lunchmoney.Configuration(
host = "https://api.lunchmoney.dev/v2"
)
# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.
# Configure Bearer authorization (JWT): bearerSecurity
configuration = lunchmoney.Configuration(
access_token = os.environ["BEARER_TOKEN"]
)
# Enter a context with an instance of the API client
with lunchmoney.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = lunchmoney.BalanceHistoryApi(api_client)
id = 56 # int | Historical balance entry identifier to delete.
try:
# Delete a balance history entry
api_instance.delete_balance_history_entry(id)
except ApiException as e:
print("Exception when calling BalanceHistoryApi->delete_balance_history_entry: %s\n" % e)
Documentation for API Endpoints
All URIs are relative to https://api.lunchmoney.dev/v2
| Class | Method | HTTP request | Description |
|---|---|---|---|
| BalanceHistoryApi | delete_balance_history_entry | DELETE /balance_history/entries/{id} | Delete a balance history entry |
| BalanceHistoryApi | delete_balance_history_for_account | DELETE /balance_history/{account_type}/{account_id} | Delete all balance history for an account |
| BalanceHistoryApi | delete_balance_history_for_crypto_synced | DELETE /balance_history/crypto_synced/{account_id}/{symbol} | Delete all balance history for a synced crypto symbol |
| BalanceHistoryApi | get_balance_history | GET /balance_history | Get balance history |
| BalanceHistoryApi | get_balance_history_for_account | GET /balance_history/{account_type}/{account_id} | Get balance history for an account |
| BalanceHistoryApi | get_balance_history_for_crypto_synced | GET /balance_history/crypto_synced/{account_id}/{symbol} | Get balance history for a synced crypto symbol |
| BalanceHistoryApi | update_balance_history_details | PUT /balance_history/deleted/{account_id}/details | Update details for a deleted account |
| BalanceHistoryApi | upsert_balance_history_for_account | PUT /balance_history/{account_type}/{account_id} | Upsert balance history for an account |
| BalanceHistoryApi | upsert_balance_history_for_crypto_synced | PUT /balance_history/crypto_synced/{account_id}/{symbol} | Upsert balance history for a synced crypto symbol |
| BudgetsApi | delete_budget | DELETE /budgets | Delete budget |
| BudgetsApi | get_budget_settings | GET /budgets/settings | Get budget period settings |
| BudgetsApi | upsert_budget | PUT /budgets | Upsert budget |
| CategoriesApi | create_category | POST /categories | Create a new category or category group |
| CategoriesApi | delete_category | DELETE /categories/{id} | Delete a category or category group |
| CategoriesApi | get_all_categories | GET /categories | Get all categories |
| CategoriesApi | get_category_by_id | GET /categories/{id} | Get a single category |
| CategoriesApi | update_category | PUT /categories/{id} | Update an existing category or category group |
| CryptoManualApi | create_crypto_manual | POST /crypto/manual | Create a manual crypto balance |
| CryptoManualApi | create_cryptocurrency | POST /cryptocurrencies | Add a new supported cryptocurrency |
| CryptoManualApi | delete_crypto_manual | DELETE /crypto/manual/{id} | Delete a manual crypto balance |
| CryptoManualApi | get_all_crypto_manual | GET /crypto/manual | Get all manual crypto balances |
| CryptoManualApi | get_all_cryptocurrencies | GET /cryptocurrencies | Get all supported cryptocurrencies |
| CryptoManualApi | get_crypto_manual_by_id | GET /crypto/manual/{id} | Get a single manual crypto balance |
| CryptoManualApi | update_crypto_manual | PUT /crypto/manual/{id} | Update a manual crypto balance |
| CryptoSyncedApi | get_all_crypto_synced | GET /crypto/synced | Get all synced crypto accounts |
| CryptoSyncedApi | get_crypto_synced_balance_by_symbol | GET /crypto/synced/{id}/{symbol} | Get a synced crypto balance by symbol |
| CryptoSyncedApi | get_crypto_synced_by_id | GET /crypto/synced/{id} | Get a single synced crypto account |
| CryptoSyncedApi | refresh_crypto_synced | POST /crypto/synced/{id}/refresh | Refresh balances for a synced crypto account |
| ManualAccountsApi | create_manual_account | POST /manual_accounts | Create a manual account |
| ManualAccountsApi | delete_manual_account | DELETE /manual_accounts/{id} | Delete a manual account |
| ManualAccountsApi | get_all_manual_accounts | GET /manual_accounts | Get all manual accounts |
| ManualAccountsApi | get_manual_account_by_id | GET /manual_accounts/{id} | Get a single manual account |
| ManualAccountsApi | update_manual_account | PUT /manual_accounts/{id} | Update an existing manual account |
| MeApi | get_account_settings | GET /me/account/settings | Get account settings |
| MeApi | get_me | GET /me | Get current user |
| MeApi | get_user_account_settings | GET /me/user/account/settings | Get user account settings |
| MeApi | get_user_settings | GET /me/user/settings | Get user settings |
| MeApi | update_account_settings | PUT /me/account/settings | Update account settings |
| MeApi | update_user_account_settings | PUT /me/user/account/settings | Update user account settings |
| MeApi | update_user_settings | PUT /me/user/settings | Update user settings |
| PlaidAccountsApi | get_all_plaid_accounts | GET /plaid_accounts | Get all accounts synced via Plaid |
| PlaidAccountsApi | get_plaid_account_by_id | GET /plaid_accounts/{id} | Get a single account that is synced via Plaid |
| PlaidAccountsApi | trigger_plaid_account_fetch | POST /plaid_accounts/fetch | Trigger Fetch from Plaid |
| RecurringItemsApi | get_all_recurring | GET /recurring_items | Get all recurring items |
| RecurringItemsApi | get_recurring_by_id | GET /recurring_items/{id} | Get a single recurring item |
| SummaryApi | get_budget_summary | GET /summary | Get summary |
| TagsApi | create_tag | POST /tags | Create a new tag |
| TagsApi | delete_tag | DELETE /tags/{id} | Delete a tag |
| TagsApi | get_all_tags | GET /tags | Get All Tags |
| TagsApi | get_tag_by_id | GET /tags/{id} | Get a single tag |
| TagsApi | update_tag | PUT /tags/{id} | Update an existing tag |
| TransactionsApi | delete_transaction_by_id | DELETE /transactions/{id} | Delete a transaction |
| TransactionsApi | get_transaction_by_id | GET /transactions/{id} | Get a single transaction |
| TransactionsApi | update_transaction | PUT /transactions/{id} | Update an existing transaction |
| TransactionsBulkApi | create_new_transactions | POST /transactions | Insert one or more transactions. |
| TransactionsBulkApi | delete_transactions | DELETE /transactions | Bulk delete existing transactions |
| TransactionsBulkApi | get_all_transactions | GET /transactions | Get all transactions |
| TransactionsBulkApi | update_transactions | PUT /transactions | Update multiple transactions |
| TransactionsFilesApi | attach_file_to_transaction | POST /transactions/{transaction_id}/attachments | Attach a file to a transaction |
| TransactionsFilesApi | delete_transaction_attachment | DELETE /transactions/attachments/{file_id} | Delete a file attachment |
| TransactionsFilesApi | get_transaction_attachment_url | GET /transactions/attachments/{file_id} | Get a url to download a file attachment |
| TransactionsGroupApi | group_transactions | POST /transactions/group | Create a transaction group |
| TransactionsGroupApi | ungroup_transactions | DELETE /transactions/group/{id} | Delete a transaction group |
| TransactionsSplitApi | split_transaction | POST /transactions/split/{id} | Split a transaction |
| TransactionsSplitApi | unsplit_transaction | DELETE /transactions/split/{id} | Unsplit a previously split transactions |
Documentation For Models
- AccountSettingsObject
- AccountTypeEnum
- BalanceHistoryAccountObject
- BalanceHistoryAccountObjectSource
- BalanceHistoryEntry
- BalanceHistoryListResponseObject
- BalanceHistorySourceCryptoManual
- BalanceHistorySourceCryptoSynced
- BalanceHistorySourceDeleted
- BalanceHistorySourceManual
- BalanceHistorySourcePlaid
- BalanceHistoryUpdateItemObject
- BalanceHistoryUpdateItemObjectBalance
- BudgetInvalidPeriodErrorObject
- BudgetObject
- BudgetSettingsResponseObject
- BudgetUpsertResponseObject
- CategoryObject
- ChildCategoryObject
- ChildTransactionObject
- CreateCategoryRequestObject
- CreateCategoryRequestObjectChildrenInner
- CreateCryptoManualRequestObject
- CreateCryptoManualRequestObjectBalance
- CreateCryptocurrencyRequestObject
- CreateManualAccountRequestObject
- CreateManualAccountRequestObjectBalance
- CreateManualAccountRequestObjectClosedOn
- CreateNewTransactionsRequest
- CreateTagRequestObject
- CryptoCurrencyObject
- CryptoCurrencyResponseObject
- CryptoManualListResponseObject
- CryptoManualObject
- CryptoSyncedBalance
- CryptoSyncedListResponseObject
- CurrencyEnum
- CurrentBalanceHistoryEntry
- DeleteCategoryResponseWithDependencies
- DeleteCategoryResponseWithDependenciesDependents
- DeleteTagResponseWithDependencies
- DeleteTagResponseWithDependenciesDependents
- DeleteTransactionsRequest
- ErrorResponseObject
- ErrorResponseObjectErrorsInner
- GetAllCategories200Response
- GetAllManualAccounts200Response
- GetAllPlaidAccounts200Response
- GetAllRecurring200Response
- GetAllTags200Response
- GetAllTransactions200Response
- GetAllTransactionsCreatedSinceParameter
- GetTransactionAttachmentUrl200Response
- GroupTransactionsRequest
- HistoricalBalanceHistoryEntry
- InsertTransactionObject
- InsertTransactionObjectAmount
- InsertTransactionsResponseObject
- LocaleEnum
- ManualAccountObject
- MonthDayFormatEnum
- MonthDayYearFormatEnum
- MonthYearFormatEnum
- PlaidAccountObject
- RecurringObject
- RecurringObjectMatches
- RecurringObjectMatchesFoundTransactionsInner
- RecurringObjectOverrides
- RecurringObjectTransactionCriteria
- SkippedExistingExternalIdObject
- SplitTransactionObject
- SplitTransactionObjectAmount
- SplitTransactionRequest
- SummaryCategoryObject
- SummaryCategoryOccurrenceObject
- SummaryCategoryTotalsObject
- SummaryRecurringTransactionObject
- SummaryResponseObject
- SummaryRolloverPoolAdjustmentObject
- SummaryRolloverPoolObject
- SummaryTotalsBreakdownObject
- SummaryTotalsObject
- SyncedCryptoAccount
- TagObject
- TransactionAttachmentObject
- TransactionObject
- UpdateAccountSettingsRequestObject
- UpdateBalanceHistoryDetailsRequestObject
- UpdateBalanceHistoryDetailsResponseObject
- UpdateCategoryRequestObject
- UpdateCryptoManualRequestObject
- UpdateCryptoManualRequestObjectBalance
- UpdateManualAccountRequestObject
- UpdateManualAccountRequestObjectBalance
- UpdateManualAccountRequestObjectClosedOn
- UpdateTagRequestObject
- UpdateTransactionObject
- UpdateTransactionObjectAmount
- UpdateTransactions200Response
- UpdateTransactionsRequest
- UpdateTransactionsRequestTransactionsInner
- UpdateUserAccountSettingsRequestObject
- UpdateUserSettingsRequestObject
- UpsertBalanceHistoryRequestObject
- UpsertBudget400Response
- UpsertBudgetRequestObject
- UpsertBudgetRequestObjectAmount
- UserAccountSettingsObject
- UserObject
- UserSettingsObject
- WeekStartsOnEnum
Documentation For Authorization
Authentication schemes defined for the API:
bearerSecurity
- Type: Bearer authentication (JWT)
Author
Metadata
Release files for lunchmoney-python 2.27.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| lunchmoney_python-2.27.0.tar.gz | 195.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| lunchmoney_python-2.27.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 606.5 kB
Release files / lunchmoney_python-2.27.0.tar.gz
| Download URL | lunchmoney_python-2.27.0.tar.gz |
|---|---|
| Size | 195.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f50a484c0a88377b1af58e0b969039c1ffcf8dfa0ef8b733b934293a013eca5c
|
|
BLAKE2b-256 checksum How to use checksums |
bdd20009986dfe218e64d9980951027d830b600d52ca9fab1ba89359a46225a8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.21 {"installer":{"name":"uv","version":"0.12.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / lunchmoney_python-2.27.0-py3-none-any.whl
| Download URL | lunchmoney_python-2.27.0-py3-none-any.whl |
|---|---|
| Size | 411.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8eac8e6a42b3807b4f3e14c2729870c8b1bdeb7d19421c425286e449fb819a42
|
|
BLAKE2b-256 checksum How to use checksums |
3149fb04f5fe6adca3a90ed4e7be7c24f89f9fdc8fcb45928f9e6524c3d354b5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.21 {"installer":{"name":"uv","version":"0.12.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|