{"id":13628621,"url":"https://github.com/jaboc83/ynab-sdk-dotnetcore","last_synced_at":"2025-04-06T08:24:33.769Z","repository":{"id":40909498,"uuid":"203856766","full_name":"jaboc83/ynab-sdk-dotnetcore","owner":"jaboc83","description":"YNAB API .Net Core Library https://api.youneedabudget.com","archived":false,"fork":false,"pushed_at":"2022-12-08T09:06:59.000Z","size":317,"stargazers_count":26,"open_issues_count":9,"forks_count":9,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-04T22:05:58.454Z","etag":null,"topics":["openapi","sdk","ynab","ynab-api","you-need-a-budget"],"latest_commit_sha":null,"homepage":"https://www.nuget.org/packages/YNAB.SDK/","language":"C#","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/jaboc83.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}},"created_at":"2019-08-22T19:07:07.000Z","updated_at":"2024-12-24T16:23:09.000Z","dependencies_parsed_at":"2023-01-25T05:00:47.927Z","dependency_job_id":null,"html_url":"https://github.com/jaboc83/ynab-sdk-dotnetcore","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaboc83%2Fynab-sdk-dotnetcore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaboc83%2Fynab-sdk-dotnetcore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaboc83%2Fynab-sdk-dotnetcore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaboc83%2Fynab-sdk-dotnetcore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jaboc83","download_url":"https://codeload.github.com/jaboc83/ynab-sdk-dotnetcore/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247284913,"owners_count":20913691,"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":["openapi","sdk","ynab","ynab-api","you-need-a-budget"],"created_at":"2024-08-01T22:00:54.543Z","updated_at":"2025-04-06T08:24:33.748Z","avatar_url":"https://github.com/jaboc83.png","language":"C#","funding_links":[],"categories":["Uncategorized"],"sub_categories":["Uncategorized"],"readme":"# YNAB API .NET Core Library\n\nPlease read the [YNAB API documentation][ynabapi] for an overview of using the\nAPI and a complete list of available resources.\n\nThis client is generated using the [OpenAPI Code Generator][openapi]\n\n## Include the Package\n\nFirst, include the nuget package YNAB.SDK:\n\n```shell\ndotnet add package YNAB.SDK\n```\n\n## Usage\n\nTo use this client, you must [obtain an access token][accesstoken] from the\n[My Account][myaccount] area of the YNAB web application.\n\n``` csharp\nvar accessToken = \"NOT_A_REAL_TOKEN\";\nvar ynabApi = new YNAB.SDK.API(accessToken);\n\npublic async Task ListBudgets() {\n  var budgetsResponse = await ynabApi.Budgets.GetBudgetsAsync();\n  budgetsResponse.Data.Budgets.ForEach(budget =\u003e {\n    Console.WriteLine($\"Budget Name: {budget.Name}\");\n  });\n}\n```\n\n### Error Handling\n\nIf a response is returned with a code \u003e= 300, instead of returning the response,\nthe response will be thrown as an error to be caught.\n\n``` csharp\nvar accessToken = \"invalid_token\";\nvar ynabApi = new YNAB.SDK.API(accessToken);\n\npublic async Task ListBudgets() {\n  try {\n    var budgetsResponse = await ynabAPI.Budgets.GetBudgets();\n    // Won't get here because an error will be thrown\n  } catch (YNAB.SDK.Client.ApiException ex) {\n    Console.WriteLine(ex.ErrorCode); // 401\n  }\n}\n```\n\n## Examples\n\nSee the [examples][examples] folder for example usage scenarios.\n\n## Methods\n\nThe following methods are available in this library from the YNAB.SDK.API class.\nSee [the Open API generated docs][docs] for more details on lower level objects.\n\n|                            | Method                                                                                                                                                         | Description                                           |\n|----------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------|\n| **User**                   | User.GetUser() | Returns authenticated user information                |\n| | User.GetUserAsync() | Returns authenticated user information                |\n| **Budgets**                | Budgets.GetBudgets() | Returns budgets list with summary information         |\n|                | Budgets.GetBudgetsAsync() | Returns budgets list with summary information         |\n|                            | Budgets.GetBudgetsById(budgetId) | Returns a single budget with all related entities     |\n|                            | Budgets.GetBudgetsByIdAsync(budgetId) | Returns a single budget with all related entities     |\n|                            | Budgets.GetBudgetSettingsById(budgetId) | Returns settings for a budget                         |\n|                            | Budgets.GetBudgetSettingsByIdAsync(budgetId) | Returns settings for a budget                         |\n| **Accounts**               | Accounts.GetAccounts(budgetId) | Returns all accounts                                  |\n|               | Accounts.GetAccountsAsync(budgetId) | Returns all accounts                                  |\n|                            | Accounts.GetAccountById(budgetId, accountId) | Returns a single account                              |\n|                            | Accounts.GetAccountByIdAsync(budgetId, accountId) | Returns a single account                              |\n| **Categories**             | Categories.GetCategories(budgetId) | Returns all categories grouped by category group.     |\n|             | Categories.GetCategoriesAsync(budgetId) | Returns all categories grouped by category group.     |\n|                            | Categories.GetCategoryById(budgetId, categoryId) | Returns a single category                             |\n|                            | Categories.GetCategoryByIdAsync(budgetId, categoryId) | Returns a single category                             |\n| **Payees**                 | Payees.GetPayees(budgetId) | Returns all payees                                    |\n|                 | Payees.GetPayeesAsync(budgetId) | Returns all payees                                    |\n|                            | Payees.GetPayeeById(budgetId, payeeId) | Returns single payee                                  |\n|                            | Payees.GetPayeeByIdAsync(budgetId, payeeId) | Returns single payee                                  |\n| **Payee Locations**        | PayeeLocations.GetPayeeLocations(budgetId) | Returns all payee locations                           |\n|        | PayeeLocations.GetPayeeLocationsAsync(budgetId) | Returns all payee locations                           |\n|                            | PayeeLocations.GetPayeeLocationById(budgetId, payeeLocationId) | Returns a single payee location                       |\n|                            | PayeeLocations.GetPayeeLocationByIdAsync(budgetId, payeeLocationId) | Returns a single payee location                       |\n|                            | PayeeLocations.GetPayeeLocationsByPayee(budgetId, payeeId) | Returns all payee locations for the specified payee   |\n|                            | PayeeLocations.GetPayeeLocationsByPayeeAsync(budgetId, payeeId) | Returns all payee locations for the specified payee   |\n| **Months**                 | Months.GetBudgetMonths(budgetId) | Returns all budget months                             |\n|                 | Months.GetBudgetMonthsAsync(budgetId) | Returns all budget months                             |\n|                            | Months.GetBudgetMonth(budgetId, month) | Returns a single budget month                         |\n|                            | Months.GetBudgetMonthAsync(budgetId, month) | Returns a single budget month                         |\n|                            | Months.GetMonthCategoryById(budgetId, month, categoryId) | Returns a single category for a specific budget month |\n|                            | Months.GetMonthCategoryByIdAsync(budgetId, month, categoryId) | Returns a single category for a specific budget month |\n|                            | Months.updateMonthCategory(budgetId, month, categoryId, monthCategory) | Update an existing month category                     |\n|                            | Months.updateMonthCategoryAsync(budgetId, month, categoryId, monthCategory) | Update an existing month category                     |\n| **Transactions**           | Transactions.GetTransactions(budgetId) | Returns budget transactions                           |\n|           | Transactions.GetTransactionsAsync(budgetId) | Returns budget transactions                           |\n|                            | Transactions.GetTransactionsByAccount(budgetId, accountId) | Returns all transactions for a specified account      |\n|                            | Transactions.GetTransactionsByAccountAsync(budgetId, accountId) | Returns all transactions for a specified account      |\n|                            | Transactions.GetTransactionsByCategory(budgetId, categoryId) | Returns all transactions for a specified category     |\n|                            | Transactions.GetTransactionsByCategoryAsync(budgetId, categoryId) | Returns all transactions for a specified category     |\n|                            | Transactions.GetTransactionById(budgetId, transactionId) | Returns a single transaction                          |\n|                            | Transactions.GetTransactionByIdAsync(budgetId, transactionId) | Returns a single transaction                          |\n|                            | Transactions.CreateTransaction(budgetId, data) | Creates a single transaction                  |\n|                            | Transactions.CreateTransactionAsync(budgetId, data) | Creates a single transaction                  |\n|                            | Transactions.CreateTransactions(budgetId, data) | Creates multiple transactions                  |\n|                            | Transactions.CreateTransactionsAsync(budgetId, data) | Creates multiple transactions                  |\n|                            | Transactions.UpdateTransaction(budgetId, transactionId, data) | Updates a single transaction                                 |\n|                            | Transactions.UpdateTransactionAsync(budgetId, transactionId, data) | Updates a single transaction                                 |\n|                            | Transactions.UpdateTransactions(budgetId, data) | Updates multiple transactions                                 |\n|                            | Transactions.UpdateTransactionsAsync(budgetId, data) | Updates multiple transactions                                 |\n| **Scheduled Transactions** | ScheduledTransactions.GetScheduledTransactions(budgetId) | Returns all scheduled transactions                    |\n| | ScheduledTransactions.GetScheduledTransactionsAsync(budgetId) | Returns all scheduled transactions                    |\n|                            | ScheduledTransactions.GetScheduledTransactionById(budgetId, scheduledTransactionId) | Returns a single scheduled transaction                |\n|                            | ScheduledTransactions.GetScheduledTransactionByIdAsync(budgetId, scheduledTransactionId) | Returns a single scheduled transaction                |\n\n## License\n\nCopyright (c) 2019 Jake Moening\n\nLicensed under the Apache-2.0 license\n\n[openapi]: https://github.com/OpenAPITools/openapi-generator\n[ynabapi]: https://api.youneedabudget.com\n[accesstoken]: https://api.youneedabudget.com/#authentication-overview\n[myaccount]: https://app.youneedabudget.com/settings\n[examples]: https://github.com/jaboc83/ynab-sdk-dotnetcore/tree/master/YNAB.SDK/examples\n[docs]: https://github.com/jaboc83/ynab-sdk-dotnetcore/tree/master/docs\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaboc83%2Fynab-sdk-dotnetcore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjaboc83%2Fynab-sdk-dotnetcore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaboc83%2Fynab-sdk-dotnetcore/lists"}