Giter Club home page Giter Club logo

ynab-sdk-dotnetcore's Introduction

YNAB API .NET Core Library

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 Code Generator

Include the Package

First, include the nuget package YNAB.SDK:

dotnet add package YNAB.SDK

Usage

To use this client, you must obtain an access token from the My Account area of the YNAB web application.

var accessToken = "NOT_A_REAL_TOKEN";
var ynabApi = new YNAB.SDK.API(accessToken);

public async Task ListBudgets() {
  var budgetsResponse = await ynabApi.Budgets.GetBudgetsAsync();
  budgetsResponse.Data.Budgets.ForEach(budget => {
    Console.WriteLine($"Budget Name: {budget.Name}");
  });
}

Error Handling

If a response is returned with a code >= 300, instead of returning the response, the response will be thrown as an error to be caught.

var accessToken = "invalid_token";
var ynabApi = new YNAB.SDK.API(accessToken);

public async Task ListBudgets() {
  try {
    var budgetsResponse = await ynabAPI.Budgets.GetBudgets();
    // Won't get here because an error will be thrown
  } catch (YNAB.SDK.Client.ApiException ex) {
    Console.WriteLine(ex.ErrorCode); // 401
  }
}

Examples

See the examples folder for example usage scenarios.

Methods

The following methods are available in this library from the YNAB.SDK.API class. See the Open API generated docs for more details on lower level objects.

Method Description
User User.GetUser() Returns authenticated user information
User.GetUserAsync() Returns authenticated user information
Budgets Budgets.GetBudgets() Returns budgets list with summary information
Budgets.GetBudgetsAsync() Returns budgets list with summary information
Budgets.GetBudgetsById(budgetId) Returns a single budget with all related entities
Budgets.GetBudgetsByIdAsync(budgetId) Returns a single budget with all related entities
Budgets.GetBudgetSettingsById(budgetId) Returns settings for a budget
Budgets.GetBudgetSettingsByIdAsync(budgetId) Returns settings for a budget
Accounts Accounts.GetAccounts(budgetId) Returns all accounts
Accounts.GetAccountsAsync(budgetId) Returns all accounts
Accounts.GetAccountById(budgetId, accountId) Returns a single account
Accounts.GetAccountByIdAsync(budgetId, accountId) Returns a single account
Categories Categories.GetCategories(budgetId) Returns all categories grouped by category group.
Categories.GetCategoriesAsync(budgetId) Returns all categories grouped by category group.
Categories.GetCategoryById(budgetId, categoryId) Returns a single category
Categories.GetCategoryByIdAsync(budgetId, categoryId) Returns a single category
Payees Payees.GetPayees(budgetId) Returns all payees
Payees.GetPayeesAsync(budgetId) Returns all payees
Payees.GetPayeeById(budgetId, payeeId) Returns single payee
Payees.GetPayeeByIdAsync(budgetId, payeeId) Returns single payee
Payee Locations PayeeLocations.GetPayeeLocations(budgetId) Returns all payee locations
PayeeLocations.GetPayeeLocationsAsync(budgetId) Returns all payee locations
PayeeLocations.GetPayeeLocationById(budgetId, payeeLocationId) Returns a single payee location
PayeeLocations.GetPayeeLocationByIdAsync(budgetId, payeeLocationId) Returns a single payee location
PayeeLocations.GetPayeeLocationsByPayee(budgetId, payeeId) Returns all payee locations for the specified payee
PayeeLocations.GetPayeeLocationsByPayeeAsync(budgetId, payeeId) Returns all payee locations for the specified payee
Months Months.GetBudgetMonths(budgetId) Returns all budget months
Months.GetBudgetMonthsAsync(budgetId) Returns all budget months
Months.GetBudgetMonth(budgetId, month) Returns a single budget month
Months.GetBudgetMonthAsync(budgetId, month) Returns a single budget month
Months.GetMonthCategoryById(budgetId, month, categoryId) Returns a single category for a specific budget month
Months.GetMonthCategoryByIdAsync(budgetId, month, categoryId) Returns a single category for a specific budget month
Months.updateMonthCategory(budgetId, month, categoryId, monthCategory) Update an existing month category
Months.updateMonthCategoryAsync(budgetId, month, categoryId, monthCategory) Update an existing month category
Transactions Transactions.GetTransactions(budgetId) Returns budget transactions
Transactions.GetTransactionsAsync(budgetId) Returns budget transactions
Transactions.GetTransactionsByAccount(budgetId, accountId) Returns all transactions for a specified account
Transactions.GetTransactionsByAccountAsync(budgetId, accountId) Returns all transactions for a specified account
Transactions.GetTransactionsByCategory(budgetId, categoryId) Returns all transactions for a specified category
Transactions.GetTransactionsByCategoryAsync(budgetId, categoryId) Returns all transactions for a specified category
Transactions.GetTransactionById(budgetId, transactionId) Returns a single transaction
Transactions.GetTransactionByIdAsync(budgetId, transactionId) Returns a single transaction
Transactions.CreateTransaction(budgetId, data) Creates a single transaction
Transactions.CreateTransactionAsync(budgetId, data) Creates a single transaction
Transactions.CreateTransactions(budgetId, data) Creates multiple transactions
Transactions.CreateTransactionsAsync(budgetId, data) Creates multiple transactions
Transactions.UpdateTransaction(budgetId, transactionId, data) Updates a single transaction
Transactions.UpdateTransactionAsync(budgetId, transactionId, data) Updates a single transaction
Transactions.UpdateTransactions(budgetId, data) Updates multiple transactions
Transactions.UpdateTransactionsAsync(budgetId, data) Updates multiple transactions
Scheduled Transactions ScheduledTransactions.GetScheduledTransactions(budgetId) Returns all scheduled transactions
ScheduledTransactions.GetScheduledTransactionsAsync(budgetId) Returns all scheduled transactions
ScheduledTransactions.GetScheduledTransactionById(budgetId, scheduledTransactionId) Returns a single scheduled transaction
ScheduledTransactions.GetScheduledTransactionByIdAsync(budgetId, scheduledTransactionId) Returns a single scheduled transaction

License

Copyright (c) 2019 Jake Moening

Licensed under the Apache-2.0 license

ynab-sdk-dotnetcore's People

Contributors

edblankenship avatar jaboc83 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.