![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 Swagger Code Generator.
To use this client you must
obtain an access token from
your My Account 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 |
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.get_month_category_by_id(budget_id, month, category_id) |
Returns a single category for a specific 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.update_transaction(budget_id, id, transaction) |
Updates a transaction |
|
transactions.create_transaction(budget_id, save_transactions) |
Creates one transaction |
|
transactions.create_transactions(budget_id, save_transactions) |
Creates multiple transactions |
|
transactions.bulk_create_transactions(budget_id, transactions) |
Creates multiple 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 |
- Install dependencies:
bundle
- Generate latest client based on swagger spec:
rake generate
- Run tests:
rake spec
or rspec
- Commit all changes
- Bump VERSION in
lib/ynab/version.rb
- Run
rake publish
to publish to RubyGems
Copyright (c) 2018 You Need A Budget, LLC
Licensed under the Apache-2.0 license