Skip to main content

Official Python client for the YNAB API. API documentation available at https://api.ynab.com. Generated from server specification version 1.76.0

Project description

YNAB API Python Library

Build PyPI version

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.

Requirements

Python 3.8+

Installation

First, install the package using pip:

pip install ynab

Then import the package:

import ynab

Usage

To 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:
    budgets_api = ynab.BudgetsApi(api_client)
    budgets_response = budgets_api.get_budgets()
    budgets = budgets_response.data.budgets
    
    for budget in budgets:
        print(budget.name) 

Methods

Class Method Description
UserApi get_user User info
AccountsApi create_account Create a new account
  get_account_by_id Single account
  get_accounts Account list
BudgetsApi get_budget_by_id Single budget
  get_budget_settings_by_id Budget Settings
  get_budgets List budgets
CategoriesApi get_categories List categories
  get_category_by_id Single category
  get_month_category_by_id Single category for a specific budget month
  update_category Update a category
  update_month_category Update a category for a specific month
MonthsApi get_budget_month Single budget month
  get_budget_months List budget months
PayeeLocationsApi get_payee_location_by_id Single payee location
  get_payee_locations List payee locations
  get_payee_locations_by_payee List locations for a payee
PayeesApi get_payee_by_id Single payee
  get_payees List payees
  update_payee Update a payee
ScheduledTransactionsApi create_scheduled_transaction Create a single scheduled transaction
  get_scheduled_transaction_by_id Single scheduled transaction
  get_scheduled_transactions List scheduled transactions
  update_scheduled_transaction Update an existing scheduled transactions
  delete_scheduled_transaction Delete an existing scheduled transaction
TransactionsApi create_transaction Create a single transaction or multiple transactions
  delete_transaction Deletes an existing transaction
  get_transaction_by_id Single transaction
  get_transactions List transactions
  get_transactions_by_account List account transactions
  get_transactions_by_category List category transactions, excluding any pending transactions
  get_transactions_by_month List transactions in month, excluding any pending transactions
  get_transactions_by_payee List payee transactions, excluding any pending transactions
  import_transactions Import transactions
  update_transaction Updates an existing transaction
  update_transactions Update multiple transactions

Versioning

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.

License

Copyright (c) 2025 You Need A Budget, LLC

Licensed under the Apache-2.0 license

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

ynab-1.8.0.tar.gz (64.8 kB view details)

Uploaded Source

Built Distribution

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

ynab-1.8.0-py3-none-any.whl (208.6 kB view details)

Uploaded Python 3

File details

Details for the file ynab-1.8.0.tar.gz.

File metadata

  • Download URL: ynab-1.8.0.tar.gz
  • Upload date:
  • Size: 64.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.4 CPython/3.12.11 Linux/6.11.0-1018-azure

File hashes

Hashes for ynab-1.8.0.tar.gz
Algorithm Hash digest
SHA256 f0daa602aa53ec33b094d98c1e84c4487e5a8c3dafbd400670ce892ed32bf12f
MD5 468fd1c7a260cb5175ccf151585285aa
BLAKE2b-256 1c148105e3dd37d0031e0a478cb9826283500043e255e0cf71fbbfb1d4340e2b

See more details on using hashes here.

File details

Details for the file ynab-1.8.0-py3-none-any.whl.

File metadata

  • Download URL: ynab-1.8.0-py3-none-any.whl
  • Upload date:
  • Size: 208.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.4 CPython/3.12.11 Linux/6.11.0-1018-azure

File hashes

Hashes for ynab-1.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 035a294a2e787c93f002402bc02c9065ec88cba961deddfda806af14435bfa82
MD5 9980dedfe4db7aef92cbd6e9faccaac0
BLAKE2b-256 9b1e75563aead9de0499ddcb0ed2ba80d380c3b272d73e1607bdd24930553ec7

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