This is the Python client for the YNAB API.
Please read the YNAB API documentation for an overview of using the API and a complete list of available resources.
This client is generated using the OpenAPI Generator.
Python 3.8+
First, install the package using pip:
pip install ynabThen import the package:
import ynabTo use this client, you must obtain an access token from the Account Settings area of the YNAB web application.
import ynab
configuration = ynab.Configuration(
access_token = "b43439eaafe2_this_is_fake_b43439eaafe2"
)
with ynab.ApiClient(configuration) as api_client:
plans_api = ynab.PlansApi(api_client)
plans_response = plans_api.get_plans()
plans = plans_response.data.budgets
for plan in plans:
print(plan.name) | Class | Method | Description |
|---|---|---|
| UserApi | get_user | Get user |
| AccountsApi | create_account | Create an account |
| get_account_by_id | Get an account | |
| get_accounts | Get all accounts | |
| PlansApi | get_plan_by_id | Get a plan |
| get_plan_settings_by_id | Get plan settings | |
| get_plans | Get all plans | |
| CategoriesApi | create_category | Create a category |
| create_category_group | Create a category group | |
| get_categories | Get all categories | |
| get_category_by_id | Get a category | |
| get_month_category_by_id | Get a category for a specific plan month | |
| update_category | Update a category | |
| update_category_group | Update a category group | |
| update_month_category | Update a category for a specific month | |
| MonthsApi | get_plan_month | Get a plan month |
| get_plan_months | Get all plan months | |
| PayeeLocationsApi | get_payee_location_by_id | Get a payee location |
| get_payee_locations | Get all payee locations | |
| get_payee_locations_by_payee | Get all locations for a payee | |
| PayeesApi | get_payee_by_id | Get a payee |
| get_payees | Get all payees | |
| update_payee | Update a payee | |
| MoneyMovementsApi | get_money_movement_groups | Get all money movement groups |
| get_money_movement_groups_by_month | Get money movement groups for a plan month | |
| get_money_movements | Get all money movements | |
| get_money_movements_by_month | Get money movements for a plan month | |
| TransactionsApi | create_transaction | Create a single transaction or multiple transactions |
| delete_transaction | Delete a transaction | |
| get_transaction_by_id | Get a transaction | |
| get_transactions | Get all transactions | |
| get_transactions_by_account | Get all account transactions | |
| get_transactions_by_category | Get all category transactions | |
| get_transactions_by_month | Get all plan month transactions | |
| get_transactions_by_payee | Get all payee transactions | |
| import_transactions | Import transactions | |
| update_transaction | Update a transaction | |
| update_transactions | Update multiple transactions | |
| ScheduledTransactionsApi | create_scheduled_transaction | Create a scheduled transaction |
| delete_scheduled_transaction | Delete a scheduled transaction | |
| get_scheduled_transaction_by_id | Get a scheduled transaction | |
| get_scheduled_transactions | Get all scheduled transactions | |
| update_scheduled_transaction | Update a scheduled transaction |
The version of this client is defined in the pyproject.toml file and follows semantic versioning. The version of this client is maintained independently and does not align with the the version of YNAB API itself (which is defined in the OpenAPI spec). To determine which spec version of the YNAB API was used when generating this client you can refer to the "description" field in the pyproject.toml file.
Copyright (c) 2025 YNAB
Licensed under the Apache-2.0 license