{"id":18952994,"url":"https://github.com/ynab/ynab-sdk-ruby","last_synced_at":"2025-04-12T21:34:13.921Z","repository":{"id":56899138,"uuid":"110981129","full_name":"ynab/ynab-sdk-ruby","owner":"ynab","description":"Official Ruby client for the YNAB API","archived":false,"fork":false,"pushed_at":"2025-03-24T13:17:14.000Z","size":1058,"stargazers_count":68,"open_issues_count":0,"forks_count":12,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-04-04T01:09:51.021Z","etag":null,"topics":["api","budgeting","finance","rest-api","ruby","ynab","ynab-api"],"latest_commit_sha":null,"homepage":"https://api.ynab.com","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ynab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-11-16T14:26:39.000Z","updated_at":"2025-03-24T13:17:18.000Z","dependencies_parsed_at":"2024-06-27T23:36:43.979Z","dependency_job_id":"48f6cc30-b2af-4e40-99e1-bb06a79f0bff","html_url":"https://github.com/ynab/ynab-sdk-ruby","commit_stats":{"total_commits":307,"total_committers":12,"mean_commits":"25.583333333333332","dds":0.1596091205211726,"last_synced_commit":"6095db2ac5ad5c5c2bfea31a5da0f1d68b4c25aa"},"previous_names":[],"tags_count":54,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ynab%2Fynab-sdk-ruby","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ynab%2Fynab-sdk-ruby/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ynab%2Fynab-sdk-ruby/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ynab%2Fynab-sdk-ruby/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ynab","download_url":"https://codeload.github.com/ynab/ynab-sdk-ruby/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248636972,"owners_count":21137527,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","budgeting","finance","rest-api","ruby","ynab","ynab-api"],"created_at":"2024-11-08T13:35:34.553Z","updated_at":"2025-04-12T21:34:13.894Z","avatar_url":"https://github.com/ynab.png","language":"Ruby","readme":"# YNAB API Ruby Library\n\n[![Build](https://github.com/ynab/ynab-sdk-ruby/actions/workflows/build-test.yml/badge.svg)](https://github.com/ynab/ynab-sdk-ruby/actions/workflows/build-test.yml) [![Gem Version](https://badge.fury.io/rb/ynab.svg?icon=si%3Arubygems)](https://badge.fury.io/rb/ynab)\n\nThis is the Ruby client for the YNAB API.\n\nPlease read the [YNAB API documentation](https://api.ynab.com) for an\noverview of using the API and a complete list of available resources.\n\nThis client is generated using the [OpenAPI Generator](https://openapi-generator.tech/).\n\n## Installation\n\n```\ngem install ynab\n```\n\nNote: 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](https://rubygems.org/gems/ynab/versions/2.1.0) of this gem.\n\n## Usage\nTo use this client you must\n[obtain an access token](https://api.ynab.com/#authentication) from\nyour [Account Settings](https://app.ynab.com/settings) page of the YNAB web\napp.\n\n```ruby\nrequire 'ynab'\n\naccess_token = ENV['YNAB_ACCESS_TOKEN']\nynab_api = YNAB::API.new(access_token)\n\nbudget_response = ynab_api.budgets.get_budgets\nbudgets = budget_response.data.budgets\n\nbudgets.each do |budget|\n  puts \"Budget Name: #{budget.name}\"\nend\n```\n\n## Examples\n\nSee the [examples folder](https://github.com/ynab/ynab-sdk-ruby/tree/master/examples) for example usage scenarios.\n\n## Methods\n\nThe following methods are available in this library.\n\n|                            | Method                                                                                                                                                                                                            | Description                                           |\n|----------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------|\n| **User**                   | [user.get_user()](https://github.com/ynab/ynab-sdk-ruby/blob/master/docs/UserApi.md#get_user)                                                                                                                     | Returns authenticated user information                |\n| **Budgets**                | [budgets.get_budgets()](https://github.com/ynab/ynab-sdk-ruby/blob/master/docs/BudgetsApi.md#get_budgets)                                                                                                         | Returns budgets list with summary information         |\n|                            | [budgets.get_budget_by_id(budget_id)](https://github.com/ynab/ynab-sdk-ruby/blob/master/docs/BudgetsApi.md#get_budget_by_id)                                                                                      | Returns a single budget with all related entities     |\n|                            | [budgets.get_budget_settings_by_id(budget_id)](https://github.com/ynab/ynab-sdk-ruby/blob/master/docs/BudgetsApi.md#get_budget_settings_by_id)                                                                    | Returns settings for a budget                         |\n| **Accounts**               | [accounts.get_accounts(budget_id)](https://github.com/ynab/ynab-sdk-ruby/blob/master/docs/AccountsApi.md#get_accounts)                                                                                            | Returns all accounts                                  |\n|                            | [accounts.get_account_by_id(budget_id, account_id)](https://github.com/ynab/ynab-sdk-ruby/blob/master/docs/AccountsApi.md#get_account_by_id)                                                                      | Returns a single account                              |\n| **Categories**             | [categories.get_categories(budget_id)](https://github.com/ynab/ynab-sdk-ruby/blob/master/docs/CategoriesApi.md#get_categories)                                                                                    | Returns all categories grouped by category group.     |\n|                            | [categories.get_category_by_id(budget_id, category_id)](https://github.com/ynab/ynab-sdk-ruby/blob/master/docs/CategoriesApi.md#get_category_by_id)                                                               | Returns a single category                             |\n|                            | [categories.get_month_category_by_id(budget_id, month, category_id)](https://github.com/ynab/ynab-sdk-ruby/blob/master/docs/MonthsApi.md#get_month_category_by_id)                                                    | Returns a single category for a specific budget month\n|                            | [categories.update_category(budget_id, category_id, data)](https://github.com/ynab/ynab-sdk-ruby/blob/master/docs/CategoriesApi.md#update_category)                                                    | Update an existing category\n|                            | [categories.update_month_category(budget_id, month, category_id, data)](https://github.com/ynab/ynab-sdk-ruby/blob/master/docs/CategoriesApi.md#update_month_category)                                                    | Update an existing month category\n| **Payees**                 | [payees.get_payees(budget_id)](https://github.com/ynab/ynab-sdk-ruby/blob/master/docs/PayeesApi.md#get_payees)                                                                                                    | Returns all payees                                    |\n|                            | [payees.get_payee_by_id(budget_id, payee_id)](https://github.com/ynab/ynab-sdk-ruby/blob/master/docs/PayeesApi.md#get_payee_by_id)                                                                                | Returns single payee                                  |\n| **Payee Locations**        | [payee_locations.get_payee_locations(budget_id)](https://github.com/ynab/ynab-sdk-ruby/blob/master/docs/PayeeLocationsApi.md#get_payee_locations)                                                                 | Returns all payee locations                           |\n|                            | [payee_locations.get_payee_location_by_id(budget_id, payee_location_id)](https://github.com/ynab/ynab-sdk-ruby/blob/master/docs/PayeeLocationsApi.md#get_payee_location_by_id)                                    | Returns a single payee location                       |\n|                            | [payee_locations.get_payee_locations_by_payee(budget_id, payee_id)](https://github.com/ynab/ynab-sdk-ruby/blob/master/docs/PayeeLocationsApi.md#get_payee_locations_by_payee)                                     | Returns all payee locations for the specified payee   |\n| **Months**                 | [months.get_budget_months(budget_id)](https://github.com/ynab/ynab-sdk-ruby/blob/master/docs/MonthsApi.md#get_budget_months)                                                                                      | Returns all budget months                             |\n|                            | [months.get_budget_month(budget_id, month)](https://github.com/ynab/ynab-sdk-ruby/blob/master/docs/MonthsApi.md#get_budget_month)                                                                                 | Returns a single budget month                         |\n|                            | [months.update_month_category(budget_id, month, category_id, month_category)](https://github.com/ynab/ynab-sdk-ruby/blob/master/docs/MonthsApi.md#update_month_category)                                          | Update an existing month category                     |\n| **Transactions**           | [transactions.get_transactions(budget_id)](https://github.com/ynab/ynab-sdk-ruby/blob/master/docs/TransactionsApi.md#get_transactions)                                                                            | Returns budget transactions                           |\n|                            | [transactions.get_transactions_by_account(budget_id, account_id)](https://github.com/ynab/ynab-sdk-ruby/blob/master/docs/TransactionsApi.md#get_transactions_by_account)                                          | Returns all transactions for a specified account      |\n|                            | [transactions.get_transactions_by_category(budget_id, category_id)](https://github.com/ynab/ynab-sdk-ruby/blob/master/docs/TransactionsApi.md#get_transactions_by_category)                                       | Returns all transactions for a specified category     |\n|                            | [transactions.get_transactions_by_month(budget_id, month)](https://github.com/ynab/ynab-sdk-ruby/blob/master/docs/TransactionsApi.md#get_transactions_by_month)                                                   | Returns all transactions for a specified month     |\n|                            | [transactions.get_transaction_by_id(budget_id, transaction_id)](https://github.com/ynab/ynab-sdk-ruby/blob/master/docs/TransactionsApi.md#get_transaction_by_id)                                                  | Returns a single transaction                          |\n|                            | [transactions.create_transaction(budget_id, data)](https://github.com/ynab/ynab-sdk-ruby/blob/master/docs/TransactionsApi.md#create_transaction)                                                                  | Creates a single transaction                          |\n|                            | [transactions.create_transactions(budget_id, data)](https://github.com/ynab/ynab-sdk-ruby/blob/master/docs/TransactionsApi.md#create_transaction)                                                                 | Creates multiple transactions                         |\n|                            | [transactions.update_transaction(budget_id, id, data)](https://github.com/ynab/ynab-sdk-ruby/blob/master/docs/TransactionsApi.md#update_transaction)                                                              | Updates a single transaction                          |\n|                            | [transactions.update_transactions(budget_id, data)](https://github.com/ynab/ynab-sdk-ruby/blob/master/docs/TransactionsApi.md#update_transactions)                                                                | Updates multiple transactions                         |\n|                            | [transactions.delete_transaction(budget_id, transaction_id)](https://github.com/ynab/ynab-sdk-ruby/blob/master/docs/TransactionsApi.md#delete_transaction)                                                        | Deletes a single transaction                                     |\n|                            | [transactions.import_transactions(budget_id)](https://github.com/ynab/ynab-sdk-ruby/blob/master/docs/TransactionsApi.md#import_transactions)                                                                      | Imports transactions                       |\n| **Scheduled Transactions** | [scheduled_transactions.get_scheduled_transactions(budget_id)](https://github.com/ynab/ynab-sdk-ruby/blob/master/docs/ScheduledTransactionsApi.md#get_scheduled_transactions)                                     | Returns all scheduled transactions                    |\n|                            | [scheduled_transactions.get_scheduled_transaction_by_id(budget_id, scheduled_transaction_id)](https://github.com/ynab/ynab-sdk-ruby/blob/master/docs/ScheduledTransactionsApi.md#get_scheduled_transaction_by_id) | Returns a single scheduled transaction                |\n|                            | [scheduled_transactions.create_scheduled_transaction(budget_id, data)](https://github.com/ynab/ynab-sdk-ruby/blob/master/docs/ScheduledTransactionsApi.md#create_scheduled_transaction)                           | Creates a single scheduled transaction                      |\n|                            | [scheduled_transactions.update_scheduled_transaction(budget_id, scheduled_transaction_id, data)](https://github.com/ynab/ynab-sdk-ruby/blob/master/docs/ScheduledTransactionsApi.md#update_scheduled_transaction)                           | Updates a single scheduled transaction                      |\n|                            | [scheduled_transactions.delete_scheduled_transaction(budget_id, scheduled_transaction_id)](https://github.com/ynab/ynab-sdk-ruby/blob/master/docs/ScheduledTransactionsApi.md#delete_scheduled_transaction)                           | Deletes a single scheduled transaction                      |\n\n## Versioning\n\nThe version of this client is defined in the `ynab.gemspec` file and follows [semantic versioning](https://semver.org/).  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](https://api.ynab.com/papi/open_api_spec.yaml)).  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.\n\n## License\n\nCopyright (c) 2024 You Need A Budget, LLC\n\nLicensed under the Apache-2.0 license\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fynab%2Fynab-sdk-ruby","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fynab%2Fynab-sdk-ruby","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fynab%2Fynab-sdk-ruby/lists"}