YNAB API Javascript (Node) Library
NOTE: The YNAB API is currently only available to Early Access users. If you are interested in requesting access before the API is generally available, please fill out this form.
The YNAB API JavaScript library provides access to the YNAB API from
applications written in Node.js / JavaScript.
Please read the YNAB API documentation for an
overview of using the API and a complete list of the available resources.
Installation
npm install ynab
Usage
To use this client, you must
obtain an access token from
the My Account area of the YNAB web
application.
const ynabApi = require("ynab");
const accessToken = "b43439eaafe2_this_is_fake_b43439eaafe2";
const ynab = new ynabApi(accessToken);
async function listBudgets(){
const budgetsResponse = await ynab.budgets.getBudgets();
const budgets = budgetsResponse.data.budgets;
for(let budget of budgets) {
console.log(`Budget Name: ${budget.name}`);
}
}
listBudgets();
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.
const ynabApi = require("ynab-sdk-js");
const accessToken = "invalid_token";
const ynab = new ynabApi(accessToken);
const budgetsResponse = ynab.budgets.getBudgets()
.then(budgetsResponse => {
})
.catch(e => {
console.log(e);
});
Utilities
There are several utilities available on the ynab.utils
object to make working
with ISO dates and milliunits a bit
easier.
getCurrentMonthInISOFormat(): string;
getCurrentDateInISOFormat(): string;
convertFromISODateString(isoDateString: string): Date;
convertMilliUnitsToCurrencyAmount(milliunits: number, currencyDecimalDigits: number): number;
Examples
See the examples
folder for example usage scenarios.
Development
To build and compile:
npm install
npm run build
To run tests:
npm test
License
Copyright (c) 2018 You Need A Budget, LLC
Licensed under the Apache-2.0 license