![Gem Version](https://camo.githubusercontent.com/3684716a789b4989c090f7e30a0fadb8c34e1ab8d7c52717d969b6f9d3dc1b95/68747470733a2f2f62616467652e667572792e696f2f72622f796e61622e737667)
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_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 |
Copyright (c) 2024 You Need A Budget, LLC
Licensed under the Apache-2.0 license