ynab
SKILL.md
YNAB CLI
Install
npm i -g @stephendolan/ynab-cli
Auth
# Get API key from https://app.ynab.com/settings/developer
# Then set YNAB_API_KEY env var, or:
ynab auth login
ynab auth status
Budgets
ynab budgets list
ynab budgets view [id]
ynab budgets set-default <id>
Accounts
ynab accounts list
ynab accounts view <id>
ynab accounts transactions <id>
Categories
ynab categories list
ynab categories view <id>
ynab categories transactions <id>
ynab categories budget <id> --month <YYYY-MM> --amount <amount>
Transactions
ynab transactions list
ynab transactions list --account <id> --since <YYYY-MM-DD>
ynab transactions list --approved=false --min-amount 100
ynab transactions search --memo "coffee"
ynab transactions search --payee-name "Amazon"
ynab transactions view <id>
ynab transactions create --account <id> --amount <amount> --date <YYYY-MM-DD>
ynab transactions update <id> --amount <amount>
ynab transactions delete <id>
ynab transactions split <id> --splits '[{"amount": -50.00, "category_id": "xxx"}]'
Payees
ynab payees list
ynab payees view <id>
ynab payees update <id> --name <name>
ynab payees transactions <id>
Months
ynab months list
ynab months view <YYYY-MM>
Scheduled
ynab scheduled list
ynab scheduled view <id>
ynab scheduled delete <id>
Raw API
ynab api GET /budgets
ynab api POST /budgets/{budget_id}/transactions --data '{"transaction": {...}}'
Notes
- Amounts are in your budget's currency, not milliunits
- Use
--compactfor minified JSON - Rate limit: 200 req/hour
- Cannot create categories/groups/payees via API