ynab.go icon indicating copy to clipboard operation
ynab.go copied to clipboard

Go client for the YNAB API. Unofficial. It covers 100% of the resources made available by the YNAB API.

YNAB API Go Library

Build Status Build Status Coverage Status Go Report Card GoDoc Reference

This is an UNOFFICIAL Go client for the YNAB API. It covers 100% of the resources made available by the YNAB API.

Installation

go get go.bmvs.io/ynab

Usage

To use this client you must obtain an access token from your My Account page of the YNAB web app.

package main

import (
	"fmt"

	"go.bmvs.io/ynab"
)

const accessToken = "bf0cbb14b4330-not-real-3de12e66a389eaafe2"

func main() {
	c := ynab.NewClient(accessToken)
	budgets, err := c.Budget().GetBudgets()
	if err != nil {
		panic(err)
	}

	for _, budget := range budgets {
		fmt.Println(budget.Name)
		// ...
	}
}

See the godoc to see all the available methods with example usage.

Development

  • Make sure you have Go 1.11 or later installed
  • Make sure you have exported GO111MODULE=on in your environment to be able do handle dependencies
  • Run tests with go test -race ./...

License

BSD-2-Clause