ynab-mcpb
Connect YNAB to an MCP-capable AI assistant so you can read and manage your budget in plain English.
List/get/set default budgets and get user info.
List/get accounts and create accounts.
List/get/create/update/delete transactions, batch create/update, export and compare transactions, and create receipt-based split transactions.
List/get/update categories and budgeted amounts.
List/get payees.
List/get months and month budget details.
Reconcile accounts from bank CSV data with fuzzy matching and optional bulk fixes.
List/get/create/update/delete scheduled transactions.
Analyze spending and compare spending periods deterministically.
Run diagnostics and clear cache.
Use markdown or JSON responses, delta sync, caching, tool profiles, and preview/read-only/enabled write-safety modes.
YNAB MCP Server
Connect YNAB to any AI assistant. Manage your budget in plain English.
Demo
Related MCP server: YNAB MCP Server
What you can do
Workflow | Example prompt |
Receipt split | "Create a split transaction for this receipt and allocate tax." |
Bank reconciliation | "Reconcile my checking account using this CSV." |
Spending analysis | "What did I spend on takeout this month?" |
Scheduled cash flow | "What scheduled bills and income are due this month?" |
Transaction creation | "Create a transaction: $42.18 at Trader Joe's yesterday." |
Month overview | "Show my budget summary for January." |
How it works
graph LR
U(You) -->|Plain English| C[Claude Desktop<br/>or any MCP client]
C -->|MCP protocol| S[YNAB MCP Server<br/>35 tools]
S -->|YNAB API| Y[(Your Budget)]
style S fill:#2563EB,color:#fff,stroke:#1d4ed8
style Y fill:#16a34a,color:#fff,stroke:#15803d
style C fill:#7c3aed,color:#fff,stroke:#6d28d9Features
Receipt itemization — Paste a receipt, get an itemized split transaction with tax allocation automatically distributed across line items.
Bank reconciliation (beta) — Import a bank CSV, fuzzy-match against YNAB, detect missing or mismatched transactions, and apply bulk fixes.
35 YNAB tools — Full coverage plus scheduled transactions and deterministic period analytics.
Write safety by default — Preview mode requires a short-lived, single-use confirmation bound to the exact validated request.
Smaller tool profiles — Choose
core,read-only, orfullat startup without dynamic registration.Delta sync — Fetches only changed data since the last request, keeping things fast.
Markdown or JSON — All read tools support
response_format: human-readable markdown tables (default) or structured JSON.MCP-native — Structured outputs, annotations, completions API, and resource templates.
How reconciliation works
sequenceDiagram
participant You
participant Claude
participant MCP as YNAB MCP Server
participant YNAB
You->>Claude: "Reconcile my checking<br/>with this CSV"
Claude->>MCP: reconcile_account(csv_data)
MCP->>YNAB: Fetch transactions
YNAB-->>MCP: YNAB transactions
MCP->>MCP: Parse CSV<br/>Fuzzy-match payees & dates<br/>Detect missing / mismatched
MCP-->>Claude: Matches + recommendations
Claude->>You: "Found 47 matches, 3 missing.<br/>Apply changes?"
You->>Claude: "Yes"
Claude->>MCP: Apply recommended changes
MCP->>YNAB: Create / update transactions
MCP-->>Claude: Done
Claude->>You: "3 transactions created,<br/>account reconciled."Setup (2 minutes)
1 — Get a YNAB token
Open YNAB Web App
Go to Account Settings → Developer Settings → New Token
Copy it (shown once only)
2 — Install
Download the latest
.mcpbfrom ReleasesDrag it into Claude Desktop
Enter your
YNAB_ACCESS_TOKENwhen promptedRestart Claude Desktop
Add to your Claude Desktop config:
{
"mcpServers": {
"ynab": {
"command": "npx",
"args": ["-y", "@dizzlkheinz/ynab-mcpb@latest"],
"env": {
"YNAB_ACCESS_TOKEN": "your-token-here"
}
}
}
}{
"mcpServers": {
"ynab": {
"command": "npx",
"args": ["-y", "@dizzlkheinz/ynab-mcpb@latest"],
"env": {
"YNAB_ACCESS_TOKEN": "your-token-here"
}
}
}
}[mcp_servers.ynab-mcpb]
command = "npx"
args = ["-y", "@dizzlkheinz/ynab-mcpb@latest"]
env = {"YNAB_ACCESS_TOKEN" = "your-token-here"}
startup_timeout_sec = 120Command:
npxArgs:
["-y", "@dizzlkheinz/ynab-mcpb@latest"]Env:
YNAB_ACCESS_TOKEN=<your token>
3 — Try these prompts
List my budgets and set the default to my main budget.
Show recent transactions in my checking account.
How much did I spend on groceries in the last 30 days?
Create a transaction: $42.18 at Trader Joe's yesterday.Tools (35)
Category | Tools |
Budgets |
|
Accounts |
|
Transactions |
|
Categories |
|
Payees |
|
Months |
|
Reconciliation |
|
Scheduled transactions |
|
Analytics |
|
Utilities |
|
All read tools accept response_format ("markdown" or "json", default: "markdown").
Full reference: docs/reference/API.md
Configuration
Variable | Default | Description |
| — | Required. Your YNAB personal access token. |
|
| Directory for exported transaction files. |
|
| Set to |
|
|
|
|
|
|
|
| Cache TTL in milliseconds (5 min). |
|
| Maximum cache entries before LRU eviction. |
See .env.example for all options.
Write modes and compatibility
preview is the conservative default. A mutation call first runs its existing dry_run path and returns a confirmation token. That token expires after two minutes, can be used once, and only authorizes the same canonical tool name and validated arguments. read-only does not register YNAB mutation tools. enabled preserves the pre-safety direct-write behavior for users who explicitly opt in.
Transaction amounts now prefer amount_decimal (for example, -12.34) or the explicit raw field amount_milliunits (-12340). Category funding similarly prefers budgeted_decimal or budgeted_milliunits. The old amount and budgeted fields remain accepted as deprecated milliunit aliases for backward compatibility; their meaning is never guessed.
Tool profiles
Profiles are selected once at server startup, so clients receive a stable tools/list response:
corekeeps common reads, transaction safety workflows, reconciliation, receipt splitting, scheduled review, and spending analytics.read-onlyexposes every tool explicitly annotated read-only.fullexposes the complete 35-tool surface, subject to the selected write mode.
Privacy and trust
The server process runs locally and communicates with YNAB over YNAB's API.
Your YNAB personal access token is sensitive. Store it in your MCP client's secret configuration and never paste it into a conversation, issue, fixture, or log.
Financial data returned by tools and included in a conversation may be processed by the AI provider selected in your MCP client. Review that provider's data controls before sharing sensitive details.
Transaction exports remain on local disk at
YNAB_EXPORT_PATH(or the platform default). The server does not upload exported files elsewhere.Use
read-onlyfor no YNAB writes,previewfor exact request confirmation, orenabledonly when direct writes are an intentional compatibility choice.This independent open-source project is not affiliated with or endorsed by YNAB.
Troubleshooting
Symptom | Fix |
| Install Node.js 24+, then restart your MCP client. |
Auth errors | Regenerate your YNAB token and update |
Tools not detected | Restart the MCP client after any config change. |
Reconciliation issues | Open an issue with an anonymized CSV sample. |
For developers
git clone https://github.com/dizzlkheinz/ynab-mcpb.git
cd ynab-mcpb
npm ci --ignore-scripts
npm run build
npm test
npm run test:integrationThe build and offline tests require no YNAB credentials. npm test runs unit and
performance tests; test:integration runs mocked integration tests. Use
test:all, test:coverage, or test:watch for the combined suite, coverage, or
watch mode. Pass file/test-name filters directly, for example
npm run test:integration -- transactionTools.
To start the server locally, copy .env.example to .env, add your token, and
run npm start. Live smoke tests require an explicit RUN_LIVE_YNAB_TESTS=true
and run through npm run test:live; SKIP_E2E_TESTS=true disables them.
Builds do not package or install global tools. To create a Claude Desktop bundle,
install the official CLI once (npm install --global @anthropic-ai/mcpb), then
run npm run build and npm run package:mcpb. Review npm package contents with
npm pack --dry-run --ignore-scripts.
Architecture and contributor guidance: CLAUDE.md
Reconciliation architecture: docs/technical/reconciliation-system-architecture.md
Contributing
Bug reports and CSV edge-case repros are very welcome, especially for bank reconciliation: Open an issue
PRs welcome — run npm test and npm run lint before submitting.
License
Available Tools
35 toolsynab_analyze_spendingARead-onlyIdempotent
Deterministically calculate income, spending, and net totals for an inclusive date range, grouped by category, payee, account, week, or month. Aggregates always use the complete fetched period before grouping.
| Name | Required | Description | Default |
|---|---|---|---|
| group_by | Yes | ||
| budget_id | No | ||
| since_date | Yes | ||
| until_date | Yes | ||
| include_transfers | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| cached | Yes | |
| groups | Yes | |
| period | Yes | |
| totals | Yes | |
| group_by | Yes | |
| used_delta | Yes | |
| excluded_transfer_count | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and openWorld, so the safety profile is covered. The description adds real behavior beyond that: results are deterministic, the date range is inclusive, and aggregation happens over the complete fetched period before grouping, which warns the agent that grouping will not silently truncate or bias totals. It still says nothing about how include_transfers affects the totals.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, no filler, with the core calculation and grouping dimensions front-loaded ahead of the aggregation caveat. Every clause carries information an agent can act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return shape need not be described, and the aggregation semantics are well covered. However, for a five-parameter analytical tool with zero schema coverage, the undefined include_transfers and budget_id behavior and the absence of routing against sibling tools leave meaningful gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 0%, the description must carry parameter meaning, and it only partly does: it enumerates the group_by values and clarifies that since_date/until_date are inclusive. budget_id and include_transfers (notably whether transfers are counted as spending) are never explained, leaving two of five parameters undefined anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (calculate) and resource (income, spending, net totals) plus the grouping dimensions, which clearly separates it from raw-listing siblings like ynab_list_transactions. It never names or contrasts itself with ynab_compare_spending_periods or ynab_export_transactions, so the boundary with the closest analytical siblings is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the wording 'calculate ... totals ... grouped by', which signals a reporting/aggregation task rather than a read-one-record or mutation task. There is no explicit when-to-use, no when-not-to-use, and no pointer to the alternative tools (compare_spending_periods, export_transactions) an agent would have to choose between.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ynab_clear_cacheAIdempotent
Clear all in-memory caches. Safe operation — no YNAB data is modified.
Args: (none)
Returns: success.
Use when: you need fresh data after external YNAB changes, or to free memory.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| success | Yes | Indicates operation success |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate idempotent and non-destructive. Description adds safety confirmation and return value. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise: two sentences plus usage line. Front-loaded with core purpose. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and simple operation, description covers purpose, safety, usage, and return. Completeness is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters, baseline 4 as per guidelines. Description notes 'Args: (none)' which aligns with schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description explicitly states it clears in-memory caches, emphasizing safety and no data modification. Clearly distinguishes from sibling tools that manipulate YNAB data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance on when to use: after external YNAB changes or to free memory. Lacks explicit when-not scenarios but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ynab_compare_spending_periodsCRead-onlyIdempotent
Deterministically compare two complete spending periods and calculate total and per-group differences.
| Name | Required | Description | Default |
|---|---|---|---|
| group_by | Yes | ||
| period_a | Yes | ||
| period_b | Yes | ||
| budget_id | No | ||
| include_transfers | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| groups | Yes | |
| group_by | Yes | |
| period_a | Yes | |
| period_b | Yes | |
| difference | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and openWorld, so the safety profile is covered. 'Deterministically' is the only added behavioral claim, and it reinforces rather than extends idempotentHint. Nothing is said about how include_transfers alters the totals, whether periods may overlap, or how a zero/empty baseline period is handled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler or redundancy. It is efficient, though the terseness leaves the gaps noted in other dimensions rather than wasting space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 parameters, nested period objects, 0% schema descriptions, and an output schema that removes the need to explain return values, the description should still document input semantics and period-selection rules. It supplies roughly one clause of usable context, leaving an agent guessing on boundary and filtering behavior before a read-only calculation call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 5 parameters, including two nested objects and an enum, so the description must compensate and largely does not. It only loosely implies period_a/period_b and group_by; it never clarifies date-boundary inclusivity (since_date/until_date), the enum values' meaning, the budget_id default, or what include_transfers=false excludes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Uses a specific verb and resource ('compare two complete spending periods') and names the two outputs ('total and per-group differences'), which maps to the group_by parameter. It does not differentiate itself from plausible siblings like ynab_analyze_spending or ynab_compare_transactions, so an agent cannot tell from the text alone why it should pick this over those.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance is given, and no alternatives are named despite two closely related siblings (ynab_analyze_spending, ynab_compare_transactions) existing. The phrase 'complete spending periods' weakly implies you must supply full date ranges rather than partial ones, but that is inference, not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ynab_compare_transactionsCRead-onlyIdempotent
Compare bank CSV transactions with YNAB transactions to find missing or mismatched entries.
Args:
budget_id (string, optional): Budget UUID. Omit to use the default budget.
account_id (string, required): Account UUID to compare against.
csv_file_path or csv_data (string, required): Bank export file path or inline CSV text.
statement_start_date (string, optional): Filter comparison window start date (YYYY-MM-DD).
statement_date (string, optional): Filter comparison window end date (YYYY-MM-DD).
Returns: comparison report with matched, unmatched_bank, unmatched_ynab transactions.
| Name | Required | Description | Default |
|---|---|---|---|
| debug | No | ||
| csv_data | No | ||
| budget_id | No | ||
| account_id | Yes | ||
| csv_format | No | ||
| csv_file_path | No | ||
| statement_date | No | ||
| amount_tolerance | No | ||
| auto_detect_format | No | ||
| date_tolerance_days | No | ||
| statement_start_date | No | ||
| enable_chronology_bonus | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| matches | Yes | |
| summary | Yes | |
| missing_in_bank | Yes | |
| missing_in_ynab | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered and the description only needs to add context. It adds a summary of the return report (matched, unmatched_bank, unmatched_ynab) but says nothing about the matching algorithm, how tolerances affect results, or what happens on CSV parse failure — and the return summary is partly redundant with the existing output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with a single purpose sentence followed by a clean Args/Returns structure, so the important information is first. It is appropriately short for its content, though the Args block is a partial restatement of the schema rather than a replacement for it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a relatively complex tool (12 parameters, a nested csv_format object, tolerance and date-window controls) and the description covers only the surface. An output schema exists so return values need no explanation, but the omission of tolerance/detection parameters leaves an agent unable to invoke it correctly for anything but the default path.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden, yet the Args block documents only 6 of 12 parameters. The behaviorally important knobs — amount_tolerance, date_tolerance_days, enable_chronology_bonus, auto_detect_format, the nested csv_format object, and debug — are unexplained, and a user would not know that tolerances change what counts as a 'match'. It also labels 'csv_file_path or csv_data' as required while the schema requires only account_id, which misstates the contract.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence names a specific verb and two resources ('Compare bank CSV transactions with YNAB transactions') plus the outcome ('find missing or mismatched entries'), which is far more informative than a restated title. It does not, however, distinguish itself from the closest sibling, ynab_reconcile_account, which an agent could plausibly pick instead.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance and no named alternative. Given that ynab_reconcile_account and ynab_list_transactions sit in the same sibling set, the agent is left to infer the routing decision entirely from the one-line purpose statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ynab_create_accountA
Create a new account in a YNAB budget.
Args:
budget_id (string, optional): Budget UUID. Omit to use the default budget.
name (string, required): Account name.
type (string, required): One of: checking, savings, creditCard, cash, lineOfCredit, otherAsset, otherLiability.
balance (number, optional): Opening balance in dollars. Default: 0.
dry_run (boolean, optional): Preview the request without creating. Default: false.
Returns: account object with id, name, type, balance fields.
Examples:
Create checking account: set name="My Checking", type="checking"
Dry run: set dry_run=true to preview without saving
Write safety: call without confirmation_token to preview. The preview returns confirmation_token and confirmation_expires_at in its structured output (and in its text). Execute the identical validated request with that short-lived confirmation_token.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| type | Yes | ||
| balance | No | ||
| dry_run | No | ||
| budget_id | No | ||
| confirmation_token | No | Short-lived, single-use token returned by the immediately preceding preview of this exact validated request. Omit, or pass null or an empty string, to preview. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint=false, destructiveHint=false, openWorldHint=true), the description discloses the non-obvious two-step preview/confirm safety protocol, including what the preview returns (confirmation_token, confirmation_expires_at) and that the token is short-lived and request-bound. This is exactly the behavioral context a mutating tool needs and it is not derivable from the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The Args/Returns/Examples/write-safety layout is well front-loaded and each section serves a purpose. There is minor redundancy — the Examples block mostly restates the dry_run guidance already given in the Args and write-safety paragraphs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a write tool with six parameters, a preview-confirm protocol, and an output schema, the description covers purpose, argument meanings, the mutation workflow, and the return shape. Nothing an agent needs to invoke it correctly — including the ordering of preview versus execute — is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 17%, so the description must carry the burden — and it does: it documents five of six parameters with types, optionality, defaults, and the full valid enum for type (which the schema lists but does not explain). The sixth parameter, confirmation_token, is covered by the write-safety paragraph explaining its preview semantics and single-use nature.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource statement ("Create a new account in a YNAB budget") and enumerates the account types, so an agent can easily separate it from ynab_list_accounts/ynab_get_account and from the transaction-creating siblings. It loses a point only because it never explicitly contrasts itself with those siblings by name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives concrete operational guidance: omit budget_id to use the default budget, use dry_run=true to preview, and call without confirmation_token to obtain a short-lived token before executing the identical request. That is a real when-to-use workflow, though it offers no explicit "do not use this when..." exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ynab_create_receipt_split_transactionA
Create a split transaction from itemized receipt data with proportional tax allocation.
Args:
budget_id (string, optional): Budget UUID. Omit to use the default budget.
account_id (string, required): Account UUID.
payee_name (string, required): Store/payee name.
receipt_total (number, required): Total amount in dollars (positive).
receipt_tax (number, required): Tax amount in dollars (0 if none).
categories (array, required): Category groups with items. Each item needs name, amount.
date (string, optional): ISO date. Default: today.
memo (string, optional): Memo applied to the parent transaction.
receipt_subtotal (number, optional): Pre-tax subtotal for validation.
cleared (string, optional): "cleared", "uncleared", or "reconciled". Default: "uncleared".
approved (boolean, optional): Mark as approved. Default: false.
flag_color (string, optional): Transaction flag color ("red", "orange", "yellow", "green", "blue", "purple").
dry_run (boolean, optional): Preview subtransactions without saving. Default: false.
Use this helper when you have receipt line items and want tax allocated across categories automatically. For generic manual split transactions without receipt/tax logic, use "ynab_create_transaction" with "subtransactions".
Returns: transaction with subtransactions and receipt_summary.
Write safety: call without confirmation_token to preview. The preview returns confirmation_token and confirmation_expires_at in its structured output (and in its text). Execute the identical validated request with that short-lived confirmation_token.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| memo | No | ||
| cleared | No | ||
| dry_run | No | ||
| approved | No | ||
| budget_id | No | ||
| account_id | Yes | ||
| categories | Yes | ||
| flag_color | No | ||
| payee_name | Yes | ||
| receipt_tax | Yes | ||
| receipt_total | Yes | ||
| receipt_subtotal | No | ||
| confirmation_token | No | Short-lived, single-use token returned by the immediately preceding preview of this exact validated request. Omit, or pass null or an empty string, to preview. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only flag it as a non-read-only, non-idempotent, non-destructive write; the description adds the two-phase confirmation_token safety flow (preview returns a short-lived token, execute with the identical request), the default-budget behavior, defaults for date/cleared/approved, and the fact that memo lands on the parent transaction. That is substantive context beyond the structured hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose, then usage routing, then a scannable Args list, then return and safety notes — a sensible order with little filler. Minor inefficiency: it presents two overlapping preview mechanisms (dry_run and omitting confirmation_token) without saying how they differ or whether one implies the other.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 14-parameter write tool, the definition covers allocation semantics, defaults, confirmation safety, and the return shape, and an output schema exists so return values need no elaboration. The one unresolved ambiguity is the relationship between dry_run=true and the token-based preview, which an agent must guess between.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 7%, so the Args block is doing the heavy lifting and mostly succeeds: it explains units (dollars), sign conventions (positive, 0 if no tax), the purpose of receipt_subtotal (validation), defaults, and enum values for cleared and flag_color. The gap is the categories structure — the schema requires category_id per group and allows item-level memo/quantity, none of which the Args text mentions ('Each item needs name, amount').
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence gives a specific verb and resource ('Create a split transaction') plus the differentiating behavior ('proportional tax allocation') that separates it from generic transaction creation. An agent can identify the tool from the opening clause alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states the selection condition ('when you have receipt line items and want tax allocated across categories automatically') and names the alternative for the other case ('For generic manual split transactions without receipt/tax logic, use ynab_create_transaction with subtransactions'). This is a clean when/when-not pair.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ynab_create_scheduled_transactionA
Create a recurring scheduled transaction. Prefer amount_decimal; amount_milliunits is available for already-converted values.
Write safety: call without confirmation_token to preview. The preview returns confirmation_token and confirmation_expires_at in its structured output (and in its text). Execute the identical validated request with that short-lived confirmation_token.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| memo | No | ||
| amount | No | Deprecated legacy alias for amount_milliunits. Use amount_decimal for currency input or amount_milliunits for raw YNAB values. | |
| dry_run | No | ||
| payee_id | No | ||
| budget_id | No | ||
| frequency | Yes | ||
| account_id | Yes | ||
| flag_color | No | ||
| payee_name | No | ||
| category_id | No | ||
| amount_decimal | No | Preferred: amount in decimal currency units (for example, -12.34). Rounded exactly to the nearest YNAB milliunit. | |
| amount_milliunits | No | Raw YNAB milliunits. Use only when the value is already converted. | |
| confirmation_token | No | Short-lived, single-use token returned by the immediately preceding preview of this exact validated request. Omit, or pass null or an empty string, to preview. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only say this is a non-read-only, non-destructive, non-idempotent open-world write. The description goes well beyond that by disclosing a two-phase preview/confirm safety model, that the token is short-lived and single-use, that the request must be identical, and where the token appears in the response. It does not warn that an unconfirmed create produces nothing while a confirmed duplicate call creates duplicate schedules, which is the main residual risk.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short paragraphs, front-loaded with purpose then write-safety, with no filler sentences. The parenthetical "(and in its text)" is slightly redundant since an output schema exists, but it is minor.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema and the description's note about returned token fields cover the response side, and the preview workflow is well explained. However, for a 14-parameter create tool at 29% schema coverage, key inputs like date, frequency, budget_id, and the payee_id/payee_name relationship are undocumented in both places, and the unmentioned dry_run parameter leaves an unexplained second preview mechanism.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 29% across 14 parameters, so the description must compensate and it only addresses the amount aliases and confirmation_token. It says nothing about date, frequency semantics, budget_id defaults, payee_id vs payee_name precedence, category_id, flag_color, memo, or how dry_run relates to the token preview flow. That dry_run ambiguity is especially notable given the description's otherwise careful preview story.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Create a recurring scheduled transaction" gives a specific verb and resource, and the word "recurring/scheduled" separates it from the one-off ynab_create_transaction family. It stops short of naming the sibling it supersedes or the update/delete scheduled variants, so an agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states concrete field-level guidance (prefer amount_decimal; use amount_milliunits only for already-converted values) and a clear call sequence: preview without a token, then re-issue the identical request with the returned token. It gives no guidance on when to choose this over ynab_create_transaction or the update/delete scheduled siblings, which is the only real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ynab_create_transactionA
Create a single transaction in YNAB.
Args:
budget_id (string, optional): Budget UUID. Omit to use the default budget.
account_id (string, required): Account UUID.
amount_decimal (number, preferred): Amount in decimal currency units (for example, -50.00). Negative for expenses.
amount_milliunits (int, alternative): Explicit raw YNAB milliunits (for example, -50000).
amount (int, deprecated): Backward-compatible alias for amount_milliunits. Values are never guessed by magnitude.
date (string, required): ISO date YYYY-MM-DD.
payee_name (string, optional): Payee name (creates new payee if not found).
payee_id (string, optional): Existing payee UUID (alternative to payee_name).
category_id (string, optional): Category UUID.
memo (string, optional): Memo text.
cleared (string, optional): "cleared", "uncleared", or "reconciled". Default: "uncleared".
approved (boolean, optional): Mark as approved. Default: false.
flag_color (string, optional): Transaction flag color ("red", "orange", "yellow", "green", "blue", "purple").
dry_run (boolean, optional): Preview without saving. Default: false.
subtransactions (array, optional): Manual split lines. Each entry uses exactly one of amount_decimal, amount_milliunits, or deprecated amount, plus optional "memo", "category_id", "payee_id", and "payee_name".
Use "subtransactions" for manual split transactions. Use "ynab_create_receipt_split_transaction" when you have itemized receipt data and want proportional tax allocation handled for you. Advanced: "import_id" is supported, but it is intentionally not part of normal guidance. Usually omit it if you want the transaction to remain eligible for later bank-import matching.
Returns: the created transaction, including split lines and explicit amount_milliunits.
Examples:
$50 expense: set amount_decimal=-50.00
Already-converted data: set amount_milliunits=-50000
Write safety: call without confirmation_token to preview. The preview returns confirmation_token and confirmation_expires_at in its structured output (and in its text). Execute the identical validated request with that short-lived confirmation_token.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| memo | No | ||
| amount | No | Deprecated legacy alias for amount_milliunits. Use amount_decimal for currency input or amount_milliunits for raw YNAB values. | |
| cleared | No | ||
| dry_run | No | ||
| approved | No | ||
| payee_id | No | ||
| budget_id | No | ||
| import_id | No | ||
| account_id | Yes | ||
| flag_color | No | ||
| payee_name | No | ||
| category_id | No | ||
| amount_decimal | No | Preferred: amount in decimal currency units (for example, -12.34). Rounded exactly to the nearest YNAB milliunit. | |
| subtransactions | No | ||
| amount_milliunits | No | Raw YNAB milliunits. Use only when the value is already converted. | |
| confirmation_token | No | Short-lived, single-use token returned by the immediately preceding preview of this exact validated request. Omit, or pass null or an empty string, to preview. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare the safety profile (not read-only, not idempotent, open-world, non-destructive); the description adds materially more: the two-phase preview/confirm write gate, that payee_name creates a new payee if not found (a side effect beyond the transaction itself), the cleared/approved defaults, and that import_id is intentionally omitted so the transaction stays eligible for bank-import matching. It stops short of describing failure modes or which permission/scope is required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The lead sentence and the closing guidance about alternatives, import_id, and write safety are front-loaded and earn their place. The Aargs block partially echoes the schema's field list, but given the very low schema coverage it carries genuine disambiguating information rather than repetition; it is long but not padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 17-parameter write tool with an output schema, the description covers the full picture: amount semantics, split handling, budget/account defaults, the preview-then-confirm flow, and sibling alternatives. Return values are correctly left to the output schema and only summarized briefly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 24% across 17 parameters, but the description compensates thoroughly: it labels amount_decimal as preferred, amount_milliunits as raw alternative, amount as deprecated, and explicitly notes 'Values are never guessed by magnitude' — resolving real ambiguity between the three overlapping amount fields. It also documents subtransaction composition ('exactly one of amount_decimal, amount_milliunits, or deprecated amount') and the payee_name vs payee_id alternative.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with 'Create a single transaction in YNAB' — a specific verb plus resource, with 'single' implicitly contrasting the plural sibling ynab_create_transactions. It also explicitly routes split cases to ynab_create_receipt_split_transaction, so an agent can distinguish it from both sibling creation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to prefer 'subtransactions' (manual splits) versus ynab_create_receipt_split_transaction (itemized receipts with proportional tax allocation). It also prescribes the exact invocation sequence — call without confirmation_token to preview, then re-execute with the returned short-lived token — which is the critical when/how guidance for this write tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ynab_create_transactionsA
Create 1–100 transactions in a single batch with duplicate detection and dry-run support.
Args:
budget_id (string, optional): Budget UUID. Omit to use the default budget.
transactions (array, required): Up to 100 transaction objects. Each requires account_id, date, and exactly one of amount_decimal (preferred), amount_milliunits, or deprecated amount.
dry_run (boolean, optional): Validate without saving. Default: false.
Returns: summary (created, duplicates, failed), results[], transactions[].
Examples:
Dry run first: set dry_run=true to validate before committing
If you explicitly want YNAB-side duplicate import detection, set import_id on each transaction
Write safety: call without confirmation_token to preview. The preview returns confirmation_token and confirmation_expires_at in its structured output (and in its text). Execute the identical validated request with that short-lived confirmation_token.
| Name | Required | Description | Default |
|---|---|---|---|
| dry_run | No | ||
| budget_id | No | ||
| transactions | Yes | ||
| confirmation_token | No | Short-lived, single-use token returned by the immediately preceding preview of this exact validated request. Omit, or pass null or an empty string, to preview. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true, so the safety profile is covered; the description adds the genuinely non-obvious parts: a short-lived single-use confirmation token gate, duplicate detection, and a summary of created/duplicates/failed. The remaining gap is what happens to a detected duplicate (skipped, failed, or created) — the description never says, which matters for a non-idempotent write.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded one-liner followed by clearly labeled Args/Returns/Examples/Write safety sections, all of which earn their place. Minor waste: the Returns line restates what the existing output schema already provides, and the Args section partially duplicates schema fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent batch write with a two-phase confirmation flow, the description covers the token lifecycle, batch limits, amount-format rules, and dry-run path — the things an agent must know to call it correctly. Return values are legitimately omitted from the description's burden because an output schema exists, and the residual gaps (auth requirements, duplicate disposition) are narrow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only 25% schema description coverage, the description carries the load and does it well: it documents budget_id's default-budget fallback, the per-item required fields, and the mutually-exclusive rule "exactly one of amount_decimal (preferred), amount_milliunits, or deprecated amount" — a constraint the schema cannot express at all. That exclusivity rule alone materially reduces the chance of a malformed call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource with scope: "Create 1–100 transactions in a single batch." The batch size and single-batch framing distinguish it from the singular ynab_create_transaction and from ynab_update_transactions without the agent needing to open any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives conditional guidance ("Dry run first", "If you explicitly want YNAB-side duplicate import detection, set import_id") plus an explicit preview-then-execute workflow via confirmation_token. It stops short of naming alternatives such as ynab_create_transaction for single records or ynab_update_transactions for edits, so the when-not is left implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ynab_delete_scheduled_transactionADestructiveIdempotent
Delete a scheduled transaction.
Write safety: call without confirmation_token to preview. The preview returns confirmation_token and confirmation_expires_at in its structured output (and in its text). Execute the identical validated request with that short-lived confirmation_token.
| Name | Required | Description | Default |
|---|---|---|---|
| dry_run | No | ||
| budget_id | No | ||
| confirmation_token | No | Short-lived, single-use token returned by the immediately preceding preview of this exact validated request. Omit, or pass null or an empty string, to preview. | |
| scheduled_transaction_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true, idempotentHint=true and openWorldHint=true, so the safety profile is partly known. The description adds materially new behavior beyond that: a mandatory preview step, a short-lived single-use token, and the requirement that the executing request be byte-identical to the previewed one. It stops short of stating whether the deletion is recoverable or what the preview response contains beyond the token, which the output schema covers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short paragraphs, the purpose first and the safety procedure second, with no filler or repetition. Every sentence carries actionable information and the critical instruction is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the return-shape burden is lifted, and the confirm-flow is well covered. For a destructive mutation, though, the description omits whether budget_id is required or defaults, what dry_run does relative to the token flow (potentially redundant), and any note on irreversibility.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25% — only confirmation_token is documented in the schema. The description usefully elaborates the token lifecycle (short-lived, single-use, must match the identical validated request), but says nothing about dry_run, budget_id, or scheduled_transaction_id, leaving three parameters with no explanation in either place.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence states a specific verb and resource ('Delete a scheduled transaction'), which is unambiguous on its own. It does not, however, distinguish itself from the nearby ynab_delete_transaction or explain how it differs from update_scheduled_transaction, so sibling differentiation is only implicit in the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit procedural rule: call without confirmation_token to preview, then re-submit the identical request with the returned token. That is genuine when-to-do-what guidance for the two-step flow. What is missing is guidance on when a caller would want to delete versus update or skip a scheduled transaction, and where to obtain the scheduled_transaction_id.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ynab_delete_transactionADestructiveIdempotent
Delete a transaction from YNAB. This action is irreversible.
Args:
budget_id (string, optional): Budget UUID. Omit to use the default budget.
transaction_id (string, required): Transaction UUID to delete.
dry_run (boolean, optional): Preview without deleting. Default: false.
Returns: the deleted transaction with its ID and deletion status.
Errors:
"Transaction not found" → invalid transaction_id
Write safety: call without confirmation_token to preview. The preview returns confirmation_token and confirmation_expires_at in its structured output (and in its text). Execute the identical validated request with that short-lived confirmation_token.
| Name | Required | Description | Default |
|---|---|---|---|
| dry_run | No | ||
| budget_id | No | ||
| transaction_id | Yes | ||
| confirmation_token | No | Short-lived, single-use token returned by the immediately preceding preview of this exact validated request. Omit, or pass null or an empty string, to preview. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare destructiveHint=true, readOnlyHint=false and idempotentHint=true, and the description still adds material context beyond them: the action is irreversible, a two-step confirmation handshake is required, the token is short-lived and single-use, and a named error ("Transaction not found") maps to an invalid transaction_id. It also states the return payload, which is real behavioral disclosure rather than restated annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the verb and the irreversible warning, then organized into Args / Returns / Errors / Write safety, which is easy to scan. Some content is redundant — the Returns line restates an existing output schema, and the parameter list largely repeats schema types — so not every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive 4-parameter tool, the description covers the safety flow, the error case and the return shape, and an output schema exists so return details need not be expanded. The one real gap is that the interaction between dry_run and confirmation_token, and any TTL for the confirmation window, is never stated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25% (only confirmation_token is documented in-schema), so the description must compensate, and it largely does: budget_id gains the meaningful "omit to use the default budget" default, dry_run gains "preview without deleting" with a stated default of false, and transaction_id is marked required. confirmation_token is handled in the schema itself, but the description never reconciles dry_run against the token preview, leaving two overlapping preview mechanisms unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Delete a transaction from YNAB") and immediately flags irreversibility, which lets an agent separate it from update_transaction, get_transaction and create_transaction without opening a schema. It stops short of naming the closest look-alike, ynab_delete_scheduled_transaction, so the transaction-vs-scheduled distinction is left to the tool name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The "Write safety" block gives clear procedural guidance: call without confirmation_token to preview, then replay the identical validated request with the short-lived token. What is missing is routing guidance against alternatives — nothing says when to delete a transaction versus correcting it with update_transaction, or how dry_run relates to the token preview path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ynab_diagnostic_infoARead-onlyIdempotent
Get comprehensive diagnostic information about the MCP server (health, cache, delta, security).
Args:
include_memory (boolean, optional): Include memory usage. Default: true.
include_environment (boolean, optional): Include env info. Default: true.
include_server (boolean, optional): Include server info. Default: true.
include_security (boolean, optional): Include security stats. Default: true.
include_cache (boolean, optional): Include cache metrics. Default: true.
include_delta (boolean, optional): Include delta cache info. Default: true.
response_format (string, optional): "json" or "markdown" (default: "markdown").
Returns: diagnostics object with requested sections.
| Name | Required | Description | Default |
|---|---|---|---|
| include_cache | No | ||
| include_delta | No | ||
| include_memory | No | ||
| include_server | No | ||
| response_format | No | markdown | |
| include_security | No | ||
| include_environment | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| cache | No | |
| delta | No | |
| memory | No | |
| server | No | |
| timestamp | Yes | |
| environment | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered and the description doesn't need to restate it. The description adds useful defaults (all sections on by default, markdown output by default) but says nothing about output volume or whether diagnostics include sensitive values when include_environment/include_security are enabled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in a single clear sentence, followed by a compact Args block. The parameter list largely duplicates schema information but is the only prose source for it, so it earns most of its space; the trailing 'Returns' line is slightly wasted given an output schema exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be detailed, and the description covers every parameter plus defaults, which is the main completeness burden for a 7-param, 0%-coverage schema. What remains unstated is the practical context — when an agent should run this and any caution about environment/security data exposure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% — the JSON schema carries only types, defaults and one enum — so the description does the heavy lifting, naming all seven parameters and explaining what each include_* flag adds. It also restates the response_format enum values. Only minor gap: it doesn't clarify whether the include flags interact (e.g. whether security stats require server info).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Get') and resource ('comprehensive diagnostic information about the MCP server') and enumerates the content domains (health, cache, delta, security). This is unmistakably distinct from every sibling, all of which operate on YNAB budget data rather than server internals.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the word 'diagnostic' — an agent can infer this is for health/troubleshooting checks, but the description never says when to reach for it or when a sibling (e.g. ynab_clear_cache) would be the better choice. No exclusions or prerequisites are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ynab_export_transactionsARead-onlyIdempotent
Export all transactions for a budget to a local JSON file.
Args:
budget_id (string, optional): Budget UUID. Omit to use the default budget.
account_id (string, optional): Filter by account.
since_date (string, optional): ISO date (YYYY-MM-DD) to filter transactions on or after.
Returns: file_path, transaction_count, file_size_kb
Examples:
Export all transactions: call with no args
Export account: set account_id
Errors:
"No default budget set" → run ynab_set_default_budget first
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | ||
| minimal | No | ||
| filename | No | ||
| budget_id | No | ||
| account_id | No | ||
| since_date | No | ||
| category_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| message | Yes | |
| filename | Yes | |
| full_path | Yes | |
| export_mode | Yes | |
| total_count | Yes | |
| preview_count | Yes | |
| minimal_fields | Yes | |
| export_directory | Yes | |
| filename_explanation | Yes | |
| preview_transactions | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/openWorld/idempotent, so the description earns credit for additive context: it discloses the local file-write side effect, the return keys (file_path, transaction_count, file_size_kb), and a specific error string with a remediation path. It omits where the file is written and whether an existing file is overwritten, which matters for an idempotent-flagged write-to-disk operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in a single sentence, followed by clean Args/Returns/Examples/Errors sections with no filler. The Returns block is somewhat redundant given an output schema exists, but it is short and does not bloat the definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter tool with zero schema descriptions and no required fields, the description omits four parameters including a semantically significant enum and a default-true boolean. The file destination and overwrite behavior are also unstated, so an agent cannot fully predict the export's content or side effects from this definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 7 parameters, so the description must compensate, and it documents only 3 (budget_id, account_id, since_date). The enum parameter 'type' (uncategorized/unapproved), the 'minimal' boolean defaulting to true, 'filename', and 'category_id' are entirely unexplained, leaving an agent unable to predict what those flags change about the export.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence states a specific verb+resource+output: exporting transactions from a budget to a local JSON file. That distinguishes it from mutation siblings, but it never names or contrasts with ynab_list_transactions, the closest read alternative, leaving the agent to infer the difference from 'local JSON file' alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The Examples block gives concrete invocation contexts ('call with no args' for everything, 'set account_id' to scope to an account), and the Errors block routes the agent to ynab_set_default_budget as a prerequisite. It stops short of explicit when-not guidance, e.g. when to use this versus ynab_list_transactions or ynab_analyze_spending.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ynab_get_accountARead-onlyIdempotent
Get details for a single account including current balance.
Args:
budget_id (string, optional): Budget UUID. Omit to use the default budget.
account_id (string, required): Account UUID.
response_format (string, optional): "json" or "markdown" (default: "markdown").
Returns: account (id, name, type, balance, cleared_balance, uncleared_balance, on_budget, closed), cached, cache_info
Errors:
"No default budget set" → run ynab_set_default_budget first
"Account not found" → invalid account_id
| Name | Required | Description | Default |
|---|---|---|---|
| budget_id | No | ||
| account_id | Yes | ||
| response_format | No | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| cached | No | Indicates if data was served from cache |
| account | Yes | Account details |
| usedDelta | No | Indicates if delta merge optimization was applied for budgets |
| cache_info | No | Human-readable cache status message (e.g., "Cache hit", "Cache miss") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint. Description adds return fields including cached and cache_info, and lists possible errors, providing useful context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-organized with clear sections: brief purpose, Args list, Returns, Errors. Each sentence is informative without unnecessary fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema and annotations, the description covers all needed aspects: parameter details, return fields, error cases, and default behavior. No gaps for a read-only get operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the docstring explains all 3 parameters: budget_id (optional, default budget), account_id (required), response_format (optional, enum with default). This fully compensates for missing schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Get details for a single account including current balance,' which is a specific verb+resource. It distinguishes from sibling 'ynab_list_accounts' which lists all accounts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context: optional budget_id with default budget behavior, required account_id, and error guidance for 'No default budget set' and 'Account not found'. No explicit 'when not to use' or comparison to alternative tools, but sufficient for its purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ynab_get_budgetARead-onlyIdempotent
Get summary information for a specific YNAB budget.
Args:
budget_id (string, required): Budget UUID.
response_format (string, optional): "json" or "markdown" (default: "markdown").
Returns: budget (id, name, currency_format, accounts_count, categories_count, payees_count, months_count)
Examples:
Get budget details: set budget_id to the UUID from ynab_list_budgets
Errors:
"Budget not found" → invalid or inaccessible budget_id
| Name | Required | Description | Default |
|---|---|---|---|
| budget_id | Yes | ||
| response_format | No | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| budget | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnly, idempotent, non-destructive. The description adds further behavioral details: mentions the return fields explicitly and describes an error case. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (Args, Returns, Examples, Errors), front-loaded with the one-line purpose. Every sentence adds value and is concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists, the description still provides complete context: input, output, error handling, and example. For a simple get tool, it covers all necessary information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description compensates fully: it explains both parameters (budget_id as UUID, response_format with enum and default) and adds context beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get summary information for a specific YNAB budget', using a specific verb and resource. It distinguishes from siblings like ynab_list_budgets by focusing on a single budget. The title annotation reinforces this.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides an example linking to ynab_list_budgets and mentions error handling. However, it does not explicitly state when not to use this tool versus alternatives, though the name and sibling context make it clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ynab_get_categoryARead-onlyIdempotent
Get current month details for a specific budget category.
Args:
budget_id (string, optional): Budget UUID. Omit to use the default budget.
category_id (string, optional): Category UUID.
response_format (string, optional): "json" or "markdown" (default: "markdown").
Returns: category (id, name, budgeted, activity, balance, goal_type, goal_target, goal_percentage_complete), cached, cache_info
Errors:
"No default budget set" → run ynab_set_default_budget first
"Category not found" → invalid category_id
| Name | Required | Description | Default |
|---|---|---|---|
| budget_id | No | ||
| category_id | Yes | ||
| response_format | No | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| cached | No | Indicates if data was served from cache |
| category | Yes | Category details |
| usedDelta | No | Indicates if delta merge optimization was applied for budgets |
| cache_info | No | Human-readable cache status message (e.g., "Cache hit", "Cache miss") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, idempotentHint, and destructiveHint. The description adds value by disclosing that results are for the 'current month', detailing the return fields (id, name, budgeted, activity, balance, goal_type, etc.), and explaining error conditions. This goes beyond what annotations convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear one-line purpose, bulleted args, a returns line, and error list. It is front-loaded and concise, though the docstring style (Args:, dashes) is slightly verbose for a function description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (3 params, no nested objects) and the presence of an output schema (not shown but signaled), the description covers the key aspects: current month scope, return fields, and error handling. It is largely complete, though it could mention that activity is the month-to-date activity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description compensates by explaining each parameter: budget_id (UUID, optional to use default), category_id (UUID), response_format (enum default 'markdown'). This adds practical meaning though it could be more precise (e.g., UUID format).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get current month details for a specific budget category' with a specific verb and resource. It distinguishes from siblings like ynab_list_categories (which lists many) and ynab_get_month (which gets a full month) by focusing on a single category's details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides basic usage hints like omitting budget_id to use default and lists errors that guide troubleshooting (e.g., requiring ynab_set_default_budget first). However, it lacks explicit guidance on when to use this tool instead of alternatives like ynab_list_categories or ynab_get_month, and does not mention prerequisites beyond the default budget.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ynab_get_default_budgetARead-onlyIdempotent
Get the currently configured default budget ID.
Args:
response_format (string, optional): "json" or "markdown" (default: "markdown").
Returns: default_budget_id (null if not set), has_default.
| Name | Required | Description | Default |
|---|---|---|---|
| response_format | No | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| message | Yes | |
| has_default | Yes | |
| default_budget_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered elsewhere. The description's added value is the return contract ('default_budget_id (null if not set), has_default'), which tells the agent how to detect the unset case – useful, but it does not describe sourcing (local config vs API) or caching behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in a single sentence, followed by a compact Args/Returns block. Nothing is padded, though the Args restatement of the enum is somewhat redundant with the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-optional-parameter read-only lookup with an output schema and strong annotations, this is close to complete: the agent knows what it returns and how to read an unset default. Only the relationship to its counterpart ynab_set_default_budget is left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter, and it does: it names response_format, gives the two enum values, and states the 'markdown' default. That is exactly the information the bare schema lacks, though no guidance is offered on which format to prefer.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Get the currently configured default budget ID.' This clearly separates it from ynab_set_default_budget and from the budget-listing tools, though the description never names those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the narrow purpose – an agent can infer it is a config lookup rather than a budget data fetch. There is no explicit statement of when to call it instead of ynab_get_budget or ynab_list_budgets, and no prerequisites are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ynab_get_monthARead-onlyIdempotent
Get full budget data for a specific month including all category balances.
Args:
budget_id (string, optional): Budget UUID. Omit to use the default budget.
month (string, required): Month in YYYY-MM-DD format (use first day, e.g. "2025-01-01").
response_format (string, optional): "json" or "markdown" (default: "markdown").
Returns: month (month, income, budgeted, activity, to_be_budgeted, age_of_money, categories[]), cached, cache_info
Examples:
Get January 2025: set month="2025-01-01"
Errors:
"No default budget set" → run ynab_set_default_budget first
| Name | Required | Description | Default |
|---|---|---|---|
| month | Yes | ||
| budget_id | No | ||
| response_format | No | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| month | Yes | Month details |
| cached | No | Indicates if data was served from cache |
| usedDelta | No | Indicates if delta merge optimization was applied for budgets |
| cache_info | No | Human-readable cache status message (e.g., "Cache hit", "Cache miss") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/openWorld, so the safety profile is covered. The description adds what annotations cannot: that results may be served from cache (`cached`, `cache_info` in the return) and a documented error string with its recovery step. It never says when the cache is bypassed or how stale data can be, which keeps it below a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose sentence is front-loaded and the Args/Returns/Examples/Errors blocks are scannable, with no filler prose. Some structure is redundant with the schema (parameter names and types restated), costing a small amount of space without adding meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only month-fetch, the definition covers required format, budget selection, output format choice, return fields, and the one known error path. With an output schema present, the Returns line is a bonus rather than a gap, and nothing needed to invoke the tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry all three parameters and it does: budget_id's optionality and default-budget behavior, month's exact YYYY-MM-DD convention plus the non-obvious 'use first day' rule and a concrete example, and response_format's two values and markdown default. The first-day convention is genuinely additive beyond the schema's regex pattern.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence names a specific verb and resource ('Get full budget data for a specific month') and adds a scope detail ('including all category balances') that separates it from ynab_list_months and ynab_get_budget. It stops short of naming a sibling explicitly, so an agent must infer the boundary rather than read it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states the default-budget fallback ('Omit to use the default budget') and routes a specific failure to a remedy ('run ynab_set_default_budget first'), which is real when-to-use guidance. It gives no explicit when-not or alternative-tool comparison, so it lands at clear-context-without-exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ynab_get_payeeARead-onlyIdempotent
Get details for a specific payee.
Args:
budget_id (string, optional): Budget UUID. Omit to use the default budget.
payee_id (string, required): Payee UUID.
response_format (string, optional): "json" or "markdown" (default: "markdown").
Returns: payee (id, name, transfer_account_id, deleted), cached, cache_info
Errors:
"No default budget set" → run ynab_set_default_budget first
"Payee not found" → invalid payee_id
| Name | Required | Description | Default |
|---|---|---|---|
| payee_id | Yes | ||
| budget_id | No | ||
| response_format | No | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| payee | Yes | Payee details |
| cached | No | Indicates if data was served from cache |
| usedDelta | No | Indicates if delta merge optimization was applied for budgets |
| cache_info | No | Human-readable cache status message (e.g., "Cache hit", "Cache miss") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly, idempotent, non-destructive. Description adds caching behavior and error conditions (default budget, not found), which go beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose, uses structured bullet points for args/returns/errors. Every sentence adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieval tool, covers inputs, outputs (field list), errors, and caching. Output schema exists but description still mentions return fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage, but description fully explains all parameters: budget_id (optional, default), payee_id (required), response_format (enum, default markdown). Compensates completely.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States 'Get details for a specific payee'—a specific verb and resource. Clearly differentiates from sibling 'ynab_list_payees' which lists all payees.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context: use by payee_id, optional budget default, response format choice. Includes error handling guidance but no explicit when-not or comparison to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ynab_get_scheduled_transactionCRead-onlyIdempotent
Get one scheduled transaction by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| budget_id | No | ||
| scheduled_transaction_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| scheduled_transaction | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint, so the safety profile is fully covered. The description adds nothing beyond that — no not-found behavior, no auth/scope notes, no mention of how the budget context is resolved.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler, so nothing is wasted. The terseness is efficient but leaves too little substance to call it exemplary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. Still, for a tool with two undocumented parameters and an unspecified not-found/error path, the description is too thin to let an agent call it correctly without trial and error.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description only hints that a scheduled_transaction_id identifies the record ("by ID"). The budget_id parameter is completely undefined in both schema and description, including whether it defaults to a configured budget.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Get one scheduled transaction") and the singular "one" implicitly distinguishes it from ynab_list_scheduled_transactions. It does not, however, explicitly name that sibling or contrast with the create/update/delete variants, leaving the agent to infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no prerequisites, and no alternatives. An agent must infer from the name alone that this is the single-record lookup path versus the list tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ynab_get_transactionARead-onlyIdempotent
Get full details for a single transaction by ID.
Args:
budget_id (string, optional): Budget UUID. Omit to use the default budget.
transaction_id (string, required): Transaction UUID.
response_format (string, optional): "json" or "markdown" (default: "markdown").
Returns: transaction (id, date, amount, memo, cleared, approved, account_id, payee_name, category_name, subtransactions), cached, cache_info
Errors:
"No default budget set" → run ynab_set_default_budget first
"Transaction not found" → invalid transaction_id
| Name | Required | Description | Default |
|---|---|---|---|
| budget_id | No | ||
| transaction_id | Yes | ||
| response_format | No | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| cached | No | Indicates if data was served from cache |
| usedDelta | No | Indicates if delta merge optimization was applied for budgets |
| cache_info | No | Human-readable cache status message (e.g., "Cache hit", "Cache miss") |
| transaction | Yes | Transaction details |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent and non-destructive semantics, and the description adds real context beyond them: the cache flags ('cached, cache_info') in the return, plus two named error conditions with remediation. It does not explain caching lifetime or rate-limit behavior, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded one-line purpose followed by compact Args/Returns/Errors blocks, so an agent can scan it quickly. The Args block restates names and types already in the schema, but with 0% schema coverage that repetition earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema exists, the Returns line is supplementary rather than essential, and the Errors section plus the default-budget fallback cover the main failure modes. What remains unstated is whether a missing transaction vs a missing budget requires different recovery paths beyond the two listed errors.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden and largely succeeds: it labels budget_id optional with the meaningful 'omit to use the default budget' behavior, marks transaction_id required, and gives response_format's enum and default. 'Transaction UUID' is the only thin spot.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource with scope ('full details for a single transaction by ID'), which implicitly separates it from list_transactions and the update/delete siblings. It never names a sibling explicitly, so the differentiation is inferred rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the 'single transaction by ID' framing and reinforced by the error routing ('No default budget set' → run ynab_set_default_budget first), which is genuinely actionable. There is still no explicit guidance on when to use this versus ynab_list_transactions or ynab_compare_transactions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ynab_get_userARead-onlyIdempotent
Get information about the authenticated YNAB user.
Args:
response_format (string, optional): "json" or "markdown" (default: "markdown").
Returns: user (id)
Errors:
"UNAUTHORIZED" → YNAB token expired or invalid
| Name | Required | Description | Default |
|---|---|---|---|
| response_format | No | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| user | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint, idempotentHint), the description discloses error conditions (UNAUTHORIZED) and return details (user id), adding meaningful behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, well-structured with clear sections (description, args, returns, errors), and every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (1 optional parameter, read-only), the description covers purpose, parameter, return, and errors completely, despite an available output schema not shown.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description fully explains the single parameter (response_format), including its optional nature, default value, and enum options, compensating for 0% schema description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves information about the authenticated YNAB user, with a specific verb and resource. It uniquely identifies the tool among siblings as the only one for user info retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives or when not to use it, lacking explicit usage context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ynab_list_accountsARead-onlyIdempotent
List all accounts for a budget.
Args:
budget_id (string, optional): Budget UUID. Omit to use the default budget.
limit (int, optional): Max results per page. Default: 50.
offset (int, optional): Zero-based offset for pagination. Default: 0.
response_format (string, optional): "json" or "markdown" (default: "markdown").
Returns: accounts[], total_count, returned_count, offset, has_more, next_offset, cached, cache_info
Examples:
List all accounts (default budget): call with no args
Page 2: set limit=20, offset=20
Errors:
"No default budget set" → run ynab_set_default_budget first
"UNAUTHORIZED" → YNAB token expired
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| budget_id | No | ||
| response_format | No | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| cached | No | Indicates if data was served from cache |
| offset | Yes | Offset used for this response |
| accounts | Yes | List of accounts |
| has_more | Yes | Whether more items exist beyond this page |
| usedDelta | No | Indicates if delta merge optimization was applied for budgets |
| cache_info | No | Human-readable cache status message (e.g., "Cache hit", "Cache miss") |
| next_offset | No | Offset for next page, if has_more is true |
| total_count | Yes | Total number of items available |
| returned_count | Yes | Number of items returned |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readonly, idempotent, non-destructive. The description adds behavioral details: pagination (limit, offset, has_more), caching info, and error conditions, going beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-organized with Args, Returns, Examples, Errors sections. Purpose stated first. Every sentence adds value. Concise yet comprehensive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given sibling tools, annotations, and presence of output schema (mentioned in description), the description covers return structure, pagination, caching, and errors adequately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but description compensates by documenting all 4 parameters with types, defaults, constraints, and examples (e.g., budget_id optional, limit exclusiveMin 0, offset min 0, response_format enum).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'List all accounts for a budget.' Verb and resource are specific, and it differentiates from siblings like ynab_get_account and ynab_list_budgets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Includes error guidance (e.g., 'No default budget set' suggests ynab_set_default_budget) and examples for pagination. However, no explicit when-not-to-use compared to alternatives like ynab_get_account.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ynab_list_budgetsARead-onlyIdempotent
List all YNAB budgets for the authenticated user.
Args:
response_format (string, optional): "json" or "markdown" (default: "markdown").
Returns: budgets[], cached, cache_info
Examples:
List all budgets: call with no args
Errors:
"UNAUTHORIZED" → YNAB token expired or invalid
| Name | Required | Description | Default |
|---|---|---|---|
| response_format | No | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| cached | No | Indicates if data was served from cache |
| budgets | Yes | List of budgets |
| usedDelta | No | Indicates if delta merge optimization was applied for budgets |
| cache_info | No | Human-readable cache status message (e.g., "Cache hit", "Cache miss") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral context beyond annotations: it discloses caching behavior, return structure (budgets[], cached, cache_info), and a specific error (UNAUTHORIZED). Annotations already indicate read-only and idempotent, so the description complements these well without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured, using clear headings for args, returns, examples, and errors. Every line adds value with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional parameter, read-only), annotations, and existence of an output schema, the description is complete: it covers purpose, parameter, return format, example usage, and error handling. No gaps are evident.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema coverage, the description compensates by explaining the single parameter response_format, including its enum values and default. This adds meaning beyond the schema, which only defines the property without description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists all YNAB budgets for the authenticated user, using a specific verb and resource. It distinguishes from siblings like ynab_get_budget by specifying 'all budgets', making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for listing all budgets but does not explicitly state when to use this tool versus alternatives like ynab_get_budget for a single budget. No exclusions or alternatives are mentioned, relying on the agent to infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ynab_list_categoriesARead-onlyIdempotent
List all budget categories for a budget with pagination.
Args:
budget_id (string, optional): Budget UUID. Omit to use the default budget.
limit (int, optional): Max results per page. Default: 50.
offset (int, optional): Zero-based offset for pagination. Default: 0.
response_format (string, optional): "json" or "markdown" (default: "markdown").
Returns: categories[], category_groups[], total_count, returned_count, offset, has_more, next_offset, cached, cache_info
Examples:
List categories (default budget): call with no args
Page 2: set limit=50, offset=50
Errors:
"No default budget set" → run ynab_set_default_budget first
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| budget_id | No | ||
| response_format | No | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| cached | No | Indicates if data was served from cache |
| offset | Yes | Offset used for this response |
| has_more | Yes | Whether more items exist beyond this page |
| usedDelta | No | Indicates if delta merge optimization was applied for budgets |
| cache_info | No | Human-readable cache status message (e.g., "Cache hit", "Cache miss") |
| categories | Yes | List of categories |
| next_offset | No | Offset for next page, if has_more is true |
| total_count | Yes | Total number of items available |
| returned_count | Yes | Number of items returned |
| category_groups | Yes | List of category groups |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint, idempotentHint) indicate safe operation. Description adds behavioral context: pagination behavior (has_more, next_offset), caching (cached, cache_info), and default budget dependency. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured: one-purpose sentence followed by a clean docstring format with Args, Returns, Examples, Errors. Every sentence adds value without verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers pagination, default budget, response format, caching, error cases, and return fields. Despite output schema existing, description adds comprehensive context with examples and error handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description fully documents all 4 parameters: budget_id (optional, default), limit (default 50), offset (default 0), response_format (enum, default 'markdown'). Also explains return fields beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List all budget categories for a budget with pagination,' specifying the verb (list), resource (budget categories), and scope (pagination). It distinguishes from sibling tools like ynab_get_category (singular) and other list tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance: omit budget_id for default budget, pagination examples (limit=50, offset=50), and error handling ('No default budget set' → run ynab_set_default_budget first). Does not explicitly say when to avoid but is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ynab_list_monthsARead-onlyIdempotent
List summary data for all budget months with pagination.
Args:
budget_id (string, optional): Budget UUID. Omit to use the default budget.
limit (int, optional): Max results per page. Default: 50.
offset (int, optional): Zero-based offset for pagination. Default: 0.
response_format (string, optional): "json" or "markdown" (default: "markdown").
Returns: months[], total_count, returned_count, offset, has_more, next_offset, cached, cache_info
Examples:
List recent months: call with no args, months are newest-first
Page 2: set limit=12, offset=12
Errors:
"No default budget set" → run ynab_set_default_budget first
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| budget_id | No | ||
| response_format | No | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| cached | No | Indicates if data was served from cache |
| months | Yes | List of months |
| offset | Yes | Offset used for this response |
| has_more | Yes | Whether more items exist beyond this page |
| usedDelta | No | Indicates if delta merge optimization was applied for budgets |
| cache_info | No | Human-readable cache status message (e.g., "Cache hit", "Cache miss") |
| next_offset | No | Offset for next page, if has_more is true |
| total_count | Yes | Total number of items available |
| returned_count | Yes | Number of items returned |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false. The description adds useful behavioral context beyond annotations: pagination defaults, response fields, cache-related fields, and the "No default budget set" error path with remediation. It does not discuss rate limits, but it is materially transparent for a read-only list tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is structured and front-loaded: purpose first, then Args, Returns, Examples, and Errors. Every section adds actionable information, and the examples are concise and directly usable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a read-only paginated list operation with annotations, an output schema, and zero required parameters. The description still supplies all necessary parameter semantics, pagination guidance, return field awareness, and error remediation, so an agent can call it correctly without opening the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning; it does so fully. It documents budget_id as optional with default-budget behavior, limit and offset with defaults, and response_format with allowed values and default.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: "List summary data for all budget months with pagination." This clearly distinguishes the tool from single-month siblings like ynab_get_month and from unrelated transaction tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives practical usage context: no-args lists recent months newest-first, and pagination examples show limit/offset usage. It also names ynab_set_default_budget as remediation when no default budget exists. It does not explicitly say when to choose this over ynab_get_month, but the list-vs-single distinction is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ynab_list_payeesARead-onlyIdempotent
List all payees for a budget with pagination.
Args:
budget_id (string, optional): Budget UUID. Omit to use the default budget.
limit (int, optional): Max results per page. Default: 50.
offset (int, optional): Zero-based offset for pagination. Default: 0.
response_format (string, optional): "json" or "markdown" (default: "markdown").
Returns: payees[], total_count, returned_count, offset, has_more, next_offset, cached, cache_info
Examples:
List all payees: call with no args
Page 2: set limit=50, offset=50
Errors:
"No default budget set" → run ynab_set_default_budget first
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| budget_id | No | ||
| response_format | No | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
| cached | No | Indicates if data was served from cache |
| offset | Yes | Offset used for this response |
| payees | Yes | List of payees |
| has_more | Yes | Whether more items exist beyond this page |
| usedDelta | No | Indicates if delta merge optimization was applied for budgets |
| cache_info | No | Human-readable cache status message (e.g., "Cache hit", "Cache miss") |
| next_offset | No | Offset for next page, if has_more is true |
| total_count | Yes | Total number of items available |
| returned_count | Yes | Number of items returned |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description adds valuable behavioral context: pagination parameters, return fields (including cache_info), and error handling, going beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-organized into Args, Returns, Examples, and Errors sections. Every sentence adds value, no redundancy. It is appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, the description still provides comprehensive information: all parameters, return structure, pagination details, and error handling. Examples cover common use cases, making it complete for agent invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description fully documents all 4 parameters. It explains budget_id as optional UUID, limit and offset with defaults and constraints, and response_format with enum values 'json' or 'markdown', adding meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'List all payees for a budget with pagination,' using a specific verb and resource. It clearly distinguishes from sibling tools like ynab_get_payee (single payee) by focusing on listing all payees with pagination.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes examples for pagination and an error section advising to run ynab_set_default_budget if no default budget is set. It provides clear guidance on usage, though it does not explicitly contrast with alternative tools like ynab_get_payee.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ynab_list_scheduled_transactionsCRead-onlyIdempotent
List scheduled transactions with delta caching and pagination. Amounts are returned in decimal currency and explicit milliunits.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| budget_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| cached | Yes | |
| offset | Yes | |
| has_more | Yes | |
| used_delta | Yes | |
| next_offset | Yes | |
| total_count | Yes | |
| returned_count | Yes | |
| scheduled_transactions | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly, idempotent, openWorld, and non-destructive. The description adds two useful behavioral facts: results are paginated and delta-cached, and amounts are returned in both decimal and milliunits. However, "delta caching" is never explained (no cache token parameter exists in the schema), leaving an unclear mechanism for the agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the core action front-loaded and no filler. Slightly under-specified rather than bloated, but structurally efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter tool with 0% schema coverage, the description leaves key semantics unresolved: budget_id's role and whether it defaults, what delta caching means to the caller. The presence of an output schema excuses it from explaining return values, but parameter-level gaps remain significant.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden for limit, offset, and budget_id, yet it explains none of them. "Pagination" only loosely hints at limit/offset, and the budget_id parameter — critical since no default budget behavior is stated — is entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource ("List scheduled transactions") that clearly separates it from the get/create/update/delete scheduled-transaction siblings. It does not explicitly name the single-record sibling (ynab_get_scheduled_transaction) as the alternative, so differentiation is inferable rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It mentions pagination and delta caching but never says when to use this versus ynab_get_scheduled_transaction or the general ynab_list_transactions. There is no guidance on preconditions, no exclusions, and no indication of what happens if budget_id is omitted.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ynab_list_transactionsARead-onlyIdempotent
List transactions for a budget with optional filtering and pagination.
Args:
budget_id (string, optional): Budget UUID. Omit to use the default budget.
account_id (string, optional): Filter by account.
category_id (string, optional): Filter by category.
since_date (string, optional): ISO date (YYYY-MM-DD) to filter transactions on or after.
until_date (string, optional): ISO date (YYYY-MM-DD) to filter transactions on or before. Combine with since_date for a date window.
type (string, optional): "uncategorized" or "unapproved".
cleared (string, optional): "cleared", "uncleared", or "reconciled".
import_id (string, optional): Exact import_id, e.g. to find a transaction you just created.
payee_id (string, optional): Exact payee UUID.
payee_name (string, optional): Case-insensitive substring of the payee name.
amount_decimal (number, optional): Exact amount in currency units (e.g. -12.34). Or amount_milliunits for raw YNAB milliunits; pass at most one.
limit (int, optional): Max results per page. Default: 50.
offset (int, optional): Zero-based offset for pagination. Default: 0.
response_format (string, optional): "json" or "markdown" (default: "markdown").
Returns: transactions[], total_count, returned_count, offset, has_more, next_offset, cached, cache_info
Examples:
All transactions: call with no args (uses default budget)
Filter by account: set account_id
Last 30 days: set since_date to 30 days ago
Find a transaction: set account_id, since_date/until_date around its date, and payee_name or amount_decimal (or import_id)
Page 2: set limit=50, offset=50
Errors:
"No default budget set" → run ynab_set_default_budget first
Large result → use ynab_export_transactions to save to file
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | ||
| limit | No | ||
| offset | No | ||
| cleared | No | ||
| payee_id | No | Only this payee. | |
| budget_id | No | ||
| import_id | No | Only the transaction with this exact import_id. | |
| account_id | No | ||
| payee_name | No | Only payees whose name contains this text (case-insensitive). | |
| since_date | No | ||
| until_date | No | Only transactions on or before this date (YYYY-MM-DD). | |
| category_id | No | ||
| amount_decimal | No | Only transactions with exactly this amount in currency units (e.g. -12.34). Matches each row's amount: the parent amount, or the split-line amount when category_id is set (that path returns split lines). | |
| response_format | No | markdown | |
| amount_milliunits | No | Like amount_decimal, in raw YNAB milliunits. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint/destructiveHint, so safety is covered; the description adds genuinely non-schema behavior: the default-budget fallback when budget_id is omitted, the 'No default budget set' error and its remedy, and the large-result escape hatch to export. It also warns that amount_decimal matching hits split-line amounts when category_id is set, which is real behavioral nuance. Minor redundancy in listing return fields that an output schema already provides keeps it at 4.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded summary followed by clean Args/Returns/Examples/Errors sections, which is the right structure for a 15-parameter tool. Some sentences restate the schema's own descriptions and the Returns line duplicates the output schema, but the length is proportionate to the parameter surface.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a wide, all-optional query tool this covers what an agent needs: the default-budget behavior, filtering combos, pagination, error recovery, and an alternative for large result sets. Gaps are small — cache behavior (the returns include cached/cache_info) and any rate-limit expectations are unmentioned, and the Returns list is somewhat redundant given the output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 40%, so the description must carry the load and largely does: it states budget_id defaults to the default budget, gives ISO format for the date bounds and how to combine them, explains payee_name as a case-insensitive substring vs exact payee_id, constrains type/cleared to their enums, and flags that amount_decimal and amount_milliunits are mutually exclusive ('pass at most one'). It also documents limit (default 50) and offset (zero-based) pagination semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence gives a specific verb and resource ('List transactions for a budget') plus the two modifiers that matter (filtering, pagination). The plural 'list' immediately distances it from ynab_get_transaction and ynab_compare_transactions, and the Errors section points at ynab_export_transactions for the bulk case.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Five concrete call recipes (no args, account_id, last 30 days, find-one-transaction, page 2) plus two error-driven routes ('run ynab_set_default_budget first', 'use ynab_export_transactions to save to file') give clear usage context. There is no explicit when-not-to-use guidance — e.g. that a single known transaction should go to ynab_get_transaction — so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ynab_reconcile_accountAIdempotent
Guided account reconciliation: match bank CSV transactions to YNAB, detect discrepancies, and optionally execute bulk create/update/unclear operations.
Args:
budget_id (string, optional): Budget UUID. Omit to use the default budget.
account_id (string, required): Account UUID to reconcile.
csv_file_path or csv_data (string, required): Bank export file path or inline CSV text.
statement_balance (number, required): Ending balance from the bank statement (dollars). For credit cards and other liability accounts, pass a negative value (e.g. -6143.27 means you owe $6,143.27).
statement_end_date (string, optional): Statement closing date (YYYY-MM-DD). Filters CSV and triggers balance verification. Auto-detected from CSV if omitted.
match_strictness (string, optional): Matching sensitivity — "loose" (more matches), "normal" (default), or "strict" (fewer false positives).
sign_convention (string, optional): How to treat CSV amount signs — "auto" (default, detects from data), "invert" (negate all amounts), "as_is" (use amounts unchanged). Useful when auto-detection fails for liability accounts.
dry_run (boolean, optional): Preview actions without executing. Default: true.
auto_create_transactions (boolean, optional): Auto-create missing transactions. Default: false.
auto_update_cleared_status (boolean, optional): Auto-mark matched transactions as cleared. Default: false.
auto_unclear_missing (boolean, optional): Auto-mark statement-missing cleared transactions as uncleared when reconciliation remains unbalanced. Default: false.
max_suggestions_in_output (number, optional): Limit unmatched items and suggestions shown in the human report. Default: 20.
Returns: human-readable reconciliation narrative + structured JSON (unmatched_bank, unmatched_ynab, suggestions, execution_summary when actions are performed).
Examples:
Preview reconciliation: set dry_run=true (default)
Execute: set dry_run=false and explicitly enable the write flags you want, e.g. auto_update_cleared_status=true
Write safety: call without confirmation_token to preview. The preview returns confirmation_token and confirmation_expires_at in its structured output (and in its text). Execute the identical validated request with that short-lived confirmation_token.
| Name | Required | Description | Default |
|---|---|---|---|
| dry_run | No | ||
| csv_data | No | ||
| budget_id | No | ||
| account_id | Yes | ||
| csv_format | No | ||
| csv_file_path | No | ||
| sign_convention | No | auto | |
| match_strictness | No | normal | |
| auto_adjust_dates | No | ||
| statement_balance | Yes | ||
| confirmation_token | No | Short-lived, single-use token returned by the immediately preceding preview of this exact validated request. Omit, or pass null or an empty string, to preview. | |
| statement_end_date | No | ||
| date_tolerance_days | No | ||
| auto_unclear_missing | No | ||
| auto_create_transactions | No | ||
| max_suggestions_in_output | No | ||
| auto_update_cleared_status | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| human | Yes | |
| structured | Yes | |
| confirmation_token | No | Preview only: single-use token that executes this exact request when passed back as confirmation_token. |
| confirmation_expires_at | No | Preview only: when confirmation_token expires (ISO 8601). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only say non-read-only, idempotent, non-destructive, open-world; the description goes well beyond by explaining that dry_run defaults to true, that all auto_* write flags default to false, that a short-lived single-use confirmation_token gates execution, and that liability accounts may need a negative balance or an inverted sign convention. This is exactly the mutation-safety context annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose, then a scannable Args list, Returns, Examples, and a Write-safety block, so an agent can find the decision-relevant parts quickly. The args enumeration is long but justified by the near-empty schema; a few entries (budget_id, account_id) restate the obvious.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 17-parameter, nested-object, mutating tool with an output schema (so return values need not be spelled out), the description covers the reconciliation lifecycle, the two-phase confirmation gate, and the risk flags an agent must set deliberately. The only real hole is csv_format, which can typically be inferred by auto-detection given the sign_convention fallback described.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 6%, the description carries most of the burden and does so for the consequential params: statement_balance sign rules for credit cards, statement_end_date auto-detection and balance verification, match_strictness levels, sign_convention modes, and the meaning of each auto_* flag. Gaps remain for csv_format (a nested 8-field object), auto_adjust_dates, and date_tolerance_days, which are undocumented in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb phrase and scope: match bank CSV transactions to YNAB, detect discrepancies, and optionally execute bulk create/update/unclear operations. This distinguishes it from the plain CRUD siblings (ynab_create_transactions, ynab_update_transactions) by framing it as a guided reconciliation workflow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The Examples and 'Write safety' sections give a concrete when/how: call without confirmation_token to preview, then re-issue the identical request with the token to execute, and explicitly enable write flags. It does not name sibling alternatives for individual transaction edits, but the preview-then-execute workflow is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ynab_set_default_budgetAIdempotent
Set a default budget so other tools don't require budget_id every call.
Args:
budget_id (string, required): Budget UUID to set as default. Validates against YNAB API.
Returns: success, default_budget_id, cache_warm_started.
Examples:
Set default: provide the UUID from ynab_list_budgets
Errors:
"Budget not found" → invalid budget_id
| Name | Required | Description | Default |
|---|---|---|---|
| budget_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| message | Yes | Human-readable success message |
| success | Yes | Indicates operation success |
| default_budget_id | Yes | |
| cache_warm_started | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide idempotentHint, destructiveHint, readOnlyHint. The description adds value by specifying validation against the YNAB API, the return fields (success, default_budget_id, cache_warm_started), and the error case. This complements the annotations without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, uses clear sections (Args, Returns, Examples, Errors), front-loads the main purpose, and every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one parameter and clear returns. The description covers input, output, error handling, and usage example. It could mention persistence scope (e.g., session or permanent) but overall is adequate given the tool's simplicity and presence of an output schema (though not shown).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema only defines budget_id as a string with minLength. The description adds critical semantic info: it is a UUID (format), required, and validated against the YNAB API. It also includes an example referencing ynab_list_budgets for obtaining the UUID.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Set a default budget so other tools don't require budget_id every call.' It uses a specific verb (set) and resource (default budget) and implicitly distinguishes from siblings like ynab_get_default_budget and ynab_list_budgets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the benefit of using this tool (reducing need to pass budget_id in other calls) but does not explicitly state when not to use it or mention alternatives. The context suggests setting a default is optional, but no exclusion criteria are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ynab_update_categoryAIdempotent
Update the budgeted amount for a category in the current month.
Args:
budget_id (string, optional): Budget UUID. Omit to use the default budget.
category_id (string, required): Category UUID.
budgeted_decimal (number, preferred): New funding amount in decimal currency units.
budgeted_milliunits (int, alternative): Explicit raw YNAB milliunits.
budgeted (int, deprecated): Backward-compatible alias for budgeted_milliunits.
dry_run (boolean, optional): Preview without saving. Default: false.
Returns: updated category with new budgeted, activity, balance.
Examples:
Budget $100: set budgeted_decimal=100.00
Already-converted data: set budgeted_milliunits=100000
Dry run: set dry_run=true
Errors:
"No default budget set" → run ynab_set_default_budget first
Write safety: call without confirmation_token to preview. The preview returns confirmation_token and confirmation_expires_at in its structured output (and in its text). Execute the identical validated request with that short-lived confirmation_token.
| Name | Required | Description | Default |
|---|---|---|---|
| dry_run | No | ||
| budgeted | No | Deprecated legacy alias for budgeted_milliunits. Use budgeted_decimal or budgeted_milliunits. | |
| budget_id | No | ||
| category_id | Yes | ||
| budgeted_decimal | No | Preferred: category funding amount in decimal currency units (for example, 100.00). | |
| confirmation_token | No | Short-lived, single-use token returned by the immediately preceding preview of this exact validated request. Omit, or pass null or an empty string, to preview. | |
| budgeted_milliunits | No | Raw YNAB category funding amount in milliunits. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare non-readOnly, idempotent, non-destructive, but the description goes much further: a two-step preview/confirm protocol, token single-use and expiry, a dry_run flag, the exact return shape, and a concrete error-to-remedy mapping. Nothing here contradicts idempotentHint or destructiveHint=false, since re-setting the same absolute amount is idempotent and reversible by setting another value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the purpose, then Args/Examples/Errors/Write safety in a predictable order; the examples and the write-safety paragraph both earn their space. The Args block largely restates schema descriptions, which is mild redundancy, but the decimal-vs-milliunits guidance justifies it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter mutation tool with a confirmation flow, the description covers prerequisites (default budget), argument choice rules, error recovery, and the confirm step; an output schema exists so detailed return documentation is not required, and the brief returns line is sufficient. No material gaps remain for an agent to call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
At 57% schema coverage the description carries the load well, explaining budget_id defaults to the default budget, that budgeted_decimal is preferred over raw milliunits, that budgeted is a deprecated alias, and dry_run defaults to false. It also explains the confirmation_token semantics (omit/null/empty to preview), which the schema's one-liner alone would leave ambiguous in the execution flow.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence gives a specific verb, resource, and scope: 'Update the budgeted amount for a category in the current month', which is distinct from any read-only category tool. It never explicitly contrasts itself with siblings such as ynab_get_category or ynab_list_categories, but those are obvious reads and there is no other budget-mutation sibling, so the purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides concrete operational guidance: call without confirmation_token to preview, then re-execute the identical request with the returned short-lived token, and it routes to ynab_set_default_budget when the 'No default budget set' error occurs. It does not state when to prefer this over listing/reading categories first, but the when-to-use for the confirmation workflow is explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ynab_update_scheduled_transactionBIdempotent
Update selected fields on a scheduled transaction.
Write safety: call without confirmation_token to preview. The preview returns confirmation_token and confirmation_expires_at in its structured output (and in its text). Execute the identical validated request with that short-lived confirmation_token.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| memo | No | ||
| amount | No | Deprecated legacy alias for amount_milliunits. Use amount_decimal for currency input or amount_milliunits for raw YNAB values. | |
| dry_run | No | ||
| payee_id | No | ||
| budget_id | No | ||
| frequency | No | ||
| account_id | No | ||
| flag_color | No | ||
| payee_name | No | ||
| category_id | No | ||
| amount_decimal | No | Preferred: amount in decimal currency units (for example, -12.34). Rounded exactly to the nearest YNAB milliunit. | |
| amount_milliunits | No | Raw YNAB milliunits. Use only when the value is already converted. | |
| confirmation_token | No | Short-lived, single-use token returned by the immediately preceding preview of this exact validated request. Omit, or pass null or an empty string, to preview. | |
| scheduled_transaction_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description discloses the two-phase preview/confirmation workflow, where the token appears (structured output and text), and that the token is short-lived and must accompany an identical request. That is meaningful write-safety context the annotations do not carry. It stops short of 5 because it doesn't say what happens to unspecified fields or what the preview shows.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences that are front-loaded: purpose first, then the safety protocol. No filler, though the phrase "in its structured output (and in its text)" is slightly redundant for an agent that already receives both.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema exists, so return values needn't be re-explained, and the confirmation protocol is covered. However, for a 15-parameter mutation tool with low schema coverage, the description leaves field-selection semantics and the amount-alias rules undocumented, which is a real gap for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 27% across 15 parameters, so the description needs to compensate and it largely doesn't: it never enumerates updatable fields or clarifies the mutual exclusivity between amount, amount_decimal and amount_milliunits. "Selected fields" is the only semantic hint, implying partial-update behavior, which is useful but thin against the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ("Update selected fields on a scheduled transaction") that clearly maps to ynab_update_scheduled_transaction and separates it from list/get/create/delete siblings. It does not explicitly contrast with ynab_update_transaction, the closest alternative, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear procedural rule for the preview-vs-execute path, which is genuinely useful when-to-use guidance. It says nothing about when to use this tool instead of ynab_update_transaction, nor about prerequisites such as budget scope or whether omitting a field preserves the existing value.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ynab_update_transactionAIdempotent
Update fields on an existing YNAB transaction.
Args:
budget_id (string, optional): Budget UUID. Omit to use the default budget.
transaction_id (string, required): Transaction UUID to update.
amount_decimal (number, preferred): New amount in decimal currency units.
amount_milliunits (int, alternative): Explicit raw YNAB milliunits.
amount (int, deprecated): Backward-compatible alias for amount_milliunits.
date (string, optional): New date YYYY-MM-DD.
payee_name / payee_id (string, optional): New payee.
category_id (string, optional): New category UUID.
memo (string, optional): New memo.
cleared (string, optional): "cleared", "uncleared", or "reconciled".
approved (boolean, optional): Approval status.
subtransactions (array, optional): Convert a non-split transaction into a split. Supply the parent amount and split lines using amount_decimal, amount_milliunits, or deprecated amount; split amounts must sum to the parent and category_id must be omitted on the parent. YNAB does not support replacing lines on an existing split.
dry_run (boolean, optional): Preview without saving.
Returns: the updated transaction, including split lines and explicit amount_milliunits.
Write safety: call without confirmation_token to preview. The preview returns confirmation_token and confirmation_expires_at in its structured output (and in its text). Execute the identical validated request with that short-lived confirmation_token.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| memo | No | ||
| amount | No | Deprecated legacy alias for amount_milliunits. Use amount_decimal for currency input or amount_milliunits for raw YNAB values. | |
| cleared | No | ||
| dry_run | No | ||
| approved | No | ||
| payee_id | No | ||
| budget_id | No | ||
| account_id | No | ||
| flag_color | No | ||
| payee_name | No | ||
| category_id | No | ||
| amount_decimal | No | Preferred: amount in decimal currency units (for example, -12.34). Rounded exactly to the nearest YNAB milliunit. | |
| transaction_id | Yes | ||
| subtransactions | No | ||
| amount_milliunits | No | Raw YNAB milliunits. Use only when the value is already converted. | |
| confirmation_token | No | Short-lived, single-use token returned by the immediately preceding preview of this exact validated request. Omit, or pass null or an empty string, to preview. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly=false, idempotent=true, destructive=false), the description discloses the full two-phase write-safety protocol: an unconfirmed call previews, returns a short-lived confirmation_token, and must be replayed identically. It also documents real YNAB constraints (split lines must sum to the parent, category_id must be omitted on the parent, existing splits cannot have their lines replaced), which the annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The one-line purpose is front-loaded, and the Args list is scannable and consistent. There is some duplication with schema descriptions (amount_decimal, amount_milliunits restated nearly verbatim) and the Returns line is redundant given the output schema, but nothing is truly wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 17-parameter mutation tool with nested split semantics, the description covers the hard parts: the confirmation handshake, split conversion rules, and amount-precedence. It is nearly complete, with the omission of account_id and flag_color the only material hole, and the output schema relieving it of return-value detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only 24% schema description coverage across 17 parameters, the Args block carries most of the semantic load: it ranks amount_decimal as preferred over amount_milliunits and the deprecated amount alias, states the default-budget behavior, gives the date format and the cleared enum values, and explains the split-amount summing rule. The gap is that account_id and flag_color appear in the schema but are absent from the description entirely.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence gives a specific verb and resource ("Update fields on an existing YNAB transaction"), which is clearly distinct from create/delete siblings. However, it never names ynab_update_transactions (the bulk variant) as the alternative, so the singular/plural distinction must be inferred from the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage guidance is strong on mechanics ("call without confirmation_token to preview", dry_run preview) but says nothing about when to prefer this over ynab_update_transactions or when a split should be created via ynab_create_receipt_split_transaction instead. The agent is left to infer the single-vs-batch routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ynab_update_transactionsAIdempotent
Update 1–100 transactions in a single batch with dry-run preview.
Args:
budget_id (string, optional): Budget UUID. Omit to use the default budget.
transactions (array, required): Up to 100 objects, each requires id plus fields to update. Amount updates use one of amount_decimal (preferred), amount_milliunits, or deprecated amount. A non-split transaction can be converted to a split by supplying the parent amount plus subtransactions that sum to it; YNAB does not support replacing lines on an existing split.
dry_run (boolean, optional): Preview changes without saving. Default: false.
Returns: summary (updated, failed), results[], transactions[].
Examples:
Dry run: set dry_run=true to preview before/after for first 10 items
Write safety: call without confirmation_token to preview. The preview returns confirmation_token and confirmation_expires_at in its structured output (and in its text). Execute the identical validated request with that short-lived confirmation_token.
| Name | Required | Description | Default |
|---|---|---|---|
| dry_run | No | ||
| budget_id | No | ||
| transactions | Yes | ||
| confirmation_token | No | Short-lived, single-use token returned by the immediately preceding preview of this exact validated request. Omit, or pass null or an empty string, to preview. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, it discloses the write-safety handshake (preview issues a single-use, short-lived confirmation_token), the 100-item batch ceiling, the exact return shape (summary/updated/failed/results/transactions), and a real domain constraint that YNAB cannot replace lines on an existing split. Those are precisely the behaviors an agent cannot infer from the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The Args/Returns/Examples/Write-safety structure is front-loaded and skimmable, and every section carries content. There is mild redundancy: dry_run is restated in the Args block, the Examples block, and again inside the confirmation_token guidance, which could be tightened into one statement of the preview workflow.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with an output schema, the coverage is complete: it explains the execution workflow, batch limits, payload shape, amount-encoding rules, split limitations, and even restates what the response returns. Nothing an agent needs to call this correctly is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25%, so the description carries the burden and does so: it explains budget_id omission semantics, the amount_decimal vs amount_milliunits vs deprecated amount preference order, and the rule for converting a non-split transaction into a split whose subtransactions sum to the parent amount. It also clarifies that omitting, null, or empty-string confirmation_token all mean preview.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence gives a specific verb, resource, and scope: 'Update 1–100 transactions in a single batch with dry-run preview.' The batch scope implicitly separates it from the singular ynab_update_transaction sibling, but it never names that sibling, so the agent must infer the distinction from the word 'batch' alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly states the two-step execution contract: call without confirmation_token to preview, then replay the identical validated request with the returned short-lived token. It also gives a concrete dry_run example. What is missing is guidance on choosing this batch tool over ynab_update_transaction or ynab_create_transactions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
16 tool updates
v0.32.0- Changed
ynab_analyze_spending2 fields changed- added
Input schema / properties / since_date / formatAdded value: +"date" - added
Input schema / properties / until_date / formatAdded value: +"date"
- Changed
ynab_compare_spending_periods4 fields changed- added
Input schema / properties / period_a / properties / since_date / formatAdded value: +"date" - added
Input schema / properties / period_a / properties / until_date / formatAdded value: +"date" - added
Input schema / properties / period_b / properties / since_date / formatAdded value: +"date" - added
Input schema / properties / period_b / properties / until_date / formatAdded value: +"date"
- Changed
ynab_compare_transactions6 fields changed- removed
Input schema / properties / statement_date / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "const": "", - "type": "string" - } -] - added
Input schema / properties / statement_date / formatAdded value: +"date" - added
Input schema / properties / statement_date / typeAdded value: +"string" - removed
Input schema / properties / statement_start_date / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "const": "", - "type": "string" - } -] - added
Input schema / properties / statement_start_date / formatAdded value: +"date" - added
Input schema / properties / statement_start_date / typeAdded value: +"string"
- Changed
ynab_create_account1 field changed- changed
Output schema / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "action": { - "const": "ynab_create_account", - "type": "string" - }, - "dry_run": { - "const": true, - "type": "boolean" - }, - "request": { - "additionalProperties": false, - "properties": { - "balance": { - "type": "number" - }, - "budget_id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "type": { - "type": "string" - } - }, - "required": [ - "budget_id", - "name", - "type", - "balance" - ], - "type": "object" - } - }, - "required": [ - "dry_run", - "action", - "request" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "account": { - "additionalProperties": false, - "properties": { - "balance": { - "description": "Account balance in dollars", - "type": "number" - }, - "cleared_balance": { - "description": "Cleared balance in dollars", - "type": "number" - }, - "closed": { - "description": "Closed flag", - "type": "boolean" - }, - "direct_import_in_error": { - "description": "Direct import error flag", - "type": "boolean" - }, - "direct_import_linked": { - "description": "Direct import linked flag", - "type": "boolean" - }, - "id": { - "description": "Account ID", - "type": "string" - }, - "name": { - "description": "Account name", - "type": "string" - }, - "note": { - "description": "Account note", - "type": "string" - }, - "on_budget": { - "description": "On-budget flag", - "type": "boolean" - }, - "transfer_payee_id": { - "description": "Transfer payee ID", - "type": "string" - }, - "type": { - "description": "Account type", - "type": "string" - }, - "uncleared_balance": { - "description": "Uncleared balance in dollars", - "type": "number" - } - }, - "required": [ - "id", - "name", - "type", - "on_budget", - "closed", - "balance", - "cleared_balance", - "uncleared_balance", - "transfer_payee_id" - ], - "type": "object" - } - }, - "required": [ - "account" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "action": { + "const": "ynab_create_account", + "type": "string" + }, + "confirmation_expires_at": { + "description": "Preview only: when confirmation_token expires (ISO 8601).", + "format": "date-time", + "type": "string" + }, + "confirmation_token": { + "description": "Preview only: single-use token that executes this exact request when passed back as confirmation_token.", + "type": "string" + }, + "dry_run": { + "const": true, + "type": "boolean" + }, + "request": { + "additionalProperties": false, + "properties": { + "balance": { + "type": "number" + }, + "budget_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + }, + "required": [ + "budget_id", + "name", + "type", + "balance" + ], + "type": "object" + } + }, + "required": [ + "dry_run", + "action", + "request" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "account": { + "additionalProperties": false, + "properties": { + "balance": { + "description": "Account balance in dollars", + "type": "number" + }, + "cleared_balance": { + "description": "Cleared balance in dollars", + "type": "number" + }, + "closed": { + "description": "Closed flag", + "type": "boolean" + }, + "direct_import_in_error": { + "description": "Direct import error flag", + "type": "boolean" + }, + "direct_import_linked": { + "description": "Direct import linked flag", + "type": "boolean" + }, + "id": { + "description": "Account ID", + "type": "string" + }, + "name": { + "description": "Account name", + "type": "string" + }, + "note": { + "description": "Account note", + "type": "string" + }, + "on_budget": { + "description": "On-budget flag", + "type": "boolean" + }, + "transfer_payee_id": { + "description": "Transfer payee ID", + "type": "string" + }, + "type": { + "description": "Account type", + "type": "string" + }, + "uncleared_balance": { + "description": "Uncleared balance in dollars", + "type": "number" + } + }, + "required": [ + "id", + "name", + "type", + "on_budget", + "closed", + "balance", + "cleared_balance", + "uncleared_balance", + "transfer_payee_id" + ], + "type": "object" + }, + "confirmation_expires_at": { + "description": "Preview only: when confirmation_token expires (ISO 8601).", + "format": "date-time", + "type": "string" + }, + "confirmation_token": { + "description": "Preview only: single-use token that executes this exact request when passed back as confirmation_token.", + "type": "string" + } + }, + "required": [ + "account" + ], + "type": "object" + } +]
- Changed
ynab_create_receipt_split_transaction1 field changed- changed
Output schema / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "action": { - "const": "ynab_create_receipt_split_transaction", - "type": "string" - }, - "dry_run": { - "const": true, - "type": "boolean" - }, - "receipt_summary": { - "additionalProperties": false, - "properties": { - "categories": { - "items": { - "additionalProperties": false, - "properties": { - "category_id": { - "type": "string" - }, - "category_name": { - "type": "string" - }, - "items": { - "items": { - "additionalProperties": false, - "properties": { - "amount": { - "type": "number" - }, - "memo": { - "type": "string" - }, - "name": { - "type": "string" - }, - "quantity": { - "type": "number" - } - }, - "required": [ - "name", - "amount" - ], - "type": "object" - }, - "type": "array" - }, - "subtotal": { - "type": "number" - }, - "tax": { - "type": "number" - }, - "total": { - "type": "number" - } - }, - "required": [ - "category_id", - "items", - "subtotal", - "tax", - "total" - ], - "type": "object" - }, - "type": "array" - }, - "subtotal": { - "type": "number" - }, - "tax": { - "type": "number" - }, - "total": { - "type": "number" - } - }, - "required": [ - "subtotal", - "tax", - "total", - "categories" - ], - "type": "object" - }, - "subtransactions": { - "items": { - "additionalProperties": false, - "properties": { - "amount": { - "description": "Amount in decimal currency units", - "type": "number" - }, - "amount_currency": { - "type": "number" - }, - "amount_formatted": { - "type": [ - "string", - "null" - ] - }, - "amount_milliunits": { - "maximum": 9007199254740991, - "minimum": -9007199254740991, - "type": "integer" - }, - "category_id": { - "type": [ - "string", - "null" - ] - }, - "category_name": { - "type": [ - "string", - "null" - ] - }, - "memo": { - "type": [ - "string", - "null" - ] - }, - "payee_id": { - "type": [ - "string", - "null" - ] - }, - "payee_name": { - "type": [ - "string", - "null" - ] - }, - "scheduled_transaction_id": { - "type": "string" - }, - "transfer_account_id": { - "type": [ - "string", - "null" - ] - }, - "transfer_transaction_id": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "amount" - ], - "type": "object" - }, - "type": "array" - }, - "transaction_preview": { - "additionalProperties": false, - "properties": { - "account_id": { - "type": "string" - }, - "amount": { - "description": "Amount in decimal currency units", - "type": "number" - }, - "amount_currency": { - "type": "number" - }, - "amount_formatted": { - "type": [ - "string", - "null" - ] - }, - "amount_milliunits": { - "maximum": 9007199254740991, - "minimum": -9007199254740991, - "type": "integer" - }, - "approved": { - "type": "boolean" - }, - "category_id": { - "type": [ - "string", - "null" - ] - }, - "category_name": { - "type": [ - "string", - "null" - ] - }, - "cleared": { - "enum": [ - "cleared", - "uncleared", - "reconciled" - ], - "type": "string" - }, - "date": { - "pattern": "^\\d{4}-\\d{2}-\\d{2}$", - "type": "string" - }, - "debt_transaction_type": { - "type": [ - "string", - "null" - ] - }, - "flag_color": { - "anyOf": [ - { - "enum": [ - "red", - "orange", - "yellow", - "green", - "blue", - "purple" - ], - "type": "string" - }, - { - "type": "null" - } - ] - }, - "flag_name": { - "type": [ - "string", - "null" - ] - }, - "import_id": { - "type": [ - "string", - "null" - ] - }, - "import_payee_name": { - "type": [ - "string", - "null" - ] - }, - "import_payee_name_original": { - "type": [ - "string", - "null" - ] - }, - "memo": { - "type": [ - "string", - "null" - ] - }, - "parent_transaction_id": { - "type": [ - "string", - "null" - ] - }, - "payee_id": { - "type": [ - "string", - "null" - ] - }, - "payee_name": { - "type": [ - "string", - "null" - ] - }, - "scheduled_transaction_id": { - "type": "string" - }, - "subtransactions": { - "items": { - "additionalProperties": false, - "properties": { - "amount": { - "description": "Amount in decimal currency units", - "type": "number" - }, - "amount_currency": { - "type": "number" - }, - "amount_formatted": { - "type": [ - "string", - "null" - ] - }, - "amount_milliunits": { - "maximum": 9007199254740991, - "minimum": -9007199254740991, - "type": "integer" - }, - "category_id": { - "type": [ - "string", - "null" - ] - }, - "category_name": { - "type": [ - "string", - "null" - ] - }, - "deleted": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "memo": { - "type": [ - "string", - "null" - ] - }, - "payee_id": { - "type": [ - "string", - "null" - ] - }, - "payee_name": { - "type": [ - "string", - "null" - ] - }, - "scheduled_transaction_id": { - "type": "string" - }, - "transaction_id": { - "type": "string" - }, - "transfer_account_id": { - "type": [ - "string", - "null" - ] - }, - "transfer_transaction_id": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "amount" - ], - "type": "object" - }, - "type": "array" - }, - "transaction_id": { - "type": "string" - }, - "transfer_account_id": { - "type": [ - "string", - "null" - ] - }, - "transfer_transaction_id": { - "type": [ - "string", - "null" - ] - }, - "type": { - "enum": [ - "transaction", - "subtransaction" - ], - "type": "string" - } - }, - "required": [ - "amount", - "date", - "account_id" - ], - "type": "object" - } - }, - "required": [ - "dry_run", - "action", - "transaction_preview", - "receipt_summary", - "subtransactions" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "receipt_summary": { - "additionalProperties": false, - "properties": { - "categories": { - "items": { - "additionalProperties": false, - "properties": { - "category_id": { - "type": "string" - }, - "category_name": { - "type": "string" - }, - "items": { - "items": { - "additionalProperties": false, - "properties": { - "amount": { - "type": "number" - }, - "memo": { - "type": "string" - }, - "name": { - "type": "string" - }, - "quantity": { - "type": "number" - } - }, - "required": [ - "name", - "amount" - ], - "type": "object" - }, - "type": "array" - }, - "subtotal": { - "type": "number" - }, - "tax": { - "type": "number" - }, - "total": { - "type": "number" - } - }, - "required": [ - "category_id", - "items", - "subtotal", - "tax", - "total" - ], - "type": "object" - }, - "type": "array" - }, - "subtotal": { - "type": "number" - }, - "tax": { - "type": "number" - }, - "total": { - "type": "number" - } - }, - "required": [ - "subtotal", - "tax", - "total", - "categories" - ], - "type": "object" - }, - "transaction": { - "additionalProperties": false, - "properties": { - "account_balance": { - "type": "number" - }, - "account_cleared_balance": { - "type": "number" - }, - "account_id": { - "type": "string" - }, - "account_name": { - "type": "string" - }, - "amount": { - "description": "Amount in decimal currency units", - "type": "number" - }, - "amount_currency": { - "type": "number" - }, - "amount_formatted": { - "type": [ - "string", - "null" - ] - }, - "amount_milliunits": { - "maximum": 9007199254740991, - "minimum": -9007199254740991, - "type": "integer" - }, - "approved": { - "type": "boolean" - }, - "category_id": { - "type": [ - "string", - "null" - ] - }, - "category_name": { - "type": [ - "string", - "null" - ] - }, - "cleared": { - "type": "string" - }, - "date": { - "type": "string" - }, - "debt_transaction_type": { - "type": [ - "string", - "null" - ] - }, - "deleted": { - "type": "boolean" - }, - "flag_color": { - "type": [ - "string", - "null" - ] - }, - "flag_name": { - "type": [ - "string", - "null" - ] - }, - "id": { - "type": "string" - }, - "import_id": { - "type": [ - "string", - "null" - ] - }, - "import_payee_name": { - "type": [ - "string", - "null" - ] - }, - "import_payee_name_original": { - "type": [ - "string", - "null" - ] - }, - "matched_transaction_id": { - "type": [ - "string", - "null" - ] - }, - "memo": { - "type": [ - "string", - "null" - ] - }, - "parent_transaction_id": { - "type": [ - "string", - "null" - ] - }, - "payee_id": { - "type": [ - "string", - "null" - ] - }, - "payee_name": { - "type": [ - "string", - "null" - ] - }, - "scheduled_transaction_id": { - "type": "string" - }, - "subtransactions": { - "items": { - "additionalProperties": false, - "properties": { - "amount": { - "description": "Amount in decimal currency units", - "type": "number" - }, - "amount_currency": { - "type": "number" - }, - "amount_formatted": { - "type": [ - "string", - "null" - ] - }, - "amount_milliunits": { - "maximum": 9007199254740991, - "minimum": -9007199254740991, - "type": "integer" - }, - "category_id": { - "type": [ - "string", - "null" - ] - }, - "category_name": { - "type": [ - "string", - "null" - ] - }, - "deleted": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "memo": { - "type": [ - "string", - "null" - ] - }, - "payee_id": { - "type": [ - "string", - "null" - ] - }, - "payee_name": { - "type": [ - "string", - "null" - ] - }, - "scheduled_transaction_id": { - "type": "string" - }, - "transaction_id": { - "type": "string" - }, - "transfer_account_id": { - "type": [ - "string", - "null" - ] - }, - "transfer_transaction_id": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "id", - "transaction_id", - "amount", - "deleted" - ], - "type": "object" - }, - "type": "array" - }, - "transaction_id": { - "type": "string" - }, - "transfer_account_id": { - "type": [ - "string", - "null" - ] - }, - "transfer_transaction_id": { - "type": [ - "string", - "null" - ] - }, - "type": { - "enum": [ - "transaction", - "subtransaction" - ], - "type": "string" - } - }, - "required": [ - "id", - "amount", - "deleted", - "date", - "account_id", - "cleared", - "approved" - ], - "type": "object" - } - }, - "required": [ - "transaction", - "receipt_summary" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "action": { + "const": "ynab_create_receipt_split_transaction", + "type": "string" + }, + "confirmation_expires_at": { + "description": "Preview only: when confirmation_token expires (ISO 8601).", + "format": "date-time", + "type": "string" + }, + "confirmation_token": { + "description": "Preview only: single-use token that executes this exact request when passed back as confirmation_token.", + "type": "string" + }, + "dry_run": { + "const": true, + "type": "boolean" + }, + "receipt_summary": { + "additionalProperties": false, + "properties": { + "categories": { + "items": { + "additionalProperties": false, + "properties": { + "category_id": { + "type": "string" + }, + "category_name": { + "type": "string" + }, + "items": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "memo": { + "type": "string" + }, + "name": { + "type": "string" + }, + "quantity": { + "type": "number" + } + }, + "required": [ + "name", + "amount" + ], + "type": "object" + }, + "type": "array" + }, + "subtotal": { + "type": "number" + }, + "tax": { + "type": "number" + }, + "total": { + "type": "number" + } + }, + "required": [ + "category_id", + "items", + "subtotal", + "tax", + "total" + ], + "type": "object" + }, + "type": "array" + }, + "subtotal": { + "type": "number" + }, + "tax": { + "type": "number" + }, + "total": { + "type": "number" + } + }, + "required": [ + "subtotal", + "tax", + "total", + "categories" + ], + "type": "object" + }, + "subtransactions": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "amount" + ], + "type": "object" + }, + "type": "array" + }, + "transaction_preview": { + "additionalProperties": false, + "properties": { + "account_id": { + "type": "string" + }, + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "approved": { + "type": "boolean" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "cleared": { + "enum": [ + "cleared", + "uncleared", + "reconciled" + ], + "type": "string" + }, + "date": { + "pattern": "^\\d{4}-\\d{2}-\\d{2}$", + "type": "string" + }, + "debt_transaction_type": { + "type": [ + "string", + "null" + ] + }, + "flag_color": { + "anyOf": [ + { + "enum": [ + "red", + "orange", + "yellow", + "green", + "blue", + "purple" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "flag_name": { + "type": [ + "string", + "null" + ] + }, + "import_id": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name_original": { + "type": [ + "string", + "null" + ] + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "parent_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "subtransactions": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "amount" + ], + "type": "object" + }, + "type": "array" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "type": { + "enum": [ + "transaction", + "subtransaction" + ], + "type": "string" + } + }, + "required": [ + "amount", + "date", + "account_id" + ], + "type": "object" + }, + "warnings": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "count": { + "type": "number" + }, + "message": { + "type": "string" + }, + "sample_ids": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "code", + "count", + "message" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "dry_run", + "action", + "transaction_preview", + "receipt_summary", + "subtransactions" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "confirmation_expires_at": { + "description": "Preview only: when confirmation_token expires (ISO 8601).", + "format": "date-time", + "type": "string" + }, + "confirmation_token": { + "description": "Preview only: single-use token that executes this exact request when passed back as confirmation_token.", + "type": "string" + }, + "receipt_summary": { + "additionalProperties": false, + "properties": { + "categories": { + "items": { + "additionalProperties": false, + "properties": { + "category_id": { + "type": "string" + }, + "category_name": { + "type": "string" + }, + "items": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "memo": { + "type": "string" + }, + "name": { + "type": "string" + }, + "quantity": { + "type": "number" + } + }, + "required": [ + "name", + "amount" + ], + "type": "object" + }, + "type": "array" + }, + "subtotal": { + "type": "number" + }, + "tax": { + "type": "number" + }, + "total": { + "type": "number" + } + }, + "required": [ + "category_id", + "items", + "subtotal", + "tax", + "total" + ], + "type": "object" + }, + "type": "array" + }, + "subtotal": { + "type": "number" + }, + "tax": { + "type": "number" + }, + "total": { + "type": "number" + } + }, + "required": [ + "subtotal", + "tax", + "total", + "categories" + ], + "type": "object" + }, + "transaction": { + "additionalProperties": false, + "properties": { + "account_balance": { + "type": "number" + }, + "account_cleared_balance": { + "type": "number" + }, + "account_id": { + "type": "string" + }, + "account_name": { + "type": "string" + }, + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "approved": { + "type": "boolean" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "cleared": { + "type": "string" + }, + "date": { + "type": "string" + }, + "debt_transaction_type": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "flag_color": { + "type": [ + "string", + "null" + ] + }, + "flag_name": { + "type": [ + "string", + "null" + ] + }, + "id": { + "type": "string" + }, + "import_id": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name_original": { + "type": [ + "string", + "null" + ] + }, + "matched_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "parent_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "subtransactions": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id", + "transaction_id", + "amount", + "deleted" + ], + "type": "object" + }, + "type": "array" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "type": { + "enum": [ + "transaction", + "subtransaction" + ], + "type": "string" + } + }, + "required": [ + "id", + "amount", + "deleted", + "date", + "account_id", + "cleared", + "approved" + ], + "type": "object" + } + }, + "required": [ + "transaction", + "receipt_summary" + ], + "type": "object" + } +]
- Changed
ynab_create_scheduled_transaction2 fields changed- added
Input schema / properties / date / formatAdded value: +"date" - changed
Output schema / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "action": { - "type": "string" - }, - "dry_run": { - "const": true, - "type": "boolean" - }, - "request": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - }, - "required": [ - "dry_run", - "action", - "request" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "scheduled_transaction": { - "additionalProperties": false, - "properties": { - "account_id": { - "type": "string" - }, - "account_name": { - "type": "string" - }, - "amount": { - "description": "Amount in decimal currency units", - "type": "number" - }, - "amount_currency": { - "type": "number" - }, - "amount_formatted": { - "type": [ - "string", - "null" - ] - }, - "amount_milliunits": { - "maximum": 9007199254740991, - "minimum": -9007199254740991, - "type": "integer" - }, - "category_id": { - "type": [ - "string", - "null" - ] - }, - "category_name": { - "type": [ - "string", - "null" - ] - }, - "date_first": { - "type": "string" - }, - "date_next": { - "type": "string" - }, - "debt_transaction_type": { - "type": [ - "string", - "null" - ] - }, - "deleted": { - "type": "boolean" - }, - "flag_color": { - "type": [ - "string", - "null" - ] - }, - "flag_name": { - "type": [ - "string", - "null" - ] - }, - "frequency": { - "enum": [ - "never", - "daily", - "weekly", - "everyOtherWeek", - "twiceAMonth", - "every4Weeks", - "monthly", - "everyOtherMonth", - "every3Months", - "every4Months", - "twiceAYear", - "yearly", - "everyOtherYear" - ], - "type": "string" - }, - "id": { - "type": "string" - }, - "import_id": { - "type": [ - "string", - "null" - ] - }, - "import_payee_name": { - "type": [ - "string", - "null" - ] - }, - "import_payee_name_original": { - "type": [ - "string", - "null" - ] - }, - "matched_transaction_id": { - "type": [ - "string", - "null" - ] - }, - "memo": { - "type": [ - "string", - "null" - ] - }, - "parent_transaction_id": { - "type": [ - "string", - "null" - ] - }, - "payee_id": { - "type": [ - "string", - "null" - ] - }, - "payee_name": { - "type": [ - "string", - "null" - ] - }, - "scheduled_transaction_id": { - "type": "string" - }, - "subtransactions": { - "items": { - "additionalProperties": false, - "properties": { - "amount": { - "description": "Amount in decimal currency units", - "type": "number" - }, - "amount_currency": { - "type": "number" - }, - "amount_formatted": { - "type": [ - "string", - "null" - ] - }, - "amount_milliunits": { - "maximum": 9007199254740991, - "minimum": -9007199254740991, - "type": "integer" - }, - "category_id": { - "type": [ - "string", - "null" - ] - }, - "category_name": { - "type": [ - "string", - "null" - ] - }, - "deleted": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "memo": { - "type": [ - "string", - "null" - ] - }, - "payee_id": { - "type": [ - "string", - "null" - ] - }, - "payee_name": { - "type": [ - "string", - "null" - ] - }, - "scheduled_transaction_id": { - "type": "string" - }, - "transaction_id": { - "type": "string" - }, - "transfer_account_id": { - "type": [ - "string", - "null" - ] - }, - "transfer_transaction_id": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "amount" - ], - "type": "object" - }, - "type": "array" - }, - "transaction_id": { - "type": "string" - }, - "transfer_account_id": { - "type": [ - "string", - "null" - ] - }, - "transfer_transaction_id": { - "type": [ - "string", - "null" - ] - }, - "type": { - "enum": [ - "transaction", - "subtransaction" - ], - "type": "string" - } - }, - "required": [ - "id", - "amount", - "deleted", - "account_id", - "date_first", - "date_next", - "frequency" - ], - "type": "object" - } - }, - "required": [ - "scheduled_transaction" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "action": { + "type": "string" + }, + "confirmation_expires_at": { + "description": "Preview only: when confirmation_token expires (ISO 8601).", + "format": "date-time", + "type": "string" + }, + "confirmation_token": { + "description": "Preview only: single-use token that executes this exact request when passed back as confirmation_token.", + "type": "string" + }, + "dry_run": { + "const": true, + "type": "boolean" + }, + "request": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "warnings": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "count": { + "type": "number" + }, + "message": { + "type": "string" + }, + "sample_ids": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "code", + "count", + "message" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "dry_run", + "action", + "request" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "confirmation_expires_at": { + "description": "Preview only: when confirmation_token expires (ISO 8601).", + "format": "date-time", + "type": "string" + }, + "confirmation_token": { + "description": "Preview only: single-use token that executes this exact request when passed back as confirmation_token.", + "type": "string" + }, + "scheduled_transaction": { + "additionalProperties": false, + "properties": { + "account_id": { + "type": "string" + }, + "account_name": { + "type": "string" + }, + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "date_first": { + "type": "string" + }, + "date_next": { + "type": "string" + }, + "debt_transaction_type": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "flag_color": { + "type": [ + "string", + "null" + ] + }, + "flag_name": { + "type": [ + "string", + "null" + ] + }, + "frequency": { + "enum": [ + "never", + "daily", + "weekly", + "everyOtherWeek", + "twiceAMonth", + "every4Weeks", + "monthly", + "everyOtherMonth", + "every3Months", + "every4Months", + "twiceAYear", + "yearly", + "everyOtherYear" + ], + "type": "string" + }, + "id": { + "type": "string" + }, + "import_id": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name_original": { + "type": [ + "string", + "null" + ] + }, + "matched_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "parent_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "subtransactions": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "amount" + ], + "type": "object" + }, + "type": "array" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "type": { + "enum": [ + "transaction", + "subtransaction" + ], + "type": "string" + } + }, + "required": [ + "id", + "amount", + "deleted", + "account_id", + "date_first", + "date_next", + "frequency" + ], + "type": "object" + } + }, + "required": [ + "scheduled_transaction" + ], + "type": "object" + } +]
- Changed
ynab_create_transaction1 field changed- changed
Output schema / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "action": { - "const": "ynab_create_transaction", - "type": "string" - }, - "dry_run": { - "const": true, - "type": "boolean" - }, - "request": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - }, - "required": [ - "dry_run", - "action", - "request" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "transaction": { - "additionalProperties": false, - "properties": { - "account_balance": { - "type": "number" - }, - "account_cleared_balance": { - "type": "number" - }, - "account_id": { - "type": "string" - }, - "account_name": { - "type": "string" - }, - "amount": { - "description": "Amount in decimal currency units", - "type": "number" - }, - "amount_currency": { - "type": "number" - }, - "amount_formatted": { - "type": [ - "string", - "null" - ] - }, - "amount_milliunits": { - "maximum": 9007199254740991, - "minimum": -9007199254740991, - "type": "integer" - }, - "approved": { - "type": "boolean" - }, - "category_id": { - "type": [ - "string", - "null" - ] - }, - "category_name": { - "type": [ - "string", - "null" - ] - }, - "cleared": { - "type": "string" - }, - "date": { - "type": "string" - }, - "debt_transaction_type": { - "type": [ - "string", - "null" - ] - }, - "deleted": { - "type": "boolean" - }, - "flag_color": { - "type": [ - "string", - "null" - ] - }, - "flag_name": { - "type": [ - "string", - "null" - ] - }, - "id": { - "type": "string" - }, - "import_id": { - "type": [ - "string", - "null" - ] - }, - "import_payee_name": { - "type": [ - "string", - "null" - ] - }, - "import_payee_name_original": { - "type": [ - "string", - "null" - ] - }, - "matched_transaction_id": { - "type": [ - "string", - "null" - ] - }, - "memo": { - "type": [ - "string", - "null" - ] - }, - "parent_transaction_id": { - "type": [ - "string", - "null" - ] - }, - "payee_id": { - "type": [ - "string", - "null" - ] - }, - "payee_name": { - "type": [ - "string", - "null" - ] - }, - "scheduled_transaction_id": { - "type": "string" - }, - "subtransactions": { - "items": { - "additionalProperties": false, - "properties": { - "amount": { - "description": "Amount in decimal currency units", - "type": "number" - }, - "amount_currency": { - "type": "number" - }, - "amount_formatted": { - "type": [ - "string", - "null" - ] - }, - "amount_milliunits": { - "maximum": 9007199254740991, - "minimum": -9007199254740991, - "type": "integer" - }, - "category_id": { - "type": [ - "string", - "null" - ] - }, - "category_name": { - "type": [ - "string", - "null" - ] - }, - "deleted": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "memo": { - "type": [ - "string", - "null" - ] - }, - "payee_id": { - "type": [ - "string", - "null" - ] - }, - "payee_name": { - "type": [ - "string", - "null" - ] - }, - "scheduled_transaction_id": { - "type": "string" - }, - "transaction_id": { - "type": "string" - }, - "transfer_account_id": { - "type": [ - "string", - "null" - ] - }, - "transfer_transaction_id": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "id", - "transaction_id", - "amount", - "deleted" - ], - "type": "object" - }, - "type": "array" - }, - "transaction_id": { - "type": "string" - }, - "transfer_account_id": { - "type": [ - "string", - "null" - ] - }, - "transfer_transaction_id": { - "type": [ - "string", - "null" - ] - }, - "type": { - "enum": [ - "transaction", - "subtransaction" - ], - "type": "string" - } - }, - "required": [ - "id", - "amount", - "deleted", - "date", - "account_id", - "cleared", - "approved" - ], - "type": "object" - } - }, - "required": [ - "transaction" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "action": { + "const": "ynab_create_transaction", + "type": "string" + }, + "confirmation_expires_at": { + "description": "Preview only: when confirmation_token expires (ISO 8601).", + "format": "date-time", + "type": "string" + }, + "confirmation_token": { + "description": "Preview only: single-use token that executes this exact request when passed back as confirmation_token.", + "type": "string" + }, + "dry_run": { + "const": true, + "type": "boolean" + }, + "request": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "warnings": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "count": { + "type": "number" + }, + "message": { + "type": "string" + }, + "sample_ids": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "code", + "count", + "message" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "dry_run", + "action", + "request" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "confirmation_expires_at": { + "description": "Preview only: when confirmation_token expires (ISO 8601).", + "format": "date-time", + "type": "string" + }, + "confirmation_token": { + "description": "Preview only: single-use token that executes this exact request when passed back as confirmation_token.", + "type": "string" + }, + "transaction": { + "additionalProperties": false, + "properties": { + "account_balance": { + "type": "number" + }, + "account_cleared_balance": { + "type": "number" + }, + "account_id": { + "type": "string" + }, + "account_name": { + "type": "string" + }, + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "approved": { + "type": "boolean" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "cleared": { + "type": "string" + }, + "date": { + "type": "string" + }, + "debt_transaction_type": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "flag_color": { + "type": [ + "string", + "null" + ] + }, + "flag_name": { + "type": [ + "string", + "null" + ] + }, + "id": { + "type": "string" + }, + "import_id": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name_original": { + "type": [ + "string", + "null" + ] + }, + "matched_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "parent_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "subtransactions": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id", + "transaction_id", + "amount", + "deleted" + ], + "type": "object" + }, + "type": "array" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "type": { + "enum": [ + "transaction", + "subtransaction" + ], + "type": "string" + } + }, + "required": [ + "id", + "amount", + "deleted", + "date", + "account_id", + "cleared", + "approved" + ], + "type": "object" + } + }, + "required": [ + "transaction" + ], + "type": "object" + } +]
- Changed
ynab_create_transactions1 field changed- changed
Output schema / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "action": { - "const": "ynab_create_transactions", - "type": "string" - }, - "dry_run": { - "const": true, - "type": "boolean" - }, - "note": { - "type": "string" - }, - "summary": { - "additionalProperties": false, - "properties": { - "accounts_affected": { - "items": { - "type": "string" - }, - "type": "array" - }, - "categories_affected": { - "items": { - "type": "string" - }, - "type": "array" - }, - "date_range": { - "additionalProperties": false, - "properties": { - "earliest": { - "pattern": "^\\d{4}-\\d{2}-\\d{2}$", - "type": "string" - }, - "latest": { - "pattern": "^\\d{4}-\\d{2}-\\d{2}$", - "type": "string" - } - }, - "required": [ - "earliest", - "latest" - ], - "type": "object" - }, - "total_amount": { - "type": "number" - }, - "total_transactions": { - "type": "number" - } - }, - "required": [ - "total_transactions", - "total_amount", - "accounts_affected", - "categories_affected" - ], - "type": "object" - }, - "transactions_preview": { - "items": { - "additionalProperties": false, - "properties": { - "account_id": { - "type": "string" - }, - "account_name": { - "type": "string" - }, - "amount": { - "description": "Amount in decimal currency units", - "type": "number" - }, - "amount_currency": { - "type": "number" - }, - "amount_formatted": { - "type": [ - "string", - "null" - ] - }, - "amount_milliunits": { - "maximum": 9007199254740991, - "minimum": -9007199254740991, - "type": "integer" - }, - "approved": { - "type": "boolean" - }, - "category_id": { - "type": [ - "string", - "null" - ] - }, - "category_name": { - "type": [ - "string", - "null" - ] - }, - "cleared": { - "type": "string" - }, - "date": { - "pattern": "^\\d{4}-\\d{2}-\\d{2}$", - "type": "string" - }, - "debt_transaction_type": { - "type": [ - "string", - "null" - ] - }, - "deleted": { - "type": "boolean" - }, - "flag_color": { - "type": [ - "string", - "null" - ] - }, - "flag_name": { - "type": [ - "string", - "null" - ] - }, - "id": { - "type": "string" - }, - "import_id": { - "type": [ - "string", - "null" - ] - }, - "import_payee_name": { - "type": [ - "string", - "null" - ] - }, - "import_payee_name_original": { - "type": [ - "string", - "null" - ] - }, - "matched_transaction_id": { - "type": [ - "string", - "null" - ] - }, - "memo": { - "type": [ - "string", - "null" - ] - }, - "parent_transaction_id": { - "type": [ - "string", - "null" - ] - }, - "payee_id": { - "type": [ - "string", - "null" - ] - }, - "payee_name": { - "type": [ - "string", - "null" - ] - }, - "request_index": { - "type": "number" - }, - "scheduled_transaction_id": { - "type": "string" - }, - "subtransactions": { - "items": { - "additionalProperties": false, - "properties": { - "amount": { - "description": "Amount in decimal currency units", - "type": "number" - }, - "amount_currency": { - "type": "number" - }, - "amount_formatted": { - "type": [ - "string", - "null" - ] - }, - "amount_milliunits": { - "maximum": 9007199254740991, - "minimum": -9007199254740991, - "type": "integer" - }, - "category_id": { - "type": [ - "string", - "null" - ] - }, - "category_name": { - "type": [ - "string", - "null" - ] - }, - "deleted": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "memo": { - "type": [ - "string", - "null" - ] - }, - "payee_id": { - "type": [ - "string", - "null" - ] - }, - "payee_name": { - "type": [ - "string", - "null" - ] - }, - "scheduled_transaction_id": { - "type": "string" - }, - "transaction_id": { - "type": "string" - }, - "transfer_account_id": { - "type": [ - "string", - "null" - ] - }, - "transfer_transaction_id": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "amount" - ], - "type": "object" - }, - "type": "array" - }, - "transaction_id": { - "type": "string" - }, - "transfer_account_id": { - "type": [ - "string", - "null" - ] - }, - "transfer_transaction_id": { - "type": [ - "string", - "null" - ] - }, - "type": { - "enum": [ - "transaction", - "subtransaction" - ], - "type": "string" - } - }, - "required": [ - "amount", - "date", - "account_id", - "request_index" - ], - "type": "object" - }, - "type": "array" - }, - "validation": { - "const": "passed", - "type": "string" - } - }, - "required": [ - "dry_run", - "action", - "validation", - "summary", - "transactions_preview", - "note" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "duplicate_import_ids": { - "items": { - "type": "string" - }, - "type": "array" - }, - "message": { - "type": "string" - }, - "mode": { - "enum": [ - "full", - "summary", - "ids_only" - ], - "type": "string" - }, - "results": { - "items": { - "additionalProperties": {}, - "properties": { - "correlation_key": { - "type": "string" - }, - "error": { - "type": "string" - }, - "error_code": { - "type": "string" - }, - "request_index": { - "type": "number" - }, - "status": { - "enum": [ - "created", - "duplicate", - "updated", - "failed" - ], - "type": "string" - }, - "transaction_id": { - "type": "string" - } - }, - "required": [ - "request_index", - "status", - "correlation_key" - ], - "type": "object" - }, - "type": "array" - }, - "results_omitted": { - "type": "boolean" - }, - "server_knowledge": { - "type": "number" - }, - "success": { - "type": "boolean" - }, - "summary": { - "additionalProperties": false, - "properties": { - "created": { - "type": "number" - }, - "duplicates": { - "type": "number" - }, - "failed": { - "type": "number" - }, - "total_requested": { - "type": "number" - }, - "updated": { - "type": "number" - } - }, - "required": [ - "total_requested", - "failed" - ], - "type": "object" - }, - "transactions": { - "items": { - "additionalProperties": false, - "properties": { - "account_id": { - "type": "string" - }, - "account_name": { - "type": "string" - }, - "amount": { - "description": "Amount in decimal currency units", - "type": "number" - }, - "amount_currency": { - "type": "number" - }, - "amount_formatted": { - "type": [ - "string", - "null" - ] - }, - "amount_milliunits": { - "maximum": 9007199254740991, - "minimum": -9007199254740991, - "type": "integer" - }, - "approved": { - "type": "boolean" - }, - "category_id": { - "type": [ - "string", - "null" - ] - }, - "category_name": { - "type": [ - "string", - "null" - ] - }, - "cleared": { - "type": "string" - }, - "date": { - "type": "string" - }, - "debt_transaction_type": { - "type": [ - "string", - "null" - ] - }, - "deleted": { - "type": "boolean" - }, - "flag_color": { - "type": [ - "string", - "null" - ] - }, - "flag_name": { - "type": [ - "string", - "null" - ] - }, - "id": { - "type": "string" - }, - "import_id": { - "type": [ - "string", - "null" - ] - }, - "import_payee_name": { - "type": [ - "string", - "null" - ] - }, - "import_payee_name_original": { - "type": [ - "string", - "null" - ] - }, - "matched_transaction_id": { - "type": [ - "string", - "null" - ] - }, - "memo": { - "type": [ - "string", - "null" - ] - }, - "parent_transaction_id": { - "type": [ - "string", - "null" - ] - }, - "payee_id": { - "type": [ - "string", - "null" - ] - }, - "payee_name": { - "type": [ - "string", - "null" - ] - }, - "scheduled_transaction_id": { - "type": "string" - }, - "subtransactions": { - "items": { - "additionalProperties": false, - "properties": { - "amount": { - "description": "Amount in decimal currency units", - "type": "number" - }, - "amount_currency": { - "type": "number" - }, - "amount_formatted": { - "type": [ - "string", - "null" - ] - }, - "amount_milliunits": { - "maximum": 9007199254740991, - "minimum": -9007199254740991, - "type": "integer" - }, - "category_id": { - "type": [ - "string", - "null" - ] - }, - "category_name": { - "type": [ - "string", - "null" - ] - }, - "deleted": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "memo": { - "type": [ - "string", - "null" - ] - }, - "payee_id": { - "type": [ - "string", - "null" - ] - }, - "payee_name": { - "type": [ - "string", - "null" - ] - }, - "scheduled_transaction_id": { - "type": "string" - }, - "transaction_id": { - "type": "string" - }, - "transfer_account_id": { - "type": [ - "string", - "null" - ] - }, - "transfer_transaction_id": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "amount" - ], - "type": "object" - }, - "type": "array" - }, - "transaction_id": { - "type": "string" - }, - "transfer_account_id": { - "type": [ - "string", - "null" - ] - }, - "transfer_transaction_id": { - "type": [ - "string", - "null" - ] - }, - "type": { - "enum": [ - "transaction", - "subtransaction" - ], - "type": "string" - } - }, - "required": [ - "id", - "amount", - "deleted", - "date", - "account_id", - "cleared", - "approved" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "success", - "summary", - "results" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "action": { + "const": "ynab_create_transactions", + "type": "string" + }, + "confirmation_expires_at": { + "description": "Preview only: when confirmation_token expires (ISO 8601).", + "format": "date-time", + "type": "string" + }, + "confirmation_token": { + "description": "Preview only: single-use token that executes this exact request when passed back as confirmation_token.", + "type": "string" + }, + "dry_run": { + "const": true, + "type": "boolean" + }, + "note": { + "type": "string" + }, + "summary": { + "additionalProperties": false, + "properties": { + "accounts_affected": { + "items": { + "type": "string" + }, + "type": "array" + }, + "categories_affected": { + "items": { + "type": "string" + }, + "type": "array" + }, + "date_range": { + "additionalProperties": false, + "properties": { + "earliest": { + "pattern": "^\\d{4}-\\d{2}-\\d{2}$", + "type": "string" + }, + "latest": { + "pattern": "^\\d{4}-\\d{2}-\\d{2}$", + "type": "string" + } + }, + "required": [ + "earliest", + "latest" + ], + "type": "object" + }, + "total_amount": { + "type": "number" + }, + "total_transactions": { + "type": "number" + } + }, + "required": [ + "total_transactions", + "total_amount", + "accounts_affected", + "categories_affected" + ], + "type": "object" + }, + "transactions_preview": { + "items": { + "additionalProperties": false, + "properties": { + "account_id": { + "type": "string" + }, + "account_name": { + "type": "string" + }, + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "approved": { + "type": "boolean" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "cleared": { + "type": "string" + }, + "date": { + "pattern": "^\\d{4}-\\d{2}-\\d{2}$", + "type": "string" + }, + "debt_transaction_type": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "flag_color": { + "type": [ + "string", + "null" + ] + }, + "flag_name": { + "type": [ + "string", + "null" + ] + }, + "id": { + "type": "string" + }, + "import_id": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name_original": { + "type": [ + "string", + "null" + ] + }, + "matched_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "parent_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "request_index": { + "type": "number" + }, + "scheduled_transaction_id": { + "type": "string" + }, + "subtransactions": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "amount" + ], + "type": "object" + }, + "type": "array" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "type": { + "enum": [ + "transaction", + "subtransaction" + ], + "type": "string" + } + }, + "required": [ + "amount", + "date", + "account_id", + "request_index" + ], + "type": "object" + }, + "type": "array" + }, + "validation": { + "const": "passed", + "type": "string" + }, + "warnings": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "count": { + "type": "number" + }, + "message": { + "type": "string" + }, + "sample_ids": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "code", + "count", + "message" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "dry_run", + "action", + "validation", + "summary", + "transactions_preview", + "note" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "confirmation_expires_at": { + "description": "Preview only: when confirmation_token expires (ISO 8601).", + "format": "date-time", + "type": "string" + }, + "confirmation_token": { + "description": "Preview only: single-use token that executes this exact request when passed back as confirmation_token.", + "type": "string" + }, + "duplicate_import_ids": { + "items": { + "type": "string" + }, + "type": "array" + }, + "message": { + "type": "string" + }, + "mode": { + "enum": [ + "full", + "summary", + "ids_only" + ], + "type": "string" + }, + "results": { + "items": { + "additionalProperties": {}, + "properties": { + "correlation_key": { + "type": "string" + }, + "error": { + "type": "string" + }, + "error_code": { + "type": "string" + }, + "request_index": { + "type": "number" + }, + "status": { + "enum": [ + "created", + "duplicate", + "updated", + "failed" + ], + "type": "string" + }, + "transaction_id": { + "type": "string" + } + }, + "required": [ + "request_index", + "status", + "correlation_key" + ], + "type": "object" + }, + "type": "array" + }, + "results_omitted": { + "type": "boolean" + }, + "server_knowledge": { + "type": "number" + }, + "success": { + "type": "boolean" + }, + "summary": { + "additionalProperties": false, + "properties": { + "created": { + "type": "number" + }, + "duplicates": { + "type": "number" + }, + "failed": { + "type": "number" + }, + "total_requested": { + "type": "number" + }, + "updated": { + "type": "number" + } + }, + "required": [ + "total_requested", + "failed" + ], + "type": "object" + }, + "transactions": { + "items": { + "additionalProperties": false, + "properties": { + "account_id": { + "type": "string" + }, + "account_name": { + "type": "string" + }, + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "approved": { + "type": "boolean" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "cleared": { + "type": "string" + }, + "date": { + "type": "string" + }, + "debt_transaction_type": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "flag_color": { + "type": [ + "string", + "null" + ] + }, + "flag_name": { + "type": [ + "string", + "null" + ] + }, + "id": { + "type": "string" + }, + "import_id": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name_original": { + "type": [ + "string", + "null" + ] + }, + "matched_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "parent_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "subtransactions": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "amount" + ], + "type": "object" + }, + "type": "array" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "type": { + "enum": [ + "transaction", + "subtransaction" + ], + "type": "string" + } + }, + "required": [ + "id", + "amount", + "deleted", + "date", + "account_id", + "cleared", + "approved" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "success", + "summary", + "results" + ], + "type": "object" + } +]
- Changed
ynab_delete_scheduled_transaction1 field changed- changed
Output schema / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "action": { - "const": "ynab_delete_scheduled_transaction", - "type": "string" - }, - "dry_run": { - "const": true, - "type": "boolean" - }, - "request": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - }, - "required": [ - "dry_run", - "action", - "request" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "scheduled_transaction_id": { - "type": "string" - }, - "success": { - "const": true, - "type": "boolean" - } - }, - "required": [ - "success", - "scheduled_transaction_id" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "action": { + "const": "ynab_delete_scheduled_transaction", + "type": "string" + }, + "confirmation_expires_at": { + "description": "Preview only: when confirmation_token expires (ISO 8601).", + "format": "date-time", + "type": "string" + }, + "confirmation_token": { + "description": "Preview only: single-use token that executes this exact request when passed back as confirmation_token.", + "type": "string" + }, + "dry_run": { + "const": true, + "type": "boolean" + }, + "request": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + }, + "required": [ + "dry_run", + "action", + "request" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "confirmation_expires_at": { + "description": "Preview only: when confirmation_token expires (ISO 8601).", + "format": "date-time", + "type": "string" + }, + "confirmation_token": { + "description": "Preview only: single-use token that executes this exact request when passed back as confirmation_token.", + "type": "string" + }, + "scheduled_transaction_id": { + "type": "string" + }, + "success": { + "const": true, + "type": "boolean" + } + }, + "required": [ + "success", + "scheduled_transaction_id" + ], + "type": "object" + } +]
- Changed
ynab_delete_transaction1 field changed- changed
Output schema / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "action": { - "const": "ynab_delete_transaction", - "type": "string" - }, - "dry_run": { - "const": true, - "type": "boolean" - }, - "request": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - }, - "required": [ - "dry_run", - "action", - "request" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "message": { - "type": "string" - }, - "transaction": { - "additionalProperties": false, - "properties": { - "account_id": { - "type": "string" - }, - "account_name": { - "type": "string" - }, - "amount": { - "description": "Amount in decimal currency units", - "type": "number" - }, - "amount_currency": { - "type": "number" - }, - "amount_formatted": { - "type": [ - "string", - "null" - ] - }, - "amount_milliunits": { - "maximum": 9007199254740991, - "minimum": -9007199254740991, - "type": "integer" - }, - "approved": { - "type": "boolean" - }, - "category_id": { - "type": [ - "string", - "null" - ] - }, - "category_name": { - "type": [ - "string", - "null" - ] - }, - "cleared": { - "type": "string" - }, - "date": { - "type": "string" - }, - "debt_transaction_type": { - "type": [ - "string", - "null" - ] - }, - "deleted": { - "type": "boolean" - }, - "flag_color": { - "type": [ - "string", - "null" - ] - }, - "flag_name": { - "type": [ - "string", - "null" - ] - }, - "id": { - "type": "string" - }, - "import_id": { - "type": [ - "string", - "null" - ] - }, - "import_payee_name": { - "type": [ - "string", - "null" - ] - }, - "import_payee_name_original": { - "type": [ - "string", - "null" - ] - }, - "matched_transaction_id": { - "type": [ - "string", - "null" - ] - }, - "memo": { - "type": [ - "string", - "null" - ] - }, - "parent_transaction_id": { - "type": [ - "string", - "null" - ] - }, - "payee_id": { - "type": [ - "string", - "null" - ] - }, - "payee_name": { - "type": [ - "string", - "null" - ] - }, - "scheduled_transaction_id": { - "type": "string" - }, - "subtransactions": { - "items": { - "additionalProperties": false, - "properties": { - "amount": { - "description": "Amount in decimal currency units", - "type": "number" - }, - "amount_currency": { - "type": "number" - }, - "amount_formatted": { - "type": [ - "string", - "null" - ] - }, - "amount_milliunits": { - "maximum": 9007199254740991, - "minimum": -9007199254740991, - "type": "integer" - }, - "category_id": { - "type": [ - "string", - "null" - ] - }, - "category_name": { - "type": [ - "string", - "null" - ] - }, - "deleted": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "memo": { - "type": [ - "string", - "null" - ] - }, - "payee_id": { - "type": [ - "string", - "null" - ] - }, - "payee_name": { - "type": [ - "string", - "null" - ] - }, - "scheduled_transaction_id": { - "type": "string" - }, - "transaction_id": { - "type": "string" - }, - "transfer_account_id": { - "type": [ - "string", - "null" - ] - }, - "transfer_transaction_id": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "amount" - ], - "type": "object" - }, - "type": "array" - }, - "transaction_id": { - "type": "string" - }, - "transfer_account_id": { - "type": [ - "string", - "null" - ] - }, - "transfer_transaction_id": { - "type": [ - "string", - "null" - ] - }, - "type": { - "enum": [ - "transaction", - "subtransaction" - ], - "type": "string" - } - }, - "required": [ - "id", - "deleted" - ], - "type": "object" - }, - "updated_balance": { - "type": "number" - }, - "updated_cleared_balance": { - "type": "number" - } - }, - "required": [ - "message", - "transaction" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "action": { + "const": "ynab_delete_transaction", + "type": "string" + }, + "confirmation_expires_at": { + "description": "Preview only: when confirmation_token expires (ISO 8601).", + "format": "date-time", + "type": "string" + }, + "confirmation_token": { + "description": "Preview only: single-use token that executes this exact request when passed back as confirmation_token.", + "type": "string" + }, + "dry_run": { + "const": true, + "type": "boolean" + }, + "request": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + }, + "required": [ + "dry_run", + "action", + "request" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "confirmation_expires_at": { + "description": "Preview only: when confirmation_token expires (ISO 8601).", + "format": "date-time", + "type": "string" + }, + "confirmation_token": { + "description": "Preview only: single-use token that executes this exact request when passed back as confirmation_token.", + "type": "string" + }, + "message": { + "type": "string" + }, + "transaction": { + "additionalProperties": false, + "properties": { + "account_id": { + "type": "string" + }, + "account_name": { + "type": "string" + }, + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "approved": { + "type": "boolean" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "cleared": { + "type": "string" + }, + "date": { + "type": "string" + }, + "debt_transaction_type": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "flag_color": { + "type": [ + "string", + "null" + ] + }, + "flag_name": { + "type": [ + "string", + "null" + ] + }, + "id": { + "type": "string" + }, + "import_id": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name_original": { + "type": [ + "string", + "null" + ] + }, + "matched_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "parent_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "subtransactions": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "amount" + ], + "type": "object" + }, + "type": "array" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "type": { + "enum": [ + "transaction", + "subtransaction" + ], + "type": "string" + } + }, + "required": [ + "id", + "deleted" + ], + "type": "object" + }, + "updated_balance": { + "type": "number" + }, + "updated_cleared_balance": { + "type": "number" + } + }, + "required": [ + "message", + "transaction" + ], + "type": "object" + } +]
- Changed
ynab_list_transactions8 fields changed- added
Input schema / properties / amount_decimalAdded value: +{ + "description": "Only transactions with exactly this amount in currency units (e.g. -12.34). Matches each row's amount: the parent amount, or the split-line amount when category_id is set (that path returns split lines).", + "type": "number" +} - added
Input schema / properties / amount_milliunitsAdded value: +{ + "description": "Like amount_decimal, in raw YNAB milliunits.", + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" +} - added
Input schema / properties / import_idAdded value: +{ + "description": "Only the transaction with this exact import_id.", + "minLength": 1, + "type": "string" +} - added
Input schema / properties / payee_idAdded value: +{ + "description": "Only this payee.", + "minLength": 1, + "type": "string" +} - added
Input schema / properties / payee_nameAdded value: +{ + "description": "Only payees whose name contains this text (case-insensitive).", + "minLength": 1, + "type": "string" +} - added
Input schema / properties / since_date / formatAdded value: +"date" - removed
Input schema / properties / since_date / patternRemoved value: -"^\\d{4}-\\d{2}-\\d{2}$" - added
Input schema / properties / until_dateAdded value: +{ + "description": "Only transactions on or before this date (YYYY-MM-DD).", + "format": "date", + "type": "string" +}
- Changed
ynab_reconcile_account3 fields changed- added
Input schema / properties / statement_end_date / formatAdded value: +"date" - added
Output schema / properties / confirmation_expires_atAdded value: +{ + "description": "Preview only: when confirmation_token expires (ISO 8601).", + "format": "date-time", + "type": "string" +} - added
Output schema / properties / confirmation_tokenAdded value: +{ + "description": "Preview only: single-use token that executes this exact request when passed back as confirmation_token.", + "type": "string" +}
- Changed
ynab_update_category1 field changed- changed
Output schema / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "action": { - "const": "ynab_update_category", - "type": "string" - }, - "dry_run": { - "const": true, - "type": "boolean" - }, - "request": { - "additionalProperties": false, - "properties": { - "budget_id": { - "type": "string" - }, - "budgeted": { - "type": "number" - }, - "category_id": { - "type": "string" - }, - "month": { - "pattern": "^\\d{4}-\\d{2}-\\d{2}$", - "type": "string" - } - }, - "required": [ - "budget_id", - "category_id", - "budgeted", - "month" - ], - "type": "object" - } - }, - "required": [ - "dry_run", - "action", - "request" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "category": { - "additionalProperties": false, - "properties": { - "activity": { - "description": "Activity in dollars", - "type": "number" - }, - "balance": { - "description": "Balance in dollars", - "type": "number" - }, - "budgeted": { - "description": "Budgeted amount in dollars", - "type": "number" - }, - "category_group_id": { - "description": "Category group ID", - "type": "string" - }, - "category_group_name": { - "description": "Category group name", - "type": "string" - }, - "deleted": { - "description": "Deleted flag", - "type": "boolean" - }, - "goal_creation_month": { - "description": "Goal creation month", - "type": "string" - }, - "goal_months_to_budget": { - "description": "Goal months to budget", - "type": "number" - }, - "goal_overall_funded": { - "description": "Goal overall funded amount in dollars", - "type": "number" - }, - "goal_overall_left": { - "description": "Goal overall left amount in dollars", - "type": "number" - }, - "goal_percentage_complete": { - "description": "Goal percentage complete", - "type": "number" - }, - "goal_target": { - "description": "Goal target amount in dollars", - "type": "number" - }, - "goal_target_month": { - "description": "Goal target month", - "type": "string" - }, - "goal_type": { - "description": "Goal type", - "type": "string" - }, - "goal_under_funded": { - "description": "Goal underfunded amount in dollars", - "type": "number" - }, - "hidden": { - "description": "Hidden flag", - "type": "boolean" - }, - "id": { - "description": "Category ID", - "type": "string" - }, - "name": { - "description": "Category name", - "type": "string" - }, - "note": { - "description": "Category note", - "type": "string" - }, - "original_category_group_id": { - "description": "Original category group ID", - "type": "string" - } - }, - "required": [ - "id", - "category_group_id", - "name", - "hidden", - "budgeted", - "activity", - "balance" - ], - "type": "object" - }, - "updated_month": { - "pattern": "^\\d{4}-\\d{2}-\\d{2}$", - "type": "string" - } - }, - "required": [ - "category", - "updated_month" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "action": { + "const": "ynab_update_category", + "type": "string" + }, + "confirmation_expires_at": { + "description": "Preview only: when confirmation_token expires (ISO 8601).", + "format": "date-time", + "type": "string" + }, + "confirmation_token": { + "description": "Preview only: single-use token that executes this exact request when passed back as confirmation_token.", + "type": "string" + }, + "dry_run": { + "const": true, + "type": "boolean" + }, + "request": { + "additionalProperties": false, + "properties": { + "budget_id": { + "type": "string" + }, + "budgeted": { + "type": "number" + }, + "category_id": { + "type": "string" + }, + "month": { + "pattern": "^\\d{4}-\\d{2}-\\d{2}$", + "type": "string" + } + }, + "required": [ + "budget_id", + "category_id", + "budgeted", + "month" + ], + "type": "object" + } + }, + "required": [ + "dry_run", + "action", + "request" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "category": { + "additionalProperties": false, + "properties": { + "activity": { + "description": "Activity in dollars", + "type": "number" + }, + "balance": { + "description": "Balance in dollars", + "type": "number" + }, + "budgeted": { + "description": "Budgeted amount in dollars", + "type": "number" + }, + "category_group_id": { + "description": "Category group ID", + "type": "string" + }, + "category_group_name": { + "description": "Category group name", + "type": "string" + }, + "deleted": { + "description": "Deleted flag", + "type": "boolean" + }, + "goal_creation_month": { + "description": "Goal creation month", + "type": "string" + }, + "goal_months_to_budget": { + "description": "Goal months to budget", + "type": "number" + }, + "goal_overall_funded": { + "description": "Goal overall funded amount in dollars", + "type": "number" + }, + "goal_overall_left": { + "description": "Goal overall left amount in dollars", + "type": "number" + }, + "goal_percentage_complete": { + "description": "Goal percentage complete", + "type": "number" + }, + "goal_target": { + "description": "Goal target amount in dollars", + "type": "number" + }, + "goal_target_month": { + "description": "Goal target month", + "type": "string" + }, + "goal_type": { + "description": "Goal type", + "type": "string" + }, + "goal_under_funded": { + "description": "Goal underfunded amount in dollars", + "type": "number" + }, + "hidden": { + "description": "Hidden flag", + "type": "boolean" + }, + "id": { + "description": "Category ID", + "type": "string" + }, + "name": { + "description": "Category name", + "type": "string" + }, + "note": { + "description": "Category note", + "type": "string" + }, + "original_category_group_id": { + "description": "Original category group ID", + "type": "string" + } + }, + "required": [ + "id", + "category_group_id", + "name", + "hidden", + "budgeted", + "activity", + "balance" + ], + "type": "object" + }, + "confirmation_expires_at": { + "description": "Preview only: when confirmation_token expires (ISO 8601).", + "format": "date-time", + "type": "string" + }, + "confirmation_token": { + "description": "Preview only: single-use token that executes this exact request when passed back as confirmation_token.", + "type": "string" + }, + "updated_month": { + "pattern": "^\\d{4}-\\d{2}-\\d{2}$", + "type": "string" + } + }, + "required": [ + "category", + "updated_month" + ], + "type": "object" + } +]
- Changed
ynab_update_scheduled_transaction2 fields changed- added
Input schema / properties / date / formatAdded value: +"date" - changed
Output schema / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "action": { - "type": "string" - }, - "dry_run": { - "const": true, - "type": "boolean" - }, - "request": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - }, - "required": [ - "dry_run", - "action", - "request" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "scheduled_transaction": { - "additionalProperties": false, - "properties": { - "account_id": { - "type": "string" - }, - "account_name": { - "type": "string" - }, - "amount": { - "description": "Amount in decimal currency units", - "type": "number" - }, - "amount_currency": { - "type": "number" - }, - "amount_formatted": { - "type": [ - "string", - "null" - ] - }, - "amount_milliunits": { - "maximum": 9007199254740991, - "minimum": -9007199254740991, - "type": "integer" - }, - "category_id": { - "type": [ - "string", - "null" - ] - }, - "category_name": { - "type": [ - "string", - "null" - ] - }, - "date_first": { - "type": "string" - }, - "date_next": { - "type": "string" - }, - "debt_transaction_type": { - "type": [ - "string", - "null" - ] - }, - "deleted": { - "type": "boolean" - }, - "flag_color": { - "type": [ - "string", - "null" - ] - }, - "flag_name": { - "type": [ - "string", - "null" - ] - }, - "frequency": { - "enum": [ - "never", - "daily", - "weekly", - "everyOtherWeek", - "twiceAMonth", - "every4Weeks", - "monthly", - "everyOtherMonth", - "every3Months", - "every4Months", - "twiceAYear", - "yearly", - "everyOtherYear" - ], - "type": "string" - }, - "id": { - "type": "string" - }, - "import_id": { - "type": [ - "string", - "null" - ] - }, - "import_payee_name": { - "type": [ - "string", - "null" - ] - }, - "import_payee_name_original": { - "type": [ - "string", - "null" - ] - }, - "matched_transaction_id": { - "type": [ - "string", - "null" - ] - }, - "memo": { - "type": [ - "string", - "null" - ] - }, - "parent_transaction_id": { - "type": [ - "string", - "null" - ] - }, - "payee_id": { - "type": [ - "string", - "null" - ] - }, - "payee_name": { - "type": [ - "string", - "null" - ] - }, - "scheduled_transaction_id": { - "type": "string" - }, - "subtransactions": { - "items": { - "additionalProperties": false, - "properties": { - "amount": { - "description": "Amount in decimal currency units", - "type": "number" - }, - "amount_currency": { - "type": "number" - }, - "amount_formatted": { - "type": [ - "string", - "null" - ] - }, - "amount_milliunits": { - "maximum": 9007199254740991, - "minimum": -9007199254740991, - "type": "integer" - }, - "category_id": { - "type": [ - "string", - "null" - ] - }, - "category_name": { - "type": [ - "string", - "null" - ] - }, - "deleted": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "memo": { - "type": [ - "string", - "null" - ] - }, - "payee_id": { - "type": [ - "string", - "null" - ] - }, - "payee_name": { - "type": [ - "string", - "null" - ] - }, - "scheduled_transaction_id": { - "type": "string" - }, - "transaction_id": { - "type": "string" - }, - "transfer_account_id": { - "type": [ - "string", - "null" - ] - }, - "transfer_transaction_id": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "amount" - ], - "type": "object" - }, - "type": "array" - }, - "transaction_id": { - "type": "string" - }, - "transfer_account_id": { - "type": [ - "string", - "null" - ] - }, - "transfer_transaction_id": { - "type": [ - "string", - "null" - ] - }, - "type": { - "enum": [ - "transaction", - "subtransaction" - ], - "type": "string" - } - }, - "required": [ - "id", - "amount", - "deleted", - "account_id", - "date_first", - "date_next", - "frequency" - ], - "type": "object" - } - }, - "required": [ - "scheduled_transaction" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "action": { + "type": "string" + }, + "confirmation_expires_at": { + "description": "Preview only: when confirmation_token expires (ISO 8601).", + "format": "date-time", + "type": "string" + }, + "confirmation_token": { + "description": "Preview only: single-use token that executes this exact request when passed back as confirmation_token.", + "type": "string" + }, + "dry_run": { + "const": true, + "type": "boolean" + }, + "request": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "warnings": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "count": { + "type": "number" + }, + "message": { + "type": "string" + }, + "sample_ids": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "code", + "count", + "message" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "dry_run", + "action", + "request" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "confirmation_expires_at": { + "description": "Preview only: when confirmation_token expires (ISO 8601).", + "format": "date-time", + "type": "string" + }, + "confirmation_token": { + "description": "Preview only: single-use token that executes this exact request when passed back as confirmation_token.", + "type": "string" + }, + "scheduled_transaction": { + "additionalProperties": false, + "properties": { + "account_id": { + "type": "string" + }, + "account_name": { + "type": "string" + }, + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "date_first": { + "type": "string" + }, + "date_next": { + "type": "string" + }, + "debt_transaction_type": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "flag_color": { + "type": [ + "string", + "null" + ] + }, + "flag_name": { + "type": [ + "string", + "null" + ] + }, + "frequency": { + "enum": [ + "never", + "daily", + "weekly", + "everyOtherWeek", + "twiceAMonth", + "every4Weeks", + "monthly", + "everyOtherMonth", + "every3Months", + "every4Months", + "twiceAYear", + "yearly", + "everyOtherYear" + ], + "type": "string" + }, + "id": { + "type": "string" + }, + "import_id": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name_original": { + "type": [ + "string", + "null" + ] + }, + "matched_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "parent_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "subtransactions": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "amount" + ], + "type": "object" + }, + "type": "array" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "type": { + "enum": [ + "transaction", + "subtransaction" + ], + "type": "string" + } + }, + "required": [ + "id", + "amount", + "deleted", + "account_id", + "date_first", + "date_next", + "frequency" + ], + "type": "object" + } + }, + "required": [ + "scheduled_transaction" + ], + "type": "object" + } +]
- Changed
ynab_update_transaction1 field changed- changed
Output schema / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "action": { - "const": "ynab_update_transaction", - "type": "string" - }, - "dry_run": { - "const": true, - "type": "boolean" - }, - "request": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - }, - "required": [ - "dry_run", - "action", - "request" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "transaction": { - "additionalProperties": false, - "properties": { - "account_balance": { - "type": "number" - }, - "account_cleared_balance": { - "type": "number" - }, - "account_id": { - "type": "string" - }, - "account_name": { - "type": "string" - }, - "amount": { - "description": "Amount in decimal currency units", - "type": "number" - }, - "amount_currency": { - "type": "number" - }, - "amount_formatted": { - "type": [ - "string", - "null" - ] - }, - "amount_milliunits": { - "maximum": 9007199254740991, - "minimum": -9007199254740991, - "type": "integer" - }, - "approved": { - "type": "boolean" - }, - "category_id": { - "type": [ - "string", - "null" - ] - }, - "category_name": { - "type": [ - "string", - "null" - ] - }, - "cleared": { - "type": "string" - }, - "date": { - "type": "string" - }, - "debt_transaction_type": { - "type": [ - "string", - "null" - ] - }, - "deleted": { - "type": "boolean" - }, - "flag_color": { - "type": [ - "string", - "null" - ] - }, - "flag_name": { - "type": [ - "string", - "null" - ] - }, - "id": { - "type": "string" - }, - "import_id": { - "type": [ - "string", - "null" - ] - }, - "import_payee_name": { - "type": [ - "string", - "null" - ] - }, - "import_payee_name_original": { - "type": [ - "string", - "null" - ] - }, - "matched_transaction_id": { - "type": [ - "string", - "null" - ] - }, - "memo": { - "type": [ - "string", - "null" - ] - }, - "parent_transaction_id": { - "type": [ - "string", - "null" - ] - }, - "payee_id": { - "type": [ - "string", - "null" - ] - }, - "payee_name": { - "type": [ - "string", - "null" - ] - }, - "scheduled_transaction_id": { - "type": "string" - }, - "subtransactions": { - "items": { - "additionalProperties": false, - "properties": { - "amount": { - "description": "Amount in decimal currency units", - "type": "number" - }, - "amount_currency": { - "type": "number" - }, - "amount_formatted": { - "type": [ - "string", - "null" - ] - }, - "amount_milliunits": { - "maximum": 9007199254740991, - "minimum": -9007199254740991, - "type": "integer" - }, - "category_id": { - "type": [ - "string", - "null" - ] - }, - "category_name": { - "type": [ - "string", - "null" - ] - }, - "deleted": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "memo": { - "type": [ - "string", - "null" - ] - }, - "payee_id": { - "type": [ - "string", - "null" - ] - }, - "payee_name": { - "type": [ - "string", - "null" - ] - }, - "scheduled_transaction_id": { - "type": "string" - }, - "transaction_id": { - "type": "string" - }, - "transfer_account_id": { - "type": [ - "string", - "null" - ] - }, - "transfer_transaction_id": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "id", - "transaction_id", - "amount", - "deleted" - ], - "type": "object" - }, - "type": "array" - }, - "transaction_id": { - "type": "string" - }, - "transfer_account_id": { - "type": [ - "string", - "null" - ] - }, - "transfer_transaction_id": { - "type": [ - "string", - "null" - ] - }, - "type": { - "enum": [ - "transaction", - "subtransaction" - ], - "type": "string" - } - }, - "required": [ - "id", - "amount", - "deleted", - "date", - "account_id", - "cleared", - "approved" - ], - "type": "object" - }, - "updated_balance": { - "type": "number" - }, - "updated_cleared_balance": { - "type": "number" - } - }, - "required": [ - "transaction" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "action": { + "const": "ynab_update_transaction", + "type": "string" + }, + "confirmation_expires_at": { + "description": "Preview only: when confirmation_token expires (ISO 8601).", + "format": "date-time", + "type": "string" + }, + "confirmation_token": { + "description": "Preview only: single-use token that executes this exact request when passed back as confirmation_token.", + "type": "string" + }, + "dry_run": { + "const": true, + "type": "boolean" + }, + "request": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "warnings": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "count": { + "type": "number" + }, + "message": { + "type": "string" + }, + "sample_ids": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "code", + "count", + "message" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "dry_run", + "action", + "request" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "confirmation_expires_at": { + "description": "Preview only: when confirmation_token expires (ISO 8601).", + "format": "date-time", + "type": "string" + }, + "confirmation_token": { + "description": "Preview only: single-use token that executes this exact request when passed back as confirmation_token.", + "type": "string" + }, + "transaction": { + "additionalProperties": false, + "properties": { + "account_balance": { + "type": "number" + }, + "account_cleared_balance": { + "type": "number" + }, + "account_id": { + "type": "string" + }, + "account_name": { + "type": "string" + }, + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "approved": { + "type": "boolean" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "cleared": { + "type": "string" + }, + "date": { + "type": "string" + }, + "debt_transaction_type": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "flag_color": { + "type": [ + "string", + "null" + ] + }, + "flag_name": { + "type": [ + "string", + "null" + ] + }, + "id": { + "type": "string" + }, + "import_id": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name_original": { + "type": [ + "string", + "null" + ] + }, + "matched_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "parent_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "subtransactions": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id", + "transaction_id", + "amount", + "deleted" + ], + "type": "object" + }, + "type": "array" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "type": { + "enum": [ + "transaction", + "subtransaction" + ], + "type": "string" + } + }, + "required": [ + "id", + "amount", + "deleted", + "date", + "account_id", + "cleared", + "approved" + ], + "type": "object" + }, + "updated_balance": { + "type": "number" + }, + "updated_cleared_balance": { + "type": "number" + } + }, + "required": [ + "transaction" + ], + "type": "object" + } +]
- Changed
ynab_update_transactions1 field changed- changed
Output schema / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "action": { - "const": "ynab_update_transactions", - "type": "string" - }, - "dry_run": { - "const": true, - "type": "boolean" - }, - "note": { - "type": "string" - }, - "summary": { - "additionalProperties": false, - "properties": { - "accounts_affected": { - "items": { - "type": "string" - }, - "type": "array" - }, - "fields_to_update": { - "items": { - "type": "string" - }, - "type": "array" - }, - "total_transactions": { - "type": "number" - } - }, - "required": [ - "total_transactions", - "accounts_affected", - "fields_to_update" - ], - "type": "object" - }, - "transactions_preview": { - "items": { - "additionalProperties": false, - "properties": { - "after": { - "additionalProperties": false, - "properties": { - "amount": { - "description": "Amount in decimal currency units", - "type": "number" - }, - "amount_milliunits": { - "maximum": 9007199254740991, - "minimum": -9007199254740991, - "type": "integer" - }, - "approved": { - "type": "boolean" - }, - "category_id": { - "type": [ - "string", - "null" - ] - }, - "cleared": { - "enum": [ - "cleared", - "uncleared", - "reconciled" - ], - "type": "string" - }, - "date": { - "pattern": "^\\d{4}-\\d{2}-\\d{2}$", - "type": "string" - }, - "flag_color": { - "anyOf": [ - { - "enum": [ - "red", - "orange", - "yellow", - "green", - "blue", - "purple" - ], - "type": "string" - }, - { - "type": "null" - } - ] - }, - "memo": { - "type": [ - "string", - "null" - ] - }, - "payee_id": { - "type": [ - "string", - "null" - ] - }, - "payee_name": { - "type": [ - "string", - "null" - ] - }, - "subtransactions": { - "items": { - "additionalProperties": false, - "properties": { - "amount": { - "description": "Amount in decimal currency units", - "type": "number" - }, - "amount_currency": { - "type": "number" - }, - "amount_formatted": { - "type": [ - "string", - "null" - ] - }, - "amount_milliunits": { - "maximum": 9007199254740991, - "minimum": -9007199254740991, - "type": "integer" - }, - "category_id": { - "type": [ - "string", - "null" - ] - }, - "category_name": { - "type": [ - "string", - "null" - ] - }, - "deleted": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "memo": { - "type": [ - "string", - "null" - ] - }, - "payee_id": { - "type": [ - "string", - "null" - ] - }, - "payee_name": { - "type": [ - "string", - "null" - ] - }, - "scheduled_transaction_id": { - "type": "string" - }, - "transaction_id": { - "type": "string" - }, - "transfer_account_id": { - "type": [ - "string", - "null" - ] - }, - "transfer_transaction_id": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "amount" - ], - "type": "object" - }, - "type": "array" - } - }, - "type": "object" - }, - "before": { - "anyOf": [ - { - "const": "unavailable", - "type": "string" - }, - { - "additionalProperties": false, - "properties": { - "amount": { - "description": "Amount in decimal currency units", - "type": "number" - }, - "amount_milliunits": { - "maximum": 9007199254740991, - "minimum": -9007199254740991, - "type": "integer" - }, - "approved": { - "type": "boolean" - }, - "category_id": { - "type": [ - "string", - "null" - ] - }, - "cleared": { - "enum": [ - "cleared", - "uncleared", - "reconciled" - ], - "type": "string" - }, - "date": { - "pattern": "^\\d{4}-\\d{2}-\\d{2}$", - "type": "string" - }, - "flag_color": { - "anyOf": [ - { - "enum": [ - "red", - "orange", - "yellow", - "green", - "blue", - "purple" - ], - "type": "string" - }, - { - "type": "null" - } - ] - }, - "memo": { - "type": [ - "string", - "null" - ] - }, - "payee_id": { - "type": [ - "string", - "null" - ] - }, - "payee_name": { - "type": [ - "string", - "null" - ] - }, - "subtransactions": { - "items": { - "additionalProperties": false, - "properties": { - "amount": { - "description": "Amount in decimal currency units", - "type": "number" - }, - "amount_currency": { - "type": "number" - }, - "amount_formatted": { - "type": [ - "string", - "null" - ] - }, - "amount_milliunits": { - "maximum": 9007199254740991, - "minimum": -9007199254740991, - "type": "integer" - }, - "category_id": { - "type": [ - "string", - "null" - ] - }, - "category_name": { - "type": [ - "string", - "null" - ] - }, - "deleted": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "memo": { - "type": [ - "string", - "null" - ] - }, - "payee_id": { - "type": [ - "string", - "null" - ] - }, - "payee_name": { - "type": [ - "string", - "null" - ] - }, - "scheduled_transaction_id": { - "type": "string" - }, - "transaction_id": { - "type": "string" - }, - "transfer_account_id": { - "type": [ - "string", - "null" - ] - }, - "transfer_transaction_id": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "amount" - ], - "type": "object" - }, - "type": "array" - } - }, - "type": "object" - } - ] - }, - "transaction_id": { - "type": "string" - } - }, - "required": [ - "transaction_id", - "before", - "after" - ], - "type": "object" - }, - "type": "array" - }, - "validation": { - "const": "passed", - "type": "string" - }, - "warnings": { - "items": { - "additionalProperties": false, - "properties": { - "code": { - "type": "string" - }, - "count": { - "type": "number" - }, - "message": { - "type": "string" - }, - "sample_ids": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "code", - "count", - "message" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "dry_run", - "action", - "validation", - "summary", - "transactions_preview", - "note" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "message": { - "type": "string" - }, - "mode": { - "enum": [ - "full", - "summary", - "ids_only" - ], - "type": "string" - }, - "results": { - "items": { - "additionalProperties": {}, - "properties": { - "correlation_key": { - "type": "string" - }, - "error": { - "type": "string" - }, - "error_code": { - "type": "string" - }, - "request_index": { - "type": "number" - }, - "status": { - "enum": [ - "created", - "duplicate", - "updated", - "failed" - ], - "type": "string" - }, - "transaction_id": { - "type": "string" - } - }, - "required": [ - "request_index", - "status", - "correlation_key" - ], - "type": "object" - }, - "type": "array" - }, - "results_omitted": { - "type": "boolean" - }, - "server_knowledge": { - "type": "number" - }, - "success": { - "type": "boolean" - }, - "summary": { - "additionalProperties": false, - "properties": { - "created": { - "type": "number" - }, - "duplicates": { - "type": "number" - }, - "failed": { - "type": "number" - }, - "total_requested": { - "type": "number" - }, - "updated": { - "type": "number" - } - }, - "required": [ - "total_requested", - "failed" - ], - "type": "object" - }, - "transactions": { - "items": { - "additionalProperties": false, - "properties": { - "account_id": { - "type": "string" - }, - "account_name": { - "type": "string" - }, - "amount": { - "description": "Amount in decimal currency units", - "type": "number" - }, - "amount_currency": { - "type": "number" - }, - "amount_formatted": { - "type": [ - "string", - "null" - ] - }, - "amount_milliunits": { - "maximum": 9007199254740991, - "minimum": -9007199254740991, - "type": "integer" - }, - "approved": { - "type": "boolean" - }, - "category_id": { - "type": [ - "string", - "null" - ] - }, - "category_name": { - "type": [ - "string", - "null" - ] - }, - "cleared": { - "type": "string" - }, - "date": { - "type": "string" - }, - "debt_transaction_type": { - "type": [ - "string", - "null" - ] - }, - "deleted": { - "type": "boolean" - }, - "flag_color": { - "type": [ - "string", - "null" - ] - }, - "flag_name": { - "type": [ - "string", - "null" - ] - }, - "id": { - "type": "string" - }, - "import_id": { - "type": [ - "string", - "null" - ] - }, - "import_payee_name": { - "type": [ - "string", - "null" - ] - }, - "import_payee_name_original": { - "type": [ - "string", - "null" - ] - }, - "matched_transaction_id": { - "type": [ - "string", - "null" - ] - }, - "memo": { - "type": [ - "string", - "null" - ] - }, - "parent_transaction_id": { - "type": [ - "string", - "null" - ] - }, - "payee_id": { - "type": [ - "string", - "null" - ] - }, - "payee_name": { - "type": [ - "string", - "null" - ] - }, - "scheduled_transaction_id": { - "type": "string" - }, - "subtransactions": { - "items": { - "additionalProperties": false, - "properties": { - "amount": { - "description": "Amount in decimal currency units", - "type": "number" - }, - "amount_currency": { - "type": "number" - }, - "amount_formatted": { - "type": [ - "string", - "null" - ] - }, - "amount_milliunits": { - "maximum": 9007199254740991, - "minimum": -9007199254740991, - "type": "integer" - }, - "category_id": { - "type": [ - "string", - "null" - ] - }, - "category_name": { - "type": [ - "string", - "null" - ] - }, - "deleted": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "memo": { - "type": [ - "string", - "null" - ] - }, - "payee_id": { - "type": [ - "string", - "null" - ] - }, - "payee_name": { - "type": [ - "string", - "null" - ] - }, - "scheduled_transaction_id": { - "type": "string" - }, - "transaction_id": { - "type": "string" - }, - "transfer_account_id": { - "type": [ - "string", - "null" - ] - }, - "transfer_transaction_id": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "amount" - ], - "type": "object" - }, - "type": "array" - }, - "transaction_id": { - "type": "string" - }, - "transfer_account_id": { - "type": [ - "string", - "null" - ] - }, - "transfer_transaction_id": { - "type": [ - "string", - "null" - ] - }, - "type": { - "enum": [ - "transaction", - "subtransaction" - ], - "type": "string" - } - }, - "required": [ - "id", - "amount", - "deleted", - "date", - "account_id", - "cleared", - "approved" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "success", - "summary", - "results" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "action": { + "const": "ynab_update_transactions", + "type": "string" + }, + "confirmation_expires_at": { + "description": "Preview only: when confirmation_token expires (ISO 8601).", + "format": "date-time", + "type": "string" + }, + "confirmation_token": { + "description": "Preview only: single-use token that executes this exact request when passed back as confirmation_token.", + "type": "string" + }, + "dry_run": { + "const": true, + "type": "boolean" + }, + "note": { + "type": "string" + }, + "summary": { + "additionalProperties": false, + "properties": { + "accounts_affected": { + "items": { + "type": "string" + }, + "type": "array" + }, + "fields_to_update": { + "items": { + "type": "string" + }, + "type": "array" + }, + "total_transactions": { + "type": "number" + } + }, + "required": [ + "total_transactions", + "accounts_affected", + "fields_to_update" + ], + "type": "object" + }, + "transactions_preview": { + "items": { + "additionalProperties": false, + "properties": { + "after": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "approved": { + "type": "boolean" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "cleared": { + "enum": [ + "cleared", + "uncleared", + "reconciled" + ], + "type": "string" + }, + "date": { + "pattern": "^\\d{4}-\\d{2}-\\d{2}$", + "type": "string" + }, + "flag_color": { + "anyOf": [ + { + "enum": [ + "red", + "orange", + "yellow", + "green", + "blue", + "purple" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "subtransactions": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "amount" + ], + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "before": { + "anyOf": [ + { + "const": "unavailable", + "type": "string" + }, + { + "additionalProperties": false, + "properties": { + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "approved": { + "type": "boolean" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "cleared": { + "enum": [ + "cleared", + "uncleared", + "reconciled" + ], + "type": "string" + }, + "date": { + "pattern": "^\\d{4}-\\d{2}-\\d{2}$", + "type": "string" + }, + "flag_color": { + "anyOf": [ + { + "enum": [ + "red", + "orange", + "yellow", + "green", + "blue", + "purple" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "subtransactions": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "amount" + ], + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + } + ] + }, + "transaction_id": { + "type": "string" + } + }, + "required": [ + "transaction_id", + "before", + "after" + ], + "type": "object" + }, + "type": "array" + }, + "validation": { + "const": "passed", + "type": "string" + }, + "warnings": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "count": { + "type": "number" + }, + "message": { + "type": "string" + }, + "sample_ids": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "code", + "count", + "message" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "dry_run", + "action", + "validation", + "summary", + "transactions_preview", + "note" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "confirmation_expires_at": { + "description": "Preview only: when confirmation_token expires (ISO 8601).", + "format": "date-time", + "type": "string" + }, + "confirmation_token": { + "description": "Preview only: single-use token that executes this exact request when passed back as confirmation_token.", + "type": "string" + }, + "message": { + "type": "string" + }, + "mode": { + "enum": [ + "full", + "summary", + "ids_only" + ], + "type": "string" + }, + "results": { + "items": { + "additionalProperties": {}, + "properties": { + "correlation_key": { + "type": "string" + }, + "error": { + "type": "string" + }, + "error_code": { + "type": "string" + }, + "request_index": { + "type": "number" + }, + "status": { + "enum": [ + "created", + "duplicate", + "updated", + "failed" + ], + "type": "string" + }, + "transaction_id": { + "type": "string" + } + }, + "required": [ + "request_index", + "status", + "correlation_key" + ], + "type": "object" + }, + "type": "array" + }, + "results_omitted": { + "type": "boolean" + }, + "server_knowledge": { + "type": "number" + }, + "success": { + "type": "boolean" + }, + "summary": { + "additionalProperties": false, + "properties": { + "created": { + "type": "number" + }, + "duplicates": { + "type": "number" + }, + "failed": { + "type": "number" + }, + "total_requested": { + "type": "number" + }, + "updated": { + "type": "number" + } + }, + "required": [ + "total_requested", + "failed" + ], + "type": "object" + }, + "transactions": { + "items": { + "additionalProperties": false, + "properties": { + "account_id": { + "type": "string" + }, + "account_name": { + "type": "string" + }, + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "approved": { + "type": "boolean" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "cleared": { + "type": "string" + }, + "date": { + "type": "string" + }, + "debt_transaction_type": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "flag_color": { + "type": [ + "string", + "null" + ] + }, + "flag_name": { + "type": [ + "string", + "null" + ] + }, + "id": { + "type": "string" + }, + "import_id": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name_original": { + "type": [ + "string", + "null" + ] + }, + "matched_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "parent_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "subtransactions": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "amount" + ], + "type": "object" + }, + "type": "array" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "type": { + "enum": [ + "transaction", + "subtransaction" + ], + "type": "string" + } + }, + "required": [ + "id", + "amount", + "deleted", + "date", + "account_id", + "cleared", + "approved" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "success", + "summary", + "results" + ], + "type": "object" + } +]
18 tool updates
v0.31.0- Changed
ynab_compare_transactions4 fields changed- added
Input schema / properties / statement_date / anyOfAdded value: +[ + { + "type": "string" + }, + { + "const": "", + "type": "string" + } +] - removed
Input schema / properties / statement_date / typeRemoved value: -"string" - added
Input schema / properties / statement_start_date / anyOfAdded value: +[ + { + "type": "string" + }, + { + "const": "", + "type": "string" + } +] - removed
Input schema / properties / statement_start_date / typeRemoved value: -"string"
- Changed
ynab_create_account4 fields changed- added
Input schema / properties / confirmation_token / anyOfAdded value: +[ + { + "minLength": 16, + "type": "string" + }, + { + "const": "" + }, + { + "type": "null" + } +] - changed
Input schema / properties / confirmation_token / descriptionPrevious value: -"Short-lived, single-use token returned by the immediately preceding preview of this exact validated request."New value: +"Short-lived, single-use token returned by the immediately preceding preview of this exact validated request. Omit, or pass null or an empty string, to preview." - removed
Input schema / properties / confirmation_token / minLengthRemoved value: -16 - removed
Input schema / properties / confirmation_token / typeRemoved value: -"string"
- Changed
ynab_create_receipt_split_transaction5 fields changed- added
Input schema / properties / confirmation_token / anyOfAdded value: +[ + { + "minLength": 16, + "type": "string" + }, + { + "const": "" + }, + { + "type": "null" + } +] - changed
Input schema / properties / confirmation_token / descriptionPrevious value: -"Short-lived, single-use token returned by the immediately preceding preview of this exact validated request."New value: +"Short-lived, single-use token returned by the immediately preceding preview of this exact validated request. Omit, or pass null or an empty string, to preview." - removed
Input schema / properties / confirmation_token / minLengthRemoved value: -16 - removed
Input schema / properties / confirmation_token / typeRemoved value: -"string" - changed
Output schema / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "action": { - "const": "ynab_create_receipt_split_transaction", - "type": "string" - }, - "dry_run": { - "const": true, - "type": "boolean" - }, - "receipt_summary": { - "additionalProperties": false, - "properties": { - "categories": { - "items": { - "additionalProperties": false, - "properties": { - "category_id": { - "type": "string" - }, - "category_name": { - "type": "string" - }, - "items": { - "items": { - "additionalProperties": false, - "properties": { - "amount": { - "type": "number" - }, - "memo": { - "type": "string" - }, - "name": { - "type": "string" - }, - "quantity": { - "type": "number" - } - }, - "required": [ - "name", - "amount" - ], - "type": "object" - }, - "type": "array" - }, - "subtotal": { - "type": "number" - }, - "tax": { - "type": "number" - }, - "total": { - "type": "number" - } - }, - "required": [ - "category_id", - "items", - "subtotal", - "tax", - "total" - ], - "type": "object" - }, - "type": "array" - }, - "subtotal": { - "type": "number" - }, - "tax": { - "type": "number" - }, - "total": { - "type": "number" - } - }, - "required": [ - "subtotal", - "tax", - "total", - "categories" - ], - "type": "object" - }, - "subtransactions": { - "items": { - "additionalProperties": false, - "properties": { - "amount": { - "type": "number" - }, - "category_id": { - "type": "string" - }, - "category_name": { - "type": "string" - }, - "memo": { - "type": "string" - }, - "payee_id": { - "type": "string" - }, - "payee_name": { - "type": "string" - }, - "transfer_account_id": { - "type": "string" - }, - "transfer_transaction_id": { - "type": "string" - } - }, - "required": [ - "amount" - ], - "type": "object" - }, - "type": "array" - }, - "transaction_preview": { - "additionalProperties": false, - "properties": { - "account_id": { - "type": "string" - }, - "amount": { - "type": "number" - }, - "approved": { - "type": "boolean" - }, - "category_id": { - "type": [ - "string", - "null" - ] - }, - "cleared": { - "enum": [ - "cleared", - "uncleared", - "reconciled" - ], - "type": "string" - }, - "date": { - "pattern": "^\\d{4}-\\d{2}-\\d{2}$", - "type": "string" - }, - "flag_color": { - "anyOf": [ - { - "enum": [ - "red", - "orange", - "yellow", - "green", - "blue", - "purple" - ], - "type": "string" - }, - { - "type": "null" - } - ] - }, - "import_id": { - "type": [ - "string", - "null" - ] - }, - "memo": { - "type": [ - "string", - "null" - ] - }, - "payee_id": { - "type": [ - "string", - "null" - ] - }, - "payee_name": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "account_id", - "date", - "amount" - ], - "type": "object" - } - }, - "required": [ - "dry_run", - "action", - "transaction_preview", - "receipt_summary", - "subtransactions" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "receipt_summary": { - "additionalProperties": false, - "properties": { - "categories": { - "items": { - "additionalProperties": false, - "properties": { - "category_id": { - "type": "string" - }, - "category_name": { - "type": "string" - }, - "items": { - "items": { - "additionalProperties": false, - "properties": { - "amount": { - "type": "number" - }, - "memo": { - "type": "string" - }, - "name": { - "type": "string" - }, - "quantity": { - "type": "number" - } - }, - "required": [ - "name", - "amount" - ], - "type": "object" - }, - "type": "array" - }, - "subtotal": { - "type": "number" - }, - "tax": { - "type": "number" - }, - "total": { - "type": "number" - } - }, - "required": [ - "category_id", - "items", - "subtotal", - "tax", - "total" - ], - "type": "object" - }, - "type": "array" - }, - "subtotal": { - "type": "number" - }, - "tax": { - "type": "number" - }, - "total": { - "type": "number" - } - }, - "required": [ - "subtotal", - "tax", - "total", - "categories" - ], - "type": "object" - }, - "transaction": { - "additionalProperties": false, - "properties": { - "account_balance": { - "type": "number" - }, - "account_cleared_balance": { - "type": "number" - }, - "account_id": { - "description": "Account ID", - "type": "string" - }, - "account_name": { - "description": "Account name", - "type": "string" - }, - "amount": { - "description": "Transaction amount in dollars", - "type": "number" - }, - "approved": { - "description": "Approved flag", - "type": "boolean" - }, - "category_id": { - "description": "Category ID", - "type": [ - "string", - "null" - ] - }, - "category_name": { - "description": "Category name", - "type": "string" - }, - "cleared": { - "description": "Cleared status", - "type": "string" - }, - "date": { - "description": "Transaction date", - "type": "string" - }, - "deleted": { - "description": "Deleted flag", - "type": "boolean" - }, - "flag_color": { - "description": "Flag color", - "type": "string" - }, - "id": { - "description": "Transaction ID", - "type": "string" - }, - "import_id": { - "description": "Import ID", - "type": "string" - }, - "matched_transaction_id": { - "description": "Matched transaction ID", - "type": [ - "string", - "null" - ] - }, - "memo": { - "description": "Transaction memo", - "type": "string" - }, - "payee_id": { - "description": "Payee ID", - "type": [ - "string", - "null" - ] - }, - "payee_name": { - "description": "Payee name", - "type": "string" - }, - "subtransactions": { - "items": { - "additionalProperties": false, - "properties": { - "amount": { - "type": "number" - }, - "category_id": { - "type": "string" - }, - "category_name": { - "type": "string" - }, - "deleted": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "memo": { - "type": "string" - }, - "payee_id": { - "type": "string" - }, - "payee_name": { - "type": "string" - }, - "transaction_id": { - "type": "string" - }, - "transfer_account_id": { - "type": "string" - }, - "transfer_transaction_id": { - "type": "string" - } - }, - "required": [ - "id", - "transaction_id", - "amount", - "deleted" - ], - "type": "object" - }, - "type": "array" - }, - "transfer_account_id": { - "description": "Transfer account ID", - "type": [ - "string", - "null" - ] - }, - "transfer_transaction_id": { - "description": "Transfer transaction ID", - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "id", - "date", - "amount", - "cleared", - "approved", - "account_id", - "deleted" - ], - "type": "object" - } - }, - "required": [ - "transaction", - "receipt_summary" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "action": { + "const": "ynab_create_receipt_split_transaction", + "type": "string" + }, + "dry_run": { + "const": true, + "type": "boolean" + }, + "receipt_summary": { + "additionalProperties": false, + "properties": { + "categories": { + "items": { + "additionalProperties": false, + "properties": { + "category_id": { + "type": "string" + }, + "category_name": { + "type": "string" + }, + "items": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "memo": { + "type": "string" + }, + "name": { + "type": "string" + }, + "quantity": { + "type": "number" + } + }, + "required": [ + "name", + "amount" + ], + "type": "object" + }, + "type": "array" + }, + "subtotal": { + "type": "number" + }, + "tax": { + "type": "number" + }, + "total": { + "type": "number" + } + }, + "required": [ + "category_id", + "items", + "subtotal", + "tax", + "total" + ], + "type": "object" + }, + "type": "array" + }, + "subtotal": { + "type": "number" + }, + "tax": { + "type": "number" + }, + "total": { + "type": "number" + } + }, + "required": [ + "subtotal", + "tax", + "total", + "categories" + ], + "type": "object" + }, + "subtransactions": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "amount" + ], + "type": "object" + }, + "type": "array" + }, + "transaction_preview": { + "additionalProperties": false, + "properties": { + "account_id": { + "type": "string" + }, + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "approved": { + "type": "boolean" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "cleared": { + "enum": [ + "cleared", + "uncleared", + "reconciled" + ], + "type": "string" + }, + "date": { + "pattern": "^\\d{4}-\\d{2}-\\d{2}$", + "type": "string" + }, + "debt_transaction_type": { + "type": [ + "string", + "null" + ] + }, + "flag_color": { + "anyOf": [ + { + "enum": [ + "red", + "orange", + "yellow", + "green", + "blue", + "purple" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "flag_name": { + "type": [ + "string", + "null" + ] + }, + "import_id": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name_original": { + "type": [ + "string", + "null" + ] + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "parent_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "subtransactions": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "amount" + ], + "type": "object" + }, + "type": "array" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "type": { + "enum": [ + "transaction", + "subtransaction" + ], + "type": "string" + } + }, + "required": [ + "amount", + "date", + "account_id" + ], + "type": "object" + } + }, + "required": [ + "dry_run", + "action", + "transaction_preview", + "receipt_summary", + "subtransactions" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "receipt_summary": { + "additionalProperties": false, + "properties": { + "categories": { + "items": { + "additionalProperties": false, + "properties": { + "category_id": { + "type": "string" + }, + "category_name": { + "type": "string" + }, + "items": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "memo": { + "type": "string" + }, + "name": { + "type": "string" + }, + "quantity": { + "type": "number" + } + }, + "required": [ + "name", + "amount" + ], + "type": "object" + }, + "type": "array" + }, + "subtotal": { + "type": "number" + }, + "tax": { + "type": "number" + }, + "total": { + "type": "number" + } + }, + "required": [ + "category_id", + "items", + "subtotal", + "tax", + "total" + ], + "type": "object" + }, + "type": "array" + }, + "subtotal": { + "type": "number" + }, + "tax": { + "type": "number" + }, + "total": { + "type": "number" + } + }, + "required": [ + "subtotal", + "tax", + "total", + "categories" + ], + "type": "object" + }, + "transaction": { + "additionalProperties": false, + "properties": { + "account_balance": { + "type": "number" + }, + "account_cleared_balance": { + "type": "number" + }, + "account_id": { + "type": "string" + }, + "account_name": { + "type": "string" + }, + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "approved": { + "type": "boolean" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "cleared": { + "type": "string" + }, + "date": { + "type": "string" + }, + "debt_transaction_type": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "flag_color": { + "type": [ + "string", + "null" + ] + }, + "flag_name": { + "type": [ + "string", + "null" + ] + }, + "id": { + "type": "string" + }, + "import_id": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name_original": { + "type": [ + "string", + "null" + ] + }, + "matched_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "parent_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "subtransactions": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id", + "transaction_id", + "amount", + "deleted" + ], + "type": "object" + }, + "type": "array" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "type": { + "enum": [ + "transaction", + "subtransaction" + ], + "type": "string" + } + }, + "required": [ + "id", + "amount", + "deleted", + "date", + "account_id", + "cleared", + "approved" + ], + "type": "object" + } + }, + "required": [ + "transaction", + "receipt_summary" + ], + "type": "object" + } +]
- Changed
ynab_create_scheduled_transaction6 fields changed- added
Input schema / properties / confirmation_token / anyOfAdded value: +[ + { + "minLength": 16, + "type": "string" + }, + { + "const": "" + }, + { + "type": "null" + } +] - changed
Input schema / properties / confirmation_token / descriptionPrevious value: -"Short-lived, single-use token returned by the immediately preceding preview of this exact validated request."New value: +"Short-lived, single-use token returned by the immediately preceding preview of this exact validated request. Omit, or pass null or an empty string, to preview." - removed
Input schema / properties / confirmation_token / minLengthRemoved value: -16 - removed
Input schema / properties / confirmation_token / typeRemoved value: -"string" - removed
Input schema / properties / date / patternRemoved value: -"^\\d{4}-\\d{2}-\\d{2}$" - changed
Output schema / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "action": { - "type": "string" - }, - "dry_run": { - "const": true, - "type": "boolean" - }, - "request": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - }, - "required": [ - "dry_run", - "action", - "request" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "scheduled_transaction": { - "additionalProperties": false, - "properties": { - "account_id": { - "type": "string" - }, - "account_name": { - "type": "string" - }, - "amount": { - "type": "number" - }, - "amount_milliunits": { - "maximum": 9007199254740991, - "minimum": -9007199254740991, - "type": "integer" - }, - "category_id": { - "type": [ - "string", - "null" - ] - }, - "category_name": { - "type": [ - "string", - "null" - ] - }, - "date_first": { - "type": "string" - }, - "date_next": { - "type": "string" - }, - "deleted": { - "type": "boolean" - }, - "flag_color": { - "type": [ - "string", - "null" - ] - }, - "frequency": { - "enum": [ - "never", - "daily", - "weekly", - "everyOtherWeek", - "twiceAMonth", - "every4Weeks", - "monthly", - "everyOtherMonth", - "every3Months", - "every4Months", - "twiceAYear", - "yearly", - "everyOtherYear" - ], - "type": "string" - }, - "id": { - "type": "string" - }, - "memo": { - "type": [ - "string", - "null" - ] - }, - "payee_id": { - "type": [ - "string", - "null" - ] - }, - "payee_name": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "id", - "date_first", - "date_next", - "frequency", - "amount", - "amount_milliunits", - "account_id", - "account_name", - "payee_id", - "payee_name", - "category_id", - "category_name", - "memo", - "flag_color", - "deleted" - ], - "type": "object" - } - }, - "required": [ - "scheduled_transaction" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "action": { + "type": "string" + }, + "dry_run": { + "const": true, + "type": "boolean" + }, + "request": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + }, + "required": [ + "dry_run", + "action", + "request" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "scheduled_transaction": { + "additionalProperties": false, + "properties": { + "account_id": { + "type": "string" + }, + "account_name": { + "type": "string" + }, + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "date_first": { + "type": "string" + }, + "date_next": { + "type": "string" + }, + "debt_transaction_type": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "flag_color": { + "type": [ + "string", + "null" + ] + }, + "flag_name": { + "type": [ + "string", + "null" + ] + }, + "frequency": { + "enum": [ + "never", + "daily", + "weekly", + "everyOtherWeek", + "twiceAMonth", + "every4Weeks", + "monthly", + "everyOtherMonth", + "every3Months", + "every4Months", + "twiceAYear", + "yearly", + "everyOtherYear" + ], + "type": "string" + }, + "id": { + "type": "string" + }, + "import_id": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name_original": { + "type": [ + "string", + "null" + ] + }, + "matched_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "parent_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "subtransactions": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "amount" + ], + "type": "object" + }, + "type": "array" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "type": { + "enum": [ + "transaction", + "subtransaction" + ], + "type": "string" + } + }, + "required": [ + "id", + "amount", + "deleted", + "account_id", + "date_first", + "date_next", + "frequency" + ], + "type": "object" + } + }, + "required": [ + "scheduled_transaction" + ], + "type": "object" + } +]
- Changed
ynab_create_transaction5 fields changed- added
Input schema / properties / confirmation_token / anyOfAdded value: +[ + { + "minLength": 16, + "type": "string" + }, + { + "const": "" + }, + { + "type": "null" + } +] - changed
Input schema / properties / confirmation_token / descriptionPrevious value: -"Short-lived, single-use token returned by the immediately preceding preview of this exact validated request."New value: +"Short-lived, single-use token returned by the immediately preceding preview of this exact validated request. Omit, or pass null or an empty string, to preview." - removed
Input schema / properties / confirmation_token / minLengthRemoved value: -16 - removed
Input schema / properties / confirmation_token / typeRemoved value: -"string" - changed
Output schema / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "action": { - "const": "ynab_create_transaction", - "type": "string" - }, - "dry_run": { - "const": true, - "type": "boolean" - }, - "request": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - }, - "required": [ - "dry_run", - "action", - "request" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "transaction": { - "additionalProperties": false, - "properties": { - "account_balance": { - "type": "number" - }, - "account_cleared_balance": { - "type": "number" - }, - "account_id": { - "description": "Account ID", - "type": "string" - }, - "account_name": { - "description": "Account name", - "type": "string" - }, - "amount": { - "description": "Transaction amount in dollars", - "type": "number" - }, - "approved": { - "description": "Approved flag", - "type": "boolean" - }, - "category_id": { - "description": "Category ID", - "type": [ - "string", - "null" - ] - }, - "category_name": { - "description": "Category name", - "type": "string" - }, - "cleared": { - "description": "Cleared status", - "type": "string" - }, - "date": { - "description": "Transaction date", - "type": "string" - }, - "deleted": { - "description": "Deleted flag", - "type": "boolean" - }, - "flag_color": { - "description": "Flag color", - "type": "string" - }, - "id": { - "description": "Transaction ID", - "type": "string" - }, - "import_id": { - "description": "Import ID", - "type": "string" - }, - "matched_transaction_id": { - "description": "Matched transaction ID", - "type": [ - "string", - "null" - ] - }, - "memo": { - "description": "Transaction memo", - "type": "string" - }, - "payee_id": { - "description": "Payee ID", - "type": [ - "string", - "null" - ] - }, - "payee_name": { - "description": "Payee name", - "type": "string" - }, - "subtransactions": { - "items": { - "additionalProperties": false, - "properties": { - "amount": { - "type": "number" - }, - "category_id": { - "type": "string" - }, - "category_name": { - "type": "string" - }, - "deleted": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "memo": { - "type": "string" - }, - "payee_id": { - "type": "string" - }, - "payee_name": { - "type": "string" - }, - "transaction_id": { - "type": "string" - }, - "transfer_account_id": { - "type": "string" - }, - "transfer_transaction_id": { - "type": "string" - } - }, - "required": [ - "id", - "transaction_id", - "amount", - "deleted" - ], - "type": "object" - }, - "type": "array" - }, - "transfer_account_id": { - "description": "Transfer account ID", - "type": [ - "string", - "null" - ] - }, - "transfer_transaction_id": { - "description": "Transfer transaction ID", - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "id", - "date", - "amount", - "cleared", - "approved", - "account_id", - "deleted" - ], - "type": "object" - } - }, - "required": [ - "transaction" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "action": { + "const": "ynab_create_transaction", + "type": "string" + }, + "dry_run": { + "const": true, + "type": "boolean" + }, + "request": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + }, + "required": [ + "dry_run", + "action", + "request" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "transaction": { + "additionalProperties": false, + "properties": { + "account_balance": { + "type": "number" + }, + "account_cleared_balance": { + "type": "number" + }, + "account_id": { + "type": "string" + }, + "account_name": { + "type": "string" + }, + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "approved": { + "type": "boolean" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "cleared": { + "type": "string" + }, + "date": { + "type": "string" + }, + "debt_transaction_type": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "flag_color": { + "type": [ + "string", + "null" + ] + }, + "flag_name": { + "type": [ + "string", + "null" + ] + }, + "id": { + "type": "string" + }, + "import_id": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name_original": { + "type": [ + "string", + "null" + ] + }, + "matched_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "parent_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "subtransactions": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id", + "transaction_id", + "amount", + "deleted" + ], + "type": "object" + }, + "type": "array" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "type": { + "enum": [ + "transaction", + "subtransaction" + ], + "type": "string" + } + }, + "required": [ + "id", + "amount", + "deleted", + "date", + "account_id", + "cleared", + "approved" + ], + "type": "object" + } + }, + "required": [ + "transaction" + ], + "type": "object" + } +]
- Changed
ynab_create_transactions5 fields changed- added
Input schema / properties / confirmation_token / anyOfAdded value: +[ + { + "minLength": 16, + "type": "string" + }, + { + "const": "" + }, + { + "type": "null" + } +] - changed
Input schema / properties / confirmation_token / descriptionPrevious value: -"Short-lived, single-use token returned by the immediately preceding preview of this exact validated request."New value: +"Short-lived, single-use token returned by the immediately preceding preview of this exact validated request. Omit, or pass null or an empty string, to preview." - removed
Input schema / properties / confirmation_token / minLengthRemoved value: -16 - removed
Input schema / properties / confirmation_token / typeRemoved value: -"string" - changed
Output schema / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "action": { - "const": "ynab_create_transactions", - "type": "string" - }, - "dry_run": { - "const": true, - "type": "boolean" - }, - "note": { - "type": "string" - }, - "summary": { - "additionalProperties": false, - "properties": { - "accounts_affected": { - "items": { - "type": "string" - }, - "type": "array" - }, - "categories_affected": { - "items": { - "type": "string" - }, - "type": "array" - }, - "date_range": { - "additionalProperties": false, - "properties": { - "earliest": { - "pattern": "^\\d{4}-\\d{2}-\\d{2}$", - "type": "string" - }, - "latest": { - "pattern": "^\\d{4}-\\d{2}-\\d{2}$", - "type": "string" - } - }, - "required": [ - "earliest", - "latest" - ], - "type": "object" - }, - "total_amount": { - "type": "number" - }, - "total_transactions": { - "type": "number" - } - }, - "required": [ - "total_transactions", - "total_amount", - "accounts_affected", - "categories_affected" - ], - "type": "object" - }, - "transactions_preview": { - "items": { - "additionalProperties": false, - "properties": { - "account_id": { - "type": "string" - }, - "amount": { - "type": "number" - }, - "category_id": { - "type": "string" - }, - "date": { - "pattern": "^\\d{4}-\\d{2}-\\d{2}$", - "type": "string" - }, - "import_id": { - "type": "string" - }, - "memo": { - "type": "string" - }, - "payee_id": { - "type": "string" - }, - "payee_name": { - "type": "string" - }, - "request_index": { - "type": "number" - } - }, - "required": [ - "request_index", - "account_id", - "date", - "amount" - ], - "type": "object" - }, - "type": "array" - }, - "validation": { - "const": "passed", - "type": "string" - } - }, - "required": [ - "dry_run", - "action", - "validation", - "summary", - "transactions_preview", - "note" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "duplicate_import_ids": { - "items": { - "type": "string" - }, - "type": "array" - }, - "message": { - "type": "string" - }, - "mode": { - "enum": [ - "full", - "summary", - "ids_only" - ], - "type": "string" - }, - "results": { - "items": { - "additionalProperties": {}, - "properties": { - "correlation_key": { - "type": "string" - }, - "error": { - "type": "string" - }, - "error_code": { - "type": "string" - }, - "request_index": { - "type": "number" - }, - "status": { - "enum": [ - "created", - "duplicate", - "updated", - "failed" - ], - "type": "string" - }, - "transaction_id": { - "type": "string" - } - }, - "required": [ - "request_index", - "status", - "correlation_key" - ], - "type": "object" - }, - "type": "array" - }, - "server_knowledge": { - "type": "number" - }, - "success": { - "type": "boolean" - }, - "summary": { - "additionalProperties": false, - "properties": { - "created": { - "type": "number" - }, - "duplicates": { - "type": "number" - }, - "failed": { - "type": "number" - }, - "total_requested": { - "type": "number" - }, - "updated": { - "type": "number" - } - }, - "required": [ - "total_requested", - "failed" - ], - "type": "object" - }, - "transactions": { - "items": { - "additionalProperties": false, - "properties": { - "account_id": { - "description": "Account ID", - "type": "string" - }, - "account_name": { - "description": "Account name", - "type": "string" - }, - "amount": { - "description": "Transaction amount in dollars", - "type": "number" - }, - "approved": { - "description": "Approved flag", - "type": "boolean" - }, - "category_id": { - "description": "Category ID", - "type": [ - "string", - "null" - ] - }, - "category_name": { - "description": "Category name", - "type": "string" - }, - "cleared": { - "description": "Cleared status", - "type": "string" - }, - "date": { - "description": "Transaction date", - "type": "string" - }, - "deleted": { - "description": "Deleted flag", - "type": "boolean" - }, - "flag_color": { - "description": "Flag color", - "type": "string" - }, - "id": { - "description": "Transaction ID", - "type": "string" - }, - "import_id": { - "description": "Import ID", - "type": "string" - }, - "matched_transaction_id": { - "description": "Matched transaction ID", - "type": [ - "string", - "null" - ] - }, - "memo": { - "description": "Transaction memo", - "type": "string" - }, - "payee_id": { - "description": "Payee ID", - "type": [ - "string", - "null" - ] - }, - "payee_name": { - "description": "Payee name", - "type": "string" - }, - "transfer_account_id": { - "description": "Transfer account ID", - "type": [ - "string", - "null" - ] - }, - "transfer_transaction_id": { - "description": "Transfer transaction ID", - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "id", - "date", - "amount", - "cleared", - "approved", - "account_id", - "deleted" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "success", - "summary", - "results" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "action": { + "const": "ynab_create_transactions", + "type": "string" + }, + "dry_run": { + "const": true, + "type": "boolean" + }, + "note": { + "type": "string" + }, + "summary": { + "additionalProperties": false, + "properties": { + "accounts_affected": { + "items": { + "type": "string" + }, + "type": "array" + }, + "categories_affected": { + "items": { + "type": "string" + }, + "type": "array" + }, + "date_range": { + "additionalProperties": false, + "properties": { + "earliest": { + "pattern": "^\\d{4}-\\d{2}-\\d{2}$", + "type": "string" + }, + "latest": { + "pattern": "^\\d{4}-\\d{2}-\\d{2}$", + "type": "string" + } + }, + "required": [ + "earliest", + "latest" + ], + "type": "object" + }, + "total_amount": { + "type": "number" + }, + "total_transactions": { + "type": "number" + } + }, + "required": [ + "total_transactions", + "total_amount", + "accounts_affected", + "categories_affected" + ], + "type": "object" + }, + "transactions_preview": { + "items": { + "additionalProperties": false, + "properties": { + "account_id": { + "type": "string" + }, + "account_name": { + "type": "string" + }, + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "approved": { + "type": "boolean" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "cleared": { + "type": "string" + }, + "date": { + "pattern": "^\\d{4}-\\d{2}-\\d{2}$", + "type": "string" + }, + "debt_transaction_type": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "flag_color": { + "type": [ + "string", + "null" + ] + }, + "flag_name": { + "type": [ + "string", + "null" + ] + }, + "id": { + "type": "string" + }, + "import_id": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name_original": { + "type": [ + "string", + "null" + ] + }, + "matched_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "parent_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "request_index": { + "type": "number" + }, + "scheduled_transaction_id": { + "type": "string" + }, + "subtransactions": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "amount" + ], + "type": "object" + }, + "type": "array" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "type": { + "enum": [ + "transaction", + "subtransaction" + ], + "type": "string" + } + }, + "required": [ + "amount", + "date", + "account_id", + "request_index" + ], + "type": "object" + }, + "type": "array" + }, + "validation": { + "const": "passed", + "type": "string" + } + }, + "required": [ + "dry_run", + "action", + "validation", + "summary", + "transactions_preview", + "note" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "duplicate_import_ids": { + "items": { + "type": "string" + }, + "type": "array" + }, + "message": { + "type": "string" + }, + "mode": { + "enum": [ + "full", + "summary", + "ids_only" + ], + "type": "string" + }, + "results": { + "items": { + "additionalProperties": {}, + "properties": { + "correlation_key": { + "type": "string" + }, + "error": { + "type": "string" + }, + "error_code": { + "type": "string" + }, + "request_index": { + "type": "number" + }, + "status": { + "enum": [ + "created", + "duplicate", + "updated", + "failed" + ], + "type": "string" + }, + "transaction_id": { + "type": "string" + } + }, + "required": [ + "request_index", + "status", + "correlation_key" + ], + "type": "object" + }, + "type": "array" + }, + "results_omitted": { + "type": "boolean" + }, + "server_knowledge": { + "type": "number" + }, + "success": { + "type": "boolean" + }, + "summary": { + "additionalProperties": false, + "properties": { + "created": { + "type": "number" + }, + "duplicates": { + "type": "number" + }, + "failed": { + "type": "number" + }, + "total_requested": { + "type": "number" + }, + "updated": { + "type": "number" + } + }, + "required": [ + "total_requested", + "failed" + ], + "type": "object" + }, + "transactions": { + "items": { + "additionalProperties": false, + "properties": { + "account_id": { + "type": "string" + }, + "account_name": { + "type": "string" + }, + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "approved": { + "type": "boolean" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "cleared": { + "type": "string" + }, + "date": { + "type": "string" + }, + "debt_transaction_type": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "flag_color": { + "type": [ + "string", + "null" + ] + }, + "flag_name": { + "type": [ + "string", + "null" + ] + }, + "id": { + "type": "string" + }, + "import_id": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name_original": { + "type": [ + "string", + "null" + ] + }, + "matched_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "parent_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "subtransactions": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "amount" + ], + "type": "object" + }, + "type": "array" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "type": { + "enum": [ + "transaction", + "subtransaction" + ], + "type": "string" + } + }, + "required": [ + "id", + "amount", + "deleted", + "date", + "account_id", + "cleared", + "approved" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "success", + "summary", + "results" + ], + "type": "object" + } +]
- Changed
ynab_delete_scheduled_transaction4 fields changed- added
Input schema / properties / confirmation_token / anyOfAdded value: +[ + { + "minLength": 16, + "type": "string" + }, + { + "const": "" + }, + { + "type": "null" + } +] - changed
Input schema / properties / confirmation_token / descriptionPrevious value: -"Short-lived, single-use token returned by the immediately preceding preview of this exact validated request."New value: +"Short-lived, single-use token returned by the immediately preceding preview of this exact validated request. Omit, or pass null or an empty string, to preview." - removed
Input schema / properties / confirmation_token / minLengthRemoved value: -16 - removed
Input schema / properties / confirmation_token / typeRemoved value: -"string"
- Changed
ynab_delete_transaction5 fields changed- added
Input schema / properties / confirmation_token / anyOfAdded value: +[ + { + "minLength": 16, + "type": "string" + }, + { + "const": "" + }, + { + "type": "null" + } +] - changed
Input schema / properties / confirmation_token / descriptionPrevious value: -"Short-lived, single-use token returned by the immediately preceding preview of this exact validated request."New value: +"Short-lived, single-use token returned by the immediately preceding preview of this exact validated request. Omit, or pass null or an empty string, to preview." - removed
Input schema / properties / confirmation_token / minLengthRemoved value: -16 - removed
Input schema / properties / confirmation_token / typeRemoved value: -"string" - changed
Output schema / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "action": { - "const": "ynab_delete_transaction", - "type": "string" - }, - "dry_run": { - "const": true, - "type": "boolean" - }, - "request": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - }, - "required": [ - "dry_run", - "action", - "request" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "message": { - "type": "string" - }, - "transaction": { - "additionalProperties": false, - "properties": { - "deleted": { - "type": "boolean" - }, - "id": { - "type": "string" - } - }, - "required": [ - "id", - "deleted" - ], - "type": "object" - }, - "updated_balance": { - "type": "number" - }, - "updated_cleared_balance": { - "type": "number" - } - }, - "required": [ - "message", - "transaction", - "updated_balance", - "updated_cleared_balance" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "action": { + "const": "ynab_delete_transaction", + "type": "string" + }, + "dry_run": { + "const": true, + "type": "boolean" + }, + "request": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + }, + "required": [ + "dry_run", + "action", + "request" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "message": { + "type": "string" + }, + "transaction": { + "additionalProperties": false, + "properties": { + "account_id": { + "type": "string" + }, + "account_name": { + "type": "string" + }, + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "approved": { + "type": "boolean" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "cleared": { + "type": "string" + }, + "date": { + "type": "string" + }, + "debt_transaction_type": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "flag_color": { + "type": [ + "string", + "null" + ] + }, + "flag_name": { + "type": [ + "string", + "null" + ] + }, + "id": { + "type": "string" + }, + "import_id": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name_original": { + "type": [ + "string", + "null" + ] + }, + "matched_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "parent_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "subtransactions": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "amount" + ], + "type": "object" + }, + "type": "array" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "type": { + "enum": [ + "transaction", + "subtransaction" + ], + "type": "string" + } + }, + "required": [ + "id", + "deleted" + ], + "type": "object" + }, + "updated_balance": { + "type": "number" + }, + "updated_cleared_balance": { + "type": "number" + } + }, + "required": [ + "message", + "transaction" + ], + "type": "object" + } +]
- Changed
ynab_export_transactions26 fields changed- added
Output schema / properties / preview_transactions / items / properties / account_idAdded value: +{ + "type": "string" +} - added
Output schema / properties / preview_transactions / items / properties / account_nameAdded value: +{ + "type": "string" +} - added
Output schema / properties / preview_transactions / items / properties / amount / descriptionAdded value: +"Amount in decimal currency units" - added
Output schema / properties / preview_transactions / items / properties / amount_currencyAdded value: +{ + "type": "number" +} - added
Output schema / properties / preview_transactions / items / properties / amount_formattedAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / preview_transactions / items / properties / amount_milliunitsAdded value: +{ + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" +} - added
Output schema / properties / preview_transactions / items / properties / approvedAdded value: +{ + "type": "boolean" +} - added
Output schema / properties / preview_transactions / items / properties / category_idAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / preview_transactions / items / properties / clearedAdded value: +{ + "type": "string" +} - added
Output schema / properties / preview_transactions / items / properties / debt_transaction_typeAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / preview_transactions / items / properties / deletedAdded value: +{ + "type": "boolean" +} - added
Output schema / properties / preview_transactions / items / properties / flag_colorAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / preview_transactions / items / properties / flag_nameAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / preview_transactions / items / properties / import_idAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / preview_transactions / items / properties / import_payee_nameAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / preview_transactions / items / properties / import_payee_name_originalAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / preview_transactions / items / properties / matched_transaction_idAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / preview_transactions / items / properties / parent_transaction_idAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / preview_transactions / items / properties / payee_idAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / preview_transactions / items / properties / scheduled_transaction_idAdded value: +{ + "type": "string" +} - added
Output schema / properties / preview_transactions / items / properties / subtransactionsAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "amount" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / preview_transactions / items / properties / transaction_idAdded value: +{ + "type": "string" +} - added
Output schema / properties / preview_transactions / items / properties / transfer_account_idAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / preview_transactions / items / properties / transfer_transaction_idAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / preview_transactions / items / properties / typeAdded value: +{ + "enum": [ + "transaction", + "subtransaction" + ], + "type": "string" +} - changed
Output schema / properties / preview_transactions / items / requiredPrevious value: -[ - "id", - "date", - "amount" -]New value: +[ + "id", + "amount", + "date" +]
- Changed
ynab_get_scheduled_transaction17 fields changed- added
Output schema / properties / scheduled_transaction / properties / amount / descriptionAdded value: +"Amount in decimal currency units" - added
Output schema / properties / scheduled_transaction / properties / amount_currencyAdded value: +{ + "type": "number" +} - added
Output schema / properties / scheduled_transaction / properties / amount_formattedAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / scheduled_transaction / properties / debt_transaction_typeAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / scheduled_transaction / properties / flag_nameAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / scheduled_transaction / properties / import_idAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / scheduled_transaction / properties / import_payee_nameAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / scheduled_transaction / properties / import_payee_name_originalAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / scheduled_transaction / properties / matched_transaction_idAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / scheduled_transaction / properties / parent_transaction_idAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / scheduled_transaction / properties / scheduled_transaction_idAdded value: +{ + "type": "string" +} - added
Output schema / properties / scheduled_transaction / properties / subtransactionsAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "amount" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / scheduled_transaction / properties / transaction_idAdded value: +{ + "type": "string" +} - added
Output schema / properties / scheduled_transaction / properties / transfer_account_idAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / scheduled_transaction / properties / transfer_transaction_idAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / scheduled_transaction / properties / typeAdded value: +{ + "enum": [ + "transaction", + "subtransaction" + ], + "type": "string" +} - changed
Output schema / properties / scheduled_transaction / requiredPrevious value: -[ - "id", - "date_first", - "date_next", - "frequency", - "amount", - "amount_milliunits", - "account_id", - "account_name", - "payee_id", - "payee_name", - "category_id", - "category_name", - "memo", - "flag_color", - "deleted" -]New value: +[ + "id", + "amount", + "deleted", + "account_id", + "date_first", + "date_next", + "frequency" +]
- Changed
ynab_get_transaction36 fields changed- removed
Output schema / properties / transaction / properties / account_id / descriptionRemoved value: -"Account ID" - removed
Output schema / properties / transaction / properties / account_name / descriptionRemoved value: -"Account name" - changed
Output schema / properties / transaction / properties / amount / descriptionPrevious value: -"Transaction amount in dollars"New value: +"Amount in decimal currency units" - added
Output schema / properties / transaction / properties / amount_currencyAdded value: +{ + "type": "number" +} - added
Output schema / properties / transaction / properties / amount_formattedAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / transaction / properties / amount_milliunitsAdded value: +{ + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" +} - removed
Output schema / properties / transaction / properties / approved / descriptionRemoved value: -"Approved flag" - removed
Output schema / properties / transaction / properties / category_id / descriptionRemoved value: -"Category ID" - removed
Output schema / properties / transaction / properties / category_name / descriptionRemoved value: -"Category name" - changed
Output schema / properties / transaction / properties / category_name / typePrevious value: -"string"New value: +[ + "string", + "null" +] - removed
Output schema / properties / transaction / properties / cleared / descriptionRemoved value: -"Cleared status" - removed
Output schema / properties / transaction / properties / date / descriptionRemoved value: -"Transaction date" - added
Output schema / properties / transaction / properties / debt_transaction_typeAdded value: +{ + "type": [ + "string", + "null" + ] +} - removed
Output schema / properties / transaction / properties / deleted / descriptionRemoved value: -"Deleted flag" - removed
Output schema / properties / transaction / properties / flag_color / descriptionRemoved value: -"Flag color" - changed
Output schema / properties / transaction / properties / flag_color / typePrevious value: -"string"New value: +[ + "string", + "null" +] - added
Output schema / properties / transaction / properties / flag_nameAdded value: +{ + "type": [ + "string", + "null" + ] +} - removed
Output schema / properties / transaction / properties / id / descriptionRemoved value: -"Transaction ID" - removed
Output schema / properties / transaction / properties / import_id / descriptionRemoved value: -"Import ID" - changed
Output schema / properties / transaction / properties / import_id / typePrevious value: -"string"New value: +[ + "string", + "null" +] - added
Output schema / properties / transaction / properties / import_payee_nameAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / transaction / properties / import_payee_name_originalAdded value: +{ + "type": [ + "string", + "null" + ] +} - removed
Output schema / properties / transaction / properties / matched_transaction_id / descriptionRemoved value: -"Matched transaction ID" - removed
Output schema / properties / transaction / properties / memo / descriptionRemoved value: -"Transaction memo" - changed
Output schema / properties / transaction / properties / memo / typePrevious value: -"string"New value: +[ + "string", + "null" +] - added
Output schema / properties / transaction / properties / parent_transaction_idAdded value: +{ + "type": [ + "string", + "null" + ] +} - removed
Output schema / properties / transaction / properties / payee_id / descriptionRemoved value: -"Payee ID" - removed
Output schema / properties / transaction / properties / payee_name / descriptionRemoved value: -"Payee name" - changed
Output schema / properties / transaction / properties / payee_name / typePrevious value: -"string"New value: +[ + "string", + "null" +] - added
Output schema / properties / transaction / properties / scheduled_transaction_idAdded value: +{ + "type": "string" +} - added
Output schema / properties / transaction / properties / subtransactionsAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "amount" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / transaction / properties / transaction_idAdded value: +{ + "type": "string" +} - removed
Output schema / properties / transaction / properties / transfer_account_id / descriptionRemoved value: -"Transfer account ID" - removed
Output schema / properties / transaction / properties / transfer_transaction_id / descriptionRemoved value: -"Transfer transaction ID" - added
Output schema / properties / transaction / properties / typeAdded value: +{ + "enum": [ + "transaction", + "subtransaction" + ], + "type": "string" +} - changed
Output schema / properties / transaction / requiredPrevious value: -[ - "id", - "date", - "amount", - "cleared", - "approved", - "account_id", - "deleted" -]New value: +[ + "id", + "amount", + "deleted", + "date", + "account_id", + "cleared", + "approved" +]
- Changed
ynab_list_scheduled_transactions17 fields changed- added
Output schema / properties / scheduled_transactions / items / properties / amount / descriptionAdded value: +"Amount in decimal currency units" - added
Output schema / properties / scheduled_transactions / items / properties / amount_currencyAdded value: +{ + "type": "number" +} - added
Output schema / properties / scheduled_transactions / items / properties / amount_formattedAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / scheduled_transactions / items / properties / debt_transaction_typeAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / scheduled_transactions / items / properties / flag_nameAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / scheduled_transactions / items / properties / import_idAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / scheduled_transactions / items / properties / import_payee_nameAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / scheduled_transactions / items / properties / import_payee_name_originalAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / scheduled_transactions / items / properties / matched_transaction_idAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / scheduled_transactions / items / properties / parent_transaction_idAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / scheduled_transactions / items / properties / scheduled_transaction_idAdded value: +{ + "type": "string" +} - added
Output schema / properties / scheduled_transactions / items / properties / subtransactionsAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "amount" + ], + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / scheduled_transactions / items / properties / transaction_idAdded value: +{ + "type": "string" +} - added
Output schema / properties / scheduled_transactions / items / properties / transfer_account_idAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / scheduled_transactions / items / properties / transfer_transaction_idAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / scheduled_transactions / items / properties / typeAdded value: +{ + "enum": [ + "transaction", + "subtransaction" + ], + "type": "string" +} - changed
Output schema / properties / scheduled_transactions / items / requiredPrevious value: -[ - "id", - "date_first", - "date_next", - "frequency", - "amount", - "amount_milliunits", - "account_id", - "account_name", - "payee_id", - "payee_name", - "category_id", - "category_name", - "memo", - "flag_color", - "deleted" -]New value: +[ + "id", + "amount", + "deleted", + "account_id", + "date_first", + "date_next", + "frequency" +]
- Changed
ynab_list_transactions1 field changed- changed
Output schema / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "cache_info": { - "description": "Human-readable cache status message (e.g., \"Cache hit\", \"Cache miss\")", - "type": "string" - }, - "cached": { - "description": "Indicates if data was served from cache", - "type": "boolean" - }, - "has_more": { - "description": "Whether more items exist beyond this page", - "type": "boolean" - }, - "next_offset": { - "description": "Offset for next page, if has_more is true", - "maximum": 9007199254740991, - "minimum": -9007199254740991, - "type": "integer" - }, - "offset": { - "description": "Offset used for this response", - "maximum": 9007199254740991, - "minimum": -9007199254740991, - "type": "integer" - }, - "returned_count": { - "description": "Number of items returned", - "maximum": 9007199254740991, - "minimum": -9007199254740991, - "type": "integer" - }, - "total_count": { - "description": "Total number of items available", - "maximum": 9007199254740991, - "minimum": -9007199254740991, - "type": "integer" - }, - "transactions": { - "description": "List of transactions", - "items": { - "additionalProperties": false, - "properties": { - "account_id": { - "description": "Account ID", - "type": "string" - }, - "account_name": { - "description": "Account name", - "type": "string" - }, - "amount": { - "description": "Transaction amount in dollars", - "type": "number" - }, - "approved": { - "description": "Approved flag", - "type": "boolean" - }, - "category_id": { - "description": "Category ID", - "type": [ - "string", - "null" - ] - }, - "category_name": { - "description": "Category name", - "type": "string" - }, - "cleared": { - "description": "Cleared status", - "type": "string" - }, - "date": { - "description": "Transaction date", - "type": "string" - }, - "deleted": { - "description": "Deleted flag", - "type": "boolean" - }, - "flag_color": { - "description": "Flag color", - "type": "string" - }, - "id": { - "description": "Transaction ID", - "type": "string" - }, - "import_id": { - "description": "Import ID", - "type": "string" - }, - "matched_transaction_id": { - "description": "Matched transaction ID", - "type": [ - "string", - "null" - ] - }, - "memo": { - "description": "Transaction memo", - "type": "string" - }, - "payee_id": { - "description": "Payee ID", - "type": [ - "string", - "null" - ] - }, - "payee_name": { - "description": "Payee name", - "type": "string" - }, - "transfer_account_id": { - "description": "Transfer account ID", - "type": [ - "string", - "null" - ] - }, - "transfer_transaction_id": { - "description": "Transfer transaction ID", - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "id", - "date", - "amount", - "cleared", - "approved", - "account_id", - "deleted" - ], - "type": "object" - }, - "type": "array" - }, - "usedDelta": { - "description": "Indicates if delta merge optimization was applied for budgets", - "type": "boolean" - } - }, - "required": [ - "total_count", - "returned_count", - "offset", - "has_more", - "transactions" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "estimated_size_kb": { - "description": "Estimated response size in KB", - "type": "number" - }, - "message": { - "description": "Large result set message", - "type": "string" - }, - "preview_transactions": { - "description": "Preview transactions", - "items": { - "additionalProperties": false, - "properties": { - "account_id": { - "description": "Account ID", - "type": "string" - }, - "amount": { - "description": "Transaction amount in dollars", - "type": "number" - }, - "category_name": { - "description": "Category name", - "type": "string" - }, - "date": { - "description": "Transaction date", - "type": "string" - }, - "id": { - "description": "Transaction ID", - "type": "string" - }, - "memo": { - "description": "Transaction memo", - "type": "string" - }, - "payee_name": { - "description": "Payee name", - "type": "string" - } - }, - "required": [ - "id", - "date", - "amount", - "account_id" - ], - "type": "object" - }, - "type": "array" - }, - "showing": { - "description": "Human-readable summary of transactions shown", - "type": "string" - }, - "suggestion": { - "description": "Suggestion to narrow results", - "type": "string" - }, - "total_count": { - "description": "Total transaction count", - "maximum": 9007199254740991, - "minimum": -9007199254740991, - "type": "integer" - } - }, - "required": [ - "message", - "suggestion", - "showing", - "total_count", - "estimated_size_kb", - "preview_transactions" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "cache_info": { + "description": "Human-readable cache status message (e.g., \"Cache hit\", \"Cache miss\")", + "type": "string" + }, + "cached": { + "description": "Indicates if data was served from cache", + "type": "boolean" + }, + "has_more": { + "description": "Whether more items exist beyond this page", + "type": "boolean" + }, + "next_offset": { + "description": "Offset for next page, if has_more is true", + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "offset": { + "description": "Offset used for this response", + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "returned_count": { + "description": "Number of items returned", + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "total_count": { + "description": "Total number of items available", + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "transactions": { + "description": "List of transactions", + "items": { + "additionalProperties": false, + "properties": { + "account_id": { + "type": "string" + }, + "account_name": { + "type": "string" + }, + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "approved": { + "type": "boolean" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "cleared": { + "type": "string" + }, + "date": { + "type": "string" + }, + "debt_transaction_type": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "flag_color": { + "type": [ + "string", + "null" + ] + }, + "flag_name": { + "type": [ + "string", + "null" + ] + }, + "id": { + "type": "string" + }, + "import_id": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name_original": { + "type": [ + "string", + "null" + ] + }, + "matched_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "parent_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "subtransactions": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "amount" + ], + "type": "object" + }, + "type": "array" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "type": { + "enum": [ + "transaction", + "subtransaction" + ], + "type": "string" + } + }, + "required": [ + "id", + "amount", + "deleted", + "date", + "account_id", + "cleared", + "approved" + ], + "type": "object" + }, + "type": "array" + }, + "usedDelta": { + "description": "Indicates if delta merge optimization was applied for budgets", + "type": "boolean" + } + }, + "required": [ + "total_count", + "returned_count", + "offset", + "has_more", + "transactions" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "estimated_size_kb": { + "description": "Estimated response size in KB", + "type": "number" + }, + "message": { + "description": "Large result set message", + "type": "string" + }, + "preview_transactions": { + "description": "Preview transactions", + "items": { + "additionalProperties": false, + "properties": { + "account_id": { + "type": "string" + }, + "account_name": { + "type": "string" + }, + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "approved": { + "type": "boolean" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "cleared": { + "type": "string" + }, + "date": { + "type": "string" + }, + "debt_transaction_type": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "flag_color": { + "type": [ + "string", + "null" + ] + }, + "flag_name": { + "type": [ + "string", + "null" + ] + }, + "id": { + "type": "string" + }, + "import_id": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name_original": { + "type": [ + "string", + "null" + ] + }, + "matched_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "parent_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "subtransactions": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "amount" + ], + "type": "object" + }, + "type": "array" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "type": { + "enum": [ + "transaction", + "subtransaction" + ], + "type": "string" + } + }, + "required": [ + "id", + "amount", + "date", + "account_id" + ], + "type": "object" + }, + "type": "array" + }, + "showing": { + "description": "Human-readable summary of transactions shown", + "type": "string" + }, + "suggestion": { + "description": "Suggestion to narrow results", + "type": "string" + }, + "total_count": { + "description": "Total transaction count", + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + } + }, + "required": [ + "message", + "suggestion", + "showing", + "total_count", + "estimated_size_kb", + "preview_transactions" + ], + "type": "object" + } +]
- Changed
ynab_reconcile_account7 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / confirmation_token / anyOfAdded value: +[ + { + "minLength": 16, + "type": "string" + }, + { + "const": "" + }, + { + "type": "null" + } +] - changed
Input schema / properties / confirmation_token / descriptionPrevious value: -"Short-lived, single-use token returned by the immediately preceding preview of this exact validated request."New value: +"Short-lived, single-use token returned by the immediately preceding preview of this exact validated request. Omit, or pass null or an empty string, to preview." - removed
Input schema / properties / confirmation_token / minLengthRemoved value: -16 - removed
Input schema / properties / confirmation_token / typeRemoved value: -"string" - added
Output schema / properties / structured / properties / errorsAdded value: +{ + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / structured / properties / operationsAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "error": { + "type": "string" + }, + "operation": { + "additionalProperties": false, + "properties": { + "changesDate": { + "type": "boolean" + }, + "clearedDelta": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "kind": { + "enum": [ + "create", + "update", + "unclear", + "reconcile" + ], + "type": "string" + }, + "payload": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "reason": { + "type": "string" + } + }, + "required": [ + "kind", + "payload", + "reason", + "changesDate", + "clearedDelta" + ], + "type": "object" + }, + "status": { + "enum": [ + "planned", + "applied", + "uncertain", + "skipped" + ], + "type": "string" + }, + "transaction_id": { + "type": "string" + } + }, + "required": [ + "operation", + "status" + ], + "type": "object" + }, + "type": "array" +}
- Changed
ynab_update_category4 fields changed- added
Input schema / properties / confirmation_token / anyOfAdded value: +[ + { + "minLength": 16, + "type": "string" + }, + { + "const": "" + }, + { + "type": "null" + } +] - changed
Input schema / properties / confirmation_token / descriptionPrevious value: -"Short-lived, single-use token returned by the immediately preceding preview of this exact validated request."New value: +"Short-lived, single-use token returned by the immediately preceding preview of this exact validated request. Omit, or pass null or an empty string, to preview." - removed
Input schema / properties / confirmation_token / minLengthRemoved value: -16 - removed
Input schema / properties / confirmation_token / typeRemoved value: -"string"
- Changed
ynab_update_scheduled_transaction6 fields changed- added
Input schema / properties / confirmation_token / anyOfAdded value: +[ + { + "minLength": 16, + "type": "string" + }, + { + "const": "" + }, + { + "type": "null" + } +] - changed
Input schema / properties / confirmation_token / descriptionPrevious value: -"Short-lived, single-use token returned by the immediately preceding preview of this exact validated request."New value: +"Short-lived, single-use token returned by the immediately preceding preview of this exact validated request. Omit, or pass null or an empty string, to preview." - removed
Input schema / properties / confirmation_token / minLengthRemoved value: -16 - removed
Input schema / properties / confirmation_token / typeRemoved value: -"string" - removed
Input schema / properties / date / patternRemoved value: -"^\\d{4}-\\d{2}-\\d{2}$" - changed
Output schema / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "action": { - "type": "string" - }, - "dry_run": { - "const": true, - "type": "boolean" - }, - "request": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - }, - "required": [ - "dry_run", - "action", - "request" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "scheduled_transaction": { - "additionalProperties": false, - "properties": { - "account_id": { - "type": "string" - }, - "account_name": { - "type": "string" - }, - "amount": { - "type": "number" - }, - "amount_milliunits": { - "maximum": 9007199254740991, - "minimum": -9007199254740991, - "type": "integer" - }, - "category_id": { - "type": [ - "string", - "null" - ] - }, - "category_name": { - "type": [ - "string", - "null" - ] - }, - "date_first": { - "type": "string" - }, - "date_next": { - "type": "string" - }, - "deleted": { - "type": "boolean" - }, - "flag_color": { - "type": [ - "string", - "null" - ] - }, - "frequency": { - "enum": [ - "never", - "daily", - "weekly", - "everyOtherWeek", - "twiceAMonth", - "every4Weeks", - "monthly", - "everyOtherMonth", - "every3Months", - "every4Months", - "twiceAYear", - "yearly", - "everyOtherYear" - ], - "type": "string" - }, - "id": { - "type": "string" - }, - "memo": { - "type": [ - "string", - "null" - ] - }, - "payee_id": { - "type": [ - "string", - "null" - ] - }, - "payee_name": { - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "id", - "date_first", - "date_next", - "frequency", - "amount", - "amount_milliunits", - "account_id", - "account_name", - "payee_id", - "payee_name", - "category_id", - "category_name", - "memo", - "flag_color", - "deleted" - ], - "type": "object" - } - }, - "required": [ - "scheduled_transaction" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "action": { + "type": "string" + }, + "dry_run": { + "const": true, + "type": "boolean" + }, + "request": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + }, + "required": [ + "dry_run", + "action", + "request" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "scheduled_transaction": { + "additionalProperties": false, + "properties": { + "account_id": { + "type": "string" + }, + "account_name": { + "type": "string" + }, + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "date_first": { + "type": "string" + }, + "date_next": { + "type": "string" + }, + "debt_transaction_type": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "flag_color": { + "type": [ + "string", + "null" + ] + }, + "flag_name": { + "type": [ + "string", + "null" + ] + }, + "frequency": { + "enum": [ + "never", + "daily", + "weekly", + "everyOtherWeek", + "twiceAMonth", + "every4Weeks", + "monthly", + "everyOtherMonth", + "every3Months", + "every4Months", + "twiceAYear", + "yearly", + "everyOtherYear" + ], + "type": "string" + }, + "id": { + "type": "string" + }, + "import_id": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name_original": { + "type": [ + "string", + "null" + ] + }, + "matched_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "parent_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "subtransactions": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "amount" + ], + "type": "object" + }, + "type": "array" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "type": { + "enum": [ + "transaction", + "subtransaction" + ], + "type": "string" + } + }, + "required": [ + "id", + "amount", + "deleted", + "account_id", + "date_first", + "date_next", + "frequency" + ], + "type": "object" + } + }, + "required": [ + "scheduled_transaction" + ], + "type": "object" + } +]
- Changed
ynab_update_transaction5 fields changed- added
Input schema / properties / confirmation_token / anyOfAdded value: +[ + { + "minLength": 16, + "type": "string" + }, + { + "const": "" + }, + { + "type": "null" + } +] - changed
Input schema / properties / confirmation_token / descriptionPrevious value: -"Short-lived, single-use token returned by the immediately preceding preview of this exact validated request."New value: +"Short-lived, single-use token returned by the immediately preceding preview of this exact validated request. Omit, or pass null or an empty string, to preview." - removed
Input schema / properties / confirmation_token / minLengthRemoved value: -16 - removed
Input schema / properties / confirmation_token / typeRemoved value: -"string" - changed
Output schema / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "action": { - "const": "ynab_update_transaction", - "type": "string" - }, - "dry_run": { - "const": true, - "type": "boolean" - }, - "request": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - }, - "required": [ - "dry_run", - "action", - "request" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "transaction": { - "additionalProperties": false, - "properties": { - "account_balance": { - "type": "number" - }, - "account_cleared_balance": { - "type": "number" - }, - "account_id": { - "description": "Account ID", - "type": "string" - }, - "account_name": { - "description": "Account name", - "type": "string" - }, - "amount": { - "description": "Transaction amount in dollars", - "type": "number" - }, - "approved": { - "description": "Approved flag", - "type": "boolean" - }, - "category_id": { - "description": "Category ID", - "type": [ - "string", - "null" - ] - }, - "category_name": { - "description": "Category name", - "type": "string" - }, - "cleared": { - "description": "Cleared status", - "type": "string" - }, - "date": { - "description": "Transaction date", - "type": "string" - }, - "deleted": { - "description": "Deleted flag", - "type": "boolean" - }, - "flag_color": { - "description": "Flag color", - "type": "string" - }, - "id": { - "description": "Transaction ID", - "type": "string" - }, - "import_id": { - "description": "Import ID", - "type": "string" - }, - "matched_transaction_id": { - "description": "Matched transaction ID", - "type": [ - "string", - "null" - ] - }, - "memo": { - "description": "Transaction memo", - "type": "string" - }, - "payee_id": { - "description": "Payee ID", - "type": [ - "string", - "null" - ] - }, - "payee_name": { - "description": "Payee name", - "type": "string" - }, - "subtransactions": { - "items": { - "additionalProperties": false, - "properties": { - "amount": { - "type": "number" - }, - "category_id": { - "type": "string" - }, - "category_name": { - "type": "string" - }, - "deleted": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "memo": { - "type": "string" - }, - "payee_id": { - "type": "string" - }, - "payee_name": { - "type": "string" - }, - "transaction_id": { - "type": "string" - }, - "transfer_account_id": { - "type": "string" - }, - "transfer_transaction_id": { - "type": "string" - } - }, - "required": [ - "id", - "transaction_id", - "amount", - "deleted" - ], - "type": "object" - }, - "type": "array" - }, - "transfer_account_id": { - "description": "Transfer account ID", - "type": [ - "string", - "null" - ] - }, - "transfer_transaction_id": { - "description": "Transfer transaction ID", - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "id", - "date", - "amount", - "cleared", - "approved", - "account_id", - "deleted" - ], - "type": "object" - }, - "updated_balance": { - "type": "number" - }, - "updated_cleared_balance": { - "type": "number" - } - }, - "required": [ - "transaction", - "updated_balance", - "updated_cleared_balance" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "action": { + "const": "ynab_update_transaction", + "type": "string" + }, + "dry_run": { + "const": true, + "type": "boolean" + }, + "request": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + }, + "required": [ + "dry_run", + "action", + "request" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "transaction": { + "additionalProperties": false, + "properties": { + "account_balance": { + "type": "number" + }, + "account_cleared_balance": { + "type": "number" + }, + "account_id": { + "type": "string" + }, + "account_name": { + "type": "string" + }, + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "approved": { + "type": "boolean" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "cleared": { + "type": "string" + }, + "date": { + "type": "string" + }, + "debt_transaction_type": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "flag_color": { + "type": [ + "string", + "null" + ] + }, + "flag_name": { + "type": [ + "string", + "null" + ] + }, + "id": { + "type": "string" + }, + "import_id": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name_original": { + "type": [ + "string", + "null" + ] + }, + "matched_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "parent_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "subtransactions": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id", + "transaction_id", + "amount", + "deleted" + ], + "type": "object" + }, + "type": "array" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "type": { + "enum": [ + "transaction", + "subtransaction" + ], + "type": "string" + } + }, + "required": [ + "id", + "amount", + "deleted", + "date", + "account_id", + "cleared", + "approved" + ], + "type": "object" + }, + "updated_balance": { + "type": "number" + }, + "updated_cleared_balance": { + "type": "number" + } + }, + "required": [ + "transaction" + ], + "type": "object" + } +]
- Changed
ynab_update_transactions5 fields changed- added
Input schema / properties / confirmation_token / anyOfAdded value: +[ + { + "minLength": 16, + "type": "string" + }, + { + "const": "" + }, + { + "type": "null" + } +] - changed
Input schema / properties / confirmation_token / descriptionPrevious value: -"Short-lived, single-use token returned by the immediately preceding preview of this exact validated request."New value: +"Short-lived, single-use token returned by the immediately preceding preview of this exact validated request. Omit, or pass null or an empty string, to preview." - removed
Input schema / properties / confirmation_token / minLengthRemoved value: -16 - removed
Input schema / properties / confirmation_token / typeRemoved value: -"string" - changed
Output schema / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "action": { - "const": "ynab_update_transactions", - "type": "string" - }, - "dry_run": { - "const": true, - "type": "boolean" - }, - "note": { - "type": "string" - }, - "summary": { - "additionalProperties": false, - "properties": { - "accounts_affected": { - "items": { - "type": "string" - }, - "type": "array" - }, - "fields_to_update": { - "items": { - "type": "string" - }, - "type": "array" - }, - "total_transactions": { - "type": "number" - } - }, - "required": [ - "total_transactions", - "accounts_affected", - "fields_to_update" - ], - "type": "object" - }, - "transactions_preview": { - "items": { - "additionalProperties": false, - "properties": { - "after": { - "additionalProperties": false, - "properties": { - "amount": { - "type": "number" - }, - "approved": { - "type": "boolean" - }, - "category_id": { - "type": [ - "string", - "null" - ] - }, - "cleared": { - "enum": [ - "cleared", - "uncleared", - "reconciled" - ], - "type": "string" - }, - "date": { - "pattern": "^\\d{4}-\\d{2}-\\d{2}$", - "type": "string" - }, - "flag_color": { - "anyOf": [ - { - "enum": [ - "red", - "orange", - "yellow", - "green", - "blue", - "purple" - ], - "type": "string" - }, - { - "type": "null" - } - ] - }, - "memo": { - "type": "string" - }, - "payee_id": { - "type": [ - "string", - "null" - ] - }, - "payee_name": { - "type": [ - "string", - "null" - ] - }, - "subtransactions": { - "items": { - "additionalProperties": false, - "properties": { - "amount": { - "type": "number" - }, - "category_id": { - "type": "string" - }, - "memo": { - "type": "string" - }, - "payee_id": { - "type": "string" - }, - "payee_name": { - "type": "string" - } - }, - "required": [ - "amount" - ], - "type": "object" - }, - "type": "array" - } - }, - "type": "object" - }, - "before": { - "anyOf": [ - { - "const": "unavailable", - "type": "string" - }, - { - "additionalProperties": false, - "properties": { - "amount": { - "type": "number" - }, - "approved": { - "type": "boolean" - }, - "category_id": { - "type": [ - "string", - "null" - ] - }, - "cleared": { - "enum": [ - "cleared", - "uncleared", - "reconciled" - ], - "type": "string" - }, - "date": { - "pattern": "^\\d{4}-\\d{2}-\\d{2}$", - "type": "string" - }, - "flag_color": { - "anyOf": [ - { - "enum": [ - "red", - "orange", - "yellow", - "green", - "blue", - "purple" - ], - "type": "string" - }, - { - "type": "null" - } - ] - }, - "memo": { - "type": "string" - }, - "payee_id": { - "type": [ - "string", - "null" - ] - }, - "payee_name": { - "type": [ - "string", - "null" - ] - }, - "subtransactions": { - "items": { - "additionalProperties": false, - "properties": { - "amount": { - "type": "number" - }, - "category_id": { - "type": "string" - }, - "memo": { - "type": "string" - }, - "payee_id": { - "type": "string" - }, - "payee_name": { - "type": "string" - } - }, - "required": [ - "amount" - ], - "type": "object" - }, - "type": "array" - } - }, - "type": "object" - } - ] - }, - "transaction_id": { - "type": "string" - } - }, - "required": [ - "transaction_id", - "before", - "after" - ], - "type": "object" - }, - "type": "array" - }, - "validation": { - "const": "passed", - "type": "string" - }, - "warnings": { - "items": { - "additionalProperties": false, - "properties": { - "code": { - "type": "string" - }, - "count": { - "type": "number" - }, - "message": { - "type": "string" - }, - "sample_ids": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "code", - "count", - "message" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "dry_run", - "action", - "validation", - "summary", - "transactions_preview", - "note" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "message": { - "type": "string" - }, - "mode": { - "enum": [ - "full", - "summary", - "ids_only" - ], - "type": "string" - }, - "results": { - "items": { - "additionalProperties": {}, - "properties": { - "correlation_key": { - "type": "string" - }, - "error": { - "type": "string" - }, - "error_code": { - "type": "string" - }, - "request_index": { - "type": "number" - }, - "status": { - "enum": [ - "created", - "duplicate", - "updated", - "failed" - ], - "type": "string" - }, - "transaction_id": { - "type": "string" - } - }, - "required": [ - "request_index", - "status", - "correlation_key" - ], - "type": "object" - }, - "type": "array" - }, - "server_knowledge": { - "type": "number" - }, - "success": { - "type": "boolean" - }, - "summary": { - "additionalProperties": false, - "properties": { - "created": { - "type": "number" - }, - "duplicates": { - "type": "number" - }, - "failed": { - "type": "number" - }, - "total_requested": { - "type": "number" - }, - "updated": { - "type": "number" - } - }, - "required": [ - "total_requested", - "failed" - ], - "type": "object" - }, - "transactions": { - "items": { - "additionalProperties": false, - "properties": { - "account_id": { - "description": "Account ID", - "type": "string" - }, - "account_name": { - "description": "Account name", - "type": "string" - }, - "amount": { - "description": "Transaction amount in dollars", - "type": "number" - }, - "approved": { - "description": "Approved flag", - "type": "boolean" - }, - "category_id": { - "description": "Category ID", - "type": [ - "string", - "null" - ] - }, - "category_name": { - "description": "Category name", - "type": "string" - }, - "cleared": { - "description": "Cleared status", - "type": "string" - }, - "date": { - "description": "Transaction date", - "type": "string" - }, - "deleted": { - "description": "Deleted flag", - "type": "boolean" - }, - "flag_color": { - "description": "Flag color", - "type": "string" - }, - "id": { - "description": "Transaction ID", - "type": "string" - }, - "import_id": { - "description": "Import ID", - "type": "string" - }, - "matched_transaction_id": { - "description": "Matched transaction ID", - "type": [ - "string", - "null" - ] - }, - "memo": { - "description": "Transaction memo", - "type": "string" - }, - "payee_id": { - "description": "Payee ID", - "type": [ - "string", - "null" - ] - }, - "payee_name": { - "description": "Payee name", - "type": "string" - }, - "transfer_account_id": { - "description": "Transfer account ID", - "type": [ - "string", - "null" - ] - }, - "transfer_transaction_id": { - "description": "Transfer transaction ID", - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "id", - "date", - "amount", - "cleared", - "approved", - "account_id", - "deleted" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "success", - "summary", - "results" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "action": { + "const": "ynab_update_transactions", + "type": "string" + }, + "dry_run": { + "const": true, + "type": "boolean" + }, + "note": { + "type": "string" + }, + "summary": { + "additionalProperties": false, + "properties": { + "accounts_affected": { + "items": { + "type": "string" + }, + "type": "array" + }, + "fields_to_update": { + "items": { + "type": "string" + }, + "type": "array" + }, + "total_transactions": { + "type": "number" + } + }, + "required": [ + "total_transactions", + "accounts_affected", + "fields_to_update" + ], + "type": "object" + }, + "transactions_preview": { + "items": { + "additionalProperties": false, + "properties": { + "after": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "approved": { + "type": "boolean" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "cleared": { + "enum": [ + "cleared", + "uncleared", + "reconciled" + ], + "type": "string" + }, + "date": { + "pattern": "^\\d{4}-\\d{2}-\\d{2}$", + "type": "string" + }, + "flag_color": { + "anyOf": [ + { + "enum": [ + "red", + "orange", + "yellow", + "green", + "blue", + "purple" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "subtransactions": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "amount" + ], + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "before": { + "anyOf": [ + { + "const": "unavailable", + "type": "string" + }, + { + "additionalProperties": false, + "properties": { + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "approved": { + "type": "boolean" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "cleared": { + "enum": [ + "cleared", + "uncleared", + "reconciled" + ], + "type": "string" + }, + "date": { + "pattern": "^\\d{4}-\\d{2}-\\d{2}$", + "type": "string" + }, + "flag_color": { + "anyOf": [ + { + "enum": [ + "red", + "orange", + "yellow", + "green", + "blue", + "purple" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "subtransactions": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "amount" + ], + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + } + ] + }, + "transaction_id": { + "type": "string" + } + }, + "required": [ + "transaction_id", + "before", + "after" + ], + "type": "object" + }, + "type": "array" + }, + "validation": { + "const": "passed", + "type": "string" + }, + "warnings": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "count": { + "type": "number" + }, + "message": { + "type": "string" + }, + "sample_ids": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "code", + "count", + "message" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "dry_run", + "action", + "validation", + "summary", + "transactions_preview", + "note" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "message": { + "type": "string" + }, + "mode": { + "enum": [ + "full", + "summary", + "ids_only" + ], + "type": "string" + }, + "results": { + "items": { + "additionalProperties": {}, + "properties": { + "correlation_key": { + "type": "string" + }, + "error": { + "type": "string" + }, + "error_code": { + "type": "string" + }, + "request_index": { + "type": "number" + }, + "status": { + "enum": [ + "created", + "duplicate", + "updated", + "failed" + ], + "type": "string" + }, + "transaction_id": { + "type": "string" + } + }, + "required": [ + "request_index", + "status", + "correlation_key" + ], + "type": "object" + }, + "type": "array" + }, + "results_omitted": { + "type": "boolean" + }, + "server_knowledge": { + "type": "number" + }, + "success": { + "type": "boolean" + }, + "summary": { + "additionalProperties": false, + "properties": { + "created": { + "type": "number" + }, + "duplicates": { + "type": "number" + }, + "failed": { + "type": "number" + }, + "total_requested": { + "type": "number" + }, + "updated": { + "type": "number" + } + }, + "required": [ + "total_requested", + "failed" + ], + "type": "object" + }, + "transactions": { + "items": { + "additionalProperties": false, + "properties": { + "account_id": { + "type": "string" + }, + "account_name": { + "type": "string" + }, + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "approved": { + "type": "boolean" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "cleared": { + "type": "string" + }, + "date": { + "type": "string" + }, + "debt_transaction_type": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "flag_color": { + "type": [ + "string", + "null" + ] + }, + "flag_name": { + "type": [ + "string", + "null" + ] + }, + "id": { + "type": "string" + }, + "import_id": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name": { + "type": [ + "string", + "null" + ] + }, + "import_payee_name_original": { + "type": [ + "string", + "null" + ] + }, + "matched_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "parent_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "subtransactions": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "Amount in decimal currency units", + "type": "number" + }, + "amount_currency": { + "type": "number" + }, + "amount_formatted": { + "type": [ + "string", + "null" + ] + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "deleted": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "scheduled_transaction_id": { + "type": "string" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "amount" + ], + "type": "object" + }, + "type": "array" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "type": [ + "string", + "null" + ] + }, + "type": { + "enum": [ + "transaction", + "subtransaction" + ], + "type": "string" + } + }, + "required": [ + "id", + "amount", + "deleted", + "date", + "account_id", + "cleared", + "approved" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "success", + "summary", + "results" + ], + "type": "object" + } +]
18 tool updates
v0.29.1- Changed
ynab_compare_transactions16 fields changed- removed
Input schema / properties / csv_format / properties / amount_column / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Input schema / properties / csv_format / properties / amount_column / typeAdded value: +[ + "string", + "number" +] - removed
Input schema / properties / csv_format / properties / credit_column / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Input schema / properties / csv_format / properties / credit_column / typeAdded value: +[ + "string", + "number" +] - removed
Input schema / properties / csv_format / properties / date_column / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Input schema / properties / csv_format / properties / date_column / typeAdded value: +[ + "string", + "number" +] - removed
Input schema / properties / csv_format / properties / debit_column / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Input schema / properties / csv_format / properties / debit_column / typeAdded value: +[ + "string", + "number" +] - removed
Input schema / properties / csv_format / properties / description_column / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Input schema / properties / csv_format / properties / description_column / typeAdded value: +[ + "string", + "number" +] - removed
Output schema / properties / matches / items / properties / ynab_payee / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / matches / items / properties / ynab_payee / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / missing_in_bank / items / properties / memo / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / missing_in_bank / items / properties / memo / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / missing_in_bank / items / properties / payee_name / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / missing_in_bank / items / properties / payee_name / typeAdded value: +[ + "string", + "null" +]
- Changed
ynab_create_receipt_split_transaction1 field changed- changed
Output schema / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "action": { - "const": "ynab_create_receipt_split_transaction", - "type": "string" - }, - "dry_run": { - "const": true, - "type": "boolean" - }, - "receipt_summary": { - "additionalProperties": false, - "properties": { - "categories": { - "items": { - "additionalProperties": false, - "properties": { - "category_id": { - "type": "string" - }, - "category_name": { - "type": "string" - }, - "items": { - "items": { - "additionalProperties": false, - "properties": { - "amount": { - "type": "number" - }, - "memo": { - "type": "string" - }, - "name": { - "type": "string" - }, - "quantity": { - "type": "number" - } - }, - "required": [ - "name", - "amount" - ], - "type": "object" - }, - "type": "array" - }, - "subtotal": { - "type": "number" - }, - "tax": { - "type": "number" - }, - "total": { - "type": "number" - } - }, - "required": [ - "category_id", - "items", - "subtotal", - "tax", - "total" - ], - "type": "object" - }, - "type": "array" - }, - "subtotal": { - "type": "number" - }, - "tax": { - "type": "number" - }, - "total": { - "type": "number" - } - }, - "required": [ - "subtotal", - "tax", - "total", - "categories" - ], - "type": "object" - }, - "subtransactions": { - "items": { - "additionalProperties": false, - "properties": { - "amount": { - "type": "number" - }, - "category_id": { - "type": "string" - }, - "category_name": { - "type": "string" - }, - "memo": { - "type": "string" - }, - "payee_id": { - "type": "string" - }, - "payee_name": { - "type": "string" - }, - "transfer_account_id": { - "type": "string" - }, - "transfer_transaction_id": { - "type": "string" - } - }, - "required": [ - "amount" - ], - "type": "object" - }, - "type": "array" - }, - "transaction_preview": { - "additionalProperties": false, - "properties": { - "account_id": { - "type": "string" - }, - "amount": { - "type": "number" - }, - "approved": { - "type": "boolean" - }, - "category_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "cleared": { - "enum": [ - "cleared", - "uncleared", - "reconciled" - ], - "type": "string" - }, - "date": { - "pattern": "^\\d{4}-\\d{2}-\\d{2}$", - "type": "string" - }, - "flag_color": { - "anyOf": [ - { - "enum": [ - "red", - "orange", - "yellow", - "green", - "blue", - "purple" - ], - "type": "string" - }, - { - "type": "null" - } - ] - }, - "import_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "memo": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "payee_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "payee_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "account_id", - "date", - "amount" - ], - "type": "object" - } - }, - "required": [ - "dry_run", - "action", - "transaction_preview", - "receipt_summary", - "subtransactions" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "receipt_summary": { - "additionalProperties": false, - "properties": { - "categories": { - "items": { - "additionalProperties": false, - "properties": { - "category_id": { - "type": "string" - }, - "category_name": { - "type": "string" - }, - "items": { - "items": { - "additionalProperties": false, - "properties": { - "amount": { - "type": "number" - }, - "memo": { - "type": "string" - }, - "name": { - "type": "string" - }, - "quantity": { - "type": "number" - } - }, - "required": [ - "name", - "amount" - ], - "type": "object" - }, - "type": "array" - }, - "subtotal": { - "type": "number" - }, - "tax": { - "type": "number" - }, - "total": { - "type": "number" - } - }, - "required": [ - "category_id", - "items", - "subtotal", - "tax", - "total" - ], - "type": "object" - }, - "type": "array" - }, - "subtotal": { - "type": "number" - }, - "tax": { - "type": "number" - }, - "total": { - "type": "number" - } - }, - "required": [ - "subtotal", - "tax", - "total", - "categories" - ], - "type": "object" - }, - "transaction": { - "additionalProperties": false, - "properties": { - "account_balance": { - "type": "number" - }, - "account_cleared_balance": { - "type": "number" - }, - "account_id": { - "description": "Account ID", - "type": "string" - }, - "account_name": { - "description": "Account name", - "type": "string" - }, - "amount": { - "description": "Transaction amount in dollars", - "type": "number" - }, - "approved": { - "description": "Approved flag", - "type": "boolean" - }, - "category_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Category ID" - }, - "category_name": { - "description": "Category name", - "type": "string" - }, - "cleared": { - "description": "Cleared status", - "type": "string" - }, - "date": { - "description": "Transaction date", - "type": "string" - }, - "deleted": { - "description": "Deleted flag", - "type": "boolean" - }, - "flag_color": { - "description": "Flag color", - "type": "string" - }, - "id": { - "description": "Transaction ID", - "type": "string" - }, - "import_id": { - "description": "Import ID", - "type": "string" - }, - "matched_transaction_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Matched transaction ID" - }, - "memo": { - "description": "Transaction memo", - "type": "string" - }, - "payee_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Payee ID" - }, - "payee_name": { - "description": "Payee name", - "type": "string" - }, - "subtransactions": { - "items": { - "additionalProperties": false, - "properties": { - "amount": { - "type": "number" - }, - "category_id": { - "type": "string" - }, - "category_name": { - "type": "string" - }, - "deleted": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "memo": { - "type": "string" - }, - "payee_id": { - "type": "string" - }, - "payee_name": { - "type": "string" - }, - "transaction_id": { - "type": "string" - }, - "transfer_account_id": { - "type": "string" - }, - "transfer_transaction_id": { - "type": "string" - } - }, - "required": [ - "id", - "transaction_id", - "amount", - "deleted" - ], - "type": "object" - }, - "type": "array" - }, - "transfer_account_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Transfer account ID" - }, - "transfer_transaction_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Transfer transaction ID" - } - }, - "required": [ - "id", - "date", - "amount", - "cleared", - "approved", - "account_id", - "deleted" - ], - "type": "object" - } - }, - "required": [ - "transaction", - "receipt_summary" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "action": { + "const": "ynab_create_receipt_split_transaction", + "type": "string" + }, + "dry_run": { + "const": true, + "type": "boolean" + }, + "receipt_summary": { + "additionalProperties": false, + "properties": { + "categories": { + "items": { + "additionalProperties": false, + "properties": { + "category_id": { + "type": "string" + }, + "category_name": { + "type": "string" + }, + "items": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "memo": { + "type": "string" + }, + "name": { + "type": "string" + }, + "quantity": { + "type": "number" + } + }, + "required": [ + "name", + "amount" + ], + "type": "object" + }, + "type": "array" + }, + "subtotal": { + "type": "number" + }, + "tax": { + "type": "number" + }, + "total": { + "type": "number" + } + }, + "required": [ + "category_id", + "items", + "subtotal", + "tax", + "total" + ], + "type": "object" + }, + "type": "array" + }, + "subtotal": { + "type": "number" + }, + "tax": { + "type": "number" + }, + "total": { + "type": "number" + } + }, + "required": [ + "subtotal", + "tax", + "total", + "categories" + ], + "type": "object" + }, + "subtransactions": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "category_id": { + "type": "string" + }, + "category_name": { + "type": "string" + }, + "memo": { + "type": "string" + }, + "payee_id": { + "type": "string" + }, + "payee_name": { + "type": "string" + }, + "transfer_account_id": { + "type": "string" + }, + "transfer_transaction_id": { + "type": "string" + } + }, + "required": [ + "amount" + ], + "type": "object" + }, + "type": "array" + }, + "transaction_preview": { + "additionalProperties": false, + "properties": { + "account_id": { + "type": "string" + }, + "amount": { + "type": "number" + }, + "approved": { + "type": "boolean" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "cleared": { + "enum": [ + "cleared", + "uncleared", + "reconciled" + ], + "type": "string" + }, + "date": { + "pattern": "^\\d{4}-\\d{2}-\\d{2}$", + "type": "string" + }, + "flag_color": { + "anyOf": [ + { + "enum": [ + "red", + "orange", + "yellow", + "green", + "blue", + "purple" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "import_id": { + "type": [ + "string", + "null" + ] + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "account_id", + "date", + "amount" + ], + "type": "object" + } + }, + "required": [ + "dry_run", + "action", + "transaction_preview", + "receipt_summary", + "subtransactions" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "receipt_summary": { + "additionalProperties": false, + "properties": { + "categories": { + "items": { + "additionalProperties": false, + "properties": { + "category_id": { + "type": "string" + }, + "category_name": { + "type": "string" + }, + "items": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "memo": { + "type": "string" + }, + "name": { + "type": "string" + }, + "quantity": { + "type": "number" + } + }, + "required": [ + "name", + "amount" + ], + "type": "object" + }, + "type": "array" + }, + "subtotal": { + "type": "number" + }, + "tax": { + "type": "number" + }, + "total": { + "type": "number" + } + }, + "required": [ + "category_id", + "items", + "subtotal", + "tax", + "total" + ], + "type": "object" + }, + "type": "array" + }, + "subtotal": { + "type": "number" + }, + "tax": { + "type": "number" + }, + "total": { + "type": "number" + } + }, + "required": [ + "subtotal", + "tax", + "total", + "categories" + ], + "type": "object" + }, + "transaction": { + "additionalProperties": false, + "properties": { + "account_balance": { + "type": "number" + }, + "account_cleared_balance": { + "type": "number" + }, + "account_id": { + "description": "Account ID", + "type": "string" + }, + "account_name": { + "description": "Account name", + "type": "string" + }, + "amount": { + "description": "Transaction amount in dollars", + "type": "number" + }, + "approved": { + "description": "Approved flag", + "type": "boolean" + }, + "category_id": { + "description": "Category ID", + "type": [ + "string", + "null" + ] + }, + "category_name": { + "description": "Category name", + "type": "string" + }, + "cleared": { + "description": "Cleared status", + "type": "string" + }, + "date": { + "description": "Transaction date", + "type": "string" + }, + "deleted": { + "description": "Deleted flag", + "type": "boolean" + }, + "flag_color": { + "description": "Flag color", + "type": "string" + }, + "id": { + "description": "Transaction ID", + "type": "string" + }, + "import_id": { + "description": "Import ID", + "type": "string" + }, + "matched_transaction_id": { + "description": "Matched transaction ID", + "type": [ + "string", + "null" + ] + }, + "memo": { + "description": "Transaction memo", + "type": "string" + }, + "payee_id": { + "description": "Payee ID", + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "description": "Payee name", + "type": "string" + }, + "subtransactions": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "category_id": { + "type": "string" + }, + "category_name": { + "type": "string" + }, + "deleted": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "memo": { + "type": "string" + }, + "payee_id": { + "type": "string" + }, + "payee_name": { + "type": "string" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": "string" + }, + "transfer_transaction_id": { + "type": "string" + } + }, + "required": [ + "id", + "transaction_id", + "amount", + "deleted" + ], + "type": "object" + }, + "type": "array" + }, + "transfer_account_id": { + "description": "Transfer account ID", + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "description": "Transfer transaction ID", + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id", + "date", + "amount", + "cleared", + "approved", + "account_id", + "deleted" + ], + "type": "object" + } + }, + "required": [ + "transaction", + "receipt_summary" + ], + "type": "object" + } +]
- Changed
ynab_create_scheduled_transaction9 fields changed- removed
Input schema / properties / category_id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Input schema / properties / category_id / typeAdded value: +[ + "string", + "null" +] - removed
Input schema / properties / memo / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Input schema / properties / memo / typeAdded value: +[ + "string", + "null" +] - removed
Input schema / properties / payee_id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Input schema / properties / payee_id / typeAdded value: +[ + "string", + "null" +] - removed
Input schema / properties / payee_name / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Input schema / properties / payee_name / typeAdded value: +[ + "string", + "null" +] - changed
Output schema / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "action": { - "type": "string" - }, - "dry_run": { - "const": true, - "type": "boolean" - }, - "request": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - }, - "required": [ - "dry_run", - "action", - "request" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "scheduled_transaction": { - "additionalProperties": false, - "properties": { - "account_id": { - "type": "string" - }, - "account_name": { - "type": "string" - }, - "amount": { - "type": "number" - }, - "amount_milliunits": { - "maximum": 9007199254740991, - "minimum": -9007199254740991, - "type": "integer" - }, - "category_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "category_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "date_first": { - "type": "string" - }, - "date_next": { - "type": "string" - }, - "deleted": { - "type": "boolean" - }, - "flag_color": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "frequency": { - "enum": [ - "never", - "daily", - "weekly", - "everyOtherWeek", - "twiceAMonth", - "every4Weeks", - "monthly", - "everyOtherMonth", - "every3Months", - "every4Months", - "twiceAYear", - "yearly", - "everyOtherYear" - ], - "type": "string" - }, - "id": { - "type": "string" - }, - "memo": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "payee_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "payee_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "id", - "date_first", - "date_next", - "frequency", - "amount", - "amount_milliunits", - "account_id", - "account_name", - "payee_id", - "payee_name", - "category_id", - "category_name", - "memo", - "flag_color", - "deleted" - ], - "type": "object" - } - }, - "required": [ - "scheduled_transaction" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "action": { + "type": "string" + }, + "dry_run": { + "const": true, + "type": "boolean" + }, + "request": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + }, + "required": [ + "dry_run", + "action", + "request" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "scheduled_transaction": { + "additionalProperties": false, + "properties": { + "account_id": { + "type": "string" + }, + "account_name": { + "type": "string" + }, + "amount": { + "type": "number" + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "date_first": { + "type": "string" + }, + "date_next": { + "type": "string" + }, + "deleted": { + "type": "boolean" + }, + "flag_color": { + "type": [ + "string", + "null" + ] + }, + "frequency": { + "enum": [ + "never", + "daily", + "weekly", + "everyOtherWeek", + "twiceAMonth", + "every4Weeks", + "monthly", + "everyOtherMonth", + "every3Months", + "every4Months", + "twiceAYear", + "yearly", + "everyOtherYear" + ], + "type": "string" + }, + "id": { + "type": "string" + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id", + "date_first", + "date_next", + "frequency", + "amount", + "amount_milliunits", + "account_id", + "account_name", + "payee_id", + "payee_name", + "category_id", + "category_name", + "memo", + "flag_color", + "deleted" + ], + "type": "object" + } + }, + "required": [ + "scheduled_transaction" + ], + "type": "object" + } +]
- Changed
ynab_create_transaction1 field changed- changed
Output schema / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "action": { - "const": "ynab_create_transaction", - "type": "string" - }, - "dry_run": { - "const": true, - "type": "boolean" - }, - "request": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - }, - "required": [ - "dry_run", - "action", - "request" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "transaction": { - "additionalProperties": false, - "properties": { - "account_balance": { - "type": "number" - }, - "account_cleared_balance": { - "type": "number" - }, - "account_id": { - "description": "Account ID", - "type": "string" - }, - "account_name": { - "description": "Account name", - "type": "string" - }, - "amount": { - "description": "Transaction amount in dollars", - "type": "number" - }, - "approved": { - "description": "Approved flag", - "type": "boolean" - }, - "category_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Category ID" - }, - "category_name": { - "description": "Category name", - "type": "string" - }, - "cleared": { - "description": "Cleared status", - "type": "string" - }, - "date": { - "description": "Transaction date", - "type": "string" - }, - "deleted": { - "description": "Deleted flag", - "type": "boolean" - }, - "flag_color": { - "description": "Flag color", - "type": "string" - }, - "id": { - "description": "Transaction ID", - "type": "string" - }, - "import_id": { - "description": "Import ID", - "type": "string" - }, - "matched_transaction_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Matched transaction ID" - }, - "memo": { - "description": "Transaction memo", - "type": "string" - }, - "payee_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Payee ID" - }, - "payee_name": { - "description": "Payee name", - "type": "string" - }, - "subtransactions": { - "items": { - "additionalProperties": false, - "properties": { - "amount": { - "type": "number" - }, - "category_id": { - "type": "string" - }, - "category_name": { - "type": "string" - }, - "deleted": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "memo": { - "type": "string" - }, - "payee_id": { - "type": "string" - }, - "payee_name": { - "type": "string" - }, - "transaction_id": { - "type": "string" - }, - "transfer_account_id": { - "type": "string" - }, - "transfer_transaction_id": { - "type": "string" - } - }, - "required": [ - "id", - "transaction_id", - "amount", - "deleted" - ], - "type": "object" - }, - "type": "array" - }, - "transfer_account_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Transfer account ID" - }, - "transfer_transaction_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Transfer transaction ID" - } - }, - "required": [ - "id", - "date", - "amount", - "cleared", - "approved", - "account_id", - "deleted" - ], - "type": "object" - } - }, - "required": [ - "transaction" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "action": { + "const": "ynab_create_transaction", + "type": "string" + }, + "dry_run": { + "const": true, + "type": "boolean" + }, + "request": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + }, + "required": [ + "dry_run", + "action", + "request" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "transaction": { + "additionalProperties": false, + "properties": { + "account_balance": { + "type": "number" + }, + "account_cleared_balance": { + "type": "number" + }, + "account_id": { + "description": "Account ID", + "type": "string" + }, + "account_name": { + "description": "Account name", + "type": "string" + }, + "amount": { + "description": "Transaction amount in dollars", + "type": "number" + }, + "approved": { + "description": "Approved flag", + "type": "boolean" + }, + "category_id": { + "description": "Category ID", + "type": [ + "string", + "null" + ] + }, + "category_name": { + "description": "Category name", + "type": "string" + }, + "cleared": { + "description": "Cleared status", + "type": "string" + }, + "date": { + "description": "Transaction date", + "type": "string" + }, + "deleted": { + "description": "Deleted flag", + "type": "boolean" + }, + "flag_color": { + "description": "Flag color", + "type": "string" + }, + "id": { + "description": "Transaction ID", + "type": "string" + }, + "import_id": { + "description": "Import ID", + "type": "string" + }, + "matched_transaction_id": { + "description": "Matched transaction ID", + "type": [ + "string", + "null" + ] + }, + "memo": { + "description": "Transaction memo", + "type": "string" + }, + "payee_id": { + "description": "Payee ID", + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "description": "Payee name", + "type": "string" + }, + "subtransactions": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "category_id": { + "type": "string" + }, + "category_name": { + "type": "string" + }, + "deleted": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "memo": { + "type": "string" + }, + "payee_id": { + "type": "string" + }, + "payee_name": { + "type": "string" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": "string" + }, + "transfer_transaction_id": { + "type": "string" + } + }, + "required": [ + "id", + "transaction_id", + "amount", + "deleted" + ], + "type": "object" + }, + "type": "array" + }, + "transfer_account_id": { + "description": "Transfer account ID", + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "description": "Transfer transaction ID", + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id", + "date", + "amount", + "cleared", + "approved", + "account_id", + "deleted" + ], + "type": "object" + } + }, + "required": [ + "transaction" + ], + "type": "object" + } +]
- Changed
ynab_create_transactions1 field changed- changed
Output schema / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "action": { - "const": "ynab_create_transactions", - "type": "string" - }, - "dry_run": { - "const": true, - "type": "boolean" - }, - "note": { - "type": "string" - }, - "summary": { - "additionalProperties": false, - "properties": { - "accounts_affected": { - "items": { - "type": "string" - }, - "type": "array" - }, - "categories_affected": { - "items": { - "type": "string" - }, - "type": "array" - }, - "date_range": { - "additionalProperties": false, - "properties": { - "earliest": { - "pattern": "^\\d{4}-\\d{2}-\\d{2}$", - "type": "string" - }, - "latest": { - "pattern": "^\\d{4}-\\d{2}-\\d{2}$", - "type": "string" - } - }, - "required": [ - "earliest", - "latest" - ], - "type": "object" - }, - "total_amount": { - "type": "number" - }, - "total_transactions": { - "type": "number" - } - }, - "required": [ - "total_transactions", - "total_amount", - "accounts_affected", - "categories_affected" - ], - "type": "object" - }, - "transactions_preview": { - "items": { - "additionalProperties": false, - "properties": { - "account_id": { - "type": "string" - }, - "amount": { - "type": "number" - }, - "category_id": { - "type": "string" - }, - "date": { - "pattern": "^\\d{4}-\\d{2}-\\d{2}$", - "type": "string" - }, - "import_id": { - "type": "string" - }, - "memo": { - "type": "string" - }, - "payee_id": { - "type": "string" - }, - "payee_name": { - "type": "string" - }, - "request_index": { - "type": "number" - } - }, - "required": [ - "request_index", - "account_id", - "date", - "amount" - ], - "type": "object" - }, - "type": "array" - }, - "validation": { - "const": "passed", - "type": "string" - } - }, - "required": [ - "dry_run", - "action", - "validation", - "summary", - "transactions_preview", - "note" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "duplicate_import_ids": { - "items": { - "type": "string" - }, - "type": "array" - }, - "message": { - "type": "string" - }, - "mode": { - "enum": [ - "full", - "summary", - "ids_only" - ], - "type": "string" - }, - "results": { - "items": { - "additionalProperties": {}, - "properties": { - "correlation_key": { - "type": "string" - }, - "error": { - "type": "string" - }, - "error_code": { - "type": "string" - }, - "request_index": { - "type": "number" - }, - "status": { - "enum": [ - "created", - "duplicate", - "updated", - "failed" - ], - "type": "string" - }, - "transaction_id": { - "type": "string" - } - }, - "required": [ - "request_index", - "status", - "correlation_key" - ], - "type": "object" - }, - "type": "array" - }, - "server_knowledge": { - "type": "number" - }, - "success": { - "type": "boolean" - }, - "summary": { - "additionalProperties": false, - "properties": { - "created": { - "type": "number" - }, - "duplicates": { - "type": "number" - }, - "failed": { - "type": "number" - }, - "total_requested": { - "type": "number" - }, - "updated": { - "type": "number" - } - }, - "required": [ - "total_requested", - "failed" - ], - "type": "object" - }, - "transactions": { - "items": { - "additionalProperties": false, - "properties": { - "account_id": { - "description": "Account ID", - "type": "string" - }, - "account_name": { - "description": "Account name", - "type": "string" - }, - "amount": { - "description": "Transaction amount in dollars", - "type": "number" - }, - "approved": { - "description": "Approved flag", - "type": "boolean" - }, - "category_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Category ID" - }, - "category_name": { - "description": "Category name", - "type": "string" - }, - "cleared": { - "description": "Cleared status", - "type": "string" - }, - "date": { - "description": "Transaction date", - "type": "string" - }, - "deleted": { - "description": "Deleted flag", - "type": "boolean" - }, - "flag_color": { - "description": "Flag color", - "type": "string" - }, - "id": { - "description": "Transaction ID", - "type": "string" - }, - "import_id": { - "description": "Import ID", - "type": "string" - }, - "matched_transaction_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Matched transaction ID" - }, - "memo": { - "description": "Transaction memo", - "type": "string" - }, - "payee_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Payee ID" - }, - "payee_name": { - "description": "Payee name", - "type": "string" - }, - "transfer_account_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Transfer account ID" - }, - "transfer_transaction_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Transfer transaction ID" - } - }, - "required": [ - "id", - "date", - "amount", - "cleared", - "approved", - "account_id", - "deleted" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "success", - "summary", - "results" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "action": { + "const": "ynab_create_transactions", + "type": "string" + }, + "dry_run": { + "const": true, + "type": "boolean" + }, + "note": { + "type": "string" + }, + "summary": { + "additionalProperties": false, + "properties": { + "accounts_affected": { + "items": { + "type": "string" + }, + "type": "array" + }, + "categories_affected": { + "items": { + "type": "string" + }, + "type": "array" + }, + "date_range": { + "additionalProperties": false, + "properties": { + "earliest": { + "pattern": "^\\d{4}-\\d{2}-\\d{2}$", + "type": "string" + }, + "latest": { + "pattern": "^\\d{4}-\\d{2}-\\d{2}$", + "type": "string" + } + }, + "required": [ + "earliest", + "latest" + ], + "type": "object" + }, + "total_amount": { + "type": "number" + }, + "total_transactions": { + "type": "number" + } + }, + "required": [ + "total_transactions", + "total_amount", + "accounts_affected", + "categories_affected" + ], + "type": "object" + }, + "transactions_preview": { + "items": { + "additionalProperties": false, + "properties": { + "account_id": { + "type": "string" + }, + "amount": { + "type": "number" + }, + "category_id": { + "type": "string" + }, + "date": { + "pattern": "^\\d{4}-\\d{2}-\\d{2}$", + "type": "string" + }, + "import_id": { + "type": "string" + }, + "memo": { + "type": "string" + }, + "payee_id": { + "type": "string" + }, + "payee_name": { + "type": "string" + }, + "request_index": { + "type": "number" + } + }, + "required": [ + "request_index", + "account_id", + "date", + "amount" + ], + "type": "object" + }, + "type": "array" + }, + "validation": { + "const": "passed", + "type": "string" + } + }, + "required": [ + "dry_run", + "action", + "validation", + "summary", + "transactions_preview", + "note" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "duplicate_import_ids": { + "items": { + "type": "string" + }, + "type": "array" + }, + "message": { + "type": "string" + }, + "mode": { + "enum": [ + "full", + "summary", + "ids_only" + ], + "type": "string" + }, + "results": { + "items": { + "additionalProperties": {}, + "properties": { + "correlation_key": { + "type": "string" + }, + "error": { + "type": "string" + }, + "error_code": { + "type": "string" + }, + "request_index": { + "type": "number" + }, + "status": { + "enum": [ + "created", + "duplicate", + "updated", + "failed" + ], + "type": "string" + }, + "transaction_id": { + "type": "string" + } + }, + "required": [ + "request_index", + "status", + "correlation_key" + ], + "type": "object" + }, + "type": "array" + }, + "server_knowledge": { + "type": "number" + }, + "success": { + "type": "boolean" + }, + "summary": { + "additionalProperties": false, + "properties": { + "created": { + "type": "number" + }, + "duplicates": { + "type": "number" + }, + "failed": { + "type": "number" + }, + "total_requested": { + "type": "number" + }, + "updated": { + "type": "number" + } + }, + "required": [ + "total_requested", + "failed" + ], + "type": "object" + }, + "transactions": { + "items": { + "additionalProperties": false, + "properties": { + "account_id": { + "description": "Account ID", + "type": "string" + }, + "account_name": { + "description": "Account name", + "type": "string" + }, + "amount": { + "description": "Transaction amount in dollars", + "type": "number" + }, + "approved": { + "description": "Approved flag", + "type": "boolean" + }, + "category_id": { + "description": "Category ID", + "type": [ + "string", + "null" + ] + }, + "category_name": { + "description": "Category name", + "type": "string" + }, + "cleared": { + "description": "Cleared status", + "type": "string" + }, + "date": { + "description": "Transaction date", + "type": "string" + }, + "deleted": { + "description": "Deleted flag", + "type": "boolean" + }, + "flag_color": { + "description": "Flag color", + "type": "string" + }, + "id": { + "description": "Transaction ID", + "type": "string" + }, + "import_id": { + "description": "Import ID", + "type": "string" + }, + "matched_transaction_id": { + "description": "Matched transaction ID", + "type": [ + "string", + "null" + ] + }, + "memo": { + "description": "Transaction memo", + "type": "string" + }, + "payee_id": { + "description": "Payee ID", + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "description": "Payee name", + "type": "string" + }, + "transfer_account_id": { + "description": "Transfer account ID", + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "description": "Transfer transaction ID", + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id", + "date", + "amount", + "cleared", + "approved", + "account_id", + "deleted" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "success", + "summary", + "results" + ], + "type": "object" + } +]
- Changed
ynab_diagnostic_info4 fields changed- removed
Output schema / properties / cache / properties / lastCleanup / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / cache / properties / lastCleanup / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / environment / properties / token_preview / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / environment / properties / token_preview / typeAdded value: +[ + "string", + "null" +]
- Changed
ynab_export_transactions8 fields changed- removed
Output schema / properties / minimal_fields / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / minimal_fields / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / preview_transactions / items / properties / category_name / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / preview_transactions / items / properties / category_name / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / preview_transactions / items / properties / memo / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / preview_transactions / items / properties / memo / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / preview_transactions / items / properties / payee_name / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / preview_transactions / items / properties / payee_name / typeAdded value: +[ + "string", + "null" +]
- Changed
ynab_get_default_budget2 fields changed- removed
Output schema / properties / default_budget_id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / default_budget_id / typeAdded value: +[ + "string", + "null" +]
- Changed
ynab_get_month2 fields changed- removed
Output schema / properties / month / properties / age_of_money / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / month / properties / age_of_money / typeAdded value: +[ + "number", + "null" +]
- Changed
ynab_get_scheduled_transaction12 fields changed- removed
Output schema / properties / scheduled_transaction / properties / category_id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / scheduled_transaction / properties / category_id / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / scheduled_transaction / properties / category_name / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / scheduled_transaction / properties / category_name / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / scheduled_transaction / properties / flag_color / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / scheduled_transaction / properties / flag_color / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / scheduled_transaction / properties / memo / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / scheduled_transaction / properties / memo / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / scheduled_transaction / properties / payee_id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / scheduled_transaction / properties / payee_id / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / scheduled_transaction / properties / payee_name / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / scheduled_transaction / properties / payee_name / typeAdded value: +[ + "string", + "null" +]
- Changed
ynab_get_transaction10 fields changed- removed
Output schema / properties / transaction / properties / category_id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / transaction / properties / category_id / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / transaction / properties / matched_transaction_id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / transaction / properties / matched_transaction_id / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / transaction / properties / payee_id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / transaction / properties / payee_id / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / transaction / properties / transfer_account_id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / transaction / properties / transfer_account_id / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / transaction / properties / transfer_transaction_id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / transaction / properties / transfer_transaction_id / typeAdded value: +[ + "string", + "null" +]
- Changed
ynab_list_months2 fields changed- removed
Output schema / properties / months / items / properties / age_of_money / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / months / items / properties / age_of_money / typeAdded value: +[ + "number", + "null" +]
- Changed
ynab_list_scheduled_transactions12 fields changed- removed
Output schema / properties / scheduled_transactions / items / properties / category_id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / scheduled_transactions / items / properties / category_id / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / scheduled_transactions / items / properties / category_name / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / scheduled_transactions / items / properties / category_name / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / scheduled_transactions / items / properties / flag_color / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / scheduled_transactions / items / properties / flag_color / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / scheduled_transactions / items / properties / memo / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / scheduled_transactions / items / properties / memo / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / scheduled_transactions / items / properties / payee_id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / scheduled_transactions / items / properties / payee_id / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / scheduled_transactions / items / properties / payee_name / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / scheduled_transactions / items / properties / payee_name / typeAdded value: +[ + "string", + "null" +]
- Changed
ynab_list_transactions1 field changed- changed
Output schema / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "cache_info": { - "description": "Human-readable cache status message (e.g., \"Cache hit\", \"Cache miss\")", - "type": "string" - }, - "cached": { - "description": "Indicates if data was served from cache", - "type": "boolean" - }, - "has_more": { - "description": "Whether more items exist beyond this page", - "type": "boolean" - }, - "next_offset": { - "description": "Offset for next page, if has_more is true", - "maximum": 9007199254740991, - "minimum": -9007199254740991, - "type": "integer" - }, - "offset": { - "description": "Offset used for this response", - "maximum": 9007199254740991, - "minimum": -9007199254740991, - "type": "integer" - }, - "returned_count": { - "description": "Number of items returned", - "maximum": 9007199254740991, - "minimum": -9007199254740991, - "type": "integer" - }, - "total_count": { - "description": "Total number of items available", - "maximum": 9007199254740991, - "minimum": -9007199254740991, - "type": "integer" - }, - "transactions": { - "description": "List of transactions", - "items": { - "additionalProperties": false, - "properties": { - "account_id": { - "description": "Account ID", - "type": "string" - }, - "account_name": { - "description": "Account name", - "type": "string" - }, - "amount": { - "description": "Transaction amount in dollars", - "type": "number" - }, - "approved": { - "description": "Approved flag", - "type": "boolean" - }, - "category_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Category ID" - }, - "category_name": { - "description": "Category name", - "type": "string" - }, - "cleared": { - "description": "Cleared status", - "type": "string" - }, - "date": { - "description": "Transaction date", - "type": "string" - }, - "deleted": { - "description": "Deleted flag", - "type": "boolean" - }, - "flag_color": { - "description": "Flag color", - "type": "string" - }, - "id": { - "description": "Transaction ID", - "type": "string" - }, - "import_id": { - "description": "Import ID", - "type": "string" - }, - "matched_transaction_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Matched transaction ID" - }, - "memo": { - "description": "Transaction memo", - "type": "string" - }, - "payee_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Payee ID" - }, - "payee_name": { - "description": "Payee name", - "type": "string" - }, - "transfer_account_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Transfer account ID" - }, - "transfer_transaction_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Transfer transaction ID" - } - }, - "required": [ - "id", - "date", - "amount", - "cleared", - "approved", - "account_id", - "deleted" - ], - "type": "object" - }, - "type": "array" - }, - "usedDelta": { - "description": "Indicates if delta merge optimization was applied for budgets", - "type": "boolean" - } - }, - "required": [ - "total_count", - "returned_count", - "offset", - "has_more", - "transactions" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "estimated_size_kb": { - "description": "Estimated response size in KB", - "type": "number" - }, - "message": { - "description": "Large result set message", - "type": "string" - }, - "preview_transactions": { - "description": "Preview transactions", - "items": { - "additionalProperties": false, - "properties": { - "account_id": { - "description": "Account ID", - "type": "string" - }, - "amount": { - "description": "Transaction amount in dollars", - "type": "number" - }, - "category_name": { - "description": "Category name", - "type": "string" - }, - "date": { - "description": "Transaction date", - "type": "string" - }, - "id": { - "description": "Transaction ID", - "type": "string" - }, - "memo": { - "description": "Transaction memo", - "type": "string" - }, - "payee_name": { - "description": "Payee name", - "type": "string" - } - }, - "required": [ - "id", - "date", - "amount", - "account_id" - ], - "type": "object" - }, - "type": "array" - }, - "showing": { - "description": "Human-readable summary of transactions shown", - "type": "string" - }, - "suggestion": { - "description": "Suggestion to narrow results", - "type": "string" - }, - "total_count": { - "description": "Total transaction count", - "maximum": 9007199254740991, - "minimum": -9007199254740991, - "type": "integer" - } - }, - "required": [ - "message", - "suggestion", - "showing", - "total_count", - "estimated_size_kb", - "preview_transactions" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "cache_info": { + "description": "Human-readable cache status message (e.g., \"Cache hit\", \"Cache miss\")", + "type": "string" + }, + "cached": { + "description": "Indicates if data was served from cache", + "type": "boolean" + }, + "has_more": { + "description": "Whether more items exist beyond this page", + "type": "boolean" + }, + "next_offset": { + "description": "Offset for next page, if has_more is true", + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "offset": { + "description": "Offset used for this response", + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "returned_count": { + "description": "Number of items returned", + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "total_count": { + "description": "Total number of items available", + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "transactions": { + "description": "List of transactions", + "items": { + "additionalProperties": false, + "properties": { + "account_id": { + "description": "Account ID", + "type": "string" + }, + "account_name": { + "description": "Account name", + "type": "string" + }, + "amount": { + "description": "Transaction amount in dollars", + "type": "number" + }, + "approved": { + "description": "Approved flag", + "type": "boolean" + }, + "category_id": { + "description": "Category ID", + "type": [ + "string", + "null" + ] + }, + "category_name": { + "description": "Category name", + "type": "string" + }, + "cleared": { + "description": "Cleared status", + "type": "string" + }, + "date": { + "description": "Transaction date", + "type": "string" + }, + "deleted": { + "description": "Deleted flag", + "type": "boolean" + }, + "flag_color": { + "description": "Flag color", + "type": "string" + }, + "id": { + "description": "Transaction ID", + "type": "string" + }, + "import_id": { + "description": "Import ID", + "type": "string" + }, + "matched_transaction_id": { + "description": "Matched transaction ID", + "type": [ + "string", + "null" + ] + }, + "memo": { + "description": "Transaction memo", + "type": "string" + }, + "payee_id": { + "description": "Payee ID", + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "description": "Payee name", + "type": "string" + }, + "transfer_account_id": { + "description": "Transfer account ID", + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "description": "Transfer transaction ID", + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id", + "date", + "amount", + "cleared", + "approved", + "account_id", + "deleted" + ], + "type": "object" + }, + "type": "array" + }, + "usedDelta": { + "description": "Indicates if delta merge optimization was applied for budgets", + "type": "boolean" + } + }, + "required": [ + "total_count", + "returned_count", + "offset", + "has_more", + "transactions" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "estimated_size_kb": { + "description": "Estimated response size in KB", + "type": "number" + }, + "message": { + "description": "Large result set message", + "type": "string" + }, + "preview_transactions": { + "description": "Preview transactions", + "items": { + "additionalProperties": false, + "properties": { + "account_id": { + "description": "Account ID", + "type": "string" + }, + "amount": { + "description": "Transaction amount in dollars", + "type": "number" + }, + "category_name": { + "description": "Category name", + "type": "string" + }, + "date": { + "description": "Transaction date", + "type": "string" + }, + "id": { + "description": "Transaction ID", + "type": "string" + }, + "memo": { + "description": "Transaction memo", + "type": "string" + }, + "payee_name": { + "description": "Payee name", + "type": "string" + } + }, + "required": [ + "id", + "date", + "amount", + "account_id" + ], + "type": "object" + }, + "type": "array" + }, + "showing": { + "description": "Human-readable summary of transactions shown", + "type": "string" + }, + "suggestion": { + "description": "Suggestion to narrow results", + "type": "string" + }, + "total_count": { + "description": "Total transaction count", + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + } + }, + "required": [ + "message", + "suggestion", + "showing", + "total_count", + "estimated_size_kb", + "preview_transactions" + ], + "type": "object" + } +]
- Changed
ynab_reconcile_account28 fields changed- removed
Input schema / properties / csv_format / properties / amount_column / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Input schema / properties / csv_format / properties / amount_column / typeAdded value: +[ + "string", + "number" +] - removed
Input schema / properties / csv_format / properties / credit_column / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Input schema / properties / csv_format / properties / credit_column / typeAdded value: +[ + "string", + "number" +] - removed
Input schema / properties / csv_format / properties / date_column / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Input schema / properties / csv_format / properties / date_column / typeAdded value: +[ + "string", + "number" +] - removed
Input schema / properties / csv_format / properties / debit_column / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Input schema / properties / csv_format / properties / debit_column / typeAdded value: +[ + "string", + "number" +] - removed
Input schema / properties / csv_format / properties / description_column / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Input schema / properties / csv_format / properties / description_column / typeAdded value: +[ + "string", + "number" +] - removed
Output schema / properties / structured / properties / suggestions / items / properties / candidates / items / properties / ynab_transaction / properties / categoryName / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / structured / properties / suggestions / items / properties / candidates / items / properties / ynab_transaction / properties / categoryName / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / structured / properties / suggestions / items / properties / candidates / items / properties / ynab_transaction / properties / memo / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / structured / properties / suggestions / items / properties / candidates / items / properties / ynab_transaction / properties / memo / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / structured / properties / suggestions / items / properties / candidates / items / properties / ynab_transaction / properties / payee / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / structured / properties / suggestions / items / properties / candidates / items / properties / ynab_transaction / properties / payee / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / structured / properties / suggestions / items / properties / ynab_transaction / properties / categoryName / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / structured / properties / suggestions / items / properties / ynab_transaction / properties / categoryName / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / structured / properties / suggestions / items / properties / ynab_transaction / properties / memo / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / structured / properties / suggestions / items / properties / ynab_transaction / properties / memo / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / structured / properties / suggestions / items / properties / ynab_transaction / properties / payee / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / structured / properties / suggestions / items / properties / ynab_transaction / properties / payee / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / structured / properties / unmatched_ynab / items / properties / categoryName / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / structured / properties / unmatched_ynab / items / properties / categoryName / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / structured / properties / unmatched_ynab / items / properties / memo / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / structured / properties / unmatched_ynab / items / properties / memo / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / structured / properties / unmatched_ynab / items / properties / payee / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / structured / properties / unmatched_ynab / items / properties / payee / typeAdded value: +[ + "string", + "null" +]
- Changed
ynab_update_scheduled_transaction9 fields changed- removed
Input schema / properties / category_id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Input schema / properties / category_id / typeAdded value: +[ + "string", + "null" +] - removed
Input schema / properties / memo / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Input schema / properties / memo / typeAdded value: +[ + "string", + "null" +] - removed
Input schema / properties / payee_id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Input schema / properties / payee_id / typeAdded value: +[ + "string", + "null" +] - removed
Input schema / properties / payee_name / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Input schema / properties / payee_name / typeAdded value: +[ + "string", + "null" +] - changed
Output schema / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "action": { - "type": "string" - }, - "dry_run": { - "const": true, - "type": "boolean" - }, - "request": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - }, - "required": [ - "dry_run", - "action", - "request" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "scheduled_transaction": { - "additionalProperties": false, - "properties": { - "account_id": { - "type": "string" - }, - "account_name": { - "type": "string" - }, - "amount": { - "type": "number" - }, - "amount_milliunits": { - "maximum": 9007199254740991, - "minimum": -9007199254740991, - "type": "integer" - }, - "category_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "category_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "date_first": { - "type": "string" - }, - "date_next": { - "type": "string" - }, - "deleted": { - "type": "boolean" - }, - "flag_color": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "frequency": { - "enum": [ - "never", - "daily", - "weekly", - "everyOtherWeek", - "twiceAMonth", - "every4Weeks", - "monthly", - "everyOtherMonth", - "every3Months", - "every4Months", - "twiceAYear", - "yearly", - "everyOtherYear" - ], - "type": "string" - }, - "id": { - "type": "string" - }, - "memo": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "payee_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "payee_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "id", - "date_first", - "date_next", - "frequency", - "amount", - "amount_milliunits", - "account_id", - "account_name", - "payee_id", - "payee_name", - "category_id", - "category_name", - "memo", - "flag_color", - "deleted" - ], - "type": "object" - } - }, - "required": [ - "scheduled_transaction" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "action": { + "type": "string" + }, + "dry_run": { + "const": true, + "type": "boolean" + }, + "request": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + }, + "required": [ + "dry_run", + "action", + "request" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "scheduled_transaction": { + "additionalProperties": false, + "properties": { + "account_id": { + "type": "string" + }, + "account_name": { + "type": "string" + }, + "amount": { + "type": "number" + }, + "amount_milliunits": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "category_name": { + "type": [ + "string", + "null" + ] + }, + "date_first": { + "type": "string" + }, + "date_next": { + "type": "string" + }, + "deleted": { + "type": "boolean" + }, + "flag_color": { + "type": [ + "string", + "null" + ] + }, + "frequency": { + "enum": [ + "never", + "daily", + "weekly", + "everyOtherWeek", + "twiceAMonth", + "every4Weeks", + "monthly", + "everyOtherMonth", + "every3Months", + "every4Months", + "twiceAYear", + "yearly", + "everyOtherYear" + ], + "type": "string" + }, + "id": { + "type": "string" + }, + "memo": { + "type": [ + "string", + "null" + ] + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id", + "date_first", + "date_next", + "frequency", + "amount", + "amount_milliunits", + "account_id", + "account_name", + "payee_id", + "payee_name", + "category_id", + "category_name", + "memo", + "flag_color", + "deleted" + ], + "type": "object" + } + }, + "required": [ + "scheduled_transaction" + ], + "type": "object" + } +]
- Changed
ynab_update_transaction2 fields changed- added
Input schema / properties / subtransactionsAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "Deprecated legacy alias for amount_milliunits on this split line.", + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "amount_decimal": { + "description": "Preferred: amount in decimal currency units (for example, -12.34). Rounded exactly to the nearest YNAB milliunit.", + "type": "number" + }, + "amount_milliunits": { + "description": "Raw YNAB milliunits. Use only when the value is already converted.", + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "category_id": { + "type": "string" + }, + "memo": { + "type": "string" + }, + "payee_id": { + "type": "string" + }, + "payee_name": { + "type": "string" + } + }, + "type": "object" + }, + "minItems": 1, + "type": "array" +} - changed
Output schema / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "action": { - "const": "ynab_update_transaction", - "type": "string" - }, - "dry_run": { - "const": true, - "type": "boolean" - }, - "request": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - }, - "required": [ - "dry_run", - "action", - "request" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "transaction": { - "additionalProperties": false, - "properties": { - "account_balance": { - "type": "number" - }, - "account_cleared_balance": { - "type": "number" - }, - "account_id": { - "description": "Account ID", - "type": "string" - }, - "account_name": { - "description": "Account name", - "type": "string" - }, - "amount": { - "description": "Transaction amount in dollars", - "type": "number" - }, - "approved": { - "description": "Approved flag", - "type": "boolean" - }, - "category_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Category ID" - }, - "category_name": { - "description": "Category name", - "type": "string" - }, - "cleared": { - "description": "Cleared status", - "type": "string" - }, - "date": { - "description": "Transaction date", - "type": "string" - }, - "deleted": { - "description": "Deleted flag", - "type": "boolean" - }, - "flag_color": { - "description": "Flag color", - "type": "string" - }, - "id": { - "description": "Transaction ID", - "type": "string" - }, - "import_id": { - "description": "Import ID", - "type": "string" - }, - "matched_transaction_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Matched transaction ID" - }, - "memo": { - "description": "Transaction memo", - "type": "string" - }, - "payee_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Payee ID" - }, - "payee_name": { - "description": "Payee name", - "type": "string" - }, - "subtransactions": { - "items": { - "additionalProperties": false, - "properties": { - "amount": { - "type": "number" - }, - "category_id": { - "type": "string" - }, - "category_name": { - "type": "string" - }, - "deleted": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "memo": { - "type": "string" - }, - "payee_id": { - "type": "string" - }, - "payee_name": { - "type": "string" - }, - "transaction_id": { - "type": "string" - }, - "transfer_account_id": { - "type": "string" - }, - "transfer_transaction_id": { - "type": "string" - } - }, - "required": [ - "id", - "transaction_id", - "amount", - "deleted" - ], - "type": "object" - }, - "type": "array" - }, - "transfer_account_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Transfer account ID" - }, - "transfer_transaction_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Transfer transaction ID" - } - }, - "required": [ - "id", - "date", - "amount", - "cleared", - "approved", - "account_id", - "deleted" - ], - "type": "object" - }, - "updated_balance": { - "type": "number" - }, - "updated_cleared_balance": { - "type": "number" - } - }, - "required": [ - "transaction", - "updated_balance", - "updated_cleared_balance" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "action": { + "const": "ynab_update_transaction", + "type": "string" + }, + "dry_run": { + "const": true, + "type": "boolean" + }, + "request": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + }, + "required": [ + "dry_run", + "action", + "request" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "transaction": { + "additionalProperties": false, + "properties": { + "account_balance": { + "type": "number" + }, + "account_cleared_balance": { + "type": "number" + }, + "account_id": { + "description": "Account ID", + "type": "string" + }, + "account_name": { + "description": "Account name", + "type": "string" + }, + "amount": { + "description": "Transaction amount in dollars", + "type": "number" + }, + "approved": { + "description": "Approved flag", + "type": "boolean" + }, + "category_id": { + "description": "Category ID", + "type": [ + "string", + "null" + ] + }, + "category_name": { + "description": "Category name", + "type": "string" + }, + "cleared": { + "description": "Cleared status", + "type": "string" + }, + "date": { + "description": "Transaction date", + "type": "string" + }, + "deleted": { + "description": "Deleted flag", + "type": "boolean" + }, + "flag_color": { + "description": "Flag color", + "type": "string" + }, + "id": { + "description": "Transaction ID", + "type": "string" + }, + "import_id": { + "description": "Import ID", + "type": "string" + }, + "matched_transaction_id": { + "description": "Matched transaction ID", + "type": [ + "string", + "null" + ] + }, + "memo": { + "description": "Transaction memo", + "type": "string" + }, + "payee_id": { + "description": "Payee ID", + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "description": "Payee name", + "type": "string" + }, + "subtransactions": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "category_id": { + "type": "string" + }, + "category_name": { + "type": "string" + }, + "deleted": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "memo": { + "type": "string" + }, + "payee_id": { + "type": "string" + }, + "payee_name": { + "type": "string" + }, + "transaction_id": { + "type": "string" + }, + "transfer_account_id": { + "type": "string" + }, + "transfer_transaction_id": { + "type": "string" + } + }, + "required": [ + "id", + "transaction_id", + "amount", + "deleted" + ], + "type": "object" + }, + "type": "array" + }, + "transfer_account_id": { + "description": "Transfer account ID", + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "description": "Transfer transaction ID", + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id", + "date", + "amount", + "cleared", + "approved", + "account_id", + "deleted" + ], + "type": "object" + }, + "updated_balance": { + "type": "number" + }, + "updated_cleared_balance": { + "type": "number" + } + }, + "required": [ + "transaction", + "updated_balance", + "updated_cleared_balance" + ], + "type": "object" + } +]
- Changed
ynab_update_transactions2 fields changed- added
Input schema / properties / transactions / items / properties / subtransactionsAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "description": "Deprecated legacy alias for amount_milliunits on this split line.", + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "amount_decimal": { + "description": "Preferred: amount in decimal currency units (for example, -12.34). Rounded exactly to the nearest YNAB milliunit.", + "type": "number" + }, + "amount_milliunits": { + "description": "Raw YNAB milliunits. Use only when the value is already converted.", + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "category_id": { + "type": "string" + }, + "memo": { + "type": "string" + }, + "payee_id": { + "type": "string" + }, + "payee_name": { + "type": "string" + } + }, + "type": "object" + }, + "minItems": 1, + "type": "array" +} - changed
Output schema / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "action": { - "const": "ynab_update_transactions", - "type": "string" - }, - "dry_run": { - "const": true, - "type": "boolean" - }, - "note": { - "type": "string" - }, - "summary": { - "additionalProperties": false, - "properties": { - "accounts_affected": { - "type": "number" - }, - "fields_to_update": { - "items": { - "type": "string" - }, - "type": "array" - }, - "total_transactions": { - "type": "number" - } - }, - "required": [ - "total_transactions", - "accounts_affected", - "fields_to_update" - ], - "type": "object" - }, - "transactions_preview": { - "items": { - "additionalProperties": false, - "properties": { - "after": { - "additionalProperties": false, - "properties": { - "amount": { - "type": "number" - }, - "approved": { - "type": "boolean" - }, - "category_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "cleared": { - "enum": [ - "cleared", - "uncleared", - "reconciled" - ], - "type": "string" - }, - "date": { - "pattern": "^\\d{4}-\\d{2}-\\d{2}$", - "type": "string" - }, - "flag_color": { - "anyOf": [ - { - "enum": [ - "red", - "orange", - "yellow", - "green", - "blue", - "purple" - ], - "type": "string" - }, - { - "type": "null" - } - ] - }, - "memo": { - "type": "string" - }, - "payee_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "payee_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - "before": { - "anyOf": [ - { - "const": "unavailable", - "type": "string" - }, - { - "additionalProperties": false, - "properties": { - "amount": { - "type": "number" - }, - "approved": { - "type": "boolean" - }, - "category_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "cleared": { - "enum": [ - "cleared", - "uncleared", - "reconciled" - ], - "type": "string" - }, - "date": { - "pattern": "^\\d{4}-\\d{2}-\\d{2}$", - "type": "string" - }, - "flag_color": { - "anyOf": [ - { - "enum": [ - "red", - "orange", - "yellow", - "green", - "blue", - "purple" - ], - "type": "string" - }, - { - "type": "null" - } - ] - }, - "memo": { - "type": "string" - }, - "payee_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "payee_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - } - ] - }, - "transaction_id": { - "type": "string" - } - }, - "required": [ - "transaction_id", - "before", - "after" - ], - "type": "object" - }, - "type": "array" - }, - "validation": { - "const": "passed", - "type": "string" - }, - "warnings": { - "items": { - "additionalProperties": false, - "properties": { - "code": { - "type": "string" - }, - "count": { - "type": "number" - }, - "message": { - "type": "string" - }, - "sample_ids": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "code", - "count", - "message" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "dry_run", - "action", - "validation", - "summary", - "transactions_preview", - "note" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "message": { - "type": "string" - }, - "mode": { - "enum": [ - "full", - "summary", - "ids_only" - ], - "type": "string" - }, - "results": { - "items": { - "additionalProperties": {}, - "properties": { - "correlation_key": { - "type": "string" - }, - "error": { - "type": "string" - }, - "error_code": { - "type": "string" - }, - "request_index": { - "type": "number" - }, - "status": { - "enum": [ - "created", - "duplicate", - "updated", - "failed" - ], - "type": "string" - }, - "transaction_id": { - "type": "string" - } - }, - "required": [ - "request_index", - "status", - "correlation_key" - ], - "type": "object" - }, - "type": "array" - }, - "server_knowledge": { - "type": "number" - }, - "success": { - "type": "boolean" - }, - "summary": { - "additionalProperties": false, - "properties": { - "created": { - "type": "number" - }, - "duplicates": { - "type": "number" - }, - "failed": { - "type": "number" - }, - "total_requested": { - "type": "number" - }, - "updated": { - "type": "number" - } - }, - "required": [ - "total_requested", - "failed" - ], - "type": "object" - }, - "transactions": { - "items": { - "additionalProperties": false, - "properties": { - "account_id": { - "description": "Account ID", - "type": "string" - }, - "account_name": { - "description": "Account name", - "type": "string" - }, - "amount": { - "description": "Transaction amount in dollars", - "type": "number" - }, - "approved": { - "description": "Approved flag", - "type": "boolean" - }, - "category_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Category ID" - }, - "category_name": { - "description": "Category name", - "type": "string" - }, - "cleared": { - "description": "Cleared status", - "type": "string" - }, - "date": { - "description": "Transaction date", - "type": "string" - }, - "deleted": { - "description": "Deleted flag", - "type": "boolean" - }, - "flag_color": { - "description": "Flag color", - "type": "string" - }, - "id": { - "description": "Transaction ID", - "type": "string" - }, - "import_id": { - "description": "Import ID", - "type": "string" - }, - "matched_transaction_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Matched transaction ID" - }, - "memo": { - "description": "Transaction memo", - "type": "string" - }, - "payee_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Payee ID" - }, - "payee_name": { - "description": "Payee name", - "type": "string" - }, - "transfer_account_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Transfer account ID" - }, - "transfer_transaction_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Transfer transaction ID" - } - }, - "required": [ - "id", - "date", - "amount", - "cleared", - "approved", - "account_id", - "deleted" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "success", - "summary", - "results" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "action": { + "const": "ynab_update_transactions", + "type": "string" + }, + "dry_run": { + "const": true, + "type": "boolean" + }, + "note": { + "type": "string" + }, + "summary": { + "additionalProperties": false, + "properties": { + "accounts_affected": { + "items": { + "type": "string" + }, + "type": "array" + }, + "fields_to_update": { + "items": { + "type": "string" + }, + "type": "array" + }, + "total_transactions": { + "type": "number" + } + }, + "required": [ + "total_transactions", + "accounts_affected", + "fields_to_update" + ], + "type": "object" + }, + "transactions_preview": { + "items": { + "additionalProperties": false, + "properties": { + "after": { + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "approved": { + "type": "boolean" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "cleared": { + "enum": [ + "cleared", + "uncleared", + "reconciled" + ], + "type": "string" + }, + "date": { + "pattern": "^\\d{4}-\\d{2}-\\d{2}$", + "type": "string" + }, + "flag_color": { + "anyOf": [ + { + "enum": [ + "red", + "orange", + "yellow", + "green", + "blue", + "purple" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "memo": { + "type": "string" + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "subtransactions": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "category_id": { + "type": "string" + }, + "memo": { + "type": "string" + }, + "payee_id": { + "type": "string" + }, + "payee_name": { + "type": "string" + } + }, + "required": [ + "amount" + ], + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "before": { + "anyOf": [ + { + "const": "unavailable", + "type": "string" + }, + { + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "approved": { + "type": "boolean" + }, + "category_id": { + "type": [ + "string", + "null" + ] + }, + "cleared": { + "enum": [ + "cleared", + "uncleared", + "reconciled" + ], + "type": "string" + }, + "date": { + "pattern": "^\\d{4}-\\d{2}-\\d{2}$", + "type": "string" + }, + "flag_color": { + "anyOf": [ + { + "enum": [ + "red", + "orange", + "yellow", + "green", + "blue", + "purple" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "memo": { + "type": "string" + }, + "payee_id": { + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "type": [ + "string", + "null" + ] + }, + "subtransactions": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "category_id": { + "type": "string" + }, + "memo": { + "type": "string" + }, + "payee_id": { + "type": "string" + }, + "payee_name": { + "type": "string" + } + }, + "required": [ + "amount" + ], + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + } + ] + }, + "transaction_id": { + "type": "string" + } + }, + "required": [ + "transaction_id", + "before", + "after" + ], + "type": "object" + }, + "type": "array" + }, + "validation": { + "const": "passed", + "type": "string" + }, + "warnings": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "count": { + "type": "number" + }, + "message": { + "type": "string" + }, + "sample_ids": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "code", + "count", + "message" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "dry_run", + "action", + "validation", + "summary", + "transactions_preview", + "note" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "message": { + "type": "string" + }, + "mode": { + "enum": [ + "full", + "summary", + "ids_only" + ], + "type": "string" + }, + "results": { + "items": { + "additionalProperties": {}, + "properties": { + "correlation_key": { + "type": "string" + }, + "error": { + "type": "string" + }, + "error_code": { + "type": "string" + }, + "request_index": { + "type": "number" + }, + "status": { + "enum": [ + "created", + "duplicate", + "updated", + "failed" + ], + "type": "string" + }, + "transaction_id": { + "type": "string" + } + }, + "required": [ + "request_index", + "status", + "correlation_key" + ], + "type": "object" + }, + "type": "array" + }, + "server_knowledge": { + "type": "number" + }, + "success": { + "type": "boolean" + }, + "summary": { + "additionalProperties": false, + "properties": { + "created": { + "type": "number" + }, + "duplicates": { + "type": "number" + }, + "failed": { + "type": "number" + }, + "total_requested": { + "type": "number" + }, + "updated": { + "type": "number" + } + }, + "required": [ + "total_requested", + "failed" + ], + "type": "object" + }, + "transactions": { + "items": { + "additionalProperties": false, + "properties": { + "account_id": { + "description": "Account ID", + "type": "string" + }, + "account_name": { + "description": "Account name", + "type": "string" + }, + "amount": { + "description": "Transaction amount in dollars", + "type": "number" + }, + "approved": { + "description": "Approved flag", + "type": "boolean" + }, + "category_id": { + "description": "Category ID", + "type": [ + "string", + "null" + ] + }, + "category_name": { + "description": "Category name", + "type": "string" + }, + "cleared": { + "description": "Cleared status", + "type": "string" + }, + "date": { + "description": "Transaction date", + "type": "string" + }, + "deleted": { + "description": "Deleted flag", + "type": "boolean" + }, + "flag_color": { + "description": "Flag color", + "type": "string" + }, + "id": { + "description": "Transaction ID", + "type": "string" + }, + "import_id": { + "description": "Import ID", + "type": "string" + }, + "matched_transaction_id": { + "description": "Matched transaction ID", + "type": [ + "string", + "null" + ] + }, + "memo": { + "description": "Transaction memo", + "type": "string" + }, + "payee_id": { + "description": "Payee ID", + "type": [ + "string", + "null" + ] + }, + "payee_name": { + "description": "Payee name", + "type": "string" + }, + "transfer_account_id": { + "description": "Transfer account ID", + "type": [ + "string", + "null" + ] + }, + "transfer_transaction_id": { + "description": "Transfer transaction ID", + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id", + "date", + "amount", + "cleared", + "approved", + "account_id", + "deleted" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "success", + "summary", + "results" + ], + "type": "object" + } +]
16 tool updates
v0.27.1- Added
ynab_analyze_spending - Added
ynab_compare_spending_periods - Changed
ynab_create_account1 field changed- added
Input schema / properties / confirmation_tokenAdded value: +{ + "description": "Short-lived, single-use token returned by the immediately preceding preview of this exact validated request.", + "minLength": 16, + "type": "string" +}
- Changed
ynab_create_receipt_split_transaction1 field changed- added
Input schema / properties / confirmation_tokenAdded value: +{ + "description": "Short-lived, single-use token returned by the immediately preceding preview of this exact validated request.", + "minLength": 16, + "type": "string" +}
- Added
ynab_create_scheduled_transaction - Changed
ynab_create_transaction9 fields changed- added
Input schema / properties / amount / descriptionAdded value: +"Deprecated legacy alias for amount_milliunits. Use amount_decimal for currency input or amount_milliunits for raw YNAB values." - added
Input schema / properties / amount_decimalAdded value: +{ + "description": "Preferred: amount in decimal currency units (for example, -12.34). Rounded exactly to the nearest YNAB milliunit.", + "type": "number" +} - added
Input schema / properties / amount_milliunitsAdded value: +{ + "description": "Raw YNAB milliunits. Use only when the value is already converted.", + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" +} - added
Input schema / properties / confirmation_tokenAdded value: +{ + "description": "Short-lived, single-use token returned by the immediately preceding preview of this exact validated request.", + "minLength": 16, + "type": "string" +} - added
Input schema / properties / subtransactions / items / properties / amount / descriptionAdded value: +"Deprecated legacy alias for amount_milliunits on this split line." - added
Input schema / properties / subtransactions / items / properties / amount_decimalAdded value: +{ + "description": "Preferred: amount in decimal currency units (for example, -12.34). Rounded exactly to the nearest YNAB milliunit.", + "type": "number" +} - added
Input schema / properties / subtransactions / items / properties / amount_milliunitsAdded value: +{ + "description": "Raw YNAB milliunits. Use only when the value is already converted.", + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" +} - removed
Input schema / properties / subtransactions / items / requiredRemoved value: -[ - "amount" -] - changed
Input schema / requiredPrevious value: -[ - "account_id", - "amount", - "date" -]New value: +[ + "account_id", + "date" +]
- Changed
ynab_create_transactions5 fields changed- added
Input schema / properties / confirmation_tokenAdded value: +{ + "description": "Short-lived, single-use token returned by the immediately preceding preview of this exact validated request.", + "minLength": 16, + "type": "string" +} - added
Input schema / properties / transactions / items / properties / amount / descriptionAdded value: +"Deprecated legacy alias for amount_milliunits. Use amount_decimal for currency input or amount_milliunits for raw YNAB values." - added
Input schema / properties / transactions / items / properties / amount_decimalAdded value: +{ + "description": "Preferred: amount in decimal currency units (for example, -12.34). Rounded exactly to the nearest YNAB milliunit.", + "type": "number" +} - added
Input schema / properties / transactions / items / properties / amount_milliunitsAdded value: +{ + "description": "Raw YNAB milliunits. Use only when the value is already converted.", + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" +} - changed
Input schema / properties / transactions / items / requiredPrevious value: -[ - "account_id", - "amount", - "date" -]New value: +[ + "account_id", + "date" +]
- Added
ynab_delete_scheduled_transaction - Changed
ynab_delete_transaction1 field changed- added
Input schema / properties / confirmation_tokenAdded value: +{ + "description": "Short-lived, single-use token returned by the immediately preceding preview of this exact validated request.", + "minLength": 16, + "type": "string" +}
- Added
ynab_get_scheduled_transaction - Added
ynab_list_scheduled_transactions - Changed
ynab_reconcile_account1 field changed- added
Input schema / properties / confirmation_tokenAdded value: +{ + "description": "Short-lived, single-use token returned by the immediately preceding preview of this exact validated request.", + "minLength": 16, + "type": "string" +}
- Changed
ynab_update_category5 fields changed- added
Input schema / properties / budgeted / descriptionAdded value: +"Deprecated legacy alias for budgeted_milliunits. Use budgeted_decimal or budgeted_milliunits." - added
Input schema / properties / budgeted_decimalAdded value: +{ + "description": "Preferred: category funding amount in decimal currency units (for example, 100.00).", + "type": "number" +} - added
Input schema / properties / budgeted_milliunitsAdded value: +{ + "description": "Raw YNAB category funding amount in milliunits.", + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" +} - added
Input schema / properties / confirmation_tokenAdded value: +{ + "description": "Short-lived, single-use token returned by the immediately preceding preview of this exact validated request.", + "minLength": 16, + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "category_id", - "budgeted" -]New value: +[ + "category_id" +]
- Added
ynab_update_scheduled_transaction - Changed
ynab_update_transaction4 fields changed- added
Input schema / properties / amount / descriptionAdded value: +"Deprecated legacy alias for amount_milliunits. Use amount_decimal for currency input or amount_milliunits for raw YNAB values." - added
Input schema / properties / amount_decimalAdded value: +{ + "description": "Preferred: amount in decimal currency units (for example, -12.34). Rounded exactly to the nearest YNAB milliunit.", + "type": "number" +} - added
Input schema / properties / amount_milliunitsAdded value: +{ + "description": "Raw YNAB milliunits. Use only when the value is already converted.", + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" +} - added
Input schema / properties / confirmation_tokenAdded value: +{ + "description": "Short-lived, single-use token returned by the immediately preceding preview of this exact validated request.", + "minLength": 16, + "type": "string" +}
- Changed
ynab_update_transactions4 fields changed- added
Input schema / properties / confirmation_tokenAdded value: +{ + "description": "Short-lived, single-use token returned by the immediately preceding preview of this exact validated request.", + "minLength": 16, + "type": "string" +} - added
Input schema / properties / transactions / items / properties / amount / descriptionAdded value: +"Deprecated legacy alias for amount_milliunits. Use amount_decimal for currency input or amount_milliunits for raw YNAB values." - added
Input schema / properties / transactions / items / properties / amount_decimalAdded value: +{ + "description": "Preferred: amount in decimal currency units (for example, -12.34). Rounded exactly to the nearest YNAB milliunit.", + "type": "number" +} - added
Input schema / properties / transactions / items / properties / amount_milliunitsAdded value: +{ + "description": "Raw YNAB milliunits. Use only when the value is already converted.", + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" +}
56 tool updates
v0.26.9- Removed
clear_cache - Removed
compare_transactions - Removed
create_account - Removed
create_receipt_split_transaction - Removed
create_transaction - Removed
create_transactions - Removed
delete_transaction - Removed
diagnostic_info - Removed
export_transactions - Removed
get_account - Removed
get_budget - Removed
get_category - Removed
get_default_budget - Removed
get_month - Removed
get_payee - Removed
get_transaction - Removed
get_user - Removed
list_accounts - Removed
list_budgets - Removed
list_categories - Removed
list_months - Removed
list_payees - Removed
list_transactions - Removed
reconcile_account - Removed
set_default_budget - Removed
update_category - Removed
update_transaction - Removed
update_transactions - Added
ynab_clear_cache - Added
ynab_compare_transactions - Added
ynab_create_account - Added
ynab_create_receipt_split_transaction - Added
ynab_create_transaction - Added
ynab_create_transactions - Added
ynab_delete_transaction - Added
ynab_diagnostic_info - Added
ynab_export_transactions - Added
ynab_get_account - Added
ynab_get_budget - Added
ynab_get_category - Added
ynab_get_default_budget - Added
ynab_get_month - Added
ynab_get_payee - Added
ynab_get_transaction - Added
ynab_get_user - Added
ynab_list_accounts - Added
ynab_list_budgets - Added
ynab_list_categories - Added
ynab_list_months - Added
ynab_list_payees - Added
ynab_list_transactions - Added
ynab_reconcile_account - Added
ynab_set_default_budget - Added
ynab_update_category - Added
ynab_update_transaction - Added
ynab_update_transactions
28 tool updates
v0.21.2- First observed
clear_cache - First observed
compare_transactions - First observed
create_account - First observed
create_receipt_split_transaction - First observed
create_transaction - First observed
create_transactions - First observed
delete_transaction - First observed
diagnostic_info - First observed
export_transactions - First observed
get_account - First observed
get_budget - First observed
get_category - First observed
get_default_budget - First observed
get_month - First observed
get_payee - First observed
get_transaction - First observed
get_user - First observed
list_accounts - First observed
list_budgets - First observed
list_categories - First observed
list_months - First observed
list_payees - First observed
list_transactions - First observed
reconcile_account - First observed
set_default_budget - First observed
update_category - First observed
update_transaction - First observed
update_transactions
TDQS
Scored across 35 tools
Most tools target distinct resources and actions, with single vs. batch (create_transaction/create_transactions) and split variants differentiated in their descriptions. However, ynab_compare_transactions and ynab_reconcile_account both compare bank CSV against YNAB and could be confused, and the single/batch pairs require reading descriptions to choose correctly.
Every tool follows a strict ynab_verb_noun snake_case convention (list_, get_, create_, update_, delete_, analyze_, compare_, export_). No mixed conventions or stylistic deviations anywhere in the set.
35 tools is heavy for a single domain even accounting for YNAB's breadth (transactions, scheduled, accounts, categories, payees, months, budgets, analytics, reconciliation, diagnostics). Many operations could be consolidated (batch/single pairs, diagnostic/cache helpers), so the surface feels over-expanded.
Coverage is strong: full transaction lifecycle including batch, splits, and receipt splits; scheduled transaction CRUD; accounts, categories, payees, months, and budgets listing/retrieval; plus analytics and reconciliation helpers. Minor gaps exist (no account update/delete, no direct payee creation), but core workflows are well covered.
Maintenance
Related MCP Connectors
Personal finance by conversation: expenses, receipts, statement import, budgets, net worth.
Personal finance for AI agents — onboard, import statements, categorize & budget over MCP.
Log, query, and edit expenses, budgets, and accounts in Manilo from any MCP-compatible AI assistant.
Hosted remote MCP server for YNAB on Cloudflare Workers with OAuth
Related MCP Servers
- FlicenseBqualityNot gradedmaintenanceProvides access to YNAB (You Need A Budget) functionality through the Model Context Protocol, allowing users to view account balances, access transaction data, and create new transactions.10-
- AlicenseAqualityAmaintenanceA Model Context Protocol server that enables AI-powered interaction with YNAB (You Need A Budget) data, allowing users to query their budgets through conversational interfaces.22687 npm163MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server for interacting with YNAB (You Need A Budget). Provides tools for accessing budget data through MCP-enabled clients like Claude Desktop.4MIT
- AlicenseNot gradedqualityCmaintenanceA Model Context Protocol server that enables Claude Code to interact with You Need A Budget (YNAB) accounts, providing API access for budget management, transaction tracking, and financial insights through OAuth authentication.1,020 npm15MIT