Skip to content

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

License

Notifications You must be signed in to change notification settings

brunomvsouza/ynab.go

YNAB API Go Library

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 github.com/brunomvsouza/ynab.go

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"

	"github.com/brunomvsouza/ynab.go"
)

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.19 or later installed
  • Run tests with go test -race ./...

License

BSD-2-Clause