Skip to content
Auto-Generated Python API for YNAB
Branch: master
Clone or download
deanmcgregor Merge pull request #4 from idwagner/master
Rename async to use_async for py3.7 compat
Latest commit 83b5335 Nov 4, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
.swagger-codegen Minor update May 5, 2018
docs Update API with optional fields. May 5, 2018
test Minor update May 5, 2018
ynab Merge pull request #4 from idwagner/master Nov 4, 2018
.gitignore Minor update May 5, 2018
.swagger-codegen-ignore Minor update May 5, 2018
.travis.yml Minor update May 5, 2018 Update README Aug 30, 2018 Minor update May 5, 2018
requirements.txt Minor update May 5, 2018 Minor update May 5, 2018
test-requirements.txt Minor update May 5, 2018
tox.ini Minor update May 5, 2018


No gaurentees this works as expected. It's just a place for me to play around to see if I can get something usable with the YNAB API. Other implementations so far don't seem to have optional fields.

Our API uses a REST based design, leverages the JSON data format, and relies upon HTTPS for transport. We respond with meaningful HTTP response codes and if an error occurs, we include error details in the response body. API Documentation is at

This Python package is automatically generated by the Swagger Codegen project:

  • API version: 1.0.0
  • Package version: 1.0.0
  • Build package: io.swagger.codegen.languages.PythonClientCodegen


Python 2.7 and 3.4+

Installation & Usage

pip install

If the python package is hosted on Github, you can install directly from Github

pip install git+

(you may need to run pip with root permission: sudo pip install git+

Then import the package:

import ynab 


Install via Setuptools.

python install --user

(or sudo python install to install the package for all users)

Then import the package:

import ynab

Getting Started

Please follow the installation procedure and then run the following:

from __future__ import print_function
import time
import ynab
from import ApiException
from pprint import pprint

# Configure API key authorization: bearer
configuration = ynab.Configuration()

configuration.api_key['Authorization'] = 'YOUR_API_KEY'
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
# configuration.api_key_prefix['Authorization'] = 'Bearer'
# create an instance of the API class
api_instance = ynab.AccountsApi()
budget_id = 'budget_id_example' # str | The ID of the Budget.
account_id = 'account_id_example' # str | The ID of the Account.

    # Single account
    api_response = api_instance.get_account_by_id(budget_id, account_id)
except ApiException as e:
    print("Exception when calling AccountsApi->get_account_by_id: %s\n" % e)

Documentation for API Endpoints

All URIs are relative to

Class Method HTTP request Description
AccountsApi get_account_by_id GET /budgets/{budget_id}/accounts/{account_id} Single account
AccountsApi get_accounts GET /budgets/{budget_id}/accounts Account list
BudgetsApi get_budget_by_id GET /budgets/{budget_id} Single budget
BudgetsApi get_budgets GET /budgets List budgets
CategoriesApi get_categories GET /budgets/{budget_id}/categories List categories
CategoriesApi get_category_by_id GET /budgets/{budget_id}/categories/{category_id} Single category
MonthsApi get_budget_month GET /budgets/{budget_id}/months/{month} Single budget month
MonthsApi get_budget_months GET /budgets/{budget_id}/months List budget months
PayeeLocationsApi get_payee_location_by_id GET /budgets/{budget_id}/payee_locations/{payee_location_id} Single payee location
PayeeLocationsApi get_payee_locations GET /budgets/{budget_id}/payee_locations List payee locations
PayeeLocationsApi get_payee_locations_by_payee GET /budgets/{budget_id}/payees/{payee_id}/payee_locations List locations for a payee
PayeesApi get_payee_by_id GET /budgets/{budget_id}/payees/{payee_id} Single payee
PayeesApi get_payees GET /budgets/{budget_id}/payees List payees
ScheduledTransactionsApi get_scheduled_transaction_by_id GET /budgets/{budget_id}/scheduled_transactions/{scheduled_transaction_id} Single scheduled transaction
ScheduledTransactionsApi get_scheduled_transactions GET /budgets/{budget_id}/scheduled_transactions List scheduled transactions
TransactionsApi bulk_create_transactions POST /budgets/{budget_id}/transactions/bulk Bulk create transactions
TransactionsApi create_transaction POST /budgets/{budget_id}/transactions Create new transaction
TransactionsApi get_transactions GET /budgets/{budget_id}/transactions List transactions
TransactionsApi get_transactions_by_account GET /budgets/{budget_id}/accounts/{account_id}/transactions List account transactions
TransactionsApi get_transactions_by_category GET /budgets/{budget_id}/categories/{category_id}/transactions List category transactions
TransactionsApi get_transactions_by_id GET /budgets/{budget_id}/transactions/{transaction_id} Single transaction
TransactionsApi get_transactions_by_payee GET /budgets/{budget_id}/payees/{payee_id}/transactions List payee transactions
TransactionsApi update_transaction PUT /budgets/{budget_id}/transactions/{transaction_id} Updates an existing transaction
UserApi get_user GET /user User info

Documentation For Models

Documentation For Authorization


  • Type: API key
  • API key parameter name: Authorization
  • Location: HTTP header


You can’t perform that action at this time.