Skip to main content

Lunch Money API - v2

Project description

lunchmoney-python-async

Welcome to the Lunch Money v2 API.

A working version of this API is now available through these docs, or directly at:

https://api.lunchmoney.dev/v2

<span class="red-text">This is in alpha launch of a major API update. It is still subject to change during this alpha review period and bugs may still exist. Users are strongly encouraged to use the mock service or to create a test budget with example data as the first step to interacting with the v2 API. See the Getting Started Guide for more information on using a test budget.<br

If you are new to the v2 API, you may wish to review the v2 API Overview of Changes.

Static Mock Server

You may also use these docs to explore the API using a static mock server endpoint.

This enables users to become familiar with the API without having to create an access token, and eliminates the possibility of modifying real data.

To access this endpoint select the second endpoint in the the "Server" dropdown to the right. When selected you should see "Static Mock v2 Lunch Money API Server".
When using this server, set your Bearer token to any string with 11 or more characters.

Migrating from V1

The v2 API is NOT backwards compatible with the v1 API. Developers are encouraged to review the Migration Guide to understand the changes and plan their migration.

Acknowledgments

If you have been providing feedback on the API during our iterative design process, THANK YOU. We are happy to provide the opportunity to finally interact with the working API that was built based on your feedback.

Useful links:

This Python package is automatically generated by the OpenAPI Generator project:

  • API version: 2.8.5
  • Package version: 2.19.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 API key authorization: cookieAuth
configuration.api_key['cookieAuth'] = os.environ["API_KEY"]

# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
# configuration.api_key_prefix['cookieAuth'] = 'Bearer'

# Configure Bearer authorization (JWT): bearerSecurity
configuration = lunchmoney.Configuration(
    access_token = os.environ["BEARER_TOKEN"]
)


# Enter a context with an instance of the API client
async with lunchmoney.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = lunchmoney.CategoriesApi(api_client)
    create_category_request_object = {"name":"API Created Category","description":"Test description of created category","is_income":false,"exclude_from_budget":true,"exclude_from_totals":false,"is_group":false} # CreateCategoryRequestObject | 

    try:
        # Create a new category or category group
        api_response = await api_instance.create_category(create_category_request_object)
        print("The response of CategoriesApi->create_category:\n")
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling CategoriesApi->create_category: %s\n" % e)

Documentation for API Endpoints

All URIs are relative to https://api.lunchmoney.dev/v2

Class Method HTTP request Description
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
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_me GET /me Get current user
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

Documentation For Authorization

Authentication schemes defined for the API:

bearerSecurity

  • Type: Bearer authentication (JWT)

cookieAuth

  • Type: API key
  • API key parameter name: _lm_access_token
  • Location:

Author

devsupport@lunchmoney.app

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lunchmoney_python_async-2.19.0.tar.gz (130.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lunchmoney_python_async-2.19.0-py3-none-any.whl (281.2 kB view details)

Uploaded Python 3

File details

Details for the file lunchmoney_python_async-2.19.0.tar.gz.

File metadata

  • Download URL: lunchmoney_python_async-2.19.0.tar.gz
  • Upload date:
  • Size: 130.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","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}

File hashes

Hashes for lunchmoney_python_async-2.19.0.tar.gz
Algorithm Hash digest
SHA256 f7058d7fce2a599d006e9276604504d73d4c90f5d713d4f5fc69df826fe69abb
MD5 86199a7c2506e39af9710e879435f8de
BLAKE2b-256 8d4e908e855485a432eaa2cbf27aecefd4033380fb670ac9085a648f02a13c1e

See more details on using hashes here.

File details

Details for the file lunchmoney_python_async-2.19.0-py3-none-any.whl.

File metadata

  • Download URL: lunchmoney_python_async-2.19.0-py3-none-any.whl
  • Upload date:
  • Size: 281.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","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}

File hashes

Hashes for lunchmoney_python_async-2.19.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2f2b1a0f5b914470ae24a7b4281b4e317b2d0552319b96a3f02ce6f379e47539
MD5 a8dd3a4d9f6bc21a87ad42b0445fd80c
BLAKE2b-256 910d2ffe242a22dfdb23319509e4131d897ecd3cd9014e3f6a7b732c6157ac22

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page