The YNAB API offers RESTful JSON endpoints for accessing and managing personal budgeting data, including budgets, accounts, categories, transactions, scheduled transactions, payees, and related metadata.
budget_id(path, required) — The id of the budget. "last-used" can be used to specify the last used budget and "default" can be used if default budget selection is enabled (see: https://api.youneedabudget.com/#oauth-default-budget).
last_knowledge_of_server(query) — The starting server knowledge. If provided, only entities that have changed since `last_knowledge_of_server` will be included.
GET
/budgets
List budgets
include_accounts(query) — Whether to include the list of budget accounts
GET
/budgets/{budget_id}
Single budget
budget_id(path, required) — The id of the budget. "last-used" can be used to specify the last used budget and "default" can be used if default budget selection is enabled (see: https://api.youneedabudget.com/#oauth-default-budget).
last_knowledge_of_server(query) — The starting server knowledge. If provided, only entities that have changed since `last_knowledge_of_server` will be included.
GET
/budgets/{budget_id}/accounts
Account list
budget_id(path, required) — The id of the budget. "last-used" can be used to specify the last used budget and "default" can be used if default budget selection is enabled (see: https://api.youneedabudget.com/#oauth-default-budget).
last_knowledge_of_server(query) — The starting server knowledge. If provided, only entities that have changed since `last_knowledge_of_server` will be included.
POST
/budgets/{budget_id}/accounts
Create a new account
budget_id(path, required) — The id of the budget ("last-used" can be used to specify the last used budget and "default" can be used if default budget selection is enabled (see: https://api.youneedabudget.com/#oauth-default-budget)
GET
/budgets/{budget_id}/accounts/{account_id}
Single account
budget_id(path, required) — The id of the budget. "last-used" can be used to specify the last used budget and "default" can be used if default budget selection is enabled (see: https://api.youneedabudget.com/#oauth-default-budget).
account_id(path, required) — The id of the account
budget_id(path, required) — The id of the budget. "last-used" can be used to specify the last used budget and "default" can be used if default budget selection is enabled (see: https://api.youneedabudget.com/#oauth-default-budget).
account_id(path, required) — The id of the account
since_date(query) — If specified, only transactions on or after this date will be included. The date should be ISO formatted (e.g. 2016-12-30).
type(query) — If specified, only transactions of the specified type will be included. "uncategorized" and "unapproved" are currently supported.
last_knowledge_of_server(query) — The starting server knowledge. If provided, only entities that have changed since `last_knowledge_of_server` will be included.
GET
/budgets/{budget_id}/categories
List categories
budget_id(path, required) — The id of the budget. "last-used" can be used to specify the last used budget and "default" can be used if default budget selection is enabled (see: https://api.youneedabudget.com/#oauth-default-budget).
last_knowledge_of_server(query) — The starting server knowledge. If provided, only entities that have changed since `last_knowledge_of_server` will be included.
GET
/budgets/{budget_id}/categories/{category_id}
Single category
budget_id(path, required) — The id of the budget. "last-used" can be used to specify the last used budget and "default" can be used if default budget selection is enabled (see: https://api.youneedabudget.com/#oauth-default-budget).
category_id(path, required) — The id of the category
budget_id(path, required) — The id of the budget. "last-used" can be used to specify the last used budget and "default" can be used if default budget selection is enabled (see: https://api.youneedabudget.com/#oauth-default-budget).
category_id(path, required) — The id of the category
since_date(query) — If specified, only transactions on or after this date will be included. The date should be ISO formatted (e.g. 2016-12-30).
type(query) — If specified, only transactions of the specified type will be included. "uncategorized" and "unapproved" are currently supported.
last_knowledge_of_server(query) — The starting server knowledge. If provided, only entities that have changed since `last_knowledge_of_server` will be included.
GET
/budgets/{budget_id}/months/{month}
Single budget month
budget_id(path, required) — The id of the budget. "last-used" can be used to specify the last used budget and "default" can be used if default budget selection is enabled (see: https://api.youneedabudget.com/#oauth-default-budget).
month(path, required) — The budget month in ISO format (e.g. 2016-12-01) ("current" can also be used to specify the current calendar month (UTC))
budget_id(path, required) — The id of the budget. "last-used" can be used to specify the last used budget and "default" can be used if default budget selection is enabled (see: https://api.youneedabudget.com/#oauth-default-budget).
month(path, required) — The budget month in ISO format (e.g. 2016-12-01) ("current" can also be used to specify the current calendar month (UTC))
category_id(path, required) — The id of the category
budget_id(path, required) — The id of the budget. "last-used" can be used to specify the last used budget and "default" can be used if default budget selection is enabled (see: https://api.youneedabudget.com/#oauth-default-budget).
month(path, required) — The budget month in ISO format (e.g. 2016-12-01) ("current" can also be used to specify the current calendar month (UTC))
category_id(path, required) — The id of the category
GET
/budgets/{budget_id}/payee_locations
List payee locations
budget_id(path, required) — The id of the budget. "last-used" can be used to specify the last used budget and "default" can be used if default budget selection is enabled (see: https://api.youneedabudget.com/#oauth-default-budget).
budget_id(path, required) — The id of the budget. "last-used" can be used to specify the last used budget and "default" can be used if default budget selection is enabled (see: https://api.youneedabudget.com/#oauth-default-budget).
payee_location_id(path, required) — id of payee location
GET
/budgets/{budget_id}/payees
List payees
budget_id(path, required) — The id of the budget. "last-used" can be used to specify the last used budget and "default" can be used if default budget selection is enabled (see: https://api.youneedabudget.com/#oauth-default-budget).
last_knowledge_of_server(query) — The starting server knowledge. If provided, only entities that have changed since `last_knowledge_of_server` will be included.
GET
/budgets/{budget_id}/payees/{payee_id}
Single payee
budget_id(path, required) — The id of the budget. "last-used" can be used to specify the last used budget and "default" can be used if default budget selection is enabled (see: https://api.youneedabudget.com/#oauth-default-budget).
budget_id(path, required) — The id of the budget. "last-used" can be used to specify the last used budget and "default" can be used if default budget selection is enabled (see: https://api.youneedabudget.com/#oauth-default-budget).
budget_id(path, required) — The id of the budget. "last-used" can be used to specify the last used budget and "default" can be used if default budget selection is enabled (see: https://api.youneedabudget.com/#oauth-default-budget).
payee_id(path, required) — The id of the payee
since_date(query) — If specified, only transactions on or after this date will be included. The date should be ISO formatted (e.g. 2016-12-30).
type(query) — If specified, only transactions of the specified type will be included. "uncategorized" and "unapproved" are currently supported.
last_knowledge_of_server(query) — The starting server knowledge. If provided, only entities that have changed since `last_knowledge_of_server` will be included.
GET
/budgets/{budget_id}/scheduled_transactions
List scheduled transactions
budget_id(path, required) — The id of the budget. "last-used" can be used to specify the last used budget and "default" can be used if default budget selection is enabled (see: https://api.youneedabudget.com/#oauth-default-budget).
last_knowledge_of_server(query) — The starting server knowledge. If provided, only entities that have changed since `last_knowledge_of_server` will be included.
budget_id(path, required) — The id of the budget. "last-used" can be used to specify the last used budget and "default" can be used if default budget selection is enabled (see: https://api.youneedabudget.com/#oauth-default-budget).
scheduled_transaction_id(path, required) — The id of the scheduled transaction
GET
/budgets/{budget_id}/settings
Budget Settings
budget_id(path, required) — The id of the budget. "last-used" can be used to specify the last used budget and "default" can be used if default budget selection is enabled (see: https://api.youneedabudget.com/#oauth-default-budget).
GET
/budgets/{budget_id}/transactions
List transactions
budget_id(path, required) — The id of the budget. "last-used" can be used to specify the last used budget and "default" can be used if default budget selection is enabled (see: https://api.youneedabudget.com/#oauth-default-budget).
since_date(query) — If specified, only transactions on or after this date will be included. The date should be ISO formatted (e.g. 2016-12-30).
type(query) — If specified, only transactions of the specified type will be included. "uncategorized" and "unapproved" are currently supported.
last_knowledge_of_server(query) — The starting server knowledge. If provided, only entities that have changed since `last_knowledge_of_server` will be included.
PATCH
/budgets/{budget_id}/transactions
Update multiple transactions
budget_id(path, required) — The id of the budget. "last-used" can be used to specify the last used budget and "default" can be used if default budget selection is enabled (see: https://api.youneedabudget.com/#oauth-default-budget).
POST
/budgets/{budget_id}/transactions
Create a single transaction or multiple transactions
budget_id(path, required) — The id of the budget. "last-used" can be used to specify the last used budget and "default" can be used if default budget selection is enabled (see: https://api.youneedabudget.com/#oauth-default-budget).
POST
/budgets/{budget_id}/transactions/bulk
Bulk create transactions
budget_id(path, required) — The id of the budget. "last-used" can be used to specify the last used budget and "default" can be used if default budget selection is enabled (see: https://api.youneedabudget.com/#oauth-default-budget).
POST
/budgets/{budget_id}/transactions/import
Import transactions
budget_id(path, required) — The id of the budget. "last-used" can be used to specify the last used budget and "default" can be used if default budget selection is enabled (see: https://api.youneedabudget.com/#oauth-default-budget).
budget_id(path, required) — The id of the budget. "last-used" can be used to specify the last used budget and "default" can be used if default budget selection is enabled (see: https://api.youneedabudget.com/#oauth-default-budget).
transaction_id(path, required) — The id of the transaction
budget_id(path, required) — The id of the budget. "last-used" can be used to specify the last used budget and "default" can be used if default budget selection is enabled (see: https://api.youneedabudget.com/#oauth-default-budget).
transaction_id(path, required) — The id of the transaction
budget_id(path, required) — The id of the budget. "last-used" can be used to specify the last used budget and "default" can be used if default budget selection is enabled (see: https://api.youneedabudget.com/#oauth-default-budget).
transaction_id(path, required) — The id of the transaction
GET
/user
User info
31 endpoints auto-detected
Authentication
This API requires authentication: OAuth.
curl -X GET \
"https://api.youneedabudget.com//budgets/{budget_id}/months"