{
  "info": {
    "name": "YNAB — mcp.ai",
    "description": "REST API for the YNAB MCP. Set {{apiKey}} to a workspace key (sk_live_…) created at https://mcp.ai/settings/api-keys.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{apiKey}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.mcp.ai/api/ynab",
      "type": "string"
    },
    {
      "key": "apiKey",
      "value": "sk_live_...",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "ynab_create_account",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/account",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "account"
          ]
        },
        "description": "Tool to create a new account in a budget. Use when you need to add a manual (non-linked) account to a specific budget.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"account\": {},\n  \"budget_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "ynab_create_scheduled_transaction",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/scheduled/transaction",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "scheduled",
            "transaction"
          ]
        },
        "description": "Creates a scheduled (recurring) transaction in a YNAB budget. Use this to set up bills, recurring expenses, or income that repeats on a schedule. Requires an account_id (from YNAB_LIST_ACCOUNTS), a da",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"budget_id\": \"\",\n  \"scheduled_transaction\": {}\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "ynab_delete_scheduled_transaction",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/delete/scheduled/transaction",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "delete",
            "scheduled",
            "transaction"
          ]
        },
        "description": "Permanently deletes a scheduled transaction from a YNAB budget. Use this when a recurring transaction is no longer needed. This action cannot be undone. Obtain the scheduled_transaction_id from list_s",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"budget_id\": \"\",\n  \"scheduled_transaction_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "ynab_get_account_by_id",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/account/by/id",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "account",
            "by",
            "id"
          ]
        },
        "description": "Tool to retrieve a single account resource. Use when you need details of a specific account by its ID after determining the budget.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"budget_id\": \"\",\n  \"account_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "ynab_get_budget_by_id",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/budget/by/id",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "budget",
            "by",
            "id"
          ]
        },
        "description": "Retrieve a complete budget export by ID, including all accounts, categories, payees, and transactions. Use this tool when you need comprehensive budget data. The response includes: - Budget metadata (",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"budget_id\": \"\",\n  \"last_knowledge_of_server\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "ynab_get_budget_month",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/budget/month",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "budget",
            "month"
          ]
        },
        "description": "Tool to retrieve a specific budget month. Use when you need detailed summary and category budgets for a given month after confirming the budget ID. Monetary amounts are returned in milliunits (divide ",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"month\": \"\",\n  \"budget_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "ynab_get_budget_settings",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/budget/settings",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "budget",
            "settings"
          ]
        },
        "description": "Tool to retrieve budget-level settings. Use when you need to fetch currency and date formatting preferences for a specific budget.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"budget_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "ynab_get_category_by_id",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/category/by/id",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "category",
            "by",
            "id"
          ]
        },
        "description": "Retrieve a single YNAB budget category by its ID. Use this to get detailed category information including budgeted amounts, activity, balance, and goal settings. Amounts are returned for the current b",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"budget_id\": \"\",\n  \"category_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "ynab_get_month_category_by_id",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/month/category/by/id",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "month",
            "category",
            "by",
            "id"
          ]
        },
        "description": "Tool to retrieve a single category for a specific budget month. Use after selecting the budget and month when you need month-specific category details.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"month\": \"\",\n  \"budget_id\": \"\",\n  \"category_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "ynab_get_payee_by_id",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/payee/by/id",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "payee",
            "by",
            "id"
          ]
        },
        "description": "Tool to retrieve a single payee by its ID. Use when you need full details of a payee after confirming the budget and payee selection.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"payee_id\": \"\",\n  \"budget_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "ynab_get_scheduled_transaction_by_id",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/scheduled/transaction/by/id",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "scheduled",
            "transaction",
            "by",
            "id"
          ]
        },
        "description": "Tool to retrieve a single scheduled transaction. Use when you need details of a specific scheduled transaction by its ID after confirming the budget.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"budget_id\": \"\",\n  \"scheduled_transaction_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "ynab_get_transaction_by_id",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/transaction/by/id",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "transaction",
            "by",
            "id"
          ]
        },
        "description": "Tool to retrieve a single transaction by its ID. Use when you need detailed information for a specific transaction after confirming the budget.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"budget_id\": \"\",\n  \"transaction_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "ynab_get_user",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/user",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "user"
          ]
        },
        "description": "Tool to retrieve the authorized user's information. Use after authentication to get current user details.",
        "body": {
          "mode": "raw",
          "raw": "{}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "ynab_list_accounts",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/accounts",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "accounts"
          ]
        },
        "description": "Retrieves all accounts for a specified YNAB budget. Use this tool to: - Get a complete list of accounts (checking, savings, credit cards, loans, etc.) in a budget - Retrieve account IDs for use with o",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"budget_id\": \"\",\n  \"last_knowledge_of_server\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "ynab_list_budgets",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/budgets",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "budgets"
          ]
        },
        "description": "Retrieves all budgets accessible to the authenticated YNAB user. Use this tool to: - Get a list of all budgets in the user's YNAB account - Retrieve budget IDs for use with other YNAB operations - Opt",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"include_accounts\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "ynab_list_categories",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/categories",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "categories"
          ]
        },
        "description": "Tool to list all category groups and their categories for a budget. Use when you need the full set of budget categories or only those changed since last sync. Category names may include emojis or near",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"budget_id\": \"\",\n  \"last_knowledge_of_server\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "ynab_list_months",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/months",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "months"
          ]
        },
        "description": "Tool to list months for a budget with summary information. Use when you need an overview of all months or only changed months since a given knowledge value (delta requests).",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"budget_id\": \"\",\n  \"last_knowledge_of_server\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "ynab_list_payee_locations",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/payee/locations",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "payee",
            "locations"
          ]
        },
        "description": "Retrieves all GPS locations associated with payees in a budget. Payee locations are recorded when transactions are saved using the YNAB mobile apps, storing GPS coordinates to help pre-populate nearby",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"budget_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "ynab_list_payee_locations_by_payee",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/payee/locations/by/payee",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "payee",
            "locations",
            "by",
            "payee"
          ]
        },
        "description": "Retrieves all GPS locations associated with a specific payee in a budget. Payee locations are recorded when transactions are saved using the YNAB mobile apps, storing GPS coordinates to help pre-popul",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"payee_id\": \"\",\n  \"budget_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "ynab_list_payees",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/payees",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "payees"
          ]
        },
        "description": "Tool to list payees in a budget. Use when you need all payees or only those changed since a known server knowledge value.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"budget_id\": \"\",\n  \"last_knowledge_of_server\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "ynab_list_scheduled_transactions",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/scheduled/transactions",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "scheduled",
            "transactions"
          ]
        },
        "description": "List all scheduled (recurring) transactions for a YNAB budget. Returns future-dated transactions that repeat on a schedule (e.g., rent, subscriptions, paychecks). Supports delta sync to fetch only cha",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"budget_id\": \"\",\n  \"last_knowledge_of_server\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "ynab_list_transactions",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/transactions",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "transactions"
          ]
        },
        "description": "Tool to list transactions in a budget. Use when you need all or delta-filtered transactions after confirming the budget. Omitting all filters returns the full transaction history, which may produce la",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"type\": \"\",\n  \"budget_id\": \"\",\n  \"since_date\": \"\",\n  \"last_knowledge_of_server\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "ynab_list_transactions_by_account",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/transactions/by/account",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "transactions",
            "by",
            "account"
          ]
        },
        "description": "Tool to list transactions for a specific account. Use when you need all or delta-filtered transactions for a given account after confirming the budget and account ID.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"type\": \"\",\n  \"budget_id\": \"\",\n  \"account_id\": \"\",\n  \"since_date\": \"\",\n  \"last_knowledge_of_server\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "ynab_list_transactions_by_category",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/transactions/by/category",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "transactions",
            "by",
            "category"
          ]
        },
        "description": "Tool to list transactions for a specific category (excludes pending). Use when you need completed transactions for a given category after obtaining budget_id and category_id. Response includes deleted",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"type\": \"\",\n  \"budget_id\": \"\",\n  \"since_date\": \"\",\n  \"category_id\": \"\",\n  \"last_knowledge_of_server\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "ynab_list_transactions_by_payee",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/transactions/by/payee",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "transactions",
            "by",
            "payee"
          ]
        },
        "description": "Tool to list transactions for a specific payee in a budget. Use when you need to fetch all non-pending transactions for a payee after confirming budget and payee IDs.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"type\": \"\",\n  \"payee_id\": \"\",\n  \"budget_id\": \"\",\n  \"since_date\": \"\",\n  \"last_knowledge_of_server\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "ynab_update_payee",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/update/payee",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "update",
            "payee"
          ]
        },
        "description": "Tool to update a payee. Use when you need to rename an existing payee.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"name\": \"\",\n  \"payee_id\": \"\",\n  \"budget_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "ynab_update_scheduled_transaction",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/update/scheduled/transaction",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "update",
            "scheduled",
            "transaction"
          ]
        },
        "description": "Update an existing scheduled transaction in YNAB. Allows modifying the date, frequency, amount, payee, category, memo, or account of a scheduled transaction. Use YNAB_LIST_SCHEDULED_TRANSACTIONS first",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"budget_id\": \"\",\n  \"scheduled_transaction\": {},\n  \"scheduled_transaction_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    }
  ]
}