This is the Ruby 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.
Note: The current version of this gem requires Ruby version 3.3 or later. If you are using an older version of Ruby, you can install version 2.1 of this gem.
To use this client you must
obtain an access token from
your Account Settings page of the YNAB web
app.
require 'ynab'
access_token = ENV['YNAB_ACCESS_TOKEN']
ynab_api = YNAB::API.new(access_token)
budget_response = ynab_api.budgets.get_budgets
budgets = budget_response.data.budgets
budgets.each do |budget|
puts "Budget Name: #{budget.name}"
end
See the examples folder for example usage scenarios.
The following methods are available in this library.
|
Method |
Description |
User |
user.get_user() |
Returns authenticated user information |
Budgets |
budgets.get_budgets() |
Returns budgets list with summary information |
|
budgets.get_budget_by_id(budget_id) |
Returns a single budget with all related entities |
|
budgets.get_budget_settings_by_id(budget_id) |
Returns settings for a budget |
Accounts |
accounts.get_accounts(budget_id) |
Returns all accounts |
|
accounts.get_account_by_id(budget_id, account_id) |
Returns a single account |
Categories |
categories.get_categories(budget_id) |
Returns all categories grouped by category group. |
|
categories.get_category_by_id(budget_id, category_id) |
Returns a single category |
|
categories.get_month_category_by_id(budget_id, month, category_id) |
Returns a single category for a specific budget month |
Payees |
payees.get_payees(budget_id) |
Returns all payees |
|
payees.get_payee_by_id(budget_id, payee_id) |
Returns single payee |
Payee Locations |
payee_locations.get_payee_locations(budget_id) |
Returns all payee locations |
|
payee_locations.get_payee_location_by_id(budget_id, payee_location_id) |
Returns a single payee location |
|
payee_locations.get_payee_locations_by_payee(budget_id, payee_id) |
Returns all payee locations for the specified payee |
Months |
months.get_budget_months(budget_id) |
Returns all budget months |
|
months.get_budget_month(budget_id, month) |
Returns a single budget month |
|
months.update_month_category(budget_id, month, category_id, month_category) |
Update an existing month category |
Transactions |
transactions.get_transactions(budget_id) |
Returns budget transactions |
|
transactions.get_transactions_by_account(budget_id, account_id) |
Returns all transactions for a specified account |
|
transactions.get_transactions_by_category(budget_id, category_id) |
Returns all transactions for a specified category |
|
transactions.get_transactions_by_month(budget_id, month) |
Returns all transactions for a specified month |
|
transactions.get_transaction_by_id(budget_id, transaction_id) |
Returns a single transaction |
|
transactions.create_transaction(budget_id, data) |
Creates a single transaction |
|
transactions.create_transactions(budget_id, data) |
Creates multiple transactions |
|
transactions.update_transaction(budget_id, id, data) |
Updates a single transaction |
|
transactions.update_transactions(budget_id, data) |
Updates multiple transactions |
|
transactions.delete_transaction(budget_id, transaction_id) |
Deletes a single transaction |
|
transactions.import_transactions(budget_id) |
Imports transactions |
Scheduled Transactions |
scheduled_transactions.get_scheduled_transactions(budget_id) |
Returns all scheduled transactions |
|
scheduled_transactions.get_scheduled_transaction_by_id(budget_id, scheduled_transaction_id) |
Returns a single scheduled transaction |
|
scheduled_transactions.create_scheduled_transaction(budget_id, data) |
Creates a single scheduled transaction |
The version of this client is defined in the ynab.gemspec
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" in the field in the ynab.gemspec
file.
Copyright (c) 2024 You Need A Budget, LLC
Licensed under the Apache-2.0 license